• Aucun résultat trouvé

• e(h, h) = e(g, g) x2 6= 1 ; en effet e(g, g) 6= 1, donc comme G T est cyclique, e(g, g) est g´ en´ erateur, et d’autre part x 6= 0 puisque g x est g´ en´ erateur, donc e(g, g) x2 6= 1.

N/A
N/A
Protected

Academic year: 2022

Partager "• e(h, h) = e(g, g) x2 6= 1 ; en effet e(g, g) 6= 1, donc comme G T est cyclique, e(g, g) est g´ en´ erateur, et d’autre part x 6= 0 puisque g x est g´ en´ erateur, donc e(g, g) x2 6= 1. "

Copied!
3
0
0

Texte intégral

(1)

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

Introduction ` a la cryptologie TD n 7 : Correction.

Exercice 1 ( ´ Echauffement).

1. Si les deux propri´ et´ es sont vraies pour tout g´ en´ erateur, trivialement il existe un g´ en´ erateur tel qu’elles sont vraies (on suppose G non vide). R´ eciproquement, supposons qu’il existe un g´ en´ erateur g tel que les deux propri´ et´ es sont vraies. Soit h = g x un g´ en´ erateur de G . On a :

• e(h, h) = e(g, g) x

2

6= 1 ; en effet e(g, g) 6= 1, donc comme G T est cyclique, e(g, g) est g´ en´ erateur, et d’autre part x 6= 0 puisque g x est g´ en´ erateur, donc e(g, g) x

2

6= 1.

• e(h a , h b ) = e(g, g ) x

2

ab = e(h, h) ab .

2. Soit un triplet (g a , g b , g c ). On veut v´ erifier si c = ab (modulo p). Pour cela, il suffit de v´ erifier : e(g a , g b ) = ? e(g c , g).

En effet, l’´ egalit´ e est vraie ssi e(g, g) ab = e(g, g) c , ssi ab = c mod p parce que e(g, g) 6= 1 et le groupe est cyclique, ce qui implique que e(g, g) est g´ en´ erateur donc l’´ egalit´ e e(g, g) ab = e(g, g) c ne peut avoir lieu que si les exposants sont ´ egaux mod p.

Exercice 2 ( ´ Echange de clef sans interaction ` a trois participants).

1. A, B, C tirent respectivement une valeur uniform´ ement al´ eatoire a, b, c, et publient respecti- vement g a , g b , g c . Pour trouver le secret commun A, B, C calculent respectivement e(g b , g c ) a , e(g a , g c ) b , e(g a , g b ) c . Les propri´ et´ es du couplage e garantissent que ces trois valeurs sont ´ egales

`

a e(g, g) abc , les trois parties obtiennent donc bien une valeur commune. D’autre part, un adver- saire qui observe les communications obtient g a , g b , g c . Retrouver le secret commun e(g, g) abc est difficile pour lui, puisqu’il s’agit exactement d’une instance du probl` eme de Diffie-Hellman bilin´ eaire.

2. Supposons qu’on a n + 1 participants A 1 , . . . , A n+1 . Le participant A k tire a k uniform´ ement al´ eatoirement et publie g a

k

. Apr` es avoir re¸ cu g a

i

pour i 6= k des autres participants, il calcule le secret commun :

e n (g 1 a , . . . , g a

k−1

, g a

k+1

, . . . , g a

n+1

) a

k

= e n (g, . . . , g) a

1

···a

n+1

.

La s´ ecurit´ e de ce protocole repose sur une variante

multilin´ eaire

du probl` eme de Diffie- Hellman : calculer e(g, . . . , g) a

1

···a

n+1

` a partir de g a

1

, . . ., g a

n+1

.

Exercice 3 (Poign´ ees de main secr` etes).

1. Soient a, b tels que id A = g a , id B = g b . Alors e(id s A , id B ) = e(g, g) abs = e(id A , id s B ), donc les deux participants peuvent calculer cette valeur, ce qui leur permet de v´ erifier ce qu’a envoy´ e l’autre.

2. Sans les nonces, on suppˆ ot de l’´ etat qui ´ ecoute la conversation peut retenir par exemple tout ce que A envoie ` a B, et le r´ ep´ eter plus tard pour se faire passer pour A aupr` es de B, et en particulier lui faire croire qu’il fait partie de la soci´ et´ e secr` ete. C’est une attaque dont l’application est tr` es g´ en´ erale en s´ ecurit´ e informatique, appel´ ee attaque par rejeu.

