• Aucun résultat trouvé

Retour `a la th´eorie de nombres

Ainsi, bien que ni la factorisation, ni le probl`eme du logarithme discret ne soient des probl`emes N P-complets, leur difficult´e pratique est largement admise. Alors, de nombreuses variantes, sou-vent plus faibles, de ces probl`emes ont fait leur apparition.

4.2.1 Probl`eme RSAflexible. Ce probl`eme est une version affaiblie du probl`emeRSA. Il a

´et´e introduit il y a 5 ans, par [2,44]. Il a longtemps ´et´e d´efini par l’hypoth`ese du Strong-RSA, qui suppose une r´esistance plus forte du probl`eme RSA. Cramer et Shoup [34] ont r´ecemment nomm´e ce probl`emeflexible RSA problem, pour pr´esenter le premier sch´ema de signature efficace prouv´e dans le mod`ele standard. Il s’agit plus pr´ecis´ement du probl`eme suivant :

D´efinition 11 (Le probl`eme RSA flexible). Soient n = pq un module RSA et y ∈ ?n, trouver un entiere >1 ainsi qu’une racinee-i`eme dey modulo n, soit une paire (e, x) telle que xe=ymodn.

4.2.2 Probl`eme RSA approch´e. En 1991, une alternative plus efficace `a la signature RSA a ´et´e propos´ee, sous le nom de ESIGN [43]. Cependant, la s´ecurit´e repose sur un probl`eme plus faible, une approximation de racinese-i`emes modulaires. De plus, le module poss`ede une forme un peu particuli`ere. En effet, il ne s’agit plus d’un module RSA, mais d’un produitn=p2q, o`u pet q sont deux grands premiers de mˆeme taille.

D´efinition 12 (Le probl`eme RSAapproch´e). Soientn=p2q un module RSA, un exposant e premier avec ϕ(n) et y ∈ ?n, trouver x ∈ ?n tel que xemodn appartienne `a l’intervalle h

y, y+√3 n2i

.

Des algorithmes ont ´et´e propos´es pour r´esoudre ce probl`eme dans les case= 2 ete= 3 [24,128], mais il semble difficile pour e ≥ 4 (tout du moins, aucune attaque ne permet de r´esoudre efficacement ce probl`eme, d`es queeest sup´erieur ou ´egal `a 4).

4.2.3 Probl`emes de r´esidus. Depuis longtemps, le probl`eme de la r´esiduosit´e quadratique modulo un entier RSA intervient dans des protocoles cryptographiques. Il a notamment ´et´e utilis´e dans le premier sch´ema de chiffrement asym´etrique s´emantiquement sˆur [53]. Il s’agit de d´ecider si un ´el´ement de ?n est un carr´e ou non. De fa¸con plus g´en´erale, on peut d´efinir le probl`eme suivant :

D´efinition 13 (Les probl`emes de r´esidus). Soientn un module de factorisation inconnue, et r un diviseur de ϕ(n). ´Etant donn´ey ∈ ?n, d´ecider si y est une puissance r-i`eme dans ?n. En d’autres termes, d´ecider s’il existex∈ ?ntel quexr=ymodn.

Naccache et Stern [83] ont d´efini un sch´ema de chiffrement bas´e sur ce probl`eme, pour un module n particulier, tel que ϕ(n) admette des petits facteurs premiers, parmi lesquels r est choisi. Okamoto et Uchiyama [93] ont `a nouveau utilis´e des modules de la forme n=p2q, qui satisfontp|ϕ(n). Ils ont alors propos´e un sch´ema de chiffrement bas´e sur lap-r´esiduosit´e. Enfin, Paillier [95] a modifi´e ce sch´ema, en utilisant un module N = n2, o`u n est un module RSA.

Alorsn|ϕ(N). La s´ecurit´e du sch´ema repose alors sur le probl`eme de la n-r´esiduosit´e modulo N =n2.

5 Conclusion

Malgr´e les nombreuses tentatives pour ´echapper `a la th´eorie des nombres, les probl`emes de la factorisation et du logarithme discret demeurent des r´ef´erences. Cela provient en fait de leur r´esistance face aux multiples attaques qui ont ´et´e mises en œuvre depuis plus de 20 ans [16,17].

5. Conclusion 23

Pour acqu´erir un tel niveau de confiance, tout autre probl`eme devra ´egalement faire ses preuves, ce qui demande beaucoup de temps.

Ainsi, dans la suite de ce m´emoire, on pr´ef´erera utiliser ces probl`emes qui ont fait leurs preuves, mais tout autre probl`eme avec des instances pour lesquelles la complexit´e minimale peut ˆetre estim´ee serait ´egalement exploitable. En effet, dans la plupart des sch´emas analys´es, le probl`eme difficile est g´en´erique . On peut en changer `a volont´e, `a condition qu’il satisfasse les propri´et´es convenables, telles que fonction `a sens-unique, fonction `a sens-unique `a trappe, voire permutation `a sens-unique `a trappe, etc. Pour une telle instance I, on aura simplement besoin de savoir la probabilit´e maximale de succ`es ε de tout algorithme en temps born´et : pour tout algorithme Afonctionnant en temps t,SuccI(A)≤ε.

L’authentification

Sommaire

1 Introduction . . . . 25 2 Les protocoles d’identification . . . . 25 3 La signature num´erique . . . . 27 3.1 Le paradigme des permutations `a trappe . . . . 28 3.2 Le paradigme des preuves interactiveszero-knowledge . . . . 30

1 Introduction

Apr`es la confidentialit´e, l’authentification est certainement l’objectif principal de la graphie : prouver son identit´e, en tant qu’interlocuteur, ou ´emetteur d’un message. En crypto-graphie conventionnelle, Alice s’authentifie aupr`es de Bob en lui apportant une preuve de sa connaissance de la cl´e secr`ete qu’elle partage avec Bob. Une telle preuve peut ˆetre fournie en montrant sa capacit´e `a chiffrer un message ou `a d´echiffrer un chiffr´e, ou en utilisant des MACs (ouMessage Authentication Codes). Cependant, cette preuve ne convaincra que Bob, l’interlocu-teur avec qui elle partage ce secret. Or, authentification signifie que seul le v´eritable utilisateur doit pouvoir s’authentifier grˆace `a un secret. Mais il n’y a aucune raison pour que la v´erification n´ecessite une quelconque information secr`ete. Il serait mˆeme parfois souhaitable que la preuve puisse convaincre tout le monde. Ainsi, dans un contexte asym´etrique, o`u chacun poss`ede une cl´e priv´ee associ´ee par une relation pr´e-´etablie `a la cl´e publique, une authentification (ou preuve d’identit´e) peut s’effectuer par une preuve (plus ou moins explicite) de la connaissance de cette cl´e priv´ee. Une telle preuve peut ˆetre de deux types, selon les sc´enarios envisag´es :

– preuve interactive, o`u le prouveur dialogue avec le v´erifieur pour le convaincre de sa connaissance de la cl´e priv´ee. On parle de protocole d’identification ;

– preuve non-interactive, o`u l’´emetteur attache une preuve d’identit´e `a un message. Si cette preuve garantit la non-r´epudiation , on parle alors de sch´ema de signature .

2 Les protocoles d’identification

En 1985, Goldwasser, Micali et Rackoff [54] ont d´efini un nouveau mode de preuves interac-tives

– de connaissance d’un secret (solution `a un probl`eme difficile) ; – d’appartenance `a un langage (existence d’une solution).

En effet, ils ont propos´e des preuves de connaissance, ou d’existence de telles solutions, sans rien r´ev´eler sur cette solution, appel´ees preuves zero-knowledge , ou `a divulgation nulle de connaissance.

Il s’agit de preuves entre un prouveur et un v´erifieur. Le premier connaˆıt un secret, ou poss`ede une puissance de calcul infinie. Il veut convaincre le v´erifieur de sa connaissance du secret, ou de l’existence d’une solution. Apr`es quelques interactions, le v´erifieur est convaincu de ce fait, mais n’a rien appris.

On ne va pas d´ecrire plus en d´etail cet outil, bien qu’il soit fort utile. En effet, il a d´ej`a fait l’objet d’une ´etude approfondie au cours de la th`ese de doctorat [100], avec notamment une preuve efficace pour un nouveau probl`eme, le probl`eme des perceptrons permut´es [99,105].

Mais on va tout de mˆeme rappeler qu’il est possible de prouver de fa¸con interactive et zero-knowledge l’appartenance d’un mot x au langage L, si ce dernier est dans N P, et mˆeme dans IP. De mˆeme, pour tout langage L ∈ N P, et pour tout mot x de ce langage, on peut prouver de fa¸con interactive et zero-knowledge la connaissance d’un t´emoin [52]. Malheureusement, il

s’agit de r´esultats th´eoriques qui conduisent `a des protocoles inefficaces. Comme on l’a vu dans le chapitreHypoth`eses calculatoires, tr`es peu de probl`emesN P-complets ont trouv´e une application en cryptographie. Seuls quatre probl`emes (PKP, SD, CLE et PPP) ont permis de proposer des protocoles d’identification satisfaisants en pratique. En revanche, la plupart des probl`emes de th´eorie des nombres ´evoqu´es pr´ec´edemment, dans ce mˆeme chapitreHypoth`eses calculatoires, admettent des preuves de connaissance d’une solution relativement efficaces.

Ceci est suffisant pour proposer des protocoles d’identification :

– Fiat et Shamir [41] ont les premiers propos´e un protocole efficace, permettant de prouver la connaissance d’une racine carr´ee modulaire (voir figure 1) ;

Soit nun entier RSA (de la forme n=pq).

– Cl´e priv´ee d’Alice : x∈ ?n

– Cl´e publique d’Alice :y=x2 modn

1. Alice choisit r∈ ?net envoieR=r2modn; 2. Bob choisit b∈ {0,1};

3. Alice retourne s=rxb modn; 4. Bob v´erifie si s2 =Rybmodn.

Bob accepte la preuve d’Alice si et seulement si Alice r´epond cor-rectement `a k tests successifs.

Fig. 1. Protocole de Fiat-Shamir

– Guillou et Quisquater [56,57] ont ´etendu ce protocole aux racines e-i`emes modulaires ; – Ong et Schnorr [94] se sont int´eress´es aux racines 2`-i`emes modulaires.

Quant au logarithme discret, Schnorr [115] a propos´e une preuve de connaissancezero-knowledge de logarithmes discrets dans des groupes cycliques, d’ordre connu (voir figure 2).

Soient pun entier premier, et q un grand premier, tel queq|p−1.

Soit g un ´el´ement de ?p d’ordre q.

– Cl´e priv´ee d’Alice : x∈ q

– Cl´e publique d’Alice :y=gx modp

1. Alice choisit r∈ ?net envoieR=gr modp; 2. Bob choisit e∈ {0, . . . , `−1};

3. Alice retourne s=r−xemodq; 4. Bob v´erifie si R=gsyemodp.

Bob accepte la preuve d’Alice si et seulement si Alice r´epond cor-rectement `a k tests successifs.

Fig. 2. Protocole de Schnorr

Cette notion de preuve de connaissance zero-knowledge est tr`es forte. En effet, elle est suf-fisante pour des protocoles d’identification (sans ex´ecutions simultan´ees), mais pas n´ecessaire.

Ainsi, des variantes du sch´ema de Schnorr fournissent des protocoles d’identification dont la s´ecurit´e repose sur la difficult´e de calculer des logarithmes discrets, mˆeme dans des groupes o`u l’ordre est inconnu (par exemple, un grand sous-groupe cyclique de ?n, o`u n est un module RSA) [47,48,111,102].

