En una entrada anterior 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.
Este algoritmo utiliza varias operaciones, una de las cuales es la ShiftRows.
ShiftRows es una transformación clave que desplaza cíclicamente los bytes de cada fila del bloque de estado, proporcionando difusión de bits para aumentar la seguridad y dificultar el análisis criptográfico, una operación esencial en cada ronda del cifrado ECA. Se aplica rotando la primera fila cero bytes, la segunda un byte a la izquierda, la tercera dos bytes y la cuarta tres bytes a la izquierda.
Funciona del siguiente modo:
- Objetivo: Mezclar los datos dentro del bloque para que un cambio en un byte afecte a muchos otros.
- Proceso:
- Fila 1: Sin cambios.
- Fila 2: Rotación cíclica de 1 byte a la izquierda.
- Fila 3: Rotación cíclica de 2 bytes a la izquierda.
- Fila 4: Rotación cíclica de 3 bytes a la izquierda.
Sin ShiftRows, la calidad del cifrado sería pobre, ya que los bytes no se difundirían correctamente entre rondas, haciendo el cifrado más vulnerable a ataques.
REVISIÓN DE SHIFTROWS EN AESPHERE
En la pantalla de operaciones, se pulsa sobre el recuadro de ShiftRows.
Aparece una nueva ventana donde el usuario puede comprobar el funcionamiento de la fase de ShiftRows en la cual se realiza una rotación cíclica de los bytes de la matriz de entrada.
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 de matrices), "Ayuda" (opciones para acceder al archivo de ayuda).
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 "ENTRADA", introduce valores aleatorios en los campos para una matriz.
- 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".
La sección "SALIDA" mostrará el resultado de la transformación.
En este ejemplo, se usarán valores aleatorios en la matriz.




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.