¿El doble cifrado aumentará la seguridad del cifrado frente a la fuerza bruta?

10

Supongamos que tengo una función encrypt(mes,key) donde mes es el mensaje, y key es la clave. La longitud de la clave es de 64 bits. Por último, pero no menos importante: supongamos que la única forma de descifrar mi cifrado es un ataque de fuerza bruta.

Si uso double_encrypt(mes,key1,key2) = encrypt(encrypt(mes,key1),key2)) , ¿la definición de double_encrypt() significa que la única forma de descifrar double_encrypt() es forzar la fuerza bruta con una clave de 128 bits?

Me dijeron que no, pero no puedo encontrar ningún ataque con mejor rendimiento que una simple fuerza bruta de 128 bits.

    
pregunta Tomáš Šíma 08.03.2013 - 09:02
fuente

1 respuesta

19

Primer punto: hay un aumento de seguridad práctico solo si ambos algoritmos de cifrado, tomados solos, serían independientemente vulnerables a una búsqueda exhaustiva, es decir, al utilizar una clave demasiado pequeña. Ese es el problema principal, y es mejor solucionarlo. La búsqueda exhaustiva funciona solo hasta los tamaños de clave, de modo que el espacio de la clave se puede enumerar con tecnología existente o previsible. Hay buenas razones por las que una clave de 128 bits se resistiría a tales intentos. Por lo tanto, si utiliza un algoritmo de cifrado decente, no hay necesidad de "duplicarlo" . No hay un nivel de seguridad más allá de "no se puede romper": no se puede no romper un algoritmo más que "de ninguna manera".

Los algoritmos de duplicación o triplicado se han utilizado en días anteriores para reutilizar algoritmos anteriores que eran definitivamente demasiado débiles por sí solos; el primer ejemplo es Triple-DES (también conocido como "3DES"), creado sobre el DES anterior. DES y su espacio de claves de 56 bits es vulnerable a una búsqueda exhaustiva (se ha realizado ). Como @CodesInChaos señala en su comentario, duplicar y triplicar no le da valor a su dinero: el doble DES usaría 112 teclas pero no ofrecería seguridad de 112 bits.

En pocas palabras, para el doble DES, el atacante cifraría el texto plano conocido con el primer DES y todas las claves posibles k1 (2 56 posibilidades), y también descifre el texto cifrado conocido con todas las claves posibles k2 (2 56 posibilidades de nuevo), y luego busque una coincidencia en los dos conjuntos de 2 56 "valores intermedios". El emparejamiento habrá costado alrededor de 2 · 56 · 2 56 , es decir, alrededor de 2 63 (ese es el costo de ordenar los dos conjuntos, de modo que coincida Se detectan con una búsqueda lineal). Con un fusionar clasificación , los pasos de clasificación y emparejamiento solo requieren acceso lineal, por lo tanto, compatibles con los discos duros. Estamos hablando de 2 57 valores de 128 bits (dos bloques de texto plano conocidos, para que no haya ambigüedad sobre las claves), también conocido como 2 61 bytes, también conocido como 2 millones de terabytes. Un millón de discos duros es caro ... pero tecnológicamente factible, a diferencia de una búsqueda exhaustiva de 2 112 .

Por lo tanto, los algoritmos de duplicación no brindan tanto beneficio. Tripling aumenta la seguridad al comenzar con algoritmos débiles (al menos cuando la debilidad es solo sobre el tamaño de la clave), pero, nuevamente, no tanto como el esfuerzo invertido (con 3DES , tiene 168 bits de clave, pero la resistencia es "solo" hasta 2 112 ). Por supuesto, triplicar también significa dividir el rendimiento entre tres, lo que puede o no ser tolerable en cualquier contexto dado. Triplicar, cuadruplicar ... no soluciona otros problemas, como los bloques que son demasiado pequeños (3DES todavía usa los bloques de DES de 64 bits, lo que significa que surgen problemas graves al cifrar aproximadamente 2 bloques 32 valor de los datos con una clave determinada, es decir, unos 32 gigabytes, lo que no es mucho para los estándares de hoy en día).

Es mucho mejor comenzar con un algoritmo de cifrado (como AES ) que no tiene problemas de búsqueda exhaustivos para comenzar. con, haciendo el doblar o triplicar inútil. Duplicar (o triplicar) los algoritmos es como un pegleg : te ayuda a mantenerte en pie si tuviste la desgracia de perder una pierna; pero, si es posible, es mejor mantener sus dos piernas biológicas.

    
respondido por el Thomas Pornin 08.03.2013 - 13:24
fuente

Lea otras preguntas en las etiquetas