• Aucun résultat trouvé

1 Polynˆ omes de Chebychev

N/A
N/A
Protected

Academic year: 2022

Partager "1 Polynˆ omes de Chebychev"

Copied!
5
0
0

Texte intégral

(1)

Pr´eparation `a l’agr´egation de Math´ematiques 2009 ENS Cachan Ker Lann Epreuve de mod´elisation, option C : alg`ebre et calcul formel

richard.leroy@univ-rennes1.fr

http://perso.univ-rennes1.fr/richard.leroy/

Cryptosyst` eme de Chebychev

R´esum´e : On pr´esente dans ce texte un cryptosyst`eme bas´e sur les polynˆomes de Chebychev, ainsi qu’une attaque contre celui-ci.

Mots-cl´es : Cryptosyst`eme, polynˆomes de Chebychev, algorithme d’Euclide ´etendu.

Il est rappel´e que le jury n’exige pas une compr´ehension exhaustive du texte. Vous ˆetes laiss´e(e) libre d’organiser votre discussion comme vous l’entendez. Des suggestions de d´eveloppement vous sont propos´ees en fin de texte. Vous n’ˆetes pas tenu(e) de les suivre. Il est conseill´e de mettre en lumi`ere vos connaissances `a partir du fil conducteur constitu´e par le texte.

Le jury demande que la discussion soit accompagn´ee d’exemples trait´es sur ordinateur.

1 Polynˆ omes de Chebychev

On introduit dans ce paragraphe les polynˆomes de Chebychev, qui seront

`

a la base du cryptosyst`eme ´etudi´e dans ce texte.

D´efinition : Les polynˆomes de Chebychev sont les polynˆomes satis- faisant la r´ecurrence suivante :

T0 = 1, T1 =X

∀n ≥2, Tn = 2XTn−1−Tn−2.

(2)

On peut ´egalement caract´eriser les polynˆomes de Chebychev de la mani`ere suivante :

Proposition : Pour tout x∈[−1,1], on a Tn(x) =cos(narccos(x)).

Une des propri´et´es fondamentales des polynˆomes de Chebychev est leur propri´et´e de semi-groupe, affirmant que :

∀x∈[−1,1], Tr(Ts(x)) = Trs(x).

On en d´eduit imm´ediatement que les polynˆomes de Chebychev commutent, dans le sens o`u :

∀x∈[−1,1], Tr(Ts(x)) = Ts(Tr(x)).

2 Le cryptosyst` eme

Il s’agit d’un cryptosyst`eme `a clef publique. Celle-ci est g´en´er´ee de la mani`ere suivante :

1. G´en´erer un grand entier s.

2. Prendre un nombre x∈[−1,1] au hasard, et calculer Ts(x).

3. La clef publique est alors le couple (x, Ts(x)), la clef secr`ete ´etant l’entier s.

Le chiffrement d’un message M ∈[−1,1]est alors effectu´e en utilisant le clef publique :

1. G´en´erer un grand entier r.

2. Calculer Tr(x), Trs(x) = Tr(Ts(x)) et N =M Trs(x).

3. Le message chiffr´e est alors le couple (Tr(x), N).

Le d´echiffrement d’un message (t, n) se fait `a l’aide de la clef priv´ee : 1. Calculer Ts(t).

(3)

2. Calculer n/Ts(t).

La correction du cryptosyst`eme est dˆue `a la propri´et´e de commutation des polynˆomes de Chebychev.

La g´en´eration de la clef publique, le chiffrement et le d´echiffrement utilisent tous les trois des ´evaluations de polynˆomes de Chebyshev. Utiliser leur d´efinition r´ecursive pour calculer Tn(x) conduit `a un complexit´e lin´eaire en n. Cepen- dant, on peut obtenir une complexit´e logarithmique en remarquant que :

T2n(x) =T2(Tn(x)) = 2Tn(x)2−1 et T2n+1(x) = 2Tn+1(x)Tn(x)−x.

3 Attaque du cryptosyst` eme

On montre dans cette section que, malgr´e la ressemblance avec le syst`eme ElGamal, le cryptosyst`eme ici pr´esent´e n’est pas sˆur. Le d´efaut majeur est que plusieurs polynˆomes de Chebychev peuvent passer par le mˆeme point.

3.1 Pr´ esentation de l’attaque

Soit (x, Ts(x)) la clef publique d’Alice. Afin de lui envoyer un message M, Bob choisit un grand entier r et calcule :

Tr(x), Trs(x) et N =M Trs(x).

Il envoie alors le message chiffr´e C = (Tr(x), N) `a Alice.

Un attaquant , connaissant la clef publique d’Alice et le message chiffr´e C, proc`ede de la mani`ere suivante :

