El mejor algoritmo de cifrado y firma para GnuPG: ¿RSA / RSA o DSA / Elgamal? [cerrado]


46

He encontrado esta pregunta relativamente antigua sobre si RSA o DSA es el algoritmo preferido para firmar y cifrar con GnuPG.

Cuando se usa gpg --gen-key, las dos opciones relevantes son "RSA y RSA" o "DSA y Elgamal". ¿Cual es mejor? ¿Cuáles son los pros y los contras de cada uno? ¿Ha cambiado algo desde 2009?


también encontraron útiles estas publicaciones: linuxquestions.org/565242#2986414 y lists.gnupg.org/022764
RubyTuesdayDONO

Respuestas:


73

Recomendaciones confiables

Cuando en el momento de la última publicación, todavía había debate sobre el cambio de algoritmos predeterminados que todavía se encontraban en el archivo web que tenía un consenso general, se realizó el cambio a las claves RSA 2k como predeterminadas.

Debian recomienda usar una clave RSA de 4k en su documento sobre el uso de subclaves y el archivo léame de las claves debian . Una gran mayoría de aproximadamente las tres cuartas partes de las claves en el llavero de los desarrolladores de Debian es (todavía) DSA / Elgamal (contado por grepping a través de la salida de gpg).

En una entrevista con iX (una revista alemana de ciencias de la computación, número 11/2013, también disponible en línea de forma gratuita ), el inventor de PGP Phil Zimmermann recomienda "al menos 3k de longitud cuando se usa RSA", aunque las claves de 1k aún no están rotas. Pero están "al alcance de los atacantes ricos en recursos".

En materia de seguridad

En este momento, se dice que ambos son seguros para tamaños de clave adecuados (se recomiendan 4k para RSA, 2k necesarios para DSA2, de lo contrario usará DSA1 que usa SHA-1 ).

Para seleccionar una longitud de clave RSA , eche un vistazo a una descripción general de la fuerza real proporcionada por NIST (p. 64). Es fácil ver que la fuerza no crece linealmente con la longitud de la clave (y el tiempo de cálculo), por lo que el doble tamaño no significa "doble seguridad".

Hubo un problema con la implementación DSA de OpenSSL en Debian , pero esto fue causado por el uso de datos aleatorios incorrectos y también podría haber sucedido con RSA.

Elegir entre RSA y DSA2

pro RSA

  • RSA está más extendido, aunque no es necesario en el estándar OpenPGP, todas las implementaciones principales pueden manejarlo; DSA2 no (todavía)
  • RSA ofrece una verificación de firma mucho más rápida

pro DSA2

  • Firmas más pequeñas, pero son pequeñas de todos modos; para correo electrónico y firma de código probablemente insignificante
  • Creación de claves más rápida (puede ser relevante en dispositivos de baja potencia e integrados como móviles y enrutadores)
  • Ligeramente más rápido para firmar

Mi propia decisión

Cuando creé recientemente una nueva clave OpenPGP, decidí optar por 8k RSA para claves principales y 4k RSA como subclaves para uso diario. Las firmas RSA son rápidas de verificar de todos modos y las enormes firmas de 8k solo se usan para firmar otras claves, pero 8k debe considerarse suficiente por mucho tiempo. 4k está bien para una subclave actual, ya que es barato revocarla sin perder todas sus firmas.

La creación de esa clave de 8k tomó aproximadamente 20 minutos en mi Core 2 Duo T9300, así que tómate tu tiempo y haz algo de trabajo (para alimentar la fuente aleatoria).


0

Mientras que opté por una clave maestra 4K RSA con una subclave de firma 3K RSA y una subclave de cifrado 4K El-Gamal. La única razón por la que no he optado por una clave maestra más alta en este momento es por la prevalencia de usuarios con dispositivos móviles que realmente luchan con las teclas más grandes.

Por supuesto que tengo claves más grandes para ciertos propósitos específicos, pero eso no suele ser para comunicarse con otros.


1
¿Por qué El-Gamal para el cifrado?
code_monk
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.