• Aucun résultat trouvé

Introduction ` a la cryptologie TD n ◦ 2 : Correction

N/A
N/A
Protected

Academic year: 2022

Partager "Introduction ` a la cryptologie TD n ◦ 2 : Correction"

Copied!
3
0
0

Texte intégral

(1)

Ecole normale sup´ ´ erieure 2018-2019 D´ epartement d’informatique

Introduction ` a la cryptologie TD n 2 : Correction

Exercice 1 (Multi-exponentiation). L’id´ ee est d’adapter l’algorithme d’exponentiation rapide. Pour tout entier n, on a n = 2bn/2c + (n mod 2) (o` u mod est vu comme une op´ eration dans N qui choisit le repr´ esentant positif minimal). D’o` u :

Y

i

g i n

i

= Y

i

g i n

i

mod 2 g i 2bn

i

/2c

= Y

i

g i n

i

mod 2

!

· Y

i

g i bn

i

/2c

! 2

Le terme de gauche dans le produit ci-dessus ne peut prendre que 2 t valeurs distinctes. Le terme de droite (sous le carr´ e) est du mˆ eme type que le terme qu’on veut calculer, mais les exposants ont un bit de moins.

On en d´ eduit l’algorithme r´ ecursif suivant. On pr´ ecalcule Q

i g i b

i

pour chaque (b 1 , . . . , b t ) ∈ {0, 1} t ; on enregistre les r´ esultats dans une table T. Pour calculer Q

i g i n

i

, on proc` ede de mani` ere r´ ecursive. Si tous les exposants sont nuls on renvoie 1. Sinon on utilise l’´ egalit´ e plus haut, en choisissant le terme appropri´ e dans la table T, et en faisant un appel r´ ecursif pour calculer Q

i g bn i

i

/2c . Cet algorithme fait O(2 t ) pr´ ecalculs (on peut se d´ ebrouiller pour que le calcul de chaque nouvelle entr´ ee de la table ne coˆ ute qu’une multiplication dans le groupe, par exemple avec un code de Gray) et O(`) appels r´ ecursifs coˆ utant chacun deux multiplications dans G .

Exercice 2 (Algorithmes g´ en´ eriques de logarithme discret).

A. Algorithme na¨ ıf. On essaie tous les exposants x possibles jusqu’` a avoir g x = h.

B. Algorithme de Shanks. On construit une table de hachage T qui ` a chaque ´ el´ ement hg −mq pour q < m associe q. On calcule ensuite g r pour chaque r < m. Si cette valeur apparaˆıt dans la table T , on retrouve la valeur q associ´ ee et on renvoie x = mq + r. On voit que l’algorithme est correct : il renvoie x tel que g x = h.

D’autre part l’algorithme trouve n´ ecessairement la solution puisque par division euclidienne, le x cherch´ e admet une d´ ecomposition de la forme mq + r avec q, r < m. La construction de la table et le calcul des g r coˆ utent O( √

p) op´ erations.

C. Algorithme ρ de Pollard.

1. On proc` ede par r´ ecurrence : ces ´ egalit´ es sont v´ erifi´ ees lors de la premi` ere entr´ ee dans la boucle, et elles sont pr´ eserv´ ees par une it´ eration de la boucle.

2. Supposons que la boucle termine avec i < p. On note que les ´ egalit´ es de la question pr´ ec´ edentes restent vraies ` a la sortie de la boucle. On a alors :

g x h i = g y h 2i g x−y = h i .

Comme 1 ≤ i < p, i inversible modulo p ; soit i −1 cet inverse, on obtient g (x−y)i

−1

= h (on rappelle que g p = 1). La sortie de l’algorithme est donc correcte.

3. Le groupe G contient p ´ el´ ements. Les ´ el´ ements γ i pour 1 ≤ i ≤ p + 1 sont au nombre de p + 1, donc deux au moins d’entre eux doivent ˆ etre ´ egaux (principe des tiroirs). Il s’ensuit que j ≤ p + 1.

Soit ` = j − k. On remarque que pour s, t ≥ k, γ s = γ t ssi |t − s| est un multiple de `. La boucle s’arrˆ ete lorsque γ i = γ 2i . Pour cela il (faut et) suffit que i ≥ k et 2i − i = i est un multiple de `. Comme il y a ` valeurs cons´ ecutives entre γ k et γ j−1 incluses, l’une d’entre elles doit ˆ etre un multiple de `. L’algorithme s’arrˆ ete sur cette valeur, donc il s’arrˆ ete bien pour i < j.

