Melhor algoritmo de criptografia e assinatura para o GnuPG: RSA / RSA ou DSA / Elgamal? [fechadas]

46

eu encontrei esta questão relativamente antiga sobre se RSA ou DSA é o algoritmo preferido para assinar e criptografar com o GnuPG.

Ao usar gpg --gen-key, as duas opções relevantes são "RSA e RSA" ou "DSA e Elgamal". Qual é melhor? Quais são os prós e contras de cada um? Alguma coisa mudou desde 2009?

The-Q
fonte
Encontrei estes posts úteis também: linuxquestions.org/565242#2986414 e lists.gnupg.org/022764
RubyTuesdayDONO

Respostas:

72

Recomendações Confiáveis

Quando no momento do último post, ainda havia debate sobre a mudança de algoritmos padrão ainda encontrado em arquivo web que teve um consenso grosseiro, o alternar para as chaves RSA 2k como padrão foi executado.

Debian recomenda usar uma chave RSA de 4k em seu documento sobre o uso de subchaves e debian-keys arquivo leia-me. Uma grande maioria de cerca de três quartos das chaves no keyring dos desenvolvedores Debian é (ainda) DSA / Elgamal (contada pelo grep através da saída do gpg).

Em entrevista ao iX (revista alemã de ciências da computação, edição 11/2013, também disponível online gratuitamente ), o inventor do PGP Phil Zimmermann recomenda "pelo menos 3k de comprimento ao usar o RSA", embora as teclas 1k ainda não estejam quebradas. Mas eles estão "ao alcance de atacantes ricos em recursos".

Em relação à segurança

Neste momento ambos são considerados seguros para tamanhos de chave adequados (4k recomendado para RSA, 2k necessário para DSA2, caso contrário você usará DSA1 que usa o SHA-1 ).

Para selecionar um Comprimento da chave RSA , dê uma olhada em uma visão geral sobre a força real fornecida pelo NIST (p. 64). É fácil ver que a força não aumenta linearmente com o tamanho da chave (e o tempo de computação), portanto, o tamanho duplo não significa "segurança dupla".

Havia um problema com a implementação DSA do OpenSSL no Debian , mas isso foi causado pelo uso de dados aleatórios ruins e poderia ter acontecido com o RSA também.

Escolhendo entre RSA e DSA2

pro RSA

  • O RSA é mais difundido, embora não seja necessário no padrão OpenPGP, todas as principais implementações podem lidar com ele; DSA2 não (ainda)
  • RSA oferece verificação de assinaturas muito mais rápida

pro DSA2

  • Assinaturas menores, mas são pequenas de qualquer maneira; para assinatura de e-mail e código provavelmente insignificante
  • Criação de chave mais rápida (pode ser relevante em dispositivos de baixa potência e incorporados, como celulares e roteadores)
  • Ligeiramente mais rápido para assinar

A minha própria decisão

Ao criar recentemente uma nova chave OpenPGP, decidi usar 8k RSA para chaves primárias e 4k RSA como subchaves para uso diário. As assinaturas RSA são rápidas de verificar de qualquer maneira e as enormes assinaturas de 8k são usadas apenas para assinar outras chaves, mas 8k devem ser consideradas suficientes por um tempo muito longo. 4k é bom para uma subchave atual, pois é barato revogá-lo sem perder todas as suas assinaturas.

A criação dessa tecla de 8k levou cerca de 20 minutos no meu Core 2 Duo T9300, então leve seu tempo e faça algum trabalho (para alimentar a fonte aleatória).

Jens Erat
fonte
0

Considerando que eu optei por uma chave mestra RSA 4K com uma subchave de assinatura 3K RSA e uma subchave de criptografia 4K El-Gamal. A única razão que eu não tenho ido para uma chave mestra mais alta neste momento é por causa da prevalência de usuários com dispositivos móveis que realmente lutam com as teclas maiores.

É claro que tenho chaves maiores para certos propósitos específicos, mas isso tende a não ser para comunicação com outros.

Ben
fonte
1
Por que o El-Gamal para criptografia?
code_monk