Licence Info
Cryptologie
Feuille d'exercices n ◦ 7.
Cryptographie asymétrique (3)
1 Crible quadratique
On désire factoriser un entier impair n. On procède ainsi.
1. Comme dans l'algorithme de Dixon, on choisit une base de facteurs B={−1, p1, . . . , pk} où les pi sont premiers.
2. Pour chaque entier naturel j, on pose t = ±j, xt = b√
nc+t et on calcule yt = x2t −n jusqu'à ce qu'on trouvek+2tels nombres se décomposant entièrement surB. Pour chaque tel t on a
yt =±
k
Y
i=1
paii,t,
et l'on forme le k+ 1-uplet (v0,t, v1,t, . . . , vk,t) où v0,t = 0 si yt > 0, v0,t = 1 si yt < 0 et vi,t =ai,t mod 2 si i≥1.
3. On cherche un sous-ensemble S des valeurs de t obtenues précédemment tel que pour tout i = 0,1, . . . , k, on ait P
t∈Svi,t ≡ 0 mod 2. Alors si x = Q
t∈Sxt et y2 = Q
t∈Syt on a x2 ≡ y2 modn de telle sorte que (x±y, n) fournit un facteur non trivial de n si x6≡ ±ymodn.
(a) Montrer qu'il faut exclure deB les ptels que n ne soit pas résidu quadratique modulo p. (b) On considère l'exemple suivant :n= 30167etB ={−1,2,7,11,17,29,31,37,41,43,53,67}.
On obtient
t xt yt
0 173 −2·7·17
−1 172 −11·53
−5 168 −29·67 5 178 37·41
−6 167 −2·17·67 7 180 7·11·29 11 184 7·17·31 14 187 2·74
−15 158 −11·43
−17 156 −73·17 18 191 2·7·11·41
−23 150 −11·17·41 28 201 2·7·17·43 Factoriser n.
2 Méthode p−1 de Pollard
On désire factoriser un entier impair n. On xe une borne B > 2 et on considère l'algorithme suivant.
Algorithme : Méthodep−1 de Pollard.
1: a := 2.
2: for j from 2 toB do
3: a:=aj modn
4: d:= (a−1, n)
5: if 1< d < n then
6: Return d.
7: else
8: Return Echec.
1. Que vaut a à la n de la boucle for ?
2. Supposons que ppremier divise n et quep−1soit B-friable, i.e. que pour tout premierq et tout s tel que qs divise p−1alors qs ≤B. Montrer que p divise d et que l'algorithme retourne un facteur non trivial de n sauf si a = 1.
3. Montrer que l'on peut prendre B plus petit que la borne de friabilité précédemment dénie.
4. Appliquer avec n= 13927189 etB = 14.
5. Écrire un autre algorithme qui s'appuiera sur le calcul d'un autreane faisant appel qu'aux q premiers ≤B et aux exposants mq =blogn/logqc.
3 Le chirement ElGamal
Le principe du chirement ElGamal est le suivant.
Clé publique (p, α, β)où ppremier, α d'ordreq dans (Z/pZ)∗, β ∈ hαi, β 6= 1.
Clé privée a∈[1. . . q−1]tel que β =αa mod p
Chirement de m < p E(m) = (αk, mβk) oùk ∈[1. . . q−1]est un nombre aléatoire Déchirement de c= (r, t) D(c) = tr−a mod p
1. Un exemple numérique : La clé publique de Bob est p = 17, α = 3, β = 10. Aidez Alice à chirer le message m= 5 et Bob à déchirer (7,6).
2. Montrez que D(E(m)) = m.
3. Montrez qu'un attaquant peut déchirer tous les messages dès qu'il sait calculer le log en base α deβ.
4. Montrez qu'un attaquant peut déchirer c= (r, t) dès qu'il sait calculer le log en baseα de r.
5. Pourquoi faut-il que l'ordre de α modulo psoit un grand nombre q?
6. Quel avantage de ce système de chirement est obtenu avec le nombre aléatoire k? 7. On suppose que Alice chire deux messages distincts m1 etm2 avec le même k. Montrez
que, si Oscar connaît m1, alors il connaît aussi m2.
4 Une attaque sur RSA : module commun On rappelle le principe du chirement RSA.
Clé publique (n, e)où n=pq et(e, ϕ(n)) = 1 Clé privée d tel que ed ≡1 mod (p−1)(q−1) Chirement de m < n E(m) =me mod n
Déchirement de c D(c) =cd mod n
Bob et Catherine ont choisi le même module RSA n. Leurs exposants publics eB et eC sont distincts.
1. Expliquez pourquoi Bob peut déchirer les messages reçus par Catherine et réciproque- ment.
2. On suppose maintenant que (eB, eC) = 1 et qu'Alice envoie un même message chiré à Bob et à Catherine. Expliquez comment l'attaquant Oscar peut obtenir m.
5 Une attaque sur RSA : petit exposant public commun
On suppose que trois personnes B1, B2, B3 ont pour exposant public RSA e = 3 avec des modules respectifsn1,n2,n3 deux à deux premiers entre eux. Si Alice envoie un même message m aux troisBi, montrez qu'un attaquant peut calculerm dès que m3 < n1n2n3.