Estándar de cifrado avanzado


El Estándar de cifrado avanzado ( AES ), también conocido por su nombre original Rijndael ( pronunciación holandesa: [ˈrɛindaːl] ), [3] es una especificación para el cifrado de datos electrónicos establecida por el Instituto Nacional de Estándares y Tecnología de EE. UU. (NIST) en 2001. [4]

AES es una variante del cifrado en bloque de Rijndael [3] desarrollado por dos criptógrafos belgas , Vincent Rijmen y Joan Daemen , quienes presentaron una propuesta [5] a NIST durante el proceso de selección de AES . [6] Rijndael es una familia de cifrados con diferentes tamaños de clave y bloque. Para AES, NIST seleccionó tres miembros de la familia Rijndael, cada uno con un tamaño de bloque de 128 bits, pero tres longitudes de clave diferentes: 128, 192 y 256 bits.

AES ha sido adoptado por el gobierno de EE . UU . Reemplaza el estándar de cifrado de datos (DES), [7] que se publicó en 1977. El algoritmo descrito por AES es un algoritmo de clave simétrica , lo que significa que se utiliza la misma clave para cifrar y descifrar los datos.

En los Estados Unidos, AES fue anunciado por el NIST como US FIPS PUB 197 (FIPS 197) el 26 de noviembre de 2001. [4] Este anuncio siguió a un proceso de estandarización de cinco años en el que se presentaron y evaluaron quince diseños competidores, antes de la El cifrado de Rijndael se seleccionó como el más adecuado (consulte el proceso Estándar de cifrado avanzado para obtener más detalles).

AES está incluido en el estándar ISO / IEC 18033-3 . AES entró en vigencia como estándar del gobierno federal de EE. UU. El 26 de mayo de 2002, después de la aprobación del Secretario de Comercio de EE . UU . AES está disponible en muchos paquetes de cifrado diferentes y es el primer (y único) cifrado de acceso público aprobado por la Agencia de Seguridad Nacional de los EE. UU . (NSA) para información ultrasecreta cuando se utiliza en un módulo criptográfico aprobado por la NSA (consulte Seguridad de AES , a continuación) .

AES se basa en un principio de diseño conocido como red de sustitución-permutación y es eficiente tanto en software como en hardware. [9] A diferencia de su predecesor DES, AES no utiliza una red Feistel . AES es una variante de Rijndael, con un tamaño de bloque fijo de 128 bits y un tamaño de clave de 128, 192 o 256 bits. Por el contrario, Rijndael per se se especifica con bloques y tamaños de clave que pueden ser cualquier múltiplo de 32 bits, con un mínimo de 128 y un máximo de 256 bits.


En el paso SubBytes , cada byte del estado se reemplaza con su entrada en una tabla de búsqueda fija de 8 bits, S ; b ij = S (a ij ) .
En el paso ShiftRows , los bytes de cada fila del estado se desplazan cíclicamente hacia la izquierda. El número de lugares en los que se desplaza cada byte difiere de forma incremental para cada fila.
En el paso MixColumns , cada columna del estado se multiplica por un polinomio fijo .
En el paso AddRoundKey , cada byte del estado se combina con un byte de la subclave redonda usando la operación XOR (⊕).