ANN ´EE UNIVERSITAIRE 2016-2017 Examen - Session 1 de Printemps
Coll`ege Sciences et Technologies Parcours : MI601, MF601 UE : 4TTI603U
Epreuve :´ Arithm´etique et Cryptologie Date : 24 Avril 2017 Heure : 14h30 Dur´ee : 3h
Documents : Aucun document autoris´e Epreuve de M. Cerri´
L’usage de la calculatrice est autoris´e.
La qualit´e de l’argumentation et de la r´edaction sera un facteur d’appr´eciation.
Bar`eme indicatif : 5/40, 9/40, 11/40, 5/40, 10/40.
Exercice 1[Algorithme de Dixon] On d´esire factoriserN = 2038129.
1. Rappeler pourquoi on est en mesure de d´eterminer un diviseur non trivial de N si on trouve deux entiersx ety tels que x2 ≡y2modN etx6≡ ±ymodN.
2. On prend comme base de premiers
B={2,3,5,7,11,13,17}
et on cherche quelques carr´es moduloNd´ecomposables dansB. On obtient les congruences suivantes moduloN :
14322 ≡ 3×5×72×17 17532 ≡ 27×3×5×72×11 18772 ≡ 23×33×54×11 15772 ≡ 25×3×52×11×17 18232 ≡ 24×33×52×7×17 18732 ≡ 24×3×54×72
A l’aide de ces congruences, trouver deux entiers` x et y v´erifiant les conditions ´enonc´ees dans la question 1.
3. En d´eduire un diviseur non trivial de N. On donnera le d´etail des calculs.
Exercice 2[RSA - les messages ind´esirables]
Alice et Bob utilisent RSA. La cl´e publique d’Alice est (n, e) o`u n = pq (p, q grands premiers distincts). On s’int´eresse aux messages que Bob peut lui envoyer et qui ne seront pas affect´es par le chiffrement, i.e. lesm∈ M={0,1, . . . , n−1} tels queme=mmodn.
NotonsEn leur ensemble.
1. Soit m∈ M. Montrer que
m∈En⇐⇒me=mmodp etme=mmodq.
2. On veut d´enombrer lesx∈Z/pZqui v´erifientxe=x. Notons leur ensembleEp. a) Soit x∈(Z/pZ)×. Soientg un g´en´erateur de (Z/pZ)× etk∈ {0,1, . . . , p−2} tel
que x=gk. Montrer que
x∈Ep⇐⇒(p−1)|k(e−1).
b) On pose d= pgcd(p−1, e−1). Montrer qu’il y a exactement d´el´ements non nuls dansEp et en d´eduire le cardinal deEp.
3. Prouver que le cardinal de En est
pgcd(p−1, e−1) + 1
pgcd(q−1, e−1) + 1 . 4. Application num´erique. Alice a choisi p= 163, q = 571 ete= 371.
a) V´erifier que le choix de eest pertinent.
b) Quelle est la probabilit´e pour qu’unm tir´e au hasard dans Msoit un ´el´ement de En ? On en donnera une valeur approch´ee `a 10−8 pr`es.
Exercice 3[Blum-Blum-Shub et Blum-Goldwasser]
Dans ce qui suit, on identifieZ/NZ`a {0,1, . . . , N−1}et Z/2Z`a {0,1}.
On note λ la fonction indicatrice de Carmichael : pour N > 1, λ(N) est le ppcm des ordres des ´el´ements de (Z/NZ)×.
Le g´en´erateur de Blum-Blum-Shub sert `a fabriquer des suites de bits au comportement pseudo-al´eatoire. Il fonctionne ainsi. Soient deux grands premiers distincts p et q tous deux congrus `a 3 modulo 4 et N = pq. Soit un entier r v´erifiant 1 < r < N −1 et pgcd(r, N) = 1. On construit la suite (xi)i≥0 ∈(Z/NZ)N d´efinie par x0 =r2modN et la relation de r´ecurrence xi =x2i−1modN pour tout i≥1. `A partir de (xi)i≥0 on obtient la suite (bi)i≥0∈(Z/2Z)N o`ubi est le bit de parit´e dexi, i.e. bi=xi mod 2.
1. Montrer que λ(N) = ppcm(p−1, q−1) et que pour tout i≥0 on axi=x20imodλ(N). 2. On prend N = 209 = 11×19 et r= 2.
a) Calculer les 13 premiers termes de la suite (bi)i≥0.
b) Montrer que la suite (bi)i≥0 est p´eriodique. Quelle est sa p´eriode ?
c) On peut montrer que (bi)i≥0 est toujours p´eriodique de p´eriode un diviseur de λ(λ(N)). Le v´erifier sur l’exemple ´etudi´e.
Le syst`eme cryptographique de Blum-Goldwasser est un syst`eme asym´etrique. Alice choisit deux grands premiers distincts p et q tous deux congrus `a 3 modulo 4. Sa cl´e publique est N = pq, sa cl´e secr`ete est le couple (p, q). L’espace des messages clairs est {0,1}s o`usest un entier stictement positif.
Chiffrement.
Bob d´esire envoyer m = (m0, m1, . . . , ms−1) ∈ {0,1}s `a Alice. Pour cela il se sert du g´en´erateur de Blum-Blum-Shub. Il prend au hasard un entier r v´erifiant 1< r < N−1 et pgcd(r, N) = 1, puis construitx0, x1, . . . , xs−1, xs comme ci-dessus, ainsi que les-uplet b= (b0, b1, . . . , bs−1) des bits de parit´e des xi (0≤i≤s−1). Enfin il calcule c =m⊕b o`u la somme consid´er´ee est la somme bit `a bit dans {0,1}s. Le chiffr´e qu’il envoie `a Alice est le couple (c, xs).
3. On reprend les valeurs de p, qde la question 2 et on prends= 7. Bob tirer = 2. Quel est le chiffr´e dem= (1,0,0,1,0,0,1) ?
D´echiffrement.
4. Montrer par r´ecurrence suri≥0 que x(
p+1 4 )i
i =x0modp.
5. Prouver qu’Alice peut retrouver x0 `a partir de xs. On donnera le d´etail des calculs effectu´es par Alice.
6. D´ecrire l’algorithme de d´echiffrement.
Exercice 4[Index Calculus]
On consid`ere le premier p= 54539. Un g´en´erateur de (Z/pZ)× estg= 2 (on ne demande pas de le prouver).
1. Calculer le nombre de g´en´erateurs de (Z/pZ)×.
On d´esire r´esoudre le probl`eme du logarithme discret suivant :
trouver x(modulo (p−1)) tel queh=gx modp, o`uh= 2017.
Pour ce faire on utilise la m´ethode du calcul d’indice et on trouve :
g39373 ≡ 315 mod p g12449 ≡ 525 mod p g26914 ≡ 245 mod p
2. En d´eduire un syst`eme de trois ´equations lin´eaires v´erifi´e parx3= logg(3),x5 = logg(5) etx7 = logg(7) (modulo (p−1)).
3. Calculer x5 (il n’est pas n´ecessaire d’avoir recours au th´eor`eme chinois).
4. On trouve la relation hg−35353≡625 modp. En d´eduirex= logg(h).
Exercice 5[Corps finis]
SoitP(X) =X5+X3+ 1∈F2[x].
1. Montrer que P(X) est irr´eductible dans F2[X].
On note K le corps F2[X]/hP(X)i et α la classe de X dans K. Alice et Bob utilisent un syst`eme cryptographique sym´etrique. Leur cl´e secr`ete est un triplet (A, B, σ) o`u A∈ GL2(K),B = (b1, b2)∈K2 etσ∈S4, le groupe des permutations de {1,2,3,4}. L’espace des messages clairs est{0,1}20.
Chiffrement. Pour chiffrerm= (m0, m1, . . . , m19) ils proc`edent de la fa¸con suivante.
(i) Ils posent
ai+1=m5i+m5i+1α+m5i+2α2+m5i+3α3+m5i+4α4 pour 0≤i≤3.
(ii) Ils forment (x1, x2, x3, x4) = (aσ(1), aσ(2), aσ(3), aσ(4)).
(iii) Ils calculent
y1 y2
=A x1
x2
et
y3 y4
=
x3+b1 x4+b2
.
Le chiffr´e est (c0, c1, . . . , c19)∈ {0,1}20 o`u
yi+1=c5i+c5i+1α+c5i+2α2+c5i+3α3+c5i+4α4 pour 0≤i≤3.
2. Quel est le cardinal de l’espace des messages clairs ?
3. Combien de cl´es secr`etes (mˆeme triviales) peuvent-ils utiliser ? 4. Alice et Bob ont choisi la cl´e (A, B, σ) o`u
A=
α4 α+ 1 α3+ 1 α2
, B = (α3+ 1, α2+α) et σ=
1 2 3 4 2 4 1 3
,
ce qui signifie : σ(1) = 2, σ(2) = 4, σ(3) = 1 et σ(4) = 3.
V´erifier que A∈GL2(K) et calculerA−1. 5. Chiffrer
m= (0,0,0,1,0,0,1,0,0,0,1,0,0,1,1,1,0,1,0,0).
6. D´ecrire l’algorithme de d´echiffrement en toute g´en´eralit´e.
7. D´echiffrer
c= (1,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,0,1,1) avec les donn´ees de la question 4.