• Aucun résultat trouvé

Analyse des erreurs de d´echiffrement

Algorithm 22Trouver une erreur de d´echiffrement al´eatoire

Input: Un jeu de param`etres NTRU, une cl´e publiqueH et un oracle de d´echiffrementD. Output: Une erreur de d´echiffrement sous forme (m, r, m) o`uD(m+r∗H) =m 6=m.

1: repeat

2: Choisir un message al´eatoirem∈ Lmet le chiffrer avecEafin d’obtenir un chiffr´e valide e.

3: M´emoriser (ou retrouver) le polynˆome al´eatoirerutilis´e parE.

4: Soumettre le chiffr´ee`a l’oracle de d´echiffrementD.

5: untilIl y ait une erreur de d´echiffrement (m =D(e)6=m)

6: return le triplet (m, r, m).

Algorithm 23oracle de d´echiffrementD

Input: Un chiffr´e valideeet une instance de NTRU (et la cl´e priv´ee cach´ee (p, f, Fp)).

Output: Le d´echiffrement dee(qui peut ˆetre incorrect).

1: calculeramodq=f ∗emodq.

2: if instance=NTRU-1998then

3: Choisir le repr´esentantaest∈ P deamodq qui a tous ses coefficients dans [−q2;q2[.

4: else

5: Calculerr1 =r(1),f1 =f(1), etg1 =g(1) en utilisant la d´efinition deLr,Lf etLg.

6: Calculerm(1) modq=e(1)−r1∗H(1) modq,

7: Choisirm1 dans [N2q2;N2 +q2[ tel quem1≡m(1) modq.

8: Calculera1 =p·r1·g1 +f1·m1.

9: Choisir le repr´esentantaest∈ P deamodq qui a tous ses coefficients dans [a1Nq2;a1N +q2[

10: end if

11: Calculerm=aest∗Fpmodp.

12: returnψ(m).

que dans l’attaque de Howgrave-Grahamet al.[50]. Nous verrons dans les parties suivantes combien de requˆetes sont n´ecessaires afin de retrouver la cl´e priv´ee.

7.3- Analyse des erreurs de d´echiffrement 125

certains coefficients dease trouvent en dehors de l’intervalle de centrage. Dans ce cas, la r´eponse m =D(e) diff´erera (presque toujours) du message original m. Ce sont ces ´ev`enements qui sont appel´es erreurs de d´echiffrement [50], et qui seront utilis´ees dans ce papier pour construire les attaques contreNTRUEncrypt.

Analysons maintenant la r´epartition des coefficients deadans le cas particulier d’une erreur de d´echiffrement. Pour simplifier la condition(7.1), on peut toujours translater les polynˆomes de sorte que la moyenne des coefficients soit nulle. On dira qu’un polynˆomea est centr´e en 0 sia(1) = 0, aveca(1) l’´evaluation du polynˆome en 1, ou encore la somme des coefficients dea. ´Etant donn´e un polynˆome deP ouR, on peut toujours centrer ce polynˆome en z´ero en lui retranchant un multiple de (1 +X+· · ·+XN1), comme dans le lemme suivant :

Lemme 13 La fonction suivante est un morphisme d’anneau : R[X]/ XN−1

→ R[X]/ XN−1 A → Aˆ=A−A(1)

N (1 +X+· · ·+XN1)

Ainsi, la condition(7.1)peut ˆetre r´e´ecrite en : il y a une erreur de d´echiffrement si et seulement si ˆ

a=p·ˆr∗ˆg+ ˆf∗mˆ satisfait :

∃i∈[0..N−1], |ˆai|> q

2. (7.2)

7.3.2 Hypoth` eses concernant les probabilit´ es

Dans ce qui suit, nous devrons souvent faire l’hypoth`ese que certains objets sont al´eatoires.

