web-dev-qa-db-fra.com

Meilleur algorithme de cryptage et de signature pour GnuPG: RSA / RSA ou DSA / Elgamal?

J'ai trouvé cette question relativement ancienne à savoir si RSA ou DSA est l'algorithme préféré pour la signature et le cryptage avec GnuPG.

Lorsque vous utilisez gpg --gen-key, les deux choix pertinents sont "RSA et RSA" ou "DSA et Elgamal". Ce qui est mieux? Quels sont les avantages et les inconvénients pour chacun? Est-ce que quelque chose a changé depuis 2009?

46
The-Q

Recommandations dignes de confiance

Lors du dernier post, il y avait encore un débat sur la modification des algorithmes par défaut toujours présents dans les archives Web qui avaient obtenu un consensus approximatif, le bascule sur les touches RSA 2k par défaut.

Debian recommande d'utiliser une clé RSA 4k dans leur document pour utiliser des sous-clés et debian-keys fichier Lisez-moi. Une grande majorité des trois quarts environ des clés du trousseau de développeurs Debian est (toujours) DSA/Elgamal (comptée par grepping dans la sortie de gpg).

Dans une interview avec iX (un magazine allemand d'informatique, numéro 11/2013, également disponible gratuitement en ligne ), l'inventeur de PGP Phil Zimmermann recommande "une longueur minimale de 3k lorsque vous utilisez RSA", bien que les clés 1k ne soient pas encore cassées. Mais ils sont "à la portée d'attaquants riches en ressources".

Concernant la sécurité

À l'heure actuelle, les deux sont considérés comme sécurisés pour les tailles de clé adéquates (4k recommandé pour RSA, 2k nécessaires pour DSA2, sinon vous utiliserez DSA1 qui utilise SHA-1 ).

Pour sélectionner une longueur de clé RSA , consultez un aperçu de la force réelle fournie par le NIST (p. 64). Il est facile de voir que la force ne croît pas linéairement avec la longueur de la clé (et le temps de calcul), donc double taille ne signifie pas "double sécurité".

Il y avait un problème avec l'implémentation DSA d'OpenSSL sur Debian , mais cela était dû à l'utilisation de données aléatoires erronées et aurait pu également arriver à RSA.

Choisir entre RSA et DSA2

pro RSA

  • RSA est plus répandu, bien que non nécessaire dans le standard OpenPGP, toutes les mises en œuvre majeures peuvent le gérer; DSA2 pas (encore)
  • RSA offre une vérification des signatures beaucoup plus rapide

pro DSA2

  • Des signatures plus petites, mais elles sont petites quand même; pour la signature de courrier électronique et de code probablement négligeable
  • Création de clé plus rapide (peut être utile sur les appareils à faible consommation d'énergie et embarqués tels que les mobiles et les routeurs)
  • Un peu plus rapide pour la signature

Ma propre décision

Lors de la création récente d'une nouvelle clé OpenPGP, j'ai décidé de choisir 8k RSA pour les clés primaires et 4k RSA comme sous-clés à utiliser au quotidien. Les signatures RSA sont rapides à vérifier de toute façon et les énormes signatures 8k ne sont utilisées que pour signer d'autres clés, mais 8k devraient être considérées comme suffisantes pendant très longtemps. 4k convient aux sous-clés actuelles, car il est peu coûteux de la révoquer sans perdre toutes vos signatures.

La création de cette clé 8k a pris environ 20 minutes sur mon Core 2 Duo T9300, prenez donc votre temps et travaillez (pour alimenter la source aléatoire).

72
Jens Erat

Alors que j’ai opté pour une clé principale RSA 4K avec une sous-clé de signature RSA 3K et une sous-clé de cryptage El-Gamal 4K. La seule raison pour laquelle je n'ai pas opté pour une clé principale supérieure à ce stade-ci est la prévalence d'utilisateurs disposant d'appareils mobiles qui ont vraiment du mal à gérer les clés plus grandes.

Bien sûr, j'ai des touches plus grandes pour certains objectifs spécifiques, mais cela ne concerne généralement pas la communication avec les autres.

0
Ben