Quelle est la différence entre DSA et RSA?
Il semble qu'ils sont à la fois des algorithmes de chiffrement qui nécessitent des clés publique et privée. Pourquoi devrais-je choisir l'un contre l'autre pour assurer le chiffrement dans mon application de serveur client?
- Comme mentionné par le henri, la DSA n'est pas pour le chiffrement, la seule signature.
- Double Possible de What est la différence entre id_rsa.pub et id_dsa.pub?
Vous devez vous connecter pour publier un commentaire.
Référence, https://web.archive.org/web/20140212143556/http://courses.cs.tamu.edu:80/pooch/665_spring2008/Australian-sec-2006/less19.html
RSA
RSA le chiffrement et le déchiffrement sont commutative
par conséquent, il peut être utilisé directement comme une signature numérique régime
étant donné un RSA {(e,R), (d,p,q)}
pour signer un message M, calculer:
S = M power d (mod R)
pour vérifier une signature, calculer:
M = S e(mod R) = M et de puissance.d(mod R) = M(mod R)
RSA peut être utilisé à la fois pour le chiffrement et la signature numérique, l'
simplement en inversant l'ordre dans lequel les exposants sont utilisés:
le secret de l'exposant (d) pour créer la signature, le public exposant (e)
pour quelqu'un pour vérifier la signature. Tout le reste est identique.
DSA (Digital Signature Algorithm)
La DSA est une variante de la ElGamal et Schnorr algorithmes
crée un 320 bits de signature, mais avec 512-1024 peu de sécurité
à nouveau la sécurité repose sur la difficulté de calcul de logarithmes discrets
a été assez largement acceptée
DSA de Génération de la Clé
tout d'abord globale commune de la clé publique de valeurs (p,q,g) sont choisis:
choisir un grand nombre premier p = 2 puissance de L
où L= 512 à 1024 bits et est un multiple de 64
q, un de 160 bits facteur premier de p-1
choisir g = h puissance (p-1)/q
pour tout h1
ensuite, chaque utilisateur choisit une clé privée et calcule sa clé publique:
choisir x
calculer y = g puissance x(mod p)
DSA de génération de la clé est liée à, mais un peu plus complexe que El Gamal.
Principalement en raison de l'utilisation du secondaire de 160 bits module q utilisé pour aider à
accélérer les calculs et de réduire la taille de la signature.
DSA de Création de Signature et de Vérification
pour signer un message M
générer de l'aléatoire de la clé de signature de k, k
calculer
r = (g puissance k(mod p) (mod q)
s = k-1.SHA(M)+ x.r (mod q)
envoyer de signature (r,s) avec le message
pour vérifier une signature, calculer:
w = s-1(mod q)
u1= (SHA(M).w)(mod q)
u2= r.w(mod q)
v = (g puissance u1.d'alimentation en y u2(mod p) (mod q)
si v=r alors la signature est vérifiée
De création de Signature est encore semblable à ElGamal avec l'utilisation d'un
par message temporaire de signature de la clé k, mais cela calc premier mod p,
puis mod q pour réduire la taille du résultat. Notez que l'utilisation de
la fonction de hachage SHA est explicite ici. La vérification se compose également de
en comparant les deux calculs, d'avoir à nouveau un peu plus complexe que,
mais liées à El Gamal.
Remarque que presque tous les calculs sont mod q, et
sont donc beaucoup plus rapide.
Mais, contrairement aux RSA, DSA peut être utilisé uniquement pour les signatures numériques
DSA de Sécurité
La présence d'un subliminal canal existe dans de nombreux régimes (aucun de ceux qui ont besoin d'un nombre aléatoire au choix), pas seulement de la DSA. Il souligne la nécessité d'un "système de sécurité", et pas seulement un bon algorithme.
Vérifier AVA réponse ci-dessous.
Mon ancienne réponse semble erroné
Btw, vous ne pouvez pas chiffrer avec DSA, seul signe. Bien qu'ils sont mathématiquement équivalentes (plus ou moins), vous ne pouvez pas utiliser le DSA dans la pratique comme un schéma de chiffrement, seulement comme une signature numérique régime.
Avec référence à
man ssh-keygen
, la longueur d'une clé DSA est limité à exactement 1024 bits pour rester conforme aux NIST FIPS 186-2. Néanmoins, plus de clés DSA sont théoriquement possible; FIPS 186-3 explicitement leur permet. En outre, la sécurité n'est plus garantie avec 1024 bits long de clés RSA ou DSA.En conclusion, un RSA 2048 bits clé est actuellement le meilleur choix.
PLUS DE PRÉCAUTIONS À PRENDRE
Établir une sécurité de connexion SSH entraîne de plus que de sélectionner sûr une paire clé de chiffrement de la technologie. En vue d'Edward Snowden de la NSA révélations, on a d'être encore plus vigilants que ce qui était auparavant considéré comme suffisant.
Pour ne citer qu'un exemple, à l'aide d'un coffre-fort algorithme d'échange de clés est tout aussi important. Voici un bel aperçu de l'état des meilleur SSH durcissement des pratiques.
ssh-keygen
permettre aux autres bits des touches de taille en tant que bien (je l'utilise moi-même une définition de 2 048 bits de clés DSA générées à l'aide dessh-keygen
sur RHEL).Et dans plus belle des réponses.
RSA est synonyme de Ron Rivest, Adi Shamir et Leonard Undleman.