Plus pr´ecis´ement, pour toute fonction d´eterministe ϕde Lm× Lr (e.g.la fonction de chiffrement (m, r)→m+r∗H ou la fonction (m, r)→p·r∗g+f∗mutilis´ee de mani`ere implicite durant le d´echiffrement), nous dirons qu’un polynˆomez=ϕ(m, r) est choisi al´eatoirement dans l’image de ϕsimet rsont choisis uniform´ement et al´eatoirement dans les sous-ensembles finisLmetLr. Ici, nous nous int´eresserons particuli`erement au cas des ˆa, qui sont calcul´es `a partir demet r par la formule d´eterministe ˆa=p·rˆ∗ˆg+ ˆf∗m. Afin d’analyser la distribution de ses coefficients, nousˆ ferons deux hypoth`eses simplificatrices :

Hypoth`ese 1 Si z∈ P est un polynˆome binaire ou ternaire choisi uniform´ement al´eatoirement, alors les coefficients du polynˆome centr´ezˆsont tous ind´ependants.

Hypoth`ese 2 Siaetbsont tir´es al´eatoirement des ensembles finis de polynˆomes centr´es et si leurs coefficients sont tous ind´ependants, alors les coefficients du produitc=a∗bsont tous ind´ependants.

Ces hypoth`eses sont tr`es fortes, cependant on peut qu’esp´erer qu’elles ne soient pas si loin de la r´ealit´e. En effet, la moyenne des coefficients d’un polynˆome centr´e en z´ero est ´egale `a z´ero, donc si un des coefficients est plus gros que la normale, les autres auront tendance `a ˆetre plus petits pour compenser. Pour cette raison, il y a une petite anti-corr´elation entre les coefficients : l’article [99] montre une corr´elation Corr(ci, cj) =−N11 lorsqueiet jsont des indices distincts. Il y aura par cons´equent une faible erreur dans les r´esultats, mais l’effet est d’autant plus n´egligeable que N augmente. De plus, nous verrons exp´erimentalement que si un des coefficients n’a pas la bonne taille, les autres se comportent correctement. Ainsi, l’effet de l’anti-corr´elation a des cons´equences en r´ealit´e tr`es limit´ees.

7.3.3 Forme des erreurs de d´ echiffrement

Dans l’algorithme de d´echiffrementD, puisqueretmsont choisis ind´ependemment des cl´esf et g, les coefficients des polynˆomes ˆaseront consid´er´es comme ind´ependants en vertu des hypoth`eses 1 et 2. Comme nous l’avons remarqu´e dans lasection 7.3.1, une erreur de d´echiffrement ne se produit que si la Condition(7.2)n’est pas vraie. Dans ce cas, au moins un des coefficients de ˆa=p·ˆgˆr+ ˆfmˆ se trouve en dehors de l’intervalle [−q2;q2[. Dans ce cas, on d´eduit deux heuristiques :

Heuristique 1 En cas d’erreur de d´echiffrement, avec probabilit´e ´ecrasante, il y a un seul coeffi-cientˆak de ˆaen dehors de [−q2;q2[

Fig.7.1 – Densit´es de probabilit´e exp´erimentales :

gaussian(overflowing coefficientsother coefficients0.153609,6.719)

-40 -30 -20 -10 0 10 20 30 40

0.6 0.08

0.06 0.04 0.02 0

0.5 0.4 0.3 0.2 0.1 0

overflowingcoeffs.proba.

othercoeffs.probability

other coefficients overflowing coefficients gaussian(-0.109,12.3)

-80 -60 -40 -20 0 20 40 60 80

0.05 0.3

0.04 0.03 0.02 0.01 0

0.25 0.2 0.15 0.1 0.05

othercoeffs.probability 0 overflowingcoeffs.proba.

Explication 1 Notons parpela probabilit´e de choisir(r, m)menant `a une erreur de d´echiffrement.

A cause de l’hypoth`ese d’ind´ependance, la probabilit´e qu’un coefficient donn´e de` ˆa soit en dehors de[−2q;q2[estpa= 1−(1−pe)N1N1pe. La probabilit´e qu’exactement un coefficient deˆasoit trop gros, est pone = N1

·pa(1−pa)N1 ≈pe(1− NN1pe). Ainsi, en cas d’erreur de d´echiffrement, la probabilit´e que seulement un des coefficients de aˆ soit trop gros est pone/pe ≈ (1−NN1pe).

Puisque la probabilit´e d’erreur de d´echiffrement pe est toujours tr`es petite, la derni`ere probabilit´e est quasiment ´egale `a1.

Lorsqu’une erreur de d´echiffrement se produit, un seul coefficient n’est pas dans le bon intervalle.

La deuxi`eme heuristique concerne la valeur de cecoefficient exc´edentaire.

Heuristique 2 En cas d’erreur de d´echiffrement, le coefficient exc´edentaire de ˆak qui ne v´erifie pas la condition(7.2) est tr`es proche de ±q2. Plus pr´ecis´ement, avec les param`etres standards de NTRU, on s’attend `a ce queˆakq2

avec ε65.

Explication 2 La distribution de probabilit´e du coefficient ˆak ressemble `a une distribution hy-perg´eom´etrique discr`ete dont l’esp´erance est 0, et dont l’´ecart type est inf´erieur `a q4. Ainsi, cette distribution d´ecroˆıt plus vite qu’une suite g´eom´etrique pour les rares valeurs au del`a de q2. Ainsi, l’esp´erance du coefficient exc´edentaire deaˆ est tr`es proche de q2.

7.3.4 Exp´ eriences

Pour v´erifier la validit´e des heuristiques, nous avons lanc´e des exp´eriences sur les principales instances de NTRU : NTRU-1998, NTRU-2001 et la version modifi´ee de NTRU-2005 d´ecrite dans lasection 7.2.2. Nous avons obtenu environ une erreur de d´echiffrement tous les 25,000 messages, avons collect´e environ 4,000 erreurs de d´echiffrement pour chacun des jeux de param`etres. Dans toutes les erreurs de d´echiffrement r´ecup´er´ees, il n’y avait en effet qu’un seul coefficient exc´edentaire dans ˆa, et dans plus de 90% des cas, la valeur absolue de ce coefficient ´etait inf´erieure `a q2+ 5. Les deux heuristiques semblent donc vraies en pratique.

Cependant, dans nos exp´eriences, la valeur du coefficient exc´edentaire en cas d’erreur de d´echif-frement ne d´ecroˆıt pas aussi rapidement que ce qui a ´et´e sugg´er´e dans l’explication de l’heuristique 2 (voir lafigure 7.1 page 126). L’heuristique 2 reste tout de mˆeme vraie sur les jeux de param`etres test´es, mais ce n’est qu’un r´esultat exp´erimental.

Les deux graphiques de la figure 7.1 page 126repr´esentent les densit´es de probabilit´e exp´eri-mentales des coefficients d’un polynˆome al´eatoire ˆa=p·rˆ∗gˆ+ ˆf∗mˆ satisfaisant la condition(7.2).

Les barres noires correspondent aux coefficients exc´edentaires (dont la valeur absolues sont au des-sus de q2), et les barres grises repr´esentent la distribution des autres coefficients. Les deux courbes