Académique Documents
Professionnel Documents
Culture Documents
Cryptographie asymétrique :
RSA et ElGamal
� Les cryptosystèmes asymétriques sont basés sur la dureté de certains problèmes mathématiques.
2.2.1 Algorithmes
Algorithm 5 : Chiffrement
Entrée: Message m < n et Kpub = (n, e).
1: Calculer c ≡ me (mod n).
Sortie: c
Algorithm 6 : Déchiffrement
Entrée: c et Kpr = (n, d).
1: Calculer m ≡ cd (mod n).
Sortie: m
Exercice 2.2
Correctness proof of RSA.
Exercice 2.3
Développer un programme en Python qui permet de :
− générer la clé publique et privée de RSA, avec p et q de taille 512 bits.
− convertir une chaı̂ne de caractères en entier.
CHAPITRE 2. CRYPTOGRAPHIE ASYMÉTRIQUE :
RSA ET ELGAMAL 11
− chiffrer.
− déchiffrer.
− calculer le temps d’exécution de chaque algorithme.
De nombreux efforts ont été faits pour accélérer les algorithmes de RSA. En 2012, le
dernier standard RSA a été proposé. RSA standard utilise n = p1 × · · · × pk , pour k ≥ 2,
et utilise le CRT pour déchiffrer.
Exercice 2.4
Redévelopper Exercice 2.3 en utilisant RSA standard.
2.3 ElGamal
Le cryptosystème ElGamal a été proposé par Taher ElGamal en 1985. ElGamal est
déterministe et sa sécurité repose sur la difficulté du problème du logarithme discret.
Les algorithmes 7, 8 et 9 représentent les algorithmes de génération de clés, de chiffre-
ment et de déchiffrement d’ElGamal cryptosystème, respectivement.
Algorithm 8 : Chiffrement
Entrée: Message m ∈ Z ∗ p et Kpub = (p, g, β).
1: Choisir au hasard un entier k ∈ {2, · · · , p − 2}.
2: Calculer c1 = g k (mod p) et c2 = m × β k (mod p).
Sortie: c = (c1 , c2 ).
CHAPITRE 2. CRYPTOGRAPHIE ASYMÉTRIQUE :
RSA ET ELGAMAL 12
Algorithm 9 : Déchiffrement
Entrée: c = (c1 , c2 ) et Kpr = (a).
1: Calculer m ≡ c−a1 × c2 (mod p).
Sortie: m
Exercice 2.5
Correctness proof of ElGamal.
Exercice 2.6
Développer un programme en Python qui permet de :
− générer la clé publique et privée de ElGamal, avec p de taille 1024 bits.
− chiffrer.
− déchiffrer.
− calculer le temps d’exécution de chaque algorithme.