Universit´e de Bordeaux L3 Math, Info, Math-Info Coll`ege Sciences et Technologies
Ann´ee Universitaire 2015-2016 Examen
Parcours : IN601, MA601, MA603 UE :N1MA6W31 Epreuve :´ Cryptographie et Arithm´etique
Date : 26 Avril 2016 Heure : 14h00 Dur´ee : 3h Documents : Aucun document autoris´e
Epreuve de M. Cerri´
L’usage de la calculatrice est autoris´e.
La qualit´e de la r´edaction sera un facteur d’appr´eciation important.
Quatre exercices parfaitement trait´es donneront la totalit´e des points.
Exercice 1 [Th´eor`eme de Proth]
1) Soit n un nombre premier impair. Montrer qu’il existe a ∈ Z tel que an−12 ≡ −1 modn.
Indication : utiliser une racine primitive modulon.
2) Cherchons d´esormais `a ´etablir une r´eciproque dans un cas particulier. Soit n > 1 un entier impair. ´Ecrivonsn=s2r+ 1 o`us >0 est impair etr >0. Le th´eor`eme de Proth (1878) s’´enonce :
Si s <2r et s’il existe a∈Z tel que an−12 ≡ −1 modn, alors n est premier.
Nous allons prouver un peu mieux, `a savoir :
Si s <2r+1+ 3 et s’il existe a∈Z tel que an−12 ≡ −1 modn, alors n est premier.
Supposons donc quen v´erifie les hypoth`eses de ce dernier ´enonc´e.
a) Soit p un nombre premier divisant n. Soit α la classe de a dans Z/pZ. Montrer que α∈(Z/pZ)× et que 2r divise l’ordre de α dans (Z/pZ)×.
b) En d´eduire que p≡1 mod 2r.
c) Supposons maintenant quenest compos´e.
i) Montrer qu’il existe des entiers k, l >0 tels quen= (k2r+ 1)(l2r+ 1).
ii) Montrer que l’on ne peut pas avoirk=l= 1.
iii) En d´eduire que s≥2r+1+ 3.
d) Conclure.
3) Soitn un entier naturel. Consid´erons le nombre de FermatFn= 22n+ 1. Montrer que Fn est premier si et seulement s’il existea∈Ztel que a22
n−1
≡ −1 mod Fn (crit`ere de P´epin1).
Exercice 2 [Algorithme de Dixon]
On d´esire factoriserN = 3379193. Pour cela on prend comme base de premiers B={−1,2,3,5,7,11,13}
et on calcule quelques carr´es modulo N d´ecomposables dans B.
1) Rappeler pourquoi on obtient au moins un diviseur non trivial deN si on trouve deux entiers x, y v´erifiant x6≡ ±y modN etx2 ≡y2modN.
1En fait le crit`ere de P´epin dit que sin≥1,Fnest premier si et seulement si 322
n−1
≡ −1 modFn
2)On obtient les congruences suivantes modulo N :
75792 ≡ (−1)×24×32×5×7 102352 ≡ 2×112
595382 ≡ (−1)×13 732312 ≡ 2×5×7 993342 ≡ (−1)×22 807372 ≡ (−1)×27
776652 ≡ (−1)×24×5×7×13
A l’aide de ces congruences, trouver deux diviseurs non triviaux de` N. On donnera le d´etail des calculs.
Exercice 3 [syst`eme cryptographique du sac `a dos de Naccache-Stern]
Alice et Bob utilisent le syst`eme asym´etrique suivant. Alice choisit un entier naturelnet dresse la liste desn+1 premiers nombres premiers : p0 = 2,p1= 3,. . . ,pn. Elle d´etermine un grand nombre premier ptel que Qn
i=0pi < p. Elle choisit alors un entier naturels < p−1 (son secret) v´erifiant pgcd(s, p−1) = 1. Elle calcule enfin des entiers 0 < v0, v1, . . . , vn < p v´erifiant vis = pi modp pour touti(nous verrons comment dans la question 1). Sa cl´e publique est
Kpub = (p, n, v0, v1, . . . , vn).
Sa cl´e secr`ete est s.
Bob veut lui envoyer un message qui est une suite den+ 1 bits (m0, m1, . . . , mn) et que l’on peut voir comme un entier m <2n+1 dont l’´ecriture binaire correspond aux mi :
m=
n
X
i=0
mi2i o`umi∈ {0,1}.
Par exemple si n = 5 et si le message de Bob est (0,1,1,0,1,0), on a m = 2 + 22+ 24 = 22. Il chiffrem en
c=
n
Y
i=0
vimi modp.
Le proc´ed´e utilis´e par Alice pour d´echiffrer c fera l’objet de la question 3.
1) Pour calculer les vi, Alice se sert de l’algorithme d’Euclide ´etendu afin d’obtenir une relation de B´ezout as+b(p−1) = 1, ce qui est possible car on a suppos´e s et p−1 premiers entre eux.
Montrer comment Alice peut trouver des vi ad´equats `a l’aide dea.
2)Calculer csmodp.
3)En d´eduire comment Alice peut retrouver m.
4)Exemple p´edagogique. On prendn= 3,p= 2×3×5×7 + 1 = 211. La cl´e secr`ete d’Alice est s= 97. Dans les deux questions qui suivent, on cherchera `a minimiser le nombre de multiplications modulaires `a effectuer.
a) Quelle est la cl´e publique d’Alice ?
b) Alice a re¸cu le chiffr´e c= 98. Retrouverm.
Exercice 4 [Log Discret]
On rappelle le principe du chiffrement asym´etrique ElGamal. Bob choisit un grand nombre premier p ainsi qu’une racine primitive modulo p not´ee α. Il choisit aussi un entier s qui sera sa cl´e priv´ee. Sa cl´e publique est le triplet (p, α, P) o`u P = αsmodp. Alice veut envoyer le message clair m ∈ Z/pZ `a Bob. Elle prend un entier k au hasard et calcule A = αkmodp ainsi que B =mPk modp. Le chiffr´e qu’elle envoie `a Bob est le couple (A, B).
1)Expliquer comment Bob fait pour retrouver m.
2)Exemple p´edagogique.
a) Bob choisitp= 37 etα = 2. V´erifier que α est bien une racine primitive modulo p.
b) La cl´e priv´ee de Bob ests= 6. Quelle est sa cl´e publique ? c) Bob re¸coit le chiffr´e c= (25,9). Quel est le message clairm ? 3)Attaque d’Oscar.
a) Bob choisitp= 25469. On ne demande pas de v´erifier quepest premier. Combien y a-t-il de racines primitives modulop ?
b) La cl´e publique de Bob est maintenant (25469,3,14094). On ne demande pas de v´erifier que 3 est racine primitive modulo 25469. Oscar d´esire trouver s et utilise la m´ethode du calcul d’indice. Il trouve que 31117 = 490 mod 25469, 31387 = 1568 mod 25469 et 31695 = 700 mod 25469. En d´eduire les logarithmes discrets log3(2), log3(5) et log3(7) dans le groupe (Z/25469Z)×.
c) Puis Oscar trouve que 14094×31351 = 2450 mod 25469. Quelle valeur de sobtient-il ?
Exercice 5 [Corps finis] 1)SoientK un corps etA=
a b c d
∈M2(K). On poseD=ad−bc. Montrer queA∈GL2(K), i.e. est inversible, si et seulement si D 6= 0. Exprimer alors A−1 en fonction de D−1 et des coefficients de A.
2)On suppose que K est fini. Montrer que
|GL2(K)|= |K|2−1
|K|2− |K|
. 3)Dresser la liste des polynˆomes irr´eductibles de degr´e ≤2 de F2[X].
4)En d´eduire que P(X) =X5+X2+ 1 est un polynˆome irr´eductible deF2[X].
5)On pose d´esormaisK =F2[X]/hP(X)i. Quels sont les cardinaux deM2(K) et de GL2(K) ? 6) Alice et Bob utilisent un syst`eme cryptographique sym´etrique. Les messages clairs et chiffr´es sont des ´el´ements de M2(K). Leur cl´e secr`ete est un couple (A, B)∈GL2(K)×M2(K). Sim est un message clair, son chiffr´e estc=Am+B. Combien de messages distincts peuvent-ils ´echanger et combien y a-t-il de cl´es secr`etes possibles ?
7)D´eterminer l’algorithme de d´echiffrement.
On note α la classe deX dansK. Dans la suite de l’exercice, la cl´e secr`ete d’Alice et Bob est
K= (A, B) =
1 +α2+α3 α2+α4 1 +α3+α4 α2+α3
,
1 +α4 α+α3 α+α4 α2+α4
! .
On impose d´esormais d’exprimer tout ´el´ement de K comme polynˆome enα `a coefficients dans F2
et de degr´e ≤4.
8)Chiffrement.
Alice veut transmettre le message m =
α+α3 1 +α2 1 +α3 α2+α4
`
a Bob. Quel chiffr´e c va-t-elle lui envoyer ?
9)D´echiffrement.
a) On d´efinit D∈K `a partir de A comme dans la question 1). CalculerD.
b) CalculerD−1 et en d´eduireA−1. c) Alice re¸coit de Bob le chiffr´ec=
α2 α3 α4 1
. Retrouver le message clairmque Bob a voulu transmettre `a Alice.