3. Les deux participants peuvent calculer H(e(id A , id s B ) k n A k n B k 2) et l’utiliser comme secret commun. Le vil attaquant qui ´ ecoute la conversation ne peut pas plus calculer cette valeur que les pr´ ec´ edentes.

1

(2)

Exercice 4 (S´ ecurit´ e des signatures de Boneh-Boyen).

1. Pour une signature l´ egitime on a :

e(σ, ug m ) = e(g (x+m)

−1

, g x+m ) = e(g, g) = g T . La signature est donc accept´ ee.

2. Soit (h 0 , . . . , h q ) ∈ G q+1 . Pour v´ erifier qu’il s’agit d’une instance de q-SDH, on proc` ede par r´ ecurrence. Si q = 0, il suffit de v´ erifier que h 0 est g´ en´ erateur, donc simplement v´ erifier h 0 6= 1 puisqu’on est dans un groupe cyclique. Pour q > 0, supposons qu’on a v´ erifi´ e par r´ ecurrence que (h 0 , . . . , h q−1 ) est une instance de (q − 1)-SDH. Alors il suffit de v´ erifier e(h 0 , h q ) = e(h 1 , h q−1 ).

En effet, posons h 0 = g, h 1 = g x , h q−1 = g y , h q = g z . Alors l’´ egalit´ e pr´ ec´ edente est vraie ssi z = xy mod p. Or par r´ ecurrence on sait que y = x q−1 . On d´ eduit z = g x , CQFD.

Supposons maintenant qu’on a une solution pr´ etendue ` a une instance q-SDH (g, g x , g x

2

, . . . , g x

q

).

On a donc une paire (m, h) et on souhaite v´ erifier h = g (x+m)

−1

. Pour cela, il suffit de v´ erifier e(h, g x g m ) = e(g, g ). Noter que h, g x , g, m sont connus.

3. (a) En tirant plein parti de notre connaissance magique de x, lorsque l’adversaire demande la signature de m k , nous pouvons lui renvoyer :

σ i = h (x+m

k

)

−1

= g

Q

i6=k

(x+m

i

) .

En fin de compte, l’adversaire forge une signature (m , σ ) pour m 6∈ {m i }. On a σ = h (x+m

)

−1

. Pour r´ epondre ` a l’instance q-SDH, on voudrait connaˆıtre g (x+m

)

−1

plutˆ ot que h (x+m

)

−1

. Pour cela, il suffit d’observer :

g (x+m

)

−1

= h (x+m

)

−1

Q (x+m

i

)

−1

. La r´ eponse ` a l’instance q-SDH est (m , g (x+m

)

−1

).

Remarque. Bien sˆ ur avec notre connaissance magique de x on aurait pu calculer cela di- rectement. Mais on souhaite quand mˆ eme utiliser la sortie de l’adversaire, pour mieux se pr´ eparer au raisonnement qui suit, o` u on ne connaˆıt plus x.

(b) Une observation critique est la suivante : l’instance q-SDH (g, g x , g x

2

, . . . , g x

q

) nous permet de calculer g P(x) pour n’importe quel polynˆ ome P de degr´ e au plus q ` a coefficients connus.

En effet, si P(X) = P

i≤q a i X i , alors

g P(x) = Y

i≤q

(g x

i

) a

i

.

En particulier, mˆ eme sans connaˆıtre x, l’instance q-SDH nous permet de calculer h = g Q (x+m

i

) : en effet, en d´ eveloppant Q

(X + m i ) on obtient un polynˆ ome de degr´ e q, dont on peut calculer les coefficients explicitement (puisque les m i sont connus).

(c) Avec la question pr´ ec´ edente, on sait fournir ` a l’adversaire une signature valide des messages m i . L’adversaire nous renvoie alors une signature σ = h (x+m

)

−1

d’un message m 6∈ {m i }.

Comme plus haut, il nous reste ` a d´ eduire g (x+m

)

−1

pour avoir une solution (m , g (x+m

)

−1

)