3. La signature num´erique 27

Les preuves `a t´emoins cach´es ou t´emoins indistingables [40] pr´esentent des propri´et´es plus faibles que le zero-knowledge, mais sont ´egalement parfaitement adapt´ees pour des protocoles d’identification. Okamoto [89] a d’ailleurs exhib´e des variantes des sch´emas de Schnorr et de Guillou-Quisquater qui sont `a t´emoins indistingables. Elles reposent respectivement sur le probl`e-me RSA et le probl`eme du logarithme discret. On ne d´etaillera pas plus ce sujet, malgr´e sa richesse. En effet, il a d´ej`a ´et´e ´etudi´e dans la th`ese de doctorat [100], et ces preuves particuli`eres

`a t´emoins indistingables ont permis de proposer les premiers sch´emas de signature en blanc avec des preuves formelles de s´ecurit´e [109,108,102].

3 La signature num´erique

Une signature num´erique est un proc´ed´e cryptographique asym´etrique. C´est-`a-dire que tout utilisateur poss`ede un couple de cl´es publique-priv´ee (pk,sk). Elle est compos´ee de trois algo-rithmes (voir figure 3) :

– L’algorithme de g´en´eration des cl´es K. En fonction d’un param`etre de s´ecurit´e k, l’algo-rithmeK(1k) retourne une paire de cl´es publique/priv´ee associ´ees (pk,sk). Cet algorithme K est probabiliste.

– L’algorithme de signature Σ, qui prend en entr´ee la cl´e priv´eesket le messagem `a signer, puis retourne une signature σ.

