Curva más segura que Curve25519

7

Por lo que sé, Curve25519 ofrece "solo" un nivel de seguridad igual a un cifrado simétrico de 128 bits. Me gustaría saber si hay nuevas curvas (no NIST), que proporcionan un nivel de seguridad comparable a un cifrado de 256 bits Y que ya utilizan algunas aplicaciones?

Hasta donde sé, hay curvas como E-521 o M-511 que tienen un margen de seguridad muy alto, pero no conozco ninguna implementación que las esté utilizando actualmente.

(Por cierto. Sé que 128 bits se considera seguro, pero parece un poco extraño que a menudo usemos cifrados simétricos de 256 bits combinados con 4K-RSA o una curva de 256 bits).

    
pregunta K. Biermann 13.04.2015 - 20:10
fuente

2 respuestas

10

No hay nada más seguro que "seguro". Un atacante que puede romperlo por adelantado, porque tiene "solo" seguridad de 128 bits, es un atacante que tiene mucho más poder de cómputo disponible que todas las computadoras en la Tierra juntas (incluso los teléfonos inteligentes y las máquinas de café). Es inverosímil que un atacante de este tipo bajara tan deprisa que se molestara en romper su su tecla; él ya conoce todos tus pensamientos, dirige todas tus acciones y probablemente también posee tu alma.

Los niveles de seguridad más allá de los 128 bits no están diseñados para proporcionar "más seguridad", sino para apaciguar a los auditores, gerentes, clientes y posibles parejas (no necesariamente en ese orden) mediante una poderosa visualización de bits adicionales. Esto es como birds of paradise : al utilizar una clave de gran tamaño, envía la señal de que es tan bueno. que puede pagar desperdiciar el ancho de banda de la CPU y la red en criptografía ridículamente ampliada.

De manera realista, si (cuando) se rompe tu clave, entonces no será a través de su tamaño; será a través de un error de software, una fuga de hardware o un uso incorrecto de la clave en un protocolo mal diseñado. En ese sentido , podemos hablar de seguridad real:

  • El diseñador de Curve25519 y autor de su implementación habitual es Daniel J. Bernstein, quien es conocido por "saber su oficio". Su código probablemente contiene muchos menos errores de los que haría la mayoría de los desarrolladores. Usar su código es, en igualdad de condiciones, una buena idea.

  • Por otra parte, los protocolos son un tema importante, y es mucho más fácil destruir un protocolo que una implementación de algoritmo criptográfico. Al buscar una curva, estás buscando algo incorrecto. Debes pensar "¿Qué protocolo debo usar?" y luego (solo entonces) preocuparse por la curva específica, en caso de que el protocolo que elija suceda para permitir el uso de varias curvas. Curve25519 no (aún) se ha filtrado en todos o incluso en los protocolos más establecidos. Por ejemplo, no hay soporte para Curve25519 en SSL / TLS (aunque hay uno en SSH).

respondido por el Thomas Pornin 13.04.2015 - 21:13
fuente
3

Me doy cuenta de que esta publicación no responde directamente a tu pregunta, pero pensé que la publicaría de todos modos como una "refutación del abogado del diablo" a la publicación de Thomas.

Estoy totalmente de acuerdo con Thomas; no hay nadie que pueda dar ninguna razón para pensar que alguna vez necesitará más de 128 bits de seguridad en nuestra vida.

Dicho esto, Bernstein, el autor de Curve25519, hizo co-autor de una curva alternativa, Curve41417, que tiene un poco más de 200 bits de seguridad. En su artículo, [1] afirman que "es fácil ver que 2 ^ 128 está muy lejos de cualquier cálculo posible hoy en día", pero también razonan que:

  • Las primitivas criptográficas necesitan tiempo para ser revisadas, es posible que existan debilidades, y por lo tanto un alto margen de seguridad no es algo malo
  • Es físicamente posible que, en unos pocos siglos, tengamos suficiente potencia de cómputo capaz de calcular 2 ^ 128 operaciones por año
  • Algunos protocolos ECC que dependen de curvas no tienen límites de seguridad estrictos; por lo tanto es necesario tener un margen de seguridad más alto para compensar esto
  • Deberíamos estar preguntando "cuánta seguridad podemos obtener de nuestros requisitos de rendimiento" en lugar de "cuánto rendimiento podemos obtener de nuestros requisitos de seguridad" y, en algunos casos, podemos pagar fácilmente mayores márgenes de seguridad

[1] enlace

    
respondido por el Jay Sullivan 31.07.2015 - 19:02
fuente

Lea otras preguntas en las etiquetas