1 / 18

AES

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

ashtyn
Download Presentation

AES

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AES ADVANCED ENCRIPTION STANDARD

  2. 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 nolineal • La capa de adición de llave • AES es un cifrador de tamaño de bloque y llave variable.

  3. ELEMENTOS DE UN CIFRADOR • Key Size Una llave muy pequeña puede ser vulnerable a ataques de fuerza bruta, el tamaño 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 Se divide en dos procedimientos generales, la expansión de la llave y la selección de las llaves de ciclo o RoundKey. • Número de Ciclos Cada ciclo aplica las todas las transformaciones al texto. Por cada ciclo extra se obtiene mayor seguridad y menor velocidad.

  4. 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á

  5. Cipher FeedBack (CFB) Mode para los siguientes el texto cifrado será • Output FeedBack (OFB) Mode para los siguientes el texto cifrado será

  6. 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.

  7. 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.

  8. 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.

  9. El número de ciclos: El número de ciclos esta notado por Nr y depende de los valores de Nb y Nk

  10. Las transformaciones en un ciclo • ByteSub(Estado)Es una transformación de substitución de bytes no lineal, operando en cada Estado, con la tabla de substitución (S-box).

  11. EJEMPLO DE S-BOX

  12. ShiftRow(Estado) Las filas del Estado son cíclicamente corridas diferentes distancias, la fila uno se corre C1, la fila 2 C2, y la fila 3 C3. Los valores de C1, C2, C3 en función de Nb Ejemplo para Nb = 4

  13. MixColumn(Estado)Se logra al multiplicar la columna a(x) de un estado por c(x), una matriz de constantes, así: AddRoundKey(Estado, RoundKey) Realiza es un XOR entre el Estado y la RoundKey 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 RoundKey es igual al del Bloque Nb

  14. Key Schedule Esta compuesta por dos funciones • Expansión de la Llave Se expande la llave así: para Nk < = 6, esta dado según: KeyExpansion(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 = SubByte(RotByte(temp)) ^ Rcon[i / Nk]; W[i] = W[i - Nk] ^ temp; } }

  15. para Nk < = 6, esta dado según KeyExpansion(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 = SubByte(RotByte(temp)) ^ Rcon[i / Nk]; else if (i % Nk == 4) temp = SubByte(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, SubByte es aplicada a W [i -1] antes de XOR

  16. 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í :

  17. 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,CipherKey) { KeyExpansion(CipherKey,ExpandedKey) ; AddRoundKey(State,ExpandedKey); For( i=1 ; i<Nr ; i++ ) Round(State,ExpandedKey +Nb*i) ; FinalRound(State,ExpandedKey + Nb*Nr); }

  18. 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 Cuadradoque 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

More Related