1. Il calcule un entier r0 tel que Tr0(x) =Tr(x).

2. Puis il calcule Tr0s(x) =Tr0(Ts(x)).

(4)

3. Enfin, il retrouve le message M =N/Tr0s(x).

On montre dans le prochain paragraphe comment l’entier r0 peut ˆetre obtenu.

3.2 Calcul de r

0

On consid`ere l’ensemble ℘ =

n±arccos(Tr(x))+2kπ

arccos(x) | k∈Z

o

. Le r´esultat suivant montre que ℘ contient tous les entiers r0 v´erifiant Tr0(x) = Tr(x) possibles :

Proposition : Pour chaque couple (x, Tr(x)) fix´e, l’entier r0 v´erifie Tr0(x) =Tr(x) si et seulement si r0 ∈℘∩N.

On pose

a= arccos(Tarccos(x)r(x)) et b= arccos(x) .

L’attaquant doit donc trouver un entier k ∈ Z et un entier n > 1 solu- tions de l’une des deux ´equations suivantes :

a+kb=u ou −a+kb =u.

Notons (a mod 1) et (b mod 1) les parties fractionnaires de a et b. Le probl`eme revient alors `a r´esoudre

(a mod 1) +k(b mod 1) =z ou −(a mod 1) +k(b mod 1) =z.

Supposons que l’on travaille en pr´ecision finie, en base B ≥ 2, et que L soit le nombre maximal de d´ecimales de (a mod 1) et (b mod 1). En multipliant par BL, on obtient les´equations suivantes :

(a mod 1)BL+k(b mod 1)BL=zBL ou

−(a mod 1)BL+k(b mod 1)BL=zBL. On pose a0 = (a mod 1)BL et b0 = (b mod 1)BL.

(5)

L’attaquant a alors `a r´esoudre :

a0+kb0 ≡0 mod BL ou -a0+kb0 ≡0 mod BL.

Les solutions de la premi`ere ´equation s’obtiennent facilement `a partir des solutions de la deuxi`eme. Il suffit donc de savoir r´esoudre les ´equations du type :

kb0 ≡a0 mod BL.

Une telle ´equation admet une solution si et seulement si d divise a0, o`u d d´esigne le pgcd de b0 et de BL divise a0. Les solutions s’obtiennent alors grˆace `a l’algorithme d’Euclide ´etendu.

4 Suggestions pour le d´ eveloppement

Soulignons qu’il s’agit d’un menu `a la carte et que vous pouvez choisir d’´etudier certains points, pas tous, pas n´ecesairement dans l’ordre, et de fa¸con plus fouill´ee. Vous pouvez aussi vous poser d’autres questions que celles indiqu´ees. Il est demand´e que vos investigations comportent une partie ordinateur.

Ø Plusieurs propri´et´es des polynˆomes de Chebychev sont affirm´ees sans d´emonstration. Le candidat est invit´e `a les expliciter.

Ø Le candidat pourra d´etailler le calcul de r0 pr´esent´e dans le texte, notamment l’utilisation de l’algorithme d’Euclide ´etendu.

Ø En ce qui concerne le passage sur machine, le candidat est invit´e `a programmer le cryptosyst`eme de Chebychev, ainsi que l’attaque pr´esent´ee.

Ø Le candidat pourra ´etudier la complexit´e (dans le cas le pire) des algorithmes pr´esent´es.

Références

Documents relatifs

Si A est un anneau principal, tout ´ el´ ement irr´ eductible est premier, et donc les notions d’´ el´ ement premier et d’´ el´ ement irr´ eductible co¨ıncident dans ce

Le¸ con: Approximation d’une fonction par des polynˆ omes et des polynˆ omes trigonom´ etriques.. Exemples

Q8 Donnez un autre exemple int´ eressant

On peut montrer, mais c’est plus difficile, que le polynˆ ome donn´ e ci-dessus est universel, au sens o` u toute extension galoisienne de degr´ e trois de K est corps de

De plus, les s´ eries de Fourier sont aussi un outil pour r´ ealiser l’analyse de Von Neumann des EDP, afin d’obtenir des conditions CFL assurant la stabilit´ e L 2 du sch´ emaI.

Un polynˆome qui n’est divisible que par lui mˆeme (`a une constante multipliative pr`es) ou par les constantes est dit irr´eductible.. Pour l’exposer, il est commode de changer un

On se propose tout d’abord de v´erifier la formule de Taylor pour les polynˆ omes `a l’aide de Maple pour un polynˆome de degr´e inf´erieur ou ´egal ` a 10, par exemple..

Ecrire une fonction orthogonalisation, prenant en entr´ ee une liste de vecteurs dans un espace V (pas n´ ecessairement R n ) ainsi qu’un produit scalaire (une fonction de V ×V dans