Référencement, https://web.archive.org/web/20140212143556/http://courses.cs.tamu.edu:80/pooch/665_spring2008/Australian-sec-2006/less19.html
RSA
Le cryptage et le décryptage RSA sont commutatifs.
Il peut donc être utilisé directement comme système de signature numérique.
étant donné un schéma RSA {(e,R), (d,p,q)}
pour signer un message M, calculez :
S = M puissance d (mod R)
pour vérifier une signature, calculez :
M = S puissance e(mod R) = M puissance e.d(mod R) = M(mod R)
Le RSA peut être utilisé à la fois pour le cryptage et les signatures numériques, simplement en inversant l'ordre dans lequel les exposants sont utilisés : l'exposant secret (d) pour créer la signature, l'exposant public (e) pour permettre à quiconque de vérifier la signature. Tout le reste est identique.
DSA (Algorithme de signature numérique)
DSA est une variante des algorithmes ElGamal et Schnorr. Il crée une signature de 320 bits, mais avec une sécurité de 512-1024 bits. repose à nouveau sur la difficulté de calculer les logarithmes discrets. a été assez largement accepté.
Génération de clés DSA
Tout d'abord, les valeurs des clés publiques globales partagées (p, q, g) sont choisies :
choisir une grande puissance première p = 2 L
où L= 512 à 1024 bits et est un multiple de 64
choisir q, un facteur premier de 160 bits de p-1
choisir g = h puissance (p-1)/q
pour tout h<p-1, h(p-1)/q(mod p)>1
puis chaque utilisateur choisit une clé privée et calcule sa clé publique :
choisir x<q
calculer y = g puissance x(mod p)
La génération de clés DSA est apparentée à El Gamal, mais un peu plus complexe. Principalement à cause de l'utilisation du module secondaire de 160 bits q utilisé pour aider à accélérer les calculs et réduire la taille de la signature résultante.
Création et vérification de signatures DSA
pour signer un message M
générer une clé de signature aléatoire k, k<q
calculer
r = (g puissance k(mod p))(mod q)
s = k-1.SHA(M)+ x.r (mod q)
envoyer la signature (r,s) avec le message
pour vérifier une signature, calculez :
w = s-1(mod q)
u1= (SHA(M).w)(mod q)
u2= r.w(mod q)
v = (g puissance u1.y puissance u2(mod p))(mod q)
si v=r alors la signature est vérifiée
La création de la signature est à nouveau similaire à celle d'ElGamal avec l'utilisation d'une clé de signature temporaire k par message. clé de signature temporaire k par message, mais en faisant le calcul d'abord mod p, puis mod q pour réduire la taille du résultat. Notez que l'utilisation de fonction de hachage SHA est explicite ici. La vérification consiste également à comparer deux calculs, encore une fois étant un peu plus complexe que, mais apparentée à El Gamal.
Notez que la quasi-totalité des calculs sont mod q, et sont donc beaucoup plus rapides.
Mais, contrairement à RSA, DSA ne peut être utilisé que pour les signatures numériques.
Sécurité DSA
La présence d'un canal subliminal existe dans de nombreux schémas (tous ceux qui nécessitent le choix d'un nombre aléatoire), pas seulement DSA. Elle souligne la nécessité d'une "sécurité du système", et pas seulement d'un bon algorithme.
3 votes
Comme mentionné par henri DSA n'est pas pour le cryptage, juste pour la signature.
0 votes
Duplicata possible de Quelle est la différence entre id_rsa.pub et id_dsa.pub ?