Il miglior algoritmo di crittografia e firma per GnuPG: RSA / RSA o DSA / Elgamal? [chiuso]


46

Ho trovato questa domanda relativamente vecchia sul fatto che RSA o DSA sia l'algoritmo preferito per la firma e la crittografia con GnuPG.

Durante l'utilizzo gpg --gen-key, le due scelte rilevanti sono "RSA e RSA" o "DSA ed Elgamal". Che è migliore? Quali sono i pro e i contro di ciascuno? È cambiato qualcosa dal 2009?


Risposte:


73

Raccomandazioni affidabili

Quando al momento dell'ultimo post, c'era ancora un dibattito sulla modifica degli algoritmi predefiniti ancora trovati nell'archivio web che aveva un consenso approssimativo, il passaggio alle chiavi RSA 2k come predefinito è stato eseguito.

Debian raccomanda di usare una chiave RSA 4k nel loro documento sull'uso delle sottochiavi e del file readme delle chiavi debian . Una grande maggioranza di circa tre quarti di chiavi nel portachiavi degli sviluppatori debian è (ancora) DSA / Elgamal (contato sfogliando l'output di gpg).

In un'intervista con iX (una rivista tedesca di informatica, numero 11/2013, disponibile anche online gratuitamente ), l'inventore di PGP Phil Zimmermann raccomanda "almeno 3k di lunghezza quando si usa RSA", sebbene le chiavi da 1k non siano ancora rotte. Ma sono "alla portata di aggressori ricchi di risorse".

Per quanto riguarda la sicurezza

In questo momento si dice che entrambi siano sicuri per chiavi di dimensioni adeguate (4k consigliati per RSA, 2k necessari per DSA2, altrimenti si utilizzerà DSA1 che utilizza SHA-1 ).

Per selezionare una lunghezza della chiave RSA , dai un'occhiata a una panoramica della forza effettiva fornita da NIST (p. 64). È facile vedere che la forza non aumenta linearmente con la lunghezza della chiave (e il tempo di calcolo), quindi la doppia dimensione non significa "doppia sicurezza".

Si è verificato un problema con l'implementazione DSA di OpenSSL su Debian , ma ciò è stato causato dall'utilizzo di dati casuali errati e potrebbe essere accaduto anche con RSA.

Scegliendo tra RSA e DSA2

pro RSA

  • RSA è più diffuso, anche se non necessario nello standard OpenPGP, tutte le principali implementazioni possono gestirlo; DSA2 non (ancora)
  • RSA offre un controllo della firma molto più veloce

pro DSA2

  • Firme più piccole, ma comunque piccole; per la firma di e-mail e codice probabilmente trascurabile
  • Creazione più rapida delle chiavi (può essere rilevante per dispositivi a basso consumo e incorporati come cellulari e router)
  • Leggermente più veloce per la firma

La mia decisione

Quando recentemente ho creato una nuova chiave OpenPGP, ho deciso di scegliere 8k RSA per le chiavi primarie e 4k RSA come sottochiavi per l'uso quotidiano. Le firme RSA sono veloci da verificare in ogni caso e le enormi firme 8k vengono utilizzate solo per firmare altre chiavi, ma 8k dovrebbe essere considerato sufficiente per molto tempo. 4k va bene per una sottochiave corrente in quanto è economico revocarla senza perdere tutte le firme.

La creazione di quella chiave 8k ha richiesto circa 20 minuti sul mio Core 2 Duo T9300, quindi prenditi il ​​tuo tempo e fai un po 'di lavoro (per alimentare la fonte casuale).


0

Mentre ho optato per una chiave master RSA 4K con una sottochiave di firma RSA 3K e una sottochiave di crittografia El-Gamal 4K. L'unico motivo per cui non ho optato per una chiave master superiore a questo punto è a causa della prevalenza di utenti con dispositivi mobili che lottano davvero con le chiavi più grandi.

Naturalmente ho chiavi più grandi per determinati scopi specifici, ma ciò tende a non essere per la comunicazione con gli altri.


1
perché El-Gamal per la crittografia?
code_monk,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.