`

a l’instance q-SDH. Pour calculer cette valeur, l’id´ ee g´ en´ erale est la mˆ eme que dans la question pr´ ec´ edente, mais avec quelques ´ etapes suppl´ ementaires. On a

h (x+m

)

−1

= g

Q(x+mi) x+m∗

= g

P1(x+m∗)

x+m∗

pour un certain polynˆ ome P 1 connu de degr´ e q

= g P

2

(x+m

)+

x+mc

pour P 2 connu de degr´ e q − 1 et une constante c.

Par la question pr´ ec´ edente, nous savons calculer g P

2

(x+m

) (noter que m est connu), donc on trouve :

g (x+m

)

−1

= h (x+m

)

−1

g −P

2

(x+m

) c

−1

.

2

(3)

Exercice 5 (Chiffrement bas´ e sur l’identit´ e sans couplage).

1. Par le th´ eor` eme des restes chinois, Z N ∼ Z p × Z q , en particulier x est un r´ esidu quadratique modulo N ssi c’est un r´ esidu modulo p et q. Supposons N a

= 1. On a N a

=

a p

a q

donc soit

a p

=

a q

= 1, soit

a p

=

a q

= −1. Dans le premier cas, a est un r´ esidu quadratique modulo p et q, donc c’est un r´ esidu quadratique modulo N . Dans le second cas, a n’est pas un r´ esidu modulo p, ni modulo q. Montrons que dans ce cas, −a est un r´ esidu quadratique modulo p et q. Par hypoth` ese, p ≡ q ≡ 3 mod 4, donc

−1 p

= (−1) (p−1)/2 = −1, donc −1 n’est pas un r´ esidu quadratique. D’autre part Z p est un corps donc Z p est un groupe cyclique, et x 7→ −x est une bijection entre les r´ esidus et non-r´ esidus quadratiques de Z p . On d´ eduit que −a est bien un r´ esidu quadratique modulo p, de mˆ eme modulo q, donc c’est un r´ esidu quadratique modulo N . 2. Comme N a

= 1, a est dans Z N . On peut donc poser r 2 = a pour un certain . Notre but est de montrer = ±1. On a

= r 2 /a = a (φ(N)+4)/4−1

= a φ(N)/4 . En particulier, modulo p on obtient :

= a φ(N)/4 = a (p−1)/2 (q−1)/2

= a

p

(q−1)/2

= a

p

mod p o` u la derni` ere ´ egalit´ e utilise a p

= ±1, et q ≡ 3 mod 4. De mˆ eme par sym´ etrie on a = a

q

mod q. Par ailleurs, comme N a

= 1, on a a p

= a q

, donc on d´ eduit mod p = mod q =

±1, donc = ±1 mod N , comme voulu.

3. On suppose r 2 = a mod N ; l’autre cas est similaire. En suivant l’indication, on a c 1 + 2r = t 1 + at −1 1 + 2r = 1

t 1

(t 2 1 + 2rt 1 + a) = 1 t 1

(t 1 + r) 2 . On d´ eduit m = N t

1

= c

1

N +2r

. L’algorithme de d´ echiffrement consiste simplement ` a calculer cette derni` ere valeur. C’est possible puisqu’il suffit de calculer c 1 +2r, puis un symbole de Jacobi.

Noter que calculer efficacement un symbole de Jacobi ne n´ ecessite pas d’information secr` ete (en particulier, pas besoin de la factorisation de N ).

3

Références

Documents relatifs

- Parmi les quatre triangles portant la même lettre, il y ait deux triangles colorés et deux triangles blancs. Elle a commencé à colorier certains triangles (en gris sur

Exprime en fonction de x et sous la forme d'une expression simplifiée l'aire du rectangle

Effectue ce programme pour un nombre x de départ et écris une expression simplifiée du résultat en fonction de

La souplesse d'utilisation des nombres de Lelong g6n6ralis6s permet d'ob- tenir aussi des d6monstrations tr~s simples de r6sultats classiques concernant les

Comme il n'y a pas d'autre point xe dans cet intervalle la suite décroit et diverge vers −∞.. L'intervalle ]c µ , 0[

[r]

[r]

un nougat il rigole un gorille le garage le guidon une figure le guépard une règle une guêpe un aigle un igloo un wagon ma gomme une bague4. Écris