REPUBLIQUE DU CAMEROUN REPUBLIC OF CAMEROON
PAIX-TRAVAIL-PATRIE PEACE-WORK-FATHERLAND
MINISTERE DE L’ENSEIGNEMENT SUPERIEUR MINISTRY OF HIGHER EDUCATION
INSTITUT UNIVERSITAIRE CATHOLIQUE SAINT-JÉRÔME CATHOLIC UNIVERSITY
SAINT-JÉRÔME DE DOUALA INSTITUTE OF DOUALA
SAINT- JÉRÔME POLYTECHNIQUE
SAINT- JÉRÔME POLYTECHNIC
(SJP5GIT)
CRYPTOGRAPHIE
DSA (DIGITAL SIGNATURE ALGORITHM)
Par :
TEUGE ZRA NDEHOUM JOSPIN
Supervisé par :
Pr BELL BITCHOGA
Année Académique 2022/2023
ALGORITHME DSA (DIGITAL SIGNATURE ALGORITHM)
Certifié et approuvé par le gouvernement des États-Unis, l’algorithme DSA (Digital Signature
Algorithm) est un algorithme de signature numérique standardisé par la NATIONAL
INSTITUTE OF STANDARDS AND TECHNOLOGY (NIST) en 1991 comme alternative à
l’algorithme RSA standard. Il offre le même niveau de sécurité et de performance que le RSA,
mais utilise une formule mathématique différente et moins répandue pour la signature et le
chiffrement. La paire de clés DSA est de longueur identique à son équivalente RSA. Toutefois,
avec DSA, la génération des clés et les signatures numériques sont plus rapides. À l’inverse, la
vérification des clés est légèrement plus lente. Avec RSA, DSA est considéré comme l’un des
algorithmes de signature numérique les plus préférés utilisés aujourd’hui.
Contrairement à la DSA, la plupart des types de signature numérique sont générés en signant les
résumés de messages avec la clé privée de l’expéditeur. Cela crée une empreinte numérique des
données. Etant donné que seul le résumé du message est signé, la signature est généralement
beaucoup plus petite que les données qui ont été signées. En conséquence, les signatures
numériques imposent moins de charge aux processseurs au moment de l’exécution de la
signature, utilisent de petits volumes de texte chiffré destinés à la cryptanalyse.
D’autre part, DSA ne chiffre pas les résumés de messages à l’aide d’une clé privée ou ne
déchiffre pas les résumés de messages à l’aide d’une clé publique. Au lieu de cela, il utilise des
fonctions mathématiques uniques pour créer une signature numérique composée de deux
nombres de 160 bits qui proviennent des résumés de messages et de la clé privée.
APERÇU DU DSA
Le DSA est similaire à un autre type de signature développé par Claus Peter Schnorr en 1989. Il
a aussi des points communs avec la signature ElGamal. Le processus se fait en trois étapes :
- Génération des clés
- Signature du document
- Vérification du document signé
GENERATION DES CLÉS
Leur sécurité repose sur la difficulté du problème du logarithme discret dans un groupe fini.
- Choisir des longueurs L et N avec L divisible par 64. Ces longueurs définissent
directement le niveau de sécurité de la clé. NIST 800-57 recommande de choisir L=3072
et N=256 pour une sécurité équivalente à 128 bits
- Choisir un nombre premier p de longueur L
- Choisir un nombre premier q de longueur N, de telle façon que p - 1 = qz, avec z un
entier
- Choisir h, avec 1<h<p-1 de manière que g = hz mod p>1
- Générer aléatoirement un x, avec 0 < x < q
- Calculer y = gx mod p
- La clé publique est (p, q, g, y). La clé privée est x
SIGNATURE DU DOCUMENT
- Choisir un nombre aléatoire s tel que 1 < s < q
- Calculer s1 = (gs mod p) mod q
- Si s1 = 0 recommencer avec un autre s
- Calculer s2 = (H(m)+s1x) s-1 mod q, où H(m) est le résultat d’un hachage
cryptographique
- Si s2 = 0 recommencer avec un autre s
- La signature est (s1, s2)
VÉRIFICATION DU DOCUMENT SIGNÉ
- Rejeter la signature si 0 < s1 < q ou 0 < s2 < q n’est pas vérifié
- Calculer w = s2-1 mod q
- Calculer u1 = H(m). W mod q
- Calculer u2 = s1.w mod q
- Calculer v = (gu1.gu2 mod p) mod q
- La signature est valide si v = s1
VALIDITÉ DE L’ALGORITHME
Ce principe de signature est correct dans le sens où le vérificateur acceptera toujours des
signatures authentiques.
DIFFERENCE ENTRE L’ALGORITHME RSA ET DSA
RSA DSA
C’est un algorithme de cryptosystème C’est un algorithme de signature numérique
Il est utilisé pour la transmission sécurisée des Il est utilisé pour la signature numérique et sa
données vérification
Il à été développée en 1977 Il a été développé en 1991
Il a été développé par Ron Rivest, Adi Shamir Il a été développé par le National Institute of
et Leonard Adleman Standards Technology
Il utilise le concept mathématique de Il utilise l’exponentiation modulaire et le
factorisation du produit de deux grands logarithme discret
nombres premiers
Il est plus lent dans la génération de clé Il est plus rapide dans la génération de clé
Il est plus rapide que DSA dans le cryptage Alors qu’il est plus lent dans le cryptage
Il est plus lent en décryptage Il est plus rapide en décryptage
Il est le mieux adapté pour la vérification et le Il est le mieux adapté pour la connexion et le
cryptage déchiffrement