AES ADVANCED ENCRIPTION STANDARD AES Estndar adoptado por
- Slides: 18
AES ADVANCED ENCRIPTION STANDARD
AES • Estándar adoptado por la NIST después de un estudio realizado en 1997 • Remplazó a DES publicado en 1977 por la NIST. • El diseño se basa en Wide Trail Strategy la que consiste en tres capas invertibles: – La capa de mezcla lineal – La capa no lineal – La capa de adición de llave • AES es un cifrador de tamaño de bloque y llave variable.
ELEMENTOS DE UN CIFRADOR • Key Size recomendado por la NIST es de 128. • Tamaño del bloque Es inversamente proporcional a la velocidad de encripcion, y directamente proporcional al nivel de seguridad , el tamaño recomendado por la NIST es de 128. • Función Key Schedule
• Formas de Operación – Electronic code Block (ECB) Mode para los siguientes el texto cifrado será – Cipher Block Chaining (CBC) Mode para los siguientes el texto cifrado será
– Cipher Feed. Back (CFB) Mode para los siguientes el texto cifrado será – Output Feed. Back (OFB) Mode para los siguientes el texto cifrado será
VULNERABILIDAD DE UN CRIPTOSISTEMA • Brute-Force Búsqueda exhaustiva de la llave. • Criptoanálisis Estadístico Análisis y uso de la probabilidad de ocurrencia de una letra en un lenguaje determinad. • Criptoanálisis – Criptoanálisis diferencial: Es la técnica que permite reducir el numero de llaves posibles. – Criptoanálisis Lineal: Estudia las aproximaciones lineales basadas en las transformaciones ejecutadas por el cifrador.
ALGORITMO RIJNDAEL • El Estado: El estado es el resultado intermedio del cifrador. Nb (Columnas del estado) es igual al tamaño del bloque dividido entre 32.
• La Llave: Se puede representar como una matriz con cuatro filas y Nk (Columnas de la llave) que es igual al tamaño de la llave dividido entre 32.
• El número de ciclos: El número de ciclos esta notado por Nr y depende de los valores de Nb y Nk
• Las transformaciones en un ciclo Byte. Sub(Estado) Es una transformación de substitución de bytes no lineal, operando en cada Estado, con substitución (S-box). la tabla de
EJEMPLO DE S-BOX
Shift. Row(Estado) Las filas del Estado son cíclicamente corridas diferentes distancias, la fila uno se corre C 1, la fila 2 C 2, y la fila 3 C 3. Los valores de C 1, C 2, C 3 en función de Nb Ejemplo para Nb = 4
Mix. Column(Estado) Se logra al multiplicar la columna a(x) de un estado por c(x), una matriz de constantes, así: Add. Round. Key (Estado, Round. Key) Realiza es un XOR entre el Estado y la Round. Key o Llave de Ciclo. La Round Key es derivada de la llave del cifrador, y la función Key Schedule. El tamaño de la Round. Key es igual al del Bloque Nb
Key Schedule Esta compuesta por dos funciones • Expansión de la Llave Se expande la llave así: para Nk < = 6, esta dado según: Key. Expansion(byte Key[4*Nk], word W[Nb*(Nr+1)]) { for(i = 0; i < Nk; i++) W[i] = (Key[4*i], Key[4*i+1], Key[4*i+2], Key[4*i+3]); for(i = Nk; i < Nb * (Nr + 1); i++) { temp = W[i - 1]; if (i % Nk == 0) temp = Sub. Byte(Rot. Byte(temp)) ^ Rcon[i / Nk]; W[i] = W[i - Nk] ^ temp; } }
para Nk < = 6, esta dado según Key. Expansion(byte Key[4*Nk] word W[Nb*(Nr+1)]) { for(i = 0; i < Nk; i++) W[i] = (key[4*i], key[4*i+1], key[4*i+2], key[4*i+3]); for(i = Nk; i < Nb * (Nr + 1); i++) { temp = W[i - 1]; if (i % Nk == 0) temp = Sub. Byte(Rot. Byte(temp)) ^ Rcon[i / Nk]; else if (i % Nk == 4) temp = Sub. Byte(temp); W[i] = W[i - Nk] ^ temp; } } • la diferencia con el esquema para Nk <= 6 es que si i -4 es múltiplo de Nk, Sub. Byte es aplicada a W [i -1] antes de XOR
Selección de la llave El proceso de selección de la llave para el ciclo i, será tomada de la llave expandida desde w[Nb*i] hasta w [Nb *(i+1) ] ilustrada así :
EL CIFRADOR El Cifrador de Rijndael se basa en la expansión de la llave, Durante Nr -1 ciclos y Un ciclo final. El código en C: Rijndael(State, Cipher. Key) { Key. Expansion(Cipher. Key, Expanded. Key) ; Add. Round. Key(State, Expanded. Key); For( i=1 ; i<Nr ; i++ ) Round(State, Expanded. Key +Nb*i) ; Final. Round(State, Expanded. Key + Nb*Nr); }
CRIPTOANÁLISIS El primer ataques conocido para este algoritmo de Encripción fue publicados en 1998, el primero logra romper la seguridad teóricamente de el cifrador solo para 6 ciclos. Recordemos que Rijndael usa 10, 12 o 14 ciclos. Todos los ataques se han basado en las técnicas del ataque Cuadrado que puede ser usado contra el algoritmo de Rijndael con 6, 7 y 8 ciclos. pretende encontrar la llave, utilizando 256 textos encriptados, que solamente se diferencien en un byte. Complejidad en el criptoanálisis de Rijndael
- Aes (ang. advanced encryption standard)
- Advanced encryption standard example
- Nelissen ingenieursbureau
- Gesta per aes et libram
- Gesta per aes et libram
- Gesta per aes et libram
- Mancipacija
- Aes-11
- Aes in network security
- Aes algoritm
- Aes vs aas
- Cache attacks and countermeasures: the case of aes
- Aes transportes
- Aes s box calculator
- Aes exemption codes
- Joan daemen
- Aes 001
- Aes 7
- Evaluation criteria for aes