¿Por qué necesita una clave DSA de 4096 bits cuando AES tiene solo 256 bits?

10

Esto es algo por lo que me he estado preguntando y tratando de encontrar una respuesta, pero que aún no he llegado a una.

¿Por qué necesita una clave 4096-bit DSA / El-Gamal cuando AES usa solo las claves 256-bit ?

    
pregunta Traven 02.06.2014 - 09:05
fuente

4 respuestas

7

Esto se reduce al diseño del algoritmo.

Los algoritmos simétricos están diseñados para ser tan simples y rápidos como sea posible (para criptografía de todos modos) y mantener un alto nivel de seguridad. Una clave AES simétrica con 256 bits produce 256 bits de trabajo. Que en la actualidad son suficientes bits de seguridad. La criptografía asimétrica requiere que los tamaños de clave sean más grandes para proporcionar niveles de seguridad equivalentes (en bits).

Fuente de imagen

    
respondido por el RoraΖ 03.02.2015 - 18:08
fuente
19

Una clave simétrica es solo un montón de bits. Cuando tiene una clave simétrica de 128 bits, tiene 128 bits, con las dos características importantes siguientes:

  1. Cualquier secuencia de 128 bits es una clave potencial, por lo que hay 2 128 de ellos.
  2. No hay una estructura interna para estos 128 bits.

Estas dos características significan que (a menos que exista alguna debilidad en el algoritmo de cifrado que usa estas claves), si quiere romper esa clave, no tiene más remedio que probar todas las claves posibles hasta que tenga suerte y haga clic en el botón derecho. uno, con un costo promedio de 2 127 ensayos.

Con los algoritmos asimétricos, las cosas no van así. Para obtener la "asimetría", no puede simplemente juntar operaciones y bits clave en un gran enredo, como hacen los algoritmos simétricos; necesitas matematicas Estructura. Entonces, la clave pública será un objeto matemático codificado con mucha estructura interna:

  1. La clave pública está codificada como bits n , pero no todas las secuencias de bits n son una clave pública válida.
  2. Para romper la clave, uno necesita desentrañar la estructura interna. Esto se puede hacer de manera mucho más eficiente que la enumeración brutal de posibles claves privadas hasta el momento de la suerte.

En el lenguaje RSA, la clave pública es un par de enteros: el módulo y el exponente público . El exponente público suele ser muy corto. La "longitud de la clave" es tradicionalmente la longitud (en bits) del módulo, donde se oculta la estructura matemática: el módulo es un entero entero grande, y la estructura oculta es el conocimiento de los dos (o más) factores primos del módulo . Sabemos de los algoritmos de factorización de enteros que pueden factorizar un módulo de bits n en mucho menos que 2 n -1 ensayos.

La consecuencia neta es que las claves asimétricas son "más grandes que su fuerza": la estructura matemática necesita espacio.

Otra consecuencia es que la "fuerza" alcanzada por una clave asimétrica depende del tipo de clave: por ejemplo, las claves ECDSA usan curvas elípticas internas, que tienen muy poco que ver con la factorización de enteros. Por lo tanto, generalmente se estima que se obtiene "fuerza de 128 bits" con una curva de 256 bits.

Sucede que, por alguna extraña coincidencia (bueno, en su mayoría), que los algoritmos basados en un logaritmo discreto modulo una gran prima (Diffie-Hellman, DSA, ElGamal, no las variantes de curva elíptica) ofrecen una fuerza que es aproximadamente similar a la de RSA para un módulo del mismo tamaño. De ahí viene el hábito tradicional (y confuso) de hablar de "fuerza de la clave asimétrica" como si fuera una propiedad genérica del "tamaño de la clave", independientemente del tipo de clave real y del algoritmo. Esta es una noción errónea pero generalizada.

Para obtener detalles sobre las estimaciones de fortaleza clave, consulte este sitio .

Homo neanderthalensis , quien, para algunos autores, debería llamarse Homo sapiens neanderthalensis , aparentemente era capaz de pensamiento abstracto y dejó rastros de misticismo (por ejemplo, entierro ritos) y algunas piezas de arte (aunque no mucho). Sin embargo, aún era un "cazador-recolector" y cuando pasas los días tratando de meter una lanza en un animal grande para que no te mueras de hambre, tiendes a aplicar soluciones prácticas y sensatas a los problemas cotidianos. No obtienes matemáticos hasta que tengas tanto la agricultura como ciudades de tamaño suficiente para apoyar a las personas que no contribuyen directamente a la cena de hoy.

    
respondido por el Thomas Pornin 03.02.2015 - 18:33
fuente
8

Una clave simétrica en realidad se considera segura para el futuro previsible de 128 bits. Si bien RSA requiere claves de 2048 bits para la seguridad de 112 bits, ECC solo requiere 256 bits para la seguridad de 128 bits.

En todos los casos, la longitud de la clave es absolutamente irrelevante. Lo importante es qué tipo de ataques son posibles. Con una clave simétrica, es esencialmente una cadena aleatoria de cualquiera que sea su longitud; el atacante tiene no restricciones distintas a la longitud de la clave. Esto significa que la fuerza bruta es un problema de búsqueda general, que requiere mucho, mucho tiempo, incluso en 2 ^ 128 claves posibles.

Para las claves asimétricas, hay dos factores. Primero, muy pocas cadenas de longitud apropiada son claves RSA válidas. Eso significa que 2048 bits te dejan con muchas menos posibilidades de revisar que si fuera una clave simétrica de longitud similar. Además, serías un idiota con la fuerza bruta al azar: tienes una clave pública y sabes qué relación tiene con la clave privada. En su lugar, puede usar un algoritmo sofisticado y de máxima eficacia para intentar obtener la clave privada (por ejemplo, puede intentar factorizar una clave RSA). Con la criptografía de curva elíptica, estos tienen un impacto mucho menor en la seguridad que con RSA, que es la principal ventaja de ECC. ECC requiere aproximadamente el doble de una clave que un algoritmo simétrico similar, mientras que RSA, DH y otros problemas en campos finitos requiere claves mucho más largas para niveles de seguridad similares.

    
respondido por el cpast 03.02.2015 - 17:08
fuente
7

La diferencia está en la naturaleza de las teclas. AES es un cifrado simétrico donde cada número de 256 bits es una clave válida. Esto le da una gran variedad de números para elegir. Por otra parte, DSA es un algoritmo de firma basado en criptografía de clave pública , y existen algunas restricciones matemáticas sólidas en los valores involucrados, lo que hace que sea más fácil adivinar la clave privada. Esto significa que se necesita una clave mucho más larga para garantizar la seguridad.

    
respondido por el Mark 02.06.2014 - 10:13
fuente

Lea otras preguntas en las etiquetas