La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

ADVANCED ENCRIPTION STANDARD

Presentaciones similares


Presentación del tema: "ADVANCED ENCRIPTION STANDARD"— Transcripción de la presentación:

1 ADVANCED ENCRIPTION STANDARD
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 no lineal 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 el texto cifrado será  

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

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 Expansión de la Llave Esta compuesta por dos funciones
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 Complejidad en el criptoanálisis de Rijndael
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


Descargar ppt "ADVANCED ENCRIPTION STANDARD"

Presentaciones similares


Anuncios Google