– L’algorithme de v´erification V, qui prend en entr´ee la cl´e publique pk du dit auteur, le message m puis la signature σ, et retourne Oui ou Non , selon la validit´e de la signature.

Σ sk

σ V

m m

O/N

pk

Fig. 3. Signature num´erique

Ces algorithmes doivent satisfaire les deux propri´et´es suivantes :

– toute signature correctement produite doit ˆetre accept´ee. Notamment, pour toute signature σ= Σsk(m),Vpk(m, σ) = Oui ;

– il doit ˆetre calculatoirement impossible, pour toute personne qui ignore la cl´e priv´eesk, de produire des signatures accept´ees (falsifications existentielles), mˆeme apr`es avoir vu un grand nombre de messages sign´es, ´eventuellement choisis par l’attaquant (attaques `a messages choisis).

Dans le cas des attaques `a messages connus (o`u l’attaquant a acc`es `a une liste de messages sign´es), le but de l’attaquant est bien sˆur de signer un nouveau message (ou au moins de produire une nouvelle signature, selon les d´efinitions).

Plus formellement, on souhaite que pour tout attaquant A de complexit´e raisonnable , sa probabilit´e de succ`es dans une falsification existentielle selon une attaque `a messages choisis

adaptative soit faible, o`u cette probabilit´e est d´efinie par Succcma(A) = Pr

(pk,sk)← K(1k),(m, σ)← AΣsk(pk) :Vpk(m, σ) = Oui .

On d´efinit aussi par Succcma(t) la probabilit´e maximale de succ`es de tout attaquant en temps born´e part.

Documents relatifs