Académique Documents
Professionnel Documents
Culture Documents
Cryptographie
n, e = (10200406003,257)
m = 100
c = exp_mod(m,e,n)
R = IntegerModRing(n)
m = R(100)
c = m^e
ElGamal
4. Soit p = 100000000003, a = 2, b = 3, et K = (p, a, b) une clé ElGamal.
a. Trouver la clé privée k (tel que b = ak mod p) associée à K.
b. Calculer un chiffrement c de m = 7 avec (p, a, b).
c. Montrer les étapes pour déchiffrement de votre texte chiffré.
Solution.
a. On trouve k = 1452889085 par :
p = 100000000003
FF = FiniteField(p)
a = FF(2)
b = FF(3)
k = log(b,base=a)
et on peut vérifier power_mod(2,k,p) == 3.
b.
c. Le déchiffrement est (r, s) 7→ m = r−k s mod p, donc les étapes sont les calcules
de r−1 mod p, de la puissance r−k ≡ (r−1 )k mod p, et du produit r−1 s mod p.