Vous êtes sur la page 1sur 5

Prparation ` lagrgation de Mathmatiques 2009 ENS Cachan Ker Lann e a e e Epreuve de modlisation, option C : alg`bre et calcul formel e e richard.leroy@univ-rennes1.

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

Cryptosyst`me de Chebychev e
Rsum : On prsente dans ce texte un cryptosyst`me bas sur les e e e e e polynmes de Chebychev, ainsi quune attaque contre celui-ci. o Mots-cls : Cryptosyst`me, polynmes de Chebychev, algorithme e e o dEuclide tendu. e Il est rappel que le jury nexige pas une comprhension exhaustive du e e texte. Vous tes laiss(e) libre dorganiser votre discussion comme vous e e lentendez. Des suggestions de dveloppement vous sont proposes en n e e de texte. Vous ntes pas tenu(e) de les suivre. Il est conseill de mettre en e e lumi`re vos connaissances ` partir du l conducteur constitu par le texte. e a e Le jury demande que la discussion soit accompagne dexemples traits sur e e ordinateur.

Polynmes de Chebychev o

On introduit dans ce paragraphe les polynmes de Chebychev, qui seront o a ` la base du cryptosyst`me tudi dans ce texte. e e e Dnition : Les polynmes de Chebychev sont les polynmes satise o o faisant la rcurrence suivante : e T 0 = 1, T 1 = X n 2, T n = 2XT n1 T n2 .

On peut galement caractriser les polynmes de Chebychev de la mani`re e e o e suivante : Proposition : Pour tout x [1, 1], on a T n (x) =cos(n arccos(x)). Une des proprits fondamentales des polynmes de Chebychev est leur ee o proprit de semi-groupe, armant que : ee x [1, 1], T r (T s (x)) = T rs (x). On en dduit immdiatement que les polynmes de Chebychev commutent, e e o dans le sens o` : u x [1, 1], T r (T s (x)) = T s (T r (x)).

Le cryptosyst`me e

Il sagit dun cryptosyst`me ` clef publique. Celle-ci est gnre de la e a e e e mani`re suivante : e 1. Gnrer un grand entier s. e e 2. Prendre un nombre x [1, 1] au hasard, et calculer T s (x). 3. La clef publique est alors le couple (x, T s (x)), la clef secr`te tant e e lentier s. Le chirement dun message M [1, 1] est alors eectu en utilisant le e clef publique : 1. Gnrer un grand entier r. e e 2. Calculer T r (x), T rs (x) = T r (T s (x)) et N = M T rs (x). 3. Le message chir est alors le couple (T r (x), N ). e Le dchirement dun message (t, n) se fait ` laide de la clef prive : e a e 1. Calculer T s (t). 2

2. Calculer n/T s (t). La correction du cryptosyst`me est de ` la proprit de commutation des e u a ee polynmes de Chebychev. o La gnration de la clef publique, le chirement et le dchirement utilisent e e e tous les trois des valuations de polynmes de Chebyshev. Utiliser leur dnition e o e rcursive pour calculer T n (x) conduit ` un complexit linaire en n. Cepene a e e dant, on peut obtenir une complexit logarithmique en remarquant que : e T 2n (x) = T 2 (T n (x)) = 2T n (x)2 1 et T 2n+1 (x) = 2T n+1 (x)T n (x) x.

Attaque du cryptosyst`me e

On montre dans cette section que, malgr la ressemblance avec le syst`me e e ElGamal, le cryptosyst`me ici prsent nest pas sr. Le dfaut majeur est e e e u e que plusieurs polynmes de Chebychev peuvent passer par le mme point. o e

3.1

Prsentation de lattaque e

Soit (x, T s (x)) la clef publique dAlice. An de lui envoyer un message M , Bob choisit un grand entier r et calcule : T r (x), T rs (x) et N = M T rs (x). Il envoie alors le message chir C = (T r (x), N ) ` Alice. e a Un attaquant , connaissant la clef publique dAlice et le message chir e C, proc`de de la mani`re suivante : e e 1. Il calcule un entier r tel que T r (x) = T r (x). 2. Puis il calcule T r s (x) = T r (T s (x)).

3. Enn, il retrouve le message M = N/T r s (x). On montre dans le prochain paragraphe comment lentier r peut tre e obtenu.

3.2

Calcul de r

On consid`re lensemble = arccos(T r (x))+2k | k Z . Le rsultat e e arccos(x) suivant montre que contient tous les entiers r vriant T r (x) = T r (x) e possibles : Proposition : Pour chaque couple (x, T r (x)) x, lentier r vrie e e T r (x) = T r (x) si et seulement si r N. On pose a=
arccos(T r (x)) arccos(x)

et b =

2 . arccos(x)

Lattaquant doit donc trouver un entier k Z et un entier n > 1 solutions de lune des deux quations suivantes : e a + kb = u ou a + kb = u.

Notons (a mod 1) et (b mod 1) les parties fractionnaires de a et b. Le probl`me revient alors ` rsoudre e a e (a mod 1) + k(b mod 1) = z ou (a mod 1) + k(b mod 1) = z.

Supposons que lon travaille en prcision nie, en base B 2, et que e L soit le nombre maximal de dcimales de (a mod 1) et (b mod 1). En e multipliant par B L , on obtient les quations suivantes : e (a mod 1)B L + k(b mod 1)B L = zB L ou (a mod 1)B L + k(b mod 1)B L = zB L . On pose a = (a mod 1)B L et b = (b mod 1)B L . 4

Lattaquant a alors ` rsoudre : a e a + kb 0 mod B L ou -a + kb 0 mod B L .

Les solutions de la premi`re quation sobtiennent facilement ` partir des e e a solutions de la deuxi`me. Il sut donc de savoir rsoudre les quations du e e e type : kb a mod B L . Une telle quation admet une solution si et seulement si d divise a , o` e u L d dsigne le pgcd de b et de B divise a . Les solutions sobtiennent alors e grce ` lalgorithme dEuclide tendu. a a e

Suggestions pour le dveloppement e

Soulignons quil sagit dun menu ` la carte et que vous pouvez choisir a dtudier certains points, pas tous, pas ncesairement dans lordre, et de e e faon plus fouille. Vous pouvez aussi vous poser dautres questions que c e celles indiques. Il est demand que vos investigations comportent une partie e e ordinateur. Plusieurs proprits des polynmes de Chebychev sont armes sans ee o e dmonstration. Le candidat est invit ` les expliciter. e ea Le candidat pourra dtailler le calcul de r prsent dans le texte, e e e notamment lutilisation de lalgorithme dEuclide tendu. e En ce qui concerne le passage sur machine, le candidat est invit ` e a programmer le cryptosyst`me de Chebychev, ainsi que lattaque prsente. e e e Le candidat pourra tudier la complexit (dans le cas le pire) des e e algorithmes prsents. e e

Vous aimerez peut-être aussi