¿Cómo se clasifican los siguientes formatos de claves para ser más seguros a menos seguros: RSA, ECDSA, ED25519 [duplicado]

1

Al examinar la información disponible en la red, veo una cantidad de información conflictiva relacionada con los formatos de clave RSA, ECDSA y ED25519.

Entiendo que RSA es el más universal en la actualidad.

Desde mi lectura parece que en el orden de seguridad proporcionado, el orden es de más a menos seguro es: ED25519, RSA, ECDSA.

¿No estoy entendiendo algo aquí?

No estoy buscando cuándo usarlo, sino que estoy buscando un ranking basado en la seguridad de la clave. Actualmente utilizo una clave LONG RSA (> 4096 bits).

    
pregunta mdpc 20.12.2016 - 23:58
fuente

2 respuestas

2

"Cuál es más seguro" no es la mejor pregunta. Todos ellos son suficientemente seguros siempre que:

  1. Se implementan y utilizan correctamente;
  2. Se utilizan con un tamaño de clave suficientemente grande.

ECDSA y Ed25519 se basan en curvas elípticas . Su ventaja es que pueden lograr el mismo objetivo de seguridad con claves más cortas de lo que RSA requiere, lo que se traduce en un mejor rendimiento. Se entiende generalmente que las claves de curva elíptica de 256 bits proporcionan una seguridad similar a los cifrados simétricos de 128 bits como AES-128. Con RSA, las claves de 2.048 bits se consideran el tamaño de clave de seguridad mínimo actual, proporcionando algo así como seguridad de 112 bits (lo que no es menos seguro en la práctica que la seguridad de 128 bits).

El sitio KeyLength tiene varias recomendaciones para el tamaño de clave para estos algoritmos.

Ed25519 es más nuevo que ECDSA. Sus principales ventajas son la velocidad, la simplicidad y la infalible : ambas son seguras si se usan correctamente, pero ECDSA es más difícil de usar correctamente. El fallo ECDSA más famoso es el Error de firma de Sony PS3 , que se debió a que los programadores de Sony implementaron ECDSA de manera incorrecta. Ed25519 no es vulnerable al error que cometieron los programadores de Sony, ni a otros "errores" que las implementaciones de ECDSA son.

Por lo tanto, se considera que Ed25519 es el mejor de los tres, porque proporciona:

  1. Seguridad suficiente para el futuro cercano. (Los tres serán brindis si se construye una computadora cuántica práctica).
  2. Muy buena infalibilidad: menos vulnerable a los errores de los programadores y usuarios;
  3. Teclas más pequeñas y rendimiento muy rápido.

... pero ninguno de estos factores debería impedirle usar ECDSA o RSA si, por ejemplo, está usando un sistema donde uno de estos está disponible pero Ed25519 no lo está. Del mismo modo, si tiene un sistema que utiliza RSA o ECDSA, probablemente no tenga sentido actualizarlo a Ed25519. Además, RSA y ECDSA tienen aprobación NIST y NSA y Ed25519 no, por lo que si eso es importante para usted, Ed25519 no estará disponible.

    
respondido por el Luis Casillas 21.12.2016 - 01:17
fuente
1

Descargo de responsabilidad: no soy criptógrafo o ingeniero de criptografía; Nunca he implementado o roto las implementaciones erróneas de ninguno de esos algoritmos.

Para ECDSA, debe especificar la curva y qué tan seguro está de que su CSPRNG no tiene sesgos. Para RSA, debe especificar el tamaño de la clave y también el esquema de relleno (¿es PKCS # 1 v1.5 o PKCS # 1 v2 con RSASSA-PSS)?

ECDSA da miedo porque requiere un generador de números aleatorios de mayor calidad que cualquier otra primitiva criptográfica (un RNG que sería seguro con RSA podría exponer su clave privada ECDSA).

RSA da miedo porque es difícil de implementar de forma segura.

Ed25519 debe ser tan seguro como RSA de 3072 bits con RSASSA-PSS y tan seguro como ECDSA sobre NIST P-256. Supuestamente, Ed25519 es más fácil de implementar de forma segura y también es más rápido. También es más nuevo (pero lo suficientemente antiguo como para que todos tuvieran el tiempo suficiente para intentar romperlo), diseñado para ser mejor que RSA y ECDSA, y es por djb y algunas personas piensan que eso es importante.

Yo calificaría RSA4096 > Ed25519 > ECDSA P-256 para seguridad, si su implementación de RSA ha sido revisada y probada en la batalla.

Yo usaría Ed25519 > RSA4096 > ECDSA P-256 para implementaciones promedio, debido a las diferencias en lo difícil que es implementar esas cosas de manera segura.

    
respondido por el Z.T. 21.12.2016 - 00:25
fuente

Lea otras preguntas en las etiquetas