encryption ssh rsa public-key-encryption dsa

encryption - rsa vs dsa



¿Cuál es la diferencia entre id_rsa.pub e id_dsa.pub? (4)

¿Es uno más seguro que el otro?




SSH usa pares de claves públicas / privadas , por lo que id_rsa es su clave privada RSA (basada en números primos), que es más segura que su clave privada id_dsa DSA (basada en exponentes). Mantenga sus claves privadas a salvo y comparta ampliamente sus claves públicas id_rsa.pub e id_dsa.pub .

DSA es inseguro

DSA tiene un parámetro adivinable si el generador de números aleatorios de su computadora está a la par, lo que revelará su clave secreta. ECDSA (actualización de curva elíptica de DSA) es similarmente vulnerable . Incluso con buenos números aleatorios, DSA tiene otras preocupaciones de fuerza ( también se encuentra en Diffie-Hellman ).

OpenSSH crea claves inseguras de 1024 bits ( solución ) y ahora deshabilita el DSA de forma predeterminada .

Use Ed25519 cuando sea posible

La criptografía de curva elíptica ofrece una mayor complejidad con tamaños de clave más pequeños. Ed25519 (basado en la complejidad de las curvas elípticas modeladas en plano ) es la implementación preferida debido a su supuesta falta de intromisión (los documentos filtrados muestran que la NSA de EE. UU. Debilita los estándares criptográficos ).

Desafortunadamente, Ed25519 todavía es bastante nuevo y requiere OpenSSH 6.5 o GnuPG 2.1 ( lista completa ).

Use RSA con 4096 bits cuando Ed25519 no esté disponible

Los tamaños de clave RSA de 4096 bits deben tener una complejidad comparable a Ed25519.

Ed25519 todavía se prefiere a RSA debido a la preocupación de que RSA pueda ser vulnerable a los mismos problemas de resistencia que DSA, aunque se espera que aplicar ese exploit a RSA sea considerablemente más difícil.


id_rsa.pub e id_dsa.pub son las claves públicas para id_rsa e id_dsa .

Si está preguntando en relación con SSH , id_rsa es una clave RSA y se puede usar con el protocolo SSH 1 o 2, mientras que id_dsa es una clave DSA y solo se puede usar con el protocolo SSH 2. Ambos son muy seguros, pero DSA sí parece ser el estándar en estos días (suponiendo que todos sus clientes / servidores sean compatibles con SSH 2).

Actualización: ya que esto fue escrito, DSA ha demostrado ser inseguro. Más información disponible en la respuesta a continuación.