En entradas anteriores se ha hablado del programa de cifrado AESphere, que, principalmente con uso educativo, cifra y descifra textos en formato ECA {Estándar de Cifrado Avanzado ["Advanced Encryption Standard" ("AES"), en inglés]}, que es un algoritmo de cifrado simétrico de bloques, que cifra bloques de 128 bits usando claves de 128, 192 o 256 bits, repitiendo un proceso de sustitución, transposición y mezcla en múltiples rondas para lograr alta seguridad y velocidad, convirtiéndose en un estándar abierto para aplicaciones públicas y privadas.
ADDROUNDKEY
AddRoundKey es una operación fundamental que combina el estado actual de los datos con una subclave de ronda específica mediante una operación XOR bit a bit, mezclando la información del texto con la clave secreta en cada paso del cifrado para aumentar la seguridad y aleatoriedad, integrando la clave a lo largo de las rondas intermedias y la ronda inicial/final del proceso.
Su funcionamiento consiste en:
- Bloque de Estado y Subclave: ECA trabaja con bloques de 128 bits (una matriz de 4x4 bytes) de datos. Se genera una subclave para cada ronda a partir de la clave original (expansión de clave).
- Operación XOR: La matriz de estado de los datos se combina byte a byte con la subclave de la ronda actual usando la operación lógica XOR (OR exclusivo).
- Proceso de rondas: Este AddRoundKey se aplica en la ronda inicial y en cada ronda intermedia, mezclando la clave con los datos en cada iteración.
- Seguridad: Al añadir la clave repetidamente, el cifrado se vuelve más robusto, ya que cada bit del texto final depende de la clave secreta y de todos los bits del texto original, haciendo muy difícil su descifrado sin la clave correcta.
REVISIÓN DE ADDROUNDKEY EN AESPHERE
En la pantalla de operaciones, se pulsa sobre el recuadro de AddRoundKey.
Aparece una nueva ventana donde el usuario puede probar el funcionamiento de AddRoundkey, donde cada byte de la matriz de entrada es combinado con la clave de ronda mediante una operación XOR.
Dicha ventana posee un un menú, en la parte superior izquierda con las opciones: "Archivo" (permite salir de la pantalla), "Edición" (permite acceder a distintas operaciones relativas al copiado en matrices), "Ayuda" (opciones para acceder al archivo de ayuda). En este ejemplo, se usarán valores aleatorios en ambas matrices.
Aguardo que la presente entrada haya sido interesante para el lector; si es así, espero que éste la comente y/o la comparta, por favor.
Además, tiene varios botones:
- Ayuda: Situado en la parte superior derecha de la ventana (un círculo azul con un signo de cierre de interrogación blanco), permite acceder al archivo de ayuda del programa.
- Aleatorio: Situado bajo la sección "CLAVE", introduce valores aleatorios en los campos para las matrices de "ENTRADA" y CLAVE".
- Atrás: Sale de la ventana.
- Ejecutar: El programa comprueba si los valores son correctos y, de ser así, realizará la transformación.
En la sección "ENTRADA" hay unos campos para una matriz donde el usuario puede introducir parejas de valores hexadecimales para poder realizar la transformación. Dichos valores pueden introducirse manualmente, a través de la opción "Editar" del menú (eligiendo la opción "Pegar entrada", la cual pegará el contenido del portapapeles sobre las celdas de la matriz), o pulsando en el botón "Aleatorio".
En la sección "CLAVE" hay campos para una matriz que simula lo que sería la clave de ronda. El usuario puede introducir parejas de valores hexadecimales, del mismo modo que en la sección anterior, con los cuales se realizará la operación XOR con la entrada.
La sección "SALIDA" mostrará el resultado de la transformación.
Aguardo que la presente entrada haya sido interesante para el lector; si es así, espero que éste la comente y/o la comparta, por favor.




No hay comentarios:
Publicar un comentario
Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.