4. La question pr´ ec´ edente permet de conclure que l’algorithme conclut au bout de O(p) ´ etapes, corres- pondant ` a O(p) multiplications dans G , ce qui n’est pas tr` es int´ eressant : la force brute coˆ ute O(p) multiplications aussi. Par contre si F est uniform´ ement al´ eatoire, tant que les ´ el´ ements de le suite (γ i ) restent distincts, chaque nouvel ´ el´ ement est uniform´ ement al´ eatoire. On est donc dans la situation du

1

(2)

paradoxe des anniversaires : la premi` ere collision a lieu au bout de O( √

p) nouveaux tirages en moyenne, i.e. l’esp´ erance de j est O( √

p). Par la question pr´ ec´ edente, l’algorithme s’arrˆ ete donc en O( √

p) ´ etapes en moyenne, chacune coˆ utant O(1) multiplications dans G .

Par rapport ` a l’algorithme de Shanks, noter que le coˆ ut en m´ emoire est en O(1) et non O( √

p), ce qui est un gain majeur.

Exercice 3 (Logarithme discret de petit poids de Hamming). Le nombre de multiplications effectu´ ees par l’al- gorithme d’exponentiation dichotomique d´ epend du nombre de 1 dans le d´ eveloppement en base 2 de l’exposant consid´ er´ e. Il a donc ´ et´ e sugg´ er´ e pour rendre les protocoles cryptographiques plus efficaces d’utiliser des cl´ es secr` etes o` u ce nombre, le poids de Hamming de l’exposant, est relativement petit. Pour se pr´ emunir d’attaque par recherche exhaustive de la cl´ e secr` ete, il est n´ ecessaire que le nombre de tels exposants soit suffisamment grand. Le nombre d’exposants de ` bits de poids w est donn´ e par le coefficient binomial w `

. L’exercice montre une adaptation de l’algorithme de Shanks pour r´ esoudre le probl` eme du logarithme discret de petit poids de Hamming en O(` dw/2e d`/2e

) exponentiations dans le groupe consid´ er´ e.

Consid´ erons un groupe multiplicatif cyclique G engendr´ e par g ∈ G d’ordre connu q un nombre premier de ` bits (i.e. 2 `−1 < q < 2 ` ). Soit w un entier dans {1, . . . , `}. Nous supposerons que ` et w sont pairs.

1. Donner un algorithme pour calculer le logarithme discret dans G d’un ´ el´ ement h dont le poids de Hamming du logarithme discret est ´ egal ` a w en O( w/2 `

) exponentiations dans le groupe et dont la complexit´ e en m´ emoire est O( w/2 `

) ´ el´ ements de groupe.

Soient N un entier et ` et w deux entiers pairs. Un syst` eme de d´ ecomposition de type (N, `, w) est un couple (X, B) tel que

— X est un ensemble de cardinal ` ;

— C est une famille de N sous-ensembles de X de cardinaux `/2 ;

— pour tout sous ensemble A de X de cardinal w, il existe un sous-ensemble C ∈ C tel que |A ∩ C| = w/2.

2. Montrer que s’il existe un syst` eme de d´ ecomposition de type (N, `, w) alors le probl` eme du logarithme discret de poids de Hamming ´ egal ` a w peut ˆ etre r´ esolu en O(N w/2 `/2

) exponentiations dans le groupe et en stockant O( w/2 `/2

) ´ el´ ements de groupe.

3. Posons X = Z ` . Montrer que la famille C = {C i , 0 ≤ i ≤ `/2 − 1}, d´ efinie par C i = {i + j mod `, 0 ≤ j ≤ `/2 − 1} pour 0 ≤ i ≤ `/2 − 1 est un syst` eme de d´ ecomposition de type (`/2, `, w).

4. Conclure.

Exercice 4 (Auto-r´ eductibilit´ e du probl` eme du logarithme discret). Soit G un groupe fini cyclique d’ordre p et g un g´ en´ erateur de G . Consid´ erons un algorithme A qui prend en entr´ ee un ´ el´ ement de G et retourne un entier, en temps τ (dans le pire des cas) o` u τ repr´ esente au moins le coˆ ut d’une exponentiation dans G .

Supposons qu’il existe un sous-ensemble E de G avec |E| ≥ | G | et ∈]0, 1] pour lequel lorsque A est ex´ ecut´ e sur un ´ el´ ement h ∈ E, l’entier retourn´ e par A est le logarithme discret de h en base g. Consid´ erons l’algorithme B d´ efini ` a partir de A dans l’algorithme (1).

Algorithme 1 Algorithme B Entr´ ee: g, h ∈ G

Sortie: x ∈ Z p tel que h = g x . tant que Vrai faire

c ← R − Z p (c est tir´ e uniform´ ement al´ eatoirement dans Z p ) h 0 ← g c

w ← A(h · h 0 ) si g w = h · h 0 alors

retourner w − c mod p fin si

fin tant que

Montrer que l’algorithme B r´ esout le probl` eme du logarithme discret dans G en temps esp´ er´ e O(τ /).

2

(3)

Exercice 5 (Logarithme discret et Diffie-Hellman). Soit M un entier. Soit G = hgi un groupe fini cyclique d’ordre premier p tel que p − 1 soit M -friable et soit h = g x ∈ G .

1. Donner un algorithme probabiliste qui retourne g ∈ Z p un g´ en´ erateur de Z p .

2. Montrer que si x 6= 0 mod p, il existe y ∈ Z p−1 tel que x = g y mod p. En d´ eduire que pour retrouver x, il suffit de calculer y modulo tous les diviseurs de p − 1 qui sont puissances d’un nombre premier.

3. Soit q un diviseur premier de p− 1. Donner un algorithme qui prenant en entr´ ee h et g et disposant d’un oracle qui r´ esout le probl` eme calculatoire de Diffie-Hellman dans G retourne y mod q en faisant au plus O(log p) requˆ etes ` a l’oracle et O( √

q) exponentiations dans Z p−1 et G .

4. Adapter l’algorithme pr´ ec´ edent pour qu’il retourne y mod q e lorsque q e est une puissance d’un nombre premier divisant p − 1.

5. Conclure.

3

Références

Documents relatifs

Lorsque que le projet de construction jouxte une construction existante significative, implantée différemment, l’implantation d’une construction nouvelle pourra

Le Conseil de Communauté, après en avoir délibéré à l'unanimité des membres présents et représentés décide de désigner 20 délégués titulaires : SEJOURNE

Lorsque deux droites sont perpendiculaires à une même troisième alors elles sont parallèles donc (AB) et (FE) sont parallèles... 2) Dans le triangle OFE, (AB) et (FE) sont parallèles

De là, les résidents peuvent entrer dans le club privé pour membres d'Aman ou la terrasse de 650 m2 (7 000 pi2), où ils peuvent dîner en plein air avec une vue imprenable

Les aspects, l’accessibilité et le type de handicap au regard des modalités d’accompagnement pédagogiques sont à évoquer impérativement au cours de

• C’est ce que nous essayons de proposer avec ce projet : habiter à proximité d’une gare pour celles et ceux qui se déplacent en train, avoir la possibilité de cultiver des

sous-comité ACP-UE de coopération commerciale, qui s'est tenue à Bruxelles le 21 mars 2018. La partie ACP a confirmé que le rapport rendait fidèlement compte de la teneur

Doté d’une haute technologie avec le Spectra Pro vous bénéficierez, d’images de hautes qualités, d’un logiciel haute performance, de longueurs d’ondes de 350 nm a 1000nm