Universit´e Bordeaux 1 Ann´ee Universitaire 2012-2013 Parcours IN601, MA601, MA603
UE N1MA6W31
Corrig´ e de l’examen
Exercice 1
1. On prend desx2 modN avecx l´eg`erement sup´erieur `a√
N dans l’espoir d’obtenir des petits “carr´es”. Ceux-ci auraient donc une forte chance d’ˆetre friables et m`eneraient `a des congruences non triviales (x2 ≡amodN avec x2 6= a). Ceci dit, si N est “grand” et si la borne de friabilit´e est “pe- tite”, cette id´ee ne fonctionne pas n´ecessairement. Par exemple si N = 121933417163 = 123457 ×987659, a = b√
Nc = 349189 et aucun des (a+i)2 modN (1 ≤ i ≤ 10) n’est B-friable si B < 1277. En outre, si on prend B= 1277, une seule valeur de idonne un carr´e B-friable.
2. On voit que
10012×10392 ≡22×54×172×192 modN, ou encore
412682 ≡161502modN.
Comme 412686≡ ±16150 modN, on est sˆur que le calcul de pgcd(N,41268+
16150) et de pgcd(N,41268−16150) donnera des diviseurs non triviaux de N. On applique l’algorithme d’Euclide pour calculer ces pgcd :
998771 = 57418×17 + 22665, 57418 = 22665×2 + 12088, 22665 = 12088×1 + 10577, 12088 = 10577×1 + 1511, 10577 = 1511×7 + 0.
D’o`u
pgcd(N,41268 + 16150) = 1511.
998771 = 25118×39 + 19169, 25118 = 19169×1 + 5949, 19169 = 5949×3 + 1322, 5949 = 1322×4 + 661, 1322 = 661×2 + 0.
D’o`u
pgcd(N,41268−16150) = 661.
Les deux facteurs non triviaux obtenus sont 1551 et 661.
Exercice 2
1. La liste des polynˆomes irr´eductibles deF2[X] de degr´e ≤3 est : X, X+ 1, X2+X+ 1, X3+X+ 1, X3+X2+ 1.
2. P(0) = P(1) = 1 donc P(X) n’est divisible par aucun irr´eductible de degr´e 1. S’il ´etait r´eductible, comme il est de degr´e 5, il serait le produit d’un
irr´eductible de degr´e 2 et d’un irr´eductible de degr´e 3, donc n´ecessairement divisible parX2+X+ 1. Or la division euclidienne deP(X) parX2+X+ 1 donne : X5+X2+ 1 = (X2+X+ 1)(X3+X2) + 1. Par suite, P(X) est irr´eductible.
3. Le groupe F×32 a pour cardinal 32 −1 = 31 car F32 est un corps et F×32 =F32\ {0}. Les ordres possibles des ´el´ements de F×32 sont les diviseurs de 31, c’est-`a-dire 1 et 31. Comme α 6= 1, l’ordre de α ne peut pas ˆetre 1.
L’´el´ement αa donc pour ordre 31 et engendre F×32qui est cyclique. Remar- quons que ceci s’applique `a tout ´el´ement de F×32 diff´erent de 1.
4. On a α5=α2+ 1, d’o`u l’on tire successivement : α6 =α3+α,
α7 =α4+α2,
α8 =α5+α3 =α3+α2+ 1, α9 =α4+α3+α,
α10=α5+α4+α2 =α4+ 1, α11=α5 +α=α2+α+ 1, α12=α3+α2+α.
Les codes des αi pour 5 ≤ i ≤ 12 sont donc : (0,0,1,0,1), (0,1,0,1,0), (1,0,1,0,0), (0,1,1,0,1), (1,1,0,1,0), (1,0,0,0,1), (0,0,1,1,1) et (0,1,1,1,0).
5. L’´el´ement g correspond `aα2 ∈F×32 et comme α2 6= 1 son ordre est 31 et c’est un g´en´erateur du groupe.
6. Leur cl´e secr`ete est (gb)a = (α3 +α2+α)10. On calcule cette derni`ere expression par exponentiation binaire :
(α3+α2+α)2 =α6+α4+α2=α4+α3+α2+α (α3+α2+α)4 =α8+α6+α4+α2 =α4+α+ 1, (α3+α2+α)8 =α8+α2+ 1 =α3,
(α3+α2+α)10=α3(α4+α3+α2+α) =α7+α6+α5+α4=α3+α+ 1.
Leur cl´e secr`ete est donc (0,1,0,1,1).
Autre raisonnement possible : d’apr`es la question 4 Bob a choisi b ≡ 6 mod 31 (en effet gb = α12 = g6 et F×32 est cyclique de cardinal 31 en- gendr´e parg). On a donc ab≡10×6 mod 31≡29 mod 31. Leur cl´e secr`ete est donc g29=α58=α27. On calculeα27. Par exemple
α24= (α12)2 = (α3+α2+α)2=α6+α4+α2 =α4+α3+α2+α.
α27=α24α3=α7+α6+α5+α4 =α3+α+ 1.
Leur cl´e secr`ete est (0,1,0,1,1).
Exercice 3.
1. Voir le cours.
2. On utilise le fait que siaetbsont deux entiers, pgcd(a, b)×ppcm(a, b) = ab. Pour calculerr on calcule donc le pgcd dep−1 et q−1 not´e x, `a l’aide de l’algorithme d’Euclide. On a alors
r= (p−1)(q−1)
x .
3. M est premier avecp−1. En effet, si ce n’est pas le cas, soitlun diviseur premier commun `a M et p−1. Comme M =p2q o`u p etq sont premiers, on a n´ecessairement l=p ou l=q. Dans le premier cas l|p−1 implique
p | p−1, ce qui est impossible. Dans le second cas, l | p −1 implique q | p−1 ce qui contraire aux hypoth`eses faites sur p et q. De la mˆeme mani`ere M est premier avec q−1. On en d´eduit que M est premier avec ppcm(p−1, q−1) =r. Par suite M est inversible modulo r.
4. Pour calculer d Bob utilise l’algorithme d’Euclide ´etendu pour obtenir une relation de B´ezout entreM etr :
uM +vr= 1.
Alors l’inverse de M modulo r est umodr.
5. m est premier avecpq donc avec p. On en d´eduit par le petit th´eor`eme de Fermat que mp−1 ≡1 modp. Or r est un multiple de p−1. On a donc mr≡1 modp. Le raisonnement est le mˆeme pour la seconde congruence.
6. CommeM =p2q, on a
c≡mM modM =⇒c≡mM modpq.
On en tire
cd≡mM dmodpq.
Or dest l’inverse de M modulo r : il existe donc un entierk tel queM d= 1 +kr. On en d´eduit que
cd≡m(mr)k modpq.
Or par la question pr´ec´edente on sait que mr ≡1 modp et mr ≡1 modq.
Le th´eor`eme chinois implique alors
mr≡1 modpq.
On peut aussi dire que p|mr−1 et q |mr−1 implique que ppcm(p, q) = pq|mr−1. Finalement on obtient
cd≡mmodpq.
Ainsi Bob retrouve bien m.
7. Par exponentiation binaire modulaire, le calcul demM modM n´ecessite O(logM) multiplications dansZ/MZ.
Commed < r=ppcm(p−1, q−1) on ad < pq. Par exponentiation binaire modulaire, le calcul decdmodpqn´ecessiteO(logpq) =O(logp+ logq) mul- tiplications dans Z/pqZ.
Un algorithme na¨ıf de multiplication dansZ/nZa une complexit´e enO (logn)2 . On en d´eduit que la complexit´e binaire du chiffrement est enO (logM)3
et que la complexit´e binaire du d´echiffrement est enO (logpq)3
=O (logp+ logq)3
.
8. On aM = 45 = 1 + 22+ 23+ 25. Pour calculer 745mod 45 on peut cal- culer (ce n’est pas tout `a fait “square and multiply”1mais c’est ´equivalent) les 72i mod 45 (1 ≤ i ≤ 5) par ´el´evations successives au carr´e puis cal- culer 7×722 ×723 ×725 mod 45. On a 72 ≡ 4 mod 45, 74 ≡ 16 mod 45, 78 ≡ 31 mod 45, 716 ≡16 mod 45 et 732 ≡31 mod 45. D’o`u 745mod 45 ≡ 7×74×78×732mod 45. On trouve 745≡37 mod 45. Donc
c= 37.
1Square and multiply correspond au calcul 7×((7×(7×(72)2)2)2)2mod 45.
Bob calculel= pgcd(2,4) = 2, puisr = (p−1)(q−1)/l= 4. Avouons qu’en l’occurrence cette d´emarche est un peu alambiqu´ee. Il calcule dl’inverse de 45 modulo 4. L’algorithme d’Euclide ´etendu conduit `a la relation de B´ezout 1×45−10×4 = 1 (mˆeme remarque). On a doncd= 1. Bob calcule alors 371mod 15. Il retrouve bien m= 7.
Exercice 4
1. Soitl= max{i; 1≤i≤n etri ≤S}. Commexk6= 0, on aS ≥rk donc k≤l. Supposonsk < l, alors
S ≤
k
X
i=1
ri,
et comme (r1, r2, . . . , rn) est supercroissante, on a S < rk+1≤rl
car k+ 1 ≤ l et car la supercroissance entraˆıne la croissance. Or S < rl
contredit la d´efinition de l. On a donc k=l.
2. L’algorithme est le suivant : I =∅
t←S
tant que t >0 faire k←max{i; ri ≤t}
I ←I ∪ {k}
t←t−rk fin tant que.
3. L’algorithme donne successivement : - k= 11, I ={11},t= 554
- k= 9,I ={9,11},t= 87 - k= 6,I ={6,9,11},t= 33 - k= 5 I ={5,6,9,11},t= 8 - k= 3,I ={3,5,6,9,11},t= 3 - k= 2,I ={2,3,5,6,9,11},t= 0.
De fait r2+r3+r5+r6+r9+r11= 3 + 5 + 25 + 54 + 467 + 1975 = 2529.
4. Bob calcule
S0 = A−1cmodB
= A−1
n
X
i=1
xiMi modB
= A−1
n
X
i=1
xiAri modB
=
n
X
i=1
xiA−1Ari modB
=
n
X
i=1
xiri modB
Comme (r1, r2, . . . , rn) est supercroissante et comme B >2rn, on a
B >2rn> rn+
n−1
X
i=1
ri≥
n
X
i=1
xiri.
Bob obtient donc exactement
n
X
i=1
xiri.
5. Comme (r1, r2, . . . , rn) est supercroissante, Bob utilise l’algorithme de la question 2 pour retrouver les xi et doncm.
6. La cl´e publique de Bob est (M1, M2, M3, M4, M5) = (89,243,212,150,245).
Chiffrement. c= 89 + 212 + 245 = 546.
D´echiffrement. L’algorithme d’Euclide ´etendu appliqu´e `a 250 et 113 conduit
`
a la relation de B´ezout 33×250−73×113 = 1. L’inverse de 113 modulo 250 est −73 = 177 mod 250. Bob calcule A−1cmodB = 177×546 mod 250 = 142. L’algorithme de la question 2 donne : x5 = 1,x4 = 0,x3 = 1, x2 = 0 et x0 = 1. Bob retrouve bienm.
7. Alice envoie le chiffr´e
c=
n
X
i=1
xiMσ(i).
Bob calcule comme pr´ec´edemment
S0 =A−1xmodB =
n
X
i=1
xirσ(i),
que l’on peut ´ecrire
S0=
n
X
i=1
yiri, avec
yi =xσ−1(i) ou encore xi =yσ(i).
Bob utilise alors l’algorithme de la question 2 pour calculer (y1, y2, . . . , yn) puis obtient
(x1, x2, . . . , xn) = yσ(1), yσ(2), . . . , yσ(n) .