used the and algorithms algorithm encryption cryptography symmetric-key

algorithm - the - ¿Por qué AES es más seguro que DES?



private public key authentication (1)

DES se diseñó con una longitud de clave efectiva de 56 bits, que es vulnerable a una búsqueda exhaustiva . También tiene algunas debilidades contra el criptoanálisis diferencial y lineal: estos permiten recuperar la clave utilizando, respectivamente, 2 47 láminas elegidas, o 2 43 láminas conocidas. Un texto claro conocido es un bloque cifrado (un bloque de 8 bytes, para DES) para el cual el atacante conoce el bloque descifrado correspondiente. Un texto plano elegido es una especie de texto plano conocido en el que el atacante puede elegir el bloque desencriptado. En condiciones prácticas de ataque, tales grandes cantidades de planos conocidos o elegidos realmente no se pueden obtener, por lo tanto, el criptoanálisis diferencial y lineal realmente no afecta la seguridad real del DES; el punto más débil es la tecla corta. Aún así, la existencia de esos ataques, que, desde un punto de vista académico , tienen menos complejidad que la búsqueda exhaustiva de claves (que usa 2 55 invocaciones en promedio), se percibe como una falta de seguridad.

Como nota al margen, los diseñadores de DES conocían el análisis diferencial, y el DES se endureció frente a él (de ahí el "buen puntaje" de 2 47 ). Con los estándares actuales, lo consideraríamos "no lo suficientemente bueno" porque ahora es tradición académica requerir complejidad de ataque por encima de una búsqueda exhaustiva. Aún así, los diseñadores DES fueron realmente buenos. No sabían acerca del criptoanálisis lineal, que fue descubierto por Matsui en 1992, y el criptoanálisis lineal es más efectivo en DES que en criptoanálisis diferencial, y sin embargo es endiabladamente difícil de aplicar en la práctica (2 43 bloques de texto claro conocidos, eso es 64 terabytes ... )

Las debilidades estructurales de los DES son, por lo tanto, su tamaño de clave y su tamaño de bloque corto: con bloques de n bits, algunos modos de cifrado comienzan a tener problemas cuando se codifican 2 n / 2 bloques con la misma clave. Para los bloques DES de 64 bits, esto ocurre después de cifrar datos de 32 gigabytes, un número grande pero no enorme (ayer, compré un disco duro que es treinta veces más grande que eso).

Una variante de DES se llama 3DES: es decir, más o menos, tres instancias de DES en una fila. Esto resuelve el problema del tamaño de clave: una clave 3DES consiste en 168 bits (nominalmente 192 bits, de los cuales se supone que 24 bits sirven como verificación de paridad, pero en la práctica se ignoran por completo), y la búsqueda exhaustiva en una clave de 168 bits totalmente fuera del alcance de la tecnología humana. Desde (otra vez) un punto de vista académico, hay un ataque con costo 2 112 en 3DES, que tampoco es factible. El criptoanálisis diferencial y lineal son derrotados por 3DES (su complejidad aumenta bastante con el número de rondas, y 3DES representa 48 rondas, frente a 16 para el DES simple).

Sin embargo, 3DES aún sufre los problemas de tamaño de bloque de DES. Además, es bastante lento (DES se diseñó para implementaciones de hardware, no para software, y 3DES es incluso tres veces más lento que DES).

Por lo tanto, AES se definió con los siguientes requisitos:

  • Bloques de 128 bits (resuelve problemas con CBC)
  • acepta llaves de tamaño 128, 192 y 256 bits (128 bits son suficientes para resistir la búsqueda exhaustiva de llaves, los otros dos tamaños son principalmente una forma de cumplir con las rígidas regulaciones militares de los EE. UU.)
  • no tiene debilidad académica peor que la búsqueda de claves exhaustiva
  • debe ser tan rápido como 3DES (AES resultó ser mucho más rápido que 3DES en el software, por lo general de 5 a 10 veces más rápido)

La resistencia de AES hacia el criptoanálisis diferencial y lineal proviene de un mejor "efecto de avalancha" (un salto de bit en algún punto se propaga rápidamente al estado interno completo) y "cajas S" más grandes y especialmente diseñadas (un S-box es un pequeño tabla de búsqueda utilizada dentro del algoritmo, y es una forma fácil de agregar no linealidad: en DES, S-boxes tiene entradas de 6 bits y salidas de 4 bits, en AES, S-boxes tienen entradas de 8 bits y 8 bits salidas). El diseño de AES se benefició de 25 años de ideas e investigaciones sobre DES. Además, la AES se eligió a través de una competencia abierta con 15 candidatos de tantos equipos de investigación en todo el mundo, y la cantidad total de recursos cerebrales asignados a ese proceso fue enorme. Los diseñadores originales de DES fueron geniales, pero se podría decir que el esfuerzo agregado de los criptógrafos para el AES ha sido mucho mayor.

Desde un punto de vista filosófico, podríamos decir que lo que hace que una primitiva criptográfica sea segura es la cantidad de esfuerzo invertido en su diseño. Al menos, ese esfuerzo es lo que crea la percepción de seguridad : cuando uso un criptosistema, quiero que sea seguro, pero también quiero estar seguro de que es seguro (quiero dormir por la noche). El proceso de diseño y análisis público ayuda bastante a construir esa confianza. NIST (el organismo de los Estados Unidos para la estandarización de tales cosas) aprendió bien la lección y decidió elegir nuevamente una competencia abierta para SHA-3 .

Estoy empezando a aprender algoritmos crypto y entiendo cómo funcionan los algoritmos mencionados anteriormente. ¿Es que la longitud de clave de AES es más larga? ¿Qué pasos del cifrado AES lo hacen menos vulnerable que DES?