web-dev-qa-db-fra.com

Nouvelle clé PGP: RSA / RSA ou DSA / Elgamal?

Je voulais créer une nouvelle clé PGP en utilisant GPG Keychain Access sur mon Mac. L'une des options était de choisir le type de clé:

  1. RSA et RSA
  2. DSA et Elgamal
  3. RSA (signe uniquement)
  4. DSA (signe uniquement)

J'ai trouvé cette question de superutilisateur , mais elle peut être obsolète. Les clés RSA semblent être moins sécurisées car il est connu que le NSA a infiltré le RSA et a affaibli leur algorithme de génération de clé. Je ne sais pas si cela a une influence significative pour une clé RSA à 4096 bits. Si je choisis DSA, je constate que je ne peux utiliser que des clés de 3072 bits. Il semble que DSA/Elgamal soit moins courant, mais les messages à ce sujet remontent à 2009, est-ce toujours pertinent?

  • Que dois-je utiliser?
  • Qu'importe?
25
SPRBRN

car il est connu que le NSA a infiltré le RSA et a affaibli leur algorithme de génération de clés

Si vous le savez, vous vous trompez. Vous confondez deux choses qui n'ont aucun rapport:

  • RSA , l'algorithme cryptographique asymétrique.
  • Dual_EC_DRBG , un PRNG algorithme de mauvaise qualité et apte au backdooring.

RSA peut être utilisé pour le chiffrement asymétrique et pour les signatures numériques. A PRNG ne peut faire ni l'un ni l'autre. A PRNG produit un flux sans fin de bits imprévisibles; c'est quelque chose que RSA ne fait pas. Les deux choses sont vraiment différentes.

Maintenant, quelle est la source de la confusion? Elle est double:

  • Un algorithme cryptographique asymétrique utilise clés qui doit être généré aléatoirement à un moment donné; l'algorithme de génération de clés nécessite un flux de bits aléatoires, normalement fourni par un cryptographiquement fort PRNG (donc potentiellement Dual_EC_DRBG, ou tout autre PRNG) .
  • Un fournisseur de logiciels qui a implémenté Dual_EC_DRBG et l'a fourni à ses clients était RSA Security . Cette société est appelée "RSA" parce qu'elle a été fondée par Rivest, Shamir et Adleman, les trois chercheurs qui ont également inventé l'algorithme asymétrique RSA et l'ont nommé ainsi pour exactement la même raison. Fondamentalement, Rivest s'appelle Rivest lorsqu'il invente des algorithmes cryptographiques, et il s'appelle toujours Rivest lorsqu'il crée des entreprises. Quoi qu'il en soit, ils ont vendu l'entreprise il y a deux décennies.

L'essentiel, c'est que RSA, l'algorithme asymétrique, n'est en aucun cas "détourné". Ce qui peut être détourné est le PRNG utilisé dans une implémentation spécifique de l'algorithme de génération de paire de clés. Mais si vous utilisez Dual_EC_DRBG pour générer une paire de clés ElGamal, alors vous êtes également arrosé. Par conséquent, l'existence de pauvre, faible PRNG n'est en aucunement une raison de préférer ElGamal à RSA.

(Si nous voulons faire un détour, cela va dans le sens inverse: la porte dérobée connue dans Dual_EC_DRBG est plus facile à exploiter si Dual_EC_DRBG a été utilisée pour produire une clé ElGamal qu'une clé RSA. Mais en général, si votre outil de génération de clé utilise délibérément un PRNG faible, vous perdez. Quel que soit le type de clé.)

Qu'en est-il de la longueur de clé ? Par hasard, il se trouve que les clés RSA, DSA et ElGamal de taille similaire offrent une force vaguement similaire (c'est une pure chance car elles reposent sur des types d'objets mathématiques distincts). Les clés RSA/DSA/ElGamal 1024 bits échappent actuellement à nos capacités cryptanalytiques, mais elles semblent pour être à la portée de la technologie basée sur la Terre (si vous dépensez quelques centaines de millions ou milliards de dollars en construction une machine dédiée et cela ne me dérange pas s'il faut 6 mois pour casser une seule clé). Les clés RSA/DSA/ElGamal à 2048 bits sont bien au-delà de ce qui peut être fait avec la technologie prévisible. Toute taille de clé au-delà de 2048 bits équivaut à acheter une voiture de sport rouge pour séduire les filles.

Pour votre cas spécifique:

  • Les options "signer uniquement" produiront des clés utilisables uniquement pour les signatures et non, par exemple, pour les e-mails chiffrés. Si vous souhaitez utiliser une clé pour le chiffrement, vous devrez utiliser l'une des deux premières options.

  • Dans les temps anciens, RSA était breveté (aux États-Unis), donc certaines implémentations ne prenaient en charge que DSA et ElGamal. Depuis l'expiration du brevet en 2000, toute mise en œuvre décente de PGP peut désormais très bien le gérer.

  • Les signatures DSA sont un peu plus courtes que les signatures RSA; L'échange de clés basé sur ElGamal utilisera quelques octets de plus que l'échange de clés basé sur RSA. Nous ne parlons ici que de quelques dizaines d'octets; toute optimisation de ce type sera éclipsée par la perte encourue si vous décidez d'utiliser rouge touches surdimensionnées pour affirmer votre virilité.

37
Thomas Pornin