Quel est le meilleur pour les clés GPG – RSA ou DSA?

ssh-keygen défaut crée des clés RSA, mais gpg --gen-key préfère DSA / ElGamal.

Lequel – RSA ou DSA – est-il préférable pour GPG?

    Les mainteneurs GPG envisagent de modifier la valeur par défaut pour RSA (source: Traitement de la faiblesse dans SHA-1 [LWN.net] ). Donc, il semble qu'ils pensent que RSA est actuellement la meilleure option (et ils devraient en savoir plus à ce sujet que vous ou moi).

    RSA et DSA – idées fausses et informations utiles
    A quelques références anciennes de RSA et la récente référence de DSA ,

    • La catastrophe Debian PGP qui a presque été – sur la version débordante debian openssl

    En 2003, RSA vs DSA Signatures – The Winner est …RSA .

    Ainsi, la génération de clés est incroyablement plus rapide pour DSA, ce qui est logique si vous comprenez les algorithmes. La signature est également plus rapide pour DSA, mais pas par un facteur aussi important. La grande force de RSA est de vérifier qui est beaucoup plus rapide que DSA .

    Ébauche récente d' IETF: DSA avec SHA-2 pour DNSSEC , à compter du 7 janvier 2010.
    Il a certaines raisons pour promouvoir DSA sur RSA aujourd'hui.

    L'utilisation de DSA avec SHA-256 dans DNSSEC présente des avantages et des inconvénients par rapport à l'utilisation de RSA avec SHA-256 lors de l'utilisation de clés 2048 bits. Les signatures DSA sont beaucoup plus courtes que les signatures RSA ; À cette taille, la différence est de 512 bits à environ 2048 bits. Sur les plates-formes typiques utilisant des clés de 2048 bits, la signature de DSA est environ trois fois plus rapide que pour RSA, mais la vérification des signatures RSA est plus de dix fois plus rapide que pour DSA .

    La puissance cryptographique de DSA est généralement considérée comme équivalente à RSA lorsque la clé publique DSA et les clés publiques RSA ont la même taille. Une telle évaluation pourrait, bien sûr, changer dans le futur si de nouvelles attaques qui fonctionnent mieux avec l'un ou l'autre des algorithmes sont trouvées.

    Il n'existe actuellement aucune attaque connue sur l'ensemble spécifique de paramètres DSA choisis pour ce document. Une telle évaluation pourrait évidemment changer dans le futur.

    Mais, ce n'est qu'un projet en ce moment.

    Tout le monde aime la vitesse de vérification de RSA (!).

    RSA. Certaines faiblesses ont été découvertes dans SHA-1 , qui est le hash utilisé par DSA . Debian migrent toutes leurs clés de DSA vers RSA.

    Citant une discussion sur le forum :

    Mon conseil serait d'utiliser une clé de signature RSA (la clé "primaire" ou "maître") et une sous-clé RSA pour le cryptage. La raison d'utiliser RSA pour la signature est principalement parce que RSA vous permet d'utiliser des hachis plus grands que DSA. DSA2 vous permet également d'utiliser des hachis plus grands, mais RSA a été pris en charge pendant plusieurs années de plus que DSA2.

    Je pense que si vous l'utilisez de manière standard (c'est-à-dire que vous ne cryptez pas une quantité énorme de données), ils réussiront tous deux.

    Je choisirais personnellement RSA parce que j'ai appris l'algorithme, et c'est l'un des algorithmes les plus beaux que j'ai jamais vu.

    De plus, l'utilisation d'algorithmes SHA-2 est possible et autorisée depuis la révision actuelle de DSS; Mais j'ai été incapable de savoir quelle révision GPG suit.

    En ce qui concerne la spécification DSS actuelle ( FIPS-186-3 , p. I), toute fonction de hachage spécifiée dans le SHS (FIPS-180-3, p. Iv) peut être utilisée:

    DSS:

    Les algorithmes de signature numérique approuvés par FIPS doivent être utilisés avec une fonction de hachage appropriée spécifiée dans le SHS.

    SHS:

    Cette norme spécifie cinq algorithmes de hash sécurisés – SHA-1, SHA-224, SHA-256, SHA-384 et SHA-512 – pour calculer une représentation condensée de données électroniques (message).


    À la question: Les deux algorithmes sont basés sur des problèmes mathématiques qui ne sont pas prouvés comme étant sécurisés (RSA utilise le problème de la détermination des nombres et la DSA utilise le problème discret du logarithme), vous ne pouvez pas dire que l'un est plus sûr que l'autre, car pas celui Le problème ni l'autre n'a jamais été résolu.

    Mais en utilisant DSA avec SHA-1, vous pourriez avoir un problème de sécurité, comme déjà indiqué par les pages .

    Le fait est que cela n'a pas beaucoup d'importance pour vous 🙂 Dans le cadre de la préparation de générer une paire de clés et dans le cadre du maintien de paires de clés existantes – quelle que soit la crypte asymétrique que vous choisissez, vous devez: 1) vérifier le courant recommandé Longueur de clé 2) a choisi une base / module pour optimiser la signature ou la vérification – en fonction de ce qui sera effectué plus souvent (les clés à utiliser pour délivrer les certificats de serveur TLS / SSL devraient être optimisées pour la vérification puisque chaque navigateur Web vérifiera la signature … les clés utilisées pour être utilisées dans le logiciel de signature devraient être optimisées de la même façon) 3) assurez-vous d'avoir vieilli vos clés – utilisé la même clé pour ssh-auth depuis quelques années, pourrait être le temps de regencer même si vous choisissez une clé Taille qui est encore raisonnable pour la demande aujourd'hui.

    La RSA et la DSA ont été sensiblement évaluées; Si vous utilisez une base de code réelleble (RSAREF, RSA commercial, Mozilla / Netscape, Microsoft, OpenSSL, …), vous ne vous inquiétez probablement pas quel cryptosystème vous utilisez tant que vous l'utilisez correctement et utilisez les meilleures pratiques actuelles