Cryptographie `a cl´e publique : Constructions et …bcm.crypto.free.fr/pdf/PhD.pdf ·...

194
Universit´ e Paris VII – Denis Diderot ´ Ecole Normale Sup´ erieure, Paris UFR Algorithmique ´ Equipe de cryptographie Cryptographie ` a cl´ e publique : Constructions et preuves de s´ ecurit´ e TH ` ESE pr´ esent´ ee et soutenue publiquement le 16 Novembre 2006, ` a l’ ´ Ecole normale sup´ erieure, Paris pour l’obtention du Doctorat de l’Universit´ e Paris VII – Denis Diderot (Sp´ ecialit´ e informatique) par Benoˆ ıt Chevallier-Mames Composition du jury: Directeur : Dr. David Pointcheval ( ´ Ecole normale sup´ erieure & CNRS) Rapporteurs : Dr. Marc Girault (France T´ el´ ecom R&D) Prof. David Naccache (Universit´ e de Paris II — Panth´ eon - Assas) Examinateurs : Prof. Arnaud Durand (Universit´ e de Paris VII — Denis Diderot) Dr. Marc Joye (Thomson R&D) Prof. Adi Shamir (Weizmann Institute of Science, Isra¨ el) Prof. Jacques Stern ( ´ Ecole normale sup´ erieure) Th` ese effectu´ ee au sein du Security Technology Department, Gemplus/Gemalto, La Ciotat

Transcript of Cryptographie `a cl´e publique : Constructions et …bcm.crypto.free.fr/pdf/PhD.pdf ·...

Universite Paris VII – Denis Diderot Ecole Normale Superieure, Paris

UFR Algorithmique Equipe de cryptographie

Cryptographie a cle publique :Constructions et preuves de securite

THESE

presentee et soutenue publiquement le 16 Novembre 2006, a l’Ecole normale superieure, Paris

pour l’obtention du

Doctorat de l’Universite Paris VII – Denis Diderot

(Specialite informatique)

par

Benoıt Chevallier-Mames

Composition du jury:

Directeur : Dr. David Pointcheval (Ecole normale superieure & CNRS)

Rapporteurs : Dr. Marc Girault (France Telecom R&D)Prof. David Naccache (Universite de Paris II — Pantheon - Assas)

Examinateurs : Prof. Arnaud Durand (Universite de Paris VII — Denis Diderot)Dr. Marc Joye (Thomson R&D)Prof. Adi Shamir (Weizmann Institute of Science, Israel)Prof. Jacques Stern (Ecole normale superieure)

These effectuee au sein du Security Technology Department, Gemplus/Gemalto, La Ciotat

Remerciements

Trois ans. Cela fait bientot trois ans que j’ai commence cette these, et pratiquement depuis ledebut, j’ai eu envie d’en ecrire la partie Remerciements. Pas seulement parce que c’est la partiefinale, la derniere touche que quelqu’un apporte a une these, mais plutot pour remercier commeil se doit les gens qui m’ont aide, soutenu et encourage durant tout ce temps, et sans qui je neserais pas la aujourd’hui. Voila enfin venu le temps de pouvoir leur dire publiquement merci.

Durant cette these, je considere que j’ai eu la chance d’avoir trois Pygmalion : mon directeurde these, David Pointcheval ; mon “correspondant scientifique”, c’est-a-dire mon encadrant aGemplus/Gemalto, Marc Joye ; et enfin, mon collegue Pascal Paillier. En plus d’etre deve-nus, je le crois, des amis, David, Marc et Pascal ont toujours ete pour moi d’intarissables sourcesd’idees et des exemples a suivre. Ils m’ont donne des directions de recherche et appris a redigerles articles. Enfin, tache o combien importante et difficile, ils ont relu, annote et corrige cettethese. Bref, ils ont participe a faire de moi le chercheur que je suis aujourd’hui. Ici, je leur disencore une fois merci pour tout.

J’ai eu la chance d’effectuer ma these dans le laboratoire de l’Ecole normale superieure,tout en travaillant a Gemplus/Gemalto. Merci David d’avoir accepte d’etre mon directeur dethese dans ces conditions, en me laissant une grande liberte dans mon organisation et dans mestravaux. Je voudrais egalement remercier ici tous les membres de l’equipe Cryptographie del’Ecole normale superieure de m’avoir si bien accueilli.

Je voudrais aussi remercier chaleureusement toutes les personnes de Gemplus/Gemalto quim’ont permis de faire cette these. Ceci s’adresse particulierement a ceux qui ont ete mes chefsd’equipe durant ces annees : Nathalie Feyt, Jean-Francois Dhem, Mathieu Ciet, PhilippeProust et David Naccache. J’adresse des remerciements speciaux a ce dernier, pour avoir en-courage durant sa carriere a Gemplus, la recherche dans l’entreprise, et le demarrage de thesesd’un grand nombre de personnes de son groupe, dont moi-meme.

J’adresse egalement mes remerciements aux membres passes et presents de l’equipe Securitede Gemplus/Gemalto avec qui j’ai eu le plaisir de travailler. Je ne pourrais tous les citer, maistoutes les personnes de ce groupe m’ont apporte quelque chose, et je les en remercie. Mercienfin a l’entreprise Gemplus/Gemalto, qui m’a permis d’aller durant mes annees de these ade nombreuses conferences (Ches ’03, Ct-rsa ’04, Crypto ’05, Eurocrypt ’05, Acns ’05,Pkc ’06 et Eurocrypt ’06).

Je voudrais egalement remercier Arnaud Durand, Marc Girault, Marc Joye, David Nac-cache, Adi Shamir et Jacques Stern pour m’avoir fait l’honneur d’etre membres du jury.C’est un privilege d’avoir de telles personnalites comme examinateurs. Un remerciement toutparticulier va vers mes rapporteurs, Marc Girault et David Naccache, qui ont eu la patiencede relire cette these et de la corriger.

Un des plaisirs de la recherche est de travailler a plusieurs. J’ai eu moi-meme la chancede co-ecrire certains papiers. Je remercie ici mes co-auteurs pour ce qu’ils m’ont apporte etappris, et pour avoir accepte ces collaborations : Nuttapong Attrapadung, Eric Brier, MathieuCiet, Christophe Clavier, Jun Furukawa, Takeshi Gomi, Goichiro Hanaoka, Hideki Imai,Marc Joye, David Naccache, Pascal Paillier, Duong Hieu Phan, David Pointcheval et RuiZhang.

Durant ma these, j’ai egalement eu la chance d’etre membre du comite de programmede grandes conferences : merci a Marc Joye de m’avoir permis d’etre membre du comite de

i

Ches ’04, merci a Raphael Chung-Wei Phan de m’avoir choisi pour etre membre du comite deIsh ’05 et enfin merci a David Pointcheval qui m’a donne l’opportunite d’etre membre ducomite de Ct-rsa ’06. Etre membre de ces comites m’a permis d’avoir une autre vision de la re-cherche, et m’a beaucoup apporte. J’en profite d’ailleurs pour remercier les nombreux relecteursqui m’ont aide dans ces taches.

Durant ma these, j’ai pu participe a certains projets europeens ou francais. Ils m’ont permisde rencontrer d’autres chercheurs et de financer certains deplacements. Je remercie donc le reseaueuropeen d’excellence Ecrypt, le projet francais Crypto++ et le projet francais Saphir.

Enfin, je reserve ici une place pour ceux que je n’ai pu mettre dans une autre categorie : mercia Denis Roegel pour sa classe LATEX ; merci a Damien Vergnaud de m’avoir invite a faire unepresentation au seminaire de Cryptographie de l’Universite de Caen ; merci a Jean-SebastienCoron pour les conseils et l’aide qu’il m’a apportes ; merci a l’Ecole des Mines de Gardanne dem’avoir permis de donner des cours de Cryptographie ; merci aux membres de Dream Theaterpour la musique qu’ils font et que j’adore.

Je ne saurais finir cette partie sans remercier egalement mes amis et ma famille. Merci ama sœur Gaelle, mon frere Thibault, merci a mes parents Francois et Christine de m’avoirpermis de faire des etudes et encourage a travailler a l’ecole. Toutes mes pensees a ceux et cellesqui ont jalonne ma vie, aux eleves du Lycee Victor Hugo, de la prepa Camille Guerin, a mesamis de promotion de Supelec, et notamment au fabuleux d3.

Enfin, je voudrais terminer cette partie par un remerciement general a tous ceux qui ont etemes professeurs depuis mon plus jeune age, et ont ainsi ete participants de la these que je vaispresenter ici.

ii

— A ceux que j’aime.

iii

iv

Sganarelle : Mais encore faut-il croire quelque chose dans lemonde : qu’est ce donc que vous croyez ?Dom Juan : Ce que je crois ?Sganarelle : Oui.Dom Juan : Je crois que deux et deux font quatre, Sganarelle,et que quatre et quatre font huit.

— Dom Juan ou le festin de pierre, Moliere

v

vi

Table des matieres

Notations xv

Partie I. Introduction generale

Chapitre 1.

Introduction a la cryptologie

1.1 La cryptologie en quelques mots . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.1 Science du secret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.2 Cryptographie, cryptanalyse . . . . . . . . . . . . . . . . . . . . . . . 4

1.1.3 Cryptographie symetrique et cryptographie asymetrique . . . . . . . . 4

1.2 Buts de la cryptologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.1 Confidentialite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.2 Integrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.3 Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.4 Authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3 Fonctions de base en cryptologie . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3.1 Fonction a sens unique . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3.2 Fonction de hachage . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3.3 Fonction pseudo-aleatoire . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3.4 Permutation a sens unique . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.5 Fonction bilineaire admissible . . . . . . . . . . . . . . . . . . . . . . 6

1.3.6 Famille de fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.7 Fonction de padding . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4 Notions de complexite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4.1 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4.2 Algorithme polynomial ou sous-exponentiel . . . . . . . . . . . . . . . 7

1.4.3 Complexite d’un algorithme . . . . . . . . . . . . . . . . . . . . . . . 7

vii

Table des matieres

1.4.4 Reduction d’un probleme a un autre . . . . . . . . . . . . . . . . . . . 7

1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Chapitre 2.

Securite prouvee et cryptologie

2.1 Reduction de securite et securite prouvee . . . . . . . . . . . . . . . . . . . . 9

2.1.1 Reduction de securite et securite prouvee . . . . . . . . . . . . . . . . 9

2.1.2 Finesses des reductions de securite . . . . . . . . . . . . . . . . . . . . 10

2.1.3 Modele de securite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.1.4 Modele standard, modele de l’oracle aleatoire . . . . . . . . . . . . . . 10

2.2 Problemes cryptographiques difficiles . . . . . . . . . . . . . . . . . . . . . . 11

2.2.1 Problemes cryptographiques difficiles bases sur la factorisation . . . . 11

2.2.2 Problemes cryptographiques difficiles bases sur le logarithme discret . 12

2.2.3 Problemes cryptographiques difficiles avec fonction bilineaire . . . . . 13

2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Chapitre 3.

Resume de nos travaux

Partie II. Schema de signature a securite prouvee

Chapitre 4.

Introduction aux schemas de signature

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.1.1 Schemas de signature . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.1.2 Protocole d’identification a divulgation nulle de connaissance . . . . . 27

4.2 Σ-protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.2.1 Heuristique de Fiat-Shamir . . . . . . . . . . . . . . . . . . . . . . . . 29

4.2.2 Signatures a coupons . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.3 Securite des schemas de signature . . . . . . . . . . . . . . . . . . . . . . . . 30

4.3.1 Notions de securite pour les schemas de signature . . . . . . . . . . . 30

4.3.2 Σ-protocoles et lemme de bifurcation . . . . . . . . . . . . . . . . . . 32

4.3.3 Exemple de la securite de la primitive RSA . . . . . . . . . . . . . . . 32

4.4 Schemas de signature classiques avec oracles aleatoires . . . . . . . . . . . . . 33

4.4.1 Signature RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.4.2 Signature Schnorr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

viii

4.4.3 Signature GQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.4.4 Signature GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.4.5 Signature PS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.5 Preuves classiques de schemas de signature . . . . . . . . . . . . . . . . . . . 37

4.5.1 Preuve de RSA-FDH dans le modele de l’oracle aleatoire . . . . . . . . 37

4.5.2 Preuve de Schnorr dans le modele de l’oracle aleatoire . . . . . . . . . 38

4.6 Nos travaux sur les schemas de signature . . . . . . . . . . . . . . . . . . . . 40

Chapitre 5.

Une heuristique pour deriver des schemas de signature a reduction fine

5.1 Methode generique proposee . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.1.1 Notre construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.1.2 Securite de cette construction . . . . . . . . . . . . . . . . . . . . . . 44

5.2 Un exemple concret d’application de notre heuristique . . . . . . . . . . . . . 46

5.2.1 Un schema de signature a coupon, base sur le RSA et a reduction fine 46

5.2.2 Securite de notre exemple . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.2.3 Comparaison de notre schema avec RSA-PSS . . . . . . . . . . . . . . 48

5.2.4 Extensions a d’autres problemes cryptographiques . . . . . . . . . . . 50

5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Chapitre 6.

Un schema de signature efficace base sur le CDH

6.1 Le schema de signature EDL . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

6.1.1 Presentation du schema . . . . . . . . . . . . . . . . . . . . . . . . . . 52

6.1.2 Securite du schema EDL . . . . . . . . . . . . . . . . . . . . . . . . . 52

6.1.3 Caracteristiques du schema de signature EDL . . . . . . . . . . . . . . 54

6.2 Les schemas de signature de Katz-Wang . . . . . . . . . . . . . . . . . . . . . 54

6.2.1 Presentation du schema KW-CDH . . . . . . . . . . . . . . . . . . . . 55

6.2.2 Securite du schema KW-CDH . . . . . . . . . . . . . . . . . . . . . . . 55

6.2.3 Presentation du schema KW-DDH . . . . . . . . . . . . . . . . . . . . 57

6.2.4 Securite du schema KW-DDH . . . . . . . . . . . . . . . . . . . . . . . 58

6.3 Un nouveau schema de signature . . . . . . . . . . . . . . . . . . . . . . . . . 59

6.3.1 Une etape de notre construction . . . . . . . . . . . . . . . . . . . . . 60

6.3.2 Description de notre schema . . . . . . . . . . . . . . . . . . . . . . . 61

6.3.3 Preuve de securite de notre schema . . . . . . . . . . . . . . . . . . . 61

6.3.4 Utilisation de coupons dans notre schema . . . . . . . . . . . . . . . . 63

6.3.5 Taille des parametres . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

ix

Table des matieres

6.3.6 Comparaison de notre schema avec EDL, KW-CDH et autres schemas 65

6.3.7 Derniers raffinements . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

6.3.8 A propos du test d’appartenance de z a G . . . . . . . . . . . . . . . 66

6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Chapitre 7.

Un schema de signature dans le modele standard

7.1 Schema de signature dans le modele standard . . . . . . . . . . . . . . . . . . 70

7.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

7.1.2 Securite prouvee et modele standard . . . . . . . . . . . . . . . . . . . 70

7.2 Survol des schemas de signature bases sur FlexibleRSA . . . . . . . . . . . . . 71

7.2.1 Schema de signature Gennaro-Halevi-Rabin . . . . . . . . . . . . . . . 71

7.2.2 Schema des signatures jumelles GHR . . . . . . . . . . . . . . . . . . . 72

7.2.3 Schema de signature Cramer-Shoup . . . . . . . . . . . . . . . . . . . 73

7.2.4 Schema de signature Camenisch-Lysyanskaya . . . . . . . . . . . . . . 73

7.2.5 Schema de signature Fischlin . . . . . . . . . . . . . . . . . . . . . . . 74

7.3 Un nouveau schema de signature dans le modele standard . . . . . . . . . . . 74

7.3.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

7.3.2 Analyse de securite . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

7.3.3 Comparaison avec les autres schemas . . . . . . . . . . . . . . . . . . 77

7.3.4 Version en-ligne/hors-ligne . . . . . . . . . . . . . . . . . . . . . . . . 79

7.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

Partie III. Schema de chiffrement a securite prouvee

Chapitre 8.

Introduction aux schemas de chiffrement

8.1 Chiffrement a cle publique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

8.1.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

8.1.2 Notions de securite pour le chiffrement a cle publique . . . . . . . . . 86

8.2 Quelques cryptosystemes classiques . . . . . . . . . . . . . . . . . . . . . . . 88

8.2.1 Cryptosysteme RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

8.2.2 Cryptosysteme ElGamal . . . . . . . . . . . . . . . . . . . . . . . . . . 89

8.2.3 Cryptosysteme Paillier . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

8.3 Chiffrement base sur l’identite . . . . . . . . . . . . . . . . . . . . . . . . . . 90

8.3.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

x

8.3.2 Notions de securite pour le chiffrement base sur l’identite . . . . . . . 91

8.3.3 Cryptosysteme Boneh-Franklin . . . . . . . . . . . . . . . . . . . . . . 91

8.4 Nos travaux sur les schemas de chiffrement . . . . . . . . . . . . . . . . . . . 92

Chapitre 9.

Chiffrement ElGamal sans encodage dans le modele standard

9.1 Le cryptosysteme ElGamal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

9.1.1 Description du cryptosysteme ElGamal . . . . . . . . . . . . . . . . . 94

9.1.2 Le cryptosysteme ElGamal avec fonction de hachage . . . . . . . . . . 95

9.2 Chiffrement ElGamal sans encodage dans le modele standard . . . . . . . . . 95

9.2.1 La fonction Classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

9.2.2 Problemes de classe Diffie-Hellman . . . . . . . . . . . . . . . . . . . . 97

9.2.3 Chiffrement additif sans encodage . . . . . . . . . . . . . . . . . . . . 99

9.2.4 Chiffrement multiplicatif sans encodage . . . . . . . . . . . . . . . . . 99

9.2.5 Proprietes de nos schemas de chiffrement . . . . . . . . . . . . . . . . 100

9.3 Preuve de securite de nos schemas . . . . . . . . . . . . . . . . . . . . . . . . 100

9.4 Generalisation a Zpk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

9.5 Conclusion et problemes ouverts . . . . . . . . . . . . . . . . . . . . . . . . . 102

Chapitre 10.

Cryptographie basee sur l’identite avec reduction fine

10.1 Deux schemas classiques de chiffrement bases sur l’identite . . . . . . . . . . 105

10.1.1 Schema de Boneh-Franklin . . . . . . . . . . . . . . . . . . . . . . . . 106

10.1.2 Schema de Katz-Wang . . . . . . . . . . . . . . . . . . . . . . . . . . 106

10.2 Preuve fine pour un schema base sur l’identite . . . . . . . . . . . . . . . . . 108

10.2.1 Description du schema . . . . . . . . . . . . . . . . . . . . . . . . . . 108

10.2.2 Etude de la securite de ce schema . . . . . . . . . . . . . . . . . . . . 109

10.2.3 Reduction aux problemes classiques DBDH et GBDH . . . . . . . . . 113

10.3 Comparaison des schemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

10.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

Chapitre 11.

Padding universel optimal

11.1 Notions preliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

11.1.1 Redondance et entropie . . . . . . . . . . . . . . . . . . . . . . . . . . 118

11.1.2 Fonction de padding universel . . . . . . . . . . . . . . . . . . . . . . 118

11.1.3 Signature et chiffrement . . . . . . . . . . . . . . . . . . . . . . . . . . 119

xi

Table des matieres

11.1.4 Permutations sans griffe . . . . . . . . . . . . . . . . . . . . . . . . . . 119

11.2 Fonction de padding basee sur une permutation : OPbP . . . . . . . . . . . . 119

11.2.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

11.2.2 Analyse de securite . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

11.2.3 Taille des parametres et optimalite . . . . . . . . . . . . . . . . . . . . 121

11.3 Construction basee sur OAEP3 . . . . . . . . . . . . . . . . . . . . . . . . . . 122

11.3.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

11.3.2 Analyse de securite . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

11.3.3 Taille des parametres . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

11.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Partie IV. Resistance aux attaques a canaux caches

Chapitre 12.

L’atomicite : une solution generique et peu couteuse contre la SPA

12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

12.2 Atomicite face aux attaques a canaux caches . . . . . . . . . . . . . . . . . . 130

12.2.1 Blocs atomiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

12.2.2 Illustration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

12.2.3 Methodologie generale . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

12.3 Atomicite et exponentiations . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

12.3.1 Hypotheses de nos constructions . . . . . . . . . . . . . . . . . . . . . 133

12.3.2 Algorithmes generiques d’exponentiation a fenetre glissante . . . . . . 133

12.3.3 Algorithmes simplifies . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

12.4 Atomicite et courbes elliptiques . . . . . . . . . . . . . . . . . . . . . . . . . 135

12.4.1 Courbes elliptiques definies sur un corps premier . . . . . . . . . . . . 135

12.4.2 Courbes elliptiques definies sur un corps binaire . . . . . . . . . . . . 136

12.5 Version atomique de l’exponentiation MIST . . . . . . . . . . . . . . . . . . . 138

12.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

Chapitre 13.

Exponentiation intrinsequement protegee contre la DPA

13.1 Exponentiation intrinsequement aleatoire . . . . . . . . . . . . . . . . . . . . 143

13.1.1 Algorithmes classiques d’exponentiation . . . . . . . . . . . . . . . . . 143

13.1.2 Principe general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

13.2 Algorithmes basiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

xii

13.2.1 Premier algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

13.2.2 Second algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

13.3 Algorithmes avances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

13.3.1 Atomicite face aux attaques simples a canaux caches . . . . . . . . . 147

13.3.2 Reversibilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

13.3.3 Optimisations supplementaires . . . . . . . . . . . . . . . . . . . . . . 150

13.3.4 Temps moyen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

13.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

Conclusion generale

Bibliographie 157

Index 169

xiii

Table des matieres

xiv

Notations

p, q Des nombres premiersn Un nombre composite (et typiquement un module RSA)N∗ L’ensemble des entiers strictement positifsQRn L’ensemble des residus quadratiques modulo nG, Gp Des groupes〈g〉 Le groupe engendre par gFp Un corps premierZn L’anneau des entiers modulo nZ∗n Le groupe multiplicatif de l’anneau des entiers modulo n‖G‖ Le nombre d’elements d’un ensemble fini GLF , LG , LH Des listesx←R X L’element x est tire aleatoirement dans l’ensemble X

S Un schema de signatureZ Un protocole d’identificationE Un schema de chiffrementIBE Un schema de chiffrement base sur l’identiteSchema Le nom d’un schema, le plus souvent d’apres le nom de ses inventeurs

sk Une cle priveepk Une cle publiqueparams Des parametres d’un systemeID Une identite

O f(x) = O(g(x)) si ∃(k, x0),∀x > x0, f(x) 6 k g(x)e : G1 ×G2 → GT Une fonction bilineaire admissibleF , G, H Des fonctions de hachageΨ , ς Une fonction pseudo-aleatoire Ψ utilisant une cle ς[[·]], [[·]]k Des fonctions ClasseDLg(y) Le logarithme de y en base g⊕ L’operateur ou-exclusif〈x, y〉 Le nombre retrouve par la combinaison par theoreme des restes chinois

de x et yφ La fonction indicatrice d’Eulerλ La fonction de CarmichaelΦpk, ψsk Une permutation a sens unique a trappe Φpk, dont l’inverse est ψsk

xv

A, B Un attaquant, une reduction, un algorithmeSucc Le succes d’un attaquant, d’une reductionAdv L’avantage d’un attaquant, d’une reductionUBK,UF,EUF, sEUF Des notions de securite pour les schemas de signatureKOA,KMA,CMA Des ressources pour les attaquants des schemas de signatureUBK,OW, IND,NM Des notions de securite pour les schemas de chiffrementCPA,CCA Des ressources pour les attaquants des schemas de chiffrement

qs Le nombre de requetes autorisees a un oracle de signatureqh, qF , qG , qH Le nombre de requetes autorisees a un oracle de hachageqd Le nombre de requetes autorisees a un oracle de dechiffrementqe Le nombre de requetes autorisees a un oracle d’extraction de cle

P1 ⇐ P2 P1 se reduit a P2, c’est-a-dire que resoudre P2 permet de resoudre P1

P1 ⇔ P2 P1 et P2 sont equivalentspoly (`) Un polynome en `

DL Le probleme du logarithme discretDLx Le probleme du logarithme discret dans un groupe d’ordre secretDLn Le probleme du logarithme discret modulo un module RSA n

CDH Le probleme calculatoire Diffie-HellmanDDH Le probleme decisionnel Diffie-HellmanCCDH Le probleme calculatoire de la Classe Diffie-HellmanDCDH Le probleme decisionnel de la Classe Diffie-HellmanCBDH, BDH Le probleme calculatoire Diffie-Hellman bilineaireGBDH Le probleme echelon Diffie-Hellman bilineaireDBDH Le probleme decisionnel Diffie-Hellman bilineaireLBDH Le probleme calculatoire Diffie-Hellman bilineaire par liste

RSA Le probleme de la racine e-iemeFlexibleRSA Le probleme souple de la racine e-iemeFACT Le probleme de la factorisation de module RSADiv Le probleme de casser l’indivisibilite d’une fonction de hachage

Personne Le nom d’une personne

SPA Une attaque simple par canaux cachesDPA Une attaque differentielle par canaux caches

xvi

Premiere partie

Introduction generale

1

Chapitre 1

Introduction a la cryptologie

Sommaire

1.1 La cryptologie en quelques mots . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.1 Science du secret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.1.2 Cryptographie, cryptanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.1.3 Cryptographie symetrique et cryptographie asymetrique . . . . . . . . . . 4

1.2 Buts de la cryptologie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.1 Confidentialite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.2 Integrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2.3 Identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.4 Authentification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3 Fonctions de base en cryptologie . . . . . . . . . . . . . . . . . . . . . . 5

1.3.1 Fonction a sens unique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3.2 Fonction de hachage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3.3 Fonction pseudo-aleatoire . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.3.4 Permutation a sens unique . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.5 Fonction bilineaire admissible . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.6 Famille de fonctions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3.7 Fonction de padding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.4 Notions de complexite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4.1 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4.2 Algorithme polynomial ou sous-exponentiel . . . . . . . . . . . . . . . . . 7

1.4.3 Complexite d’un algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4.4 Reduction d’un probleme a un autre . . . . . . . . . . . . . . . . . . . . . 7

1.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

Ce chapitre constitue une tres courte introduction a la cryptologie. Il n’est pas un cours surle sujet, mais doit plutot etre vu comme un rapide survol de la cryptologie, et comme le moyende poser certaines notations utilisees dans le reste de cette these.

1.1 La cryptologie en quelques mots

1.1.1 Science du secret

La cryptologie est etymologiquement la science du secret. Ceci regroupe en fait de nombreusesnotions. Historiquement, la cryptologie a servi a securiser certaines transmissions militaires,c’est-a-dire a chiffrer des messages. Plus recemment, et notamment depuis l’avenement de l’ere

3

Chapitre 1. Introduction a la cryptologie

numerique, la cryptologie a connu d’autres usages, comme celui de la signature numerique oude l’identification des personnes.

De facon la plus simplifiee possible, la cryptologie consiste en la manipulation de donneesvariables, les messages et les identites, par des donnees constantes — secretes ou publiques —,les cles, au travers d’algorithmes, les schemas cryptographiques.

1.1.2 Cryptographie, cryptanalyse

La cryptologie regroupe deux sciences duales et etroitement liees : la cryptographie, qui estla science de la construction de schemas cryptographiques, et la cryptanalyse, qui est la sciencede l’etude des attaques sur ces schemas. Comme nous pouvons l’imaginer, ces deux sciencesne vont pas l’une sans l’autre, et parfois, la frontiere entre elles est tenue. Ainsi, par exemple,concevoir un schema resistant a tel ou tel type d’attaque, est-ce faire de la cryptographie ou dela cryptanalyse ?

1.1.3 Cryptographie symetrique et cryptographie asymetrique

Les schemas cryptographiques sont de nos jours de deux types. Le premier type est celuiqui existe depuis le debut de la cryptographie, des les temps antiques. Dans cette famille deschemas, deux entites partagent une meme cle, secrete pour les autres utilisateurs, et peuventainsi operer des operations symetriques chacune de leur cote, d’ou le nom de cryptographie a clesecrete ou cryptographie symetrique.

Le second type de schemas cryptographiques est tres recent, et a inaugure ce qui est parfoisappele l’ere moderne de la cryptographie. Cette forme de cryptographie a ete introduite parWhitfield Diffie et Martin Hellman, dans le celebre“New directions in cryptography”[DH76].Dans cette famille de schemas, deux cles coexistent, l’une privee, c’est-a-dire reservee a unutilisateur, et l’autre publique, c’est-a-dire connue de tous. Ce type de schema est tel que, pourcertaines operations, comme le chiffrement, seule la cle publique est necessaire, et que pourcertaines autres operations, comme le dechiffrement, la cle privee est indispensable. Ceci expliquele nom de cryptographie a cle publique ou de cryptographie asymetrique.

1.2 Buts de la cryptologie

Dans cette section, nous listons quelques-uns des principaux buts de la cryptologie, c’est-a-dire les services que la cryptologie delivre. Nous donnons egalement la ou les primitives usuel-lement utilisees pour atteindre chacun des buts cites.

1.2.1 Confidentialite

Comme evoque dans la section precedente, le but premier de la cryptologie a ete la confi-dentialite, c’est-a-dire l’echange entre entites de messages chiffres, qui, sans cle de dechiffrement,sont inintelligibles. La confidentialite est obtenue principalement au travers de schemas de chif-frement, qu’ils soient a cle secrete ou a cle publique.

1.2.2 Integrite

Un autre but de la cryptologie est l’integrite. Ceci designe le fait qu’une personne veuilles’assurer que le message recu n’a pas ete modifie par une tierce personne. L’integrite est geree

4

1.3. Fonctions de base en cryptologie

au travers de fonctions de hachage a cle secrete (en anglais, message authentication code, MAC),ou a l’aide de schemas de signature a cle publique.

1.2.3 Identification

L’identification est la partie de la cryptologie permettant de reconnaıtre une personne, autravers d’un secret qu’elle seule possede. Pour cela, la primitive cryptographique principale estle protocole d’identification. Un sous-type, appele protocole d’identification a divulgation nullede connaissance, est d’un interet plus particulier : dans ce type de protocole, le prouveur montrequ’il connaıt un secret associe a une donnee publique, sans rien devoiler de plus sur ce secret.

1.2.4 Authentification

Un dernier but de la cryptologie est l’authentification. Il s’agit la pour une personne de prou-ver qu’un message a bien ete envoye par elle. Cette notion est tres proche de l’identification,dans laquelle, en plus, un message interviendrait. L’authentification se gere en cryptographieprincipalement au travers de schemas de signature a cle publique. L’usage de schemas de signa-ture a cle publique plutot que de fonctions de hachage a cle secrete permet la non-repudiation,c’est-a-dire qu’une signature valide d’un message donne ne puisse etre contestee par le signataire.

1.3 Fonctions de base en cryptologie

Dans cette section, nous allons donner une definition informelle des fonctions les plus impor-tantes en cryptographie.

1.3.1 Fonction a sens unique

Une fonction f est a sens unique s’il est facile de calculer f(x) a partir de x, mais s’il estdifficile, etant donne g = f(x) pour un element x aleatoire, de trouver un x tel que f(x) = g.Les fonctions a sens unique sont la base de nombreuses primitives, aussi bien en cryptographiea cle secrete qu’en cryptographie a cle publique.

Une fonction a sens unique f est dite a trappe si, a l’aide d’un secret, appelee la trappe, il estpossible de calculer aisement un antecedent (appele pre-image) de tout element dans l’image def .

1.3.2 Fonction de hachage

Une fonction de hachage est une fonction creant une empreinte — appelee le hache — detaille fixe (typiquement, 128, 160 ou 256 bits) d’un message de taille arbitraire. Intuitivement,les fonctions de hachage doivent resister aux collisions, c’est-a-dire qu’il doit etre difficile pourun algorithme de creer deux messages differents ayant le meme hache. De meme, les fonctionsde hachage doivent etre a sens unique, c’est-a-dire qu’etant donne un hache, il doit etre difficiled’en trouver une pre-image.

1.3.3 Fonction pseudo-aleatoire

Une fonction est dite pseudo-aleatoire s’il est difficile de distinguer une sortie de cette fonctiond’une valeur aleatoire. Plus precisement, si un adversaire a acces a un oracle lui retournant soit

5

Chapitre 1. Introduction a la cryptologie

un alea, soit le resultat de la fonction pseudo-aleatoire, son avantage a deviner la nature del’oracle doit etre negligeable.

1.3.4 Permutation a sens unique

Une fonction a sens unique f est une permutation a sens unique si elle est bijective d’unensemble fini sur lui-meme.

Une permutation a sens unique est dite a trappe si la fonction f−1 est efficacement calculableavec un secret, ladite trappe. C’est notamment le cas de la fonction RSA (voir Section 4.4.1).

1.3.5 Fonction bilineaire admissible

Une fonction bilineaire admissible ‡ est une application e : G1 ×G2 → GT , ou G1, G2 et GT

sont trois groupes d’ordre q (notes multiplicativement), telle que la fonction e soit :

1. bilineaire : pour tout (u, v) ∈ G1 ×G2 et pour tout a, b ∈ Zq, e(ua, vb) = e(u, v)ab ;

2. non-degeneree : il existe un (u, v) ∈ G1 ×G2, tel que e(u, v) 6= 1 ;

3. calculable : il existe un algorithme efficace pour calculer e(u, v) pour tous (u, v) ∈ G1×G2.

Souvent, dans les constructions cryptographiques, les groupes G1 et G2 sont egaux. Notonsenfin que les fonctions bilineaires sont aussi appelees des couplages.

1.3.6 Famille de fonctions

En cryptographie, comme l’usage de cles est primordial, des familles de fonctions sont uti-lisees, plutot que des fonctions fixes. L’indice de la fonction choisie dans cette famille constituealors la cle. Ainsi apparaissent les familles de fonctions de hachage, les familles de fonctionspseudo-aleatoires, les familles de permutations a sens unique a trappe, etc.

1.3.7 Fonction de padding

Pour certaines constructions, comme nous le verrons dans la suite, il est parfois necessaired’utiliser des fonctions de padding ††. Ces fonctions assurent, comme les fonctions de hachage,une resistance a la malleabilite, mais sont, contrairement a ces dernieres, inversibles.

De facon generique, soient un ensemble de messages M, un ensemble d’aleas R, et un en-semble d’arrivee T . Une fonction de padding est une fonction injective µ : M×R → T , tellequ’il existe une fonction µ−1 : T → M∪ ⊥ qui soit publiquement calculable et qui retourneµ−1(t) = m si t = µ(m, r) et ⊥ si aucun antecedent n’existe.

Une fonction de padding est dite deterministe si l’ensemble des aleasR est vide ou reduit a unelement. Elle est dite probabiliste dans le cas contraire. Les fonctions de paddings probabilistesclassiques µ sont souvent telles qu’il existe une fonction inverse complete µ−1, telle que µ−1 :T → (M×R)∪⊥ soit publiquement calculable et qui retourne µ−1(t) = (m, r) si t = µ(m, r)et ⊥ si aucun antecedent n’existe

‡La mention “admissible” sera sous-entendue dans le reste de ce document.††Exceptionnellement, nous prefererons dans cette these la denomination anglaise plutot que sa terminologie

francaise : fonction de bourrage voire fonction de remplissage.

6

1.4. Notions de complexite

1.4 Notions de complexite

Enfin, cette derniere partie contient certaines notions primordiales de la theorie de la com-plexite.

1.4.1 Algorithme

Un algorithme est un ensemble d’instructions qui permettent le calcul d’une valeur de sortie,pour des donnees d’entree dans un certain ensemble. C’est une notion tres generique, et pour s’endonner une autre idee, il est possible de considerer qu’un algorithme est une sorte de programmeinformatique, permettant l’execution d’une tache — le calcul d’une certaine valeur de sortie —definie par des parametres d’entree.

Chaque algorithme est caracterise par un temps d’execution, calcule comme le nombre d’eta-pes elementaires dont il a besoin pour calculer la sortie. Comme ce temps peut dependre desdonnees d’entree et d’aleas internes, le temps d’execution moyen et le temps d’execution maximalsont distingues.

Certains algorithmes retournent, pour une meme entree, toujours la meme sortie : ils sontdits deterministes. Au contraire, un algorithme ne retournant pas toujours la meme valeur, pourune entree inchangee, est dit probabiliste.

1.4.2 Algorithme polynomial ou sous-exponentiel

Un algorithme est dit polynomial si son temps d’execution τ(`), pour des entrees de taille`, est majore par un polynome P en `, c’est-a-dire τ(`) 6 P (`). Ceci est note τ = poly (`). Lesalgorithmes polynomiaux sont les algorithmes qui sont consideres efficaces, que ce soit en cryp-tologie ou en mathematique en general. Deux algorithmes polynomiaux peuvent etre compares,et l’un dit plus efficace que l’autre, en comparant les degres et les coefficients des polynomes.

Un algorithme non-polynomial est dit sous-exponentiel si, pour des entrees de taille `, sontemps d’execution τ(`) peut etre majore par exp(f(`)), ou f(`) est une fonction telle que f(`) =o(`).

1.4.3 Complexite d’un algorithme

Certains algorithmes ne retournent pas toujours la/une valeur valide. Nous definissons alorsla probabilite de succes. Par extension, un algorithme retournant toujours une valeur correcteest dit avoir une probabilite de succes de 1.

Ainsi, pour mesurer l’efficacite d’un algorithme probabiliste, il faut envisager a la fois sontemps d’execution et sa probabilite de succes. La notion de complexite est alors utilisee : exprimeeen bits, elle correspond au logarithme, en base 2, du temps d’execution moyen divise par laprobabilite de succes. La complexite correspond au temps moyen necessaire pour obtenir unereponse valide.

Par consequent, pour un niveau de securite desire κ, il est dit qu’un schema est κ-sur s’iln’existe pas d’algorithme de complexite inferieure ou egale a κ qui attaque une de ses proprietesde securite.

1.4.4 Reduction d’un probleme a un autre

En theorie de la complexite, il est dit qu’un probleme P1 se reduit a un probleme P2, s’il estpossible de resoudre, en temps polynomial, P1 a l’aide d’un oracle resolvant P2. Ceci est note

7

Chapitre 1. Introduction a la cryptologie

P1 ⇐ P2.De meme, il est dit que deux problemes P1 et P2 sont equivalents si P1 se reduit a P2 et P2

se reduit a P1. Ceci est note P1 ⇔ P2.

1.5 Conclusion

Nous terminons ce chapitre en rappelant que, dans celui-ci, seules certaines notions elemen-taires ont ete abordees. Nous encourageons le lecteur a se tourner vers des ouvrages generauxde cryptologie pour plus d’informations sur les bases de la cryptographie [MOV97, Sti95], etpassons, chapitre suivant, a la notion de securite prouvee, avant d’entrer dans les Parties II, IIIou IV dans le detail de nos recherches.

8

Chapitre 2

Securite prouvee et cryptologie

Sommaire

2.1 Reduction de securite et securite prouvee . . . . . . . . . . . . . . . . . 9

2.1.1 Reduction de securite et securite prouvee . . . . . . . . . . . . . . . . . . . 9

2.1.2 Finesses des reductions de securite . . . . . . . . . . . . . . . . . . . . . . 10

2.1.3 Modele de securite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

2.1.4 Modele standard, modele de l’oracle aleatoire . . . . . . . . . . . . . . . . 10

2.2 Problemes cryptographiques difficiles . . . . . . . . . . . . . . . . . . . . 11

2.2.1 Problemes cryptographiques difficiles bases sur la factorisation . . . . . . . 11

2.2.2 Problemes cryptographiques difficiles bases sur le logarithme discret . . . 12

2.2.3 Problemes cryptographiques difficiles avec fonction bilineaire . . . . . . . . 13

2.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Dans ce chapitre, nous introduisons les bases de la securite prouvee appliquee a la cryptologie.Nous ne serons pas exhaustifs sur ce sujet, et renvoyons ainsi le lecteur a des ouvrages pluscomplets pour une vue plus detaillee de ce large sujet.

2.1 Reduction de securite et securite prouvee

2.1.1 Reduction de securite et securite prouvee

De facon informelle, la securite des schemas cryptographiques est prouvee en montrant quesi un adversaire peut violer une propriete de securite, alors il peut etre utilise pour resoudreun probleme algorithmique difficile — la nature meme de ces problemes etant detaillee dans laSection 2.2. Pour cela, un algorithme (la reduction) est construit ; il simule l’environnement del’attaquant, et a l’aide d’un ou plusieurs appels a l’attaquant, retrouve la solution au probleme.Comme les problemes sont choisis difficiles (ou plus precisement sont supposes difficiles, dansl’etat actuel des connaissances), il est possible d’en deduire par contraposee qu’un tel adversairen’existe pas.

Cette methodologie pour s’assurer de la securite d’un schema est appelee la securite prouvee.Certains, comme Neal Koblitz et Alfred Menezes dans [KM04], preferent parler de securitepar reduction, pour bien mettre en avant que la securite n’est pas absolue, mais n’est valide quesi l’hypothese de difficulte du probleme sous-jacent est verifiee.

9

Chapitre 2. Securite prouvee et cryptologie

2.1.2 Finesses des reductions de securite

La “qualite” d’une reduction de securite est mesuree en comparant la complexite de la reduc-tion et la complexite de l’attaque contre le schema cryptographique prouve par la reduction. Unereduction de securite est ainsi dite fine (en anglais, tight) quand le rapport entre ces complexitesest proche de 1. Au contraire, la reduction est dite lache (en anglais, loose) lorsque la complexitede la reduction est bien superieure a la complexite de l’attaque. La finesse d’une reduction estsouvent relative : nous parlons alors de reduction plus fine qu’une autre.

Cette notion de finesse permet de distinguer la securite asymptotique et la securite exacte :la premiere permettant de dire qu’un schema est sur “pour des cles assez grandes”, alors que laseconde permet de donner des tailles de cles effectives pour lesquelles le schema est κ-sur, pourun niveau de securite κ fixe.

2.1.3 Modele de securite

Comme defini dans la section precedente, une reduction doit utiliser un adversaire violant unepropriete de securite du schema considere. Une reduction est donc dependante des attaquantsconsideres. Aussi, une partie de la securite prouvee consiste a definir un modele de securite(encore appele scenario d’attaque) : ce modele comprend tout d’abord la definition des proprietesde securite desirees du schema — et ainsi, des buts d’un eventuel attaquant contre ces proprietes ;ensuite, le modele comprend la definition de l’environnement de l’attaquant, c’est-a-dire lesressources auxquelles ce dernier aura droit.

Ces modeles dependent du type de schema considere (schema de signature ou de chiffrementpar exemple), et seront donc detailles dans les parties specifiques II et III, pour les primitivesde signature et de chiffrement, respectivement.

2.1.4 Modele standard, modele de l’oracle aleatoire

Une etape importante dans l’avancee de la securite prouvee en cryptographie est due a MihirBellare et Phillip Rogaway [BR93], avec la formalisation du modele de l’oracle aleatoire.Notons que les premices de ce modele etaient apparus dans la publication [FS86] d’Amos Fiatet d’Adi Shamir.

Dans le modele de l’oracle aleatoire, les fonctions de hachage sont supposes parfaites, c’est-a-dire qu’il est considere que l’attaquant ne peut faire des calculs de haches qu’a travers des appelsa un oracle de hachage. Tout l’interet de ce modele consiste alors a profiter de ces oracles dansla construction de la reduction. En les definissant d’une certaine facon (qui doit malgre toutrester indistinguable d’une fonction parfaitement aleatoire), la reduction peut plus aisement soitsimuler l’environnement de l’attaquant, soit deduire de l’attaque de l’adversaire la solution a sonprobleme.

Nous ne rentrerons pas plus dans les details de la definition du modele de l’oracle aleatoire,mais renvoyons le lecteur a certaines parties (par exemple la Section 4.5 ou les Chapitres 5, 6, 10ou 11) de cette these pour en voir tout l’interet.

Le modele de l’oracle aleatoire est si puissant qu’il fut longtemps la seule facon de prouver lasecurite de schemas efficaces ‡. Pourtant, assez recemment (voir Chapitre 7 pour les schemas designature, ou le schema de chiffrement [CS98]), de nouveaux schemas ont ete proposes, avec unepreuve ne necessitant pas l’idealisation des fonctions de hachage. Dans ce cas, l’appellation demodele standard est utilisee, bien que le qualificatif “sans oracles aleatoires” soit parfois prefere.

‡Nous precisons ici que des schemas bases sur les arbres furent prouves surs sans ce modele des 1988 [GMR88,DN94, CD96, CG05]. Malheureusement, ils souffrent d’une certaine inefficacite.

10

2.2. Problemes cryptographiques difficiles

Lors de la comparaison de schemas a securite prouvee, il faut bien avoir a l’esprit que lemodele de l’oracle aleatoire est un modele idealise, dans lequel les fonctions de hachage sontparfaites. Avoir une preuve sans oracles aleatoires est un meilleur gage de securite, meme si aucunschema non-pathologique ‡ prouve dans le modele de l’oracle aleatoire n’a ete casse jusqu’ici. Unavantage neanmoins du modele de l’oracle aleatoire est qu’il permet des preuves relativementsimples (et donc aisement verifiables) de schemas tres pratiques, alors que la securite de schemasdans le modele standard est etablie parfois au depens de la simplicite.

2.2 Problemes cryptographiques difficiles

Comme nous l’avons precedemment evoque, la cryptographie a cle publique est basee sur lanotion de probleme suppose difficile.

Par definition, un probleme sera dit difficile s’il n’existe pas d’algorithme connu polynomialpour le resoudre. Ainsi, comme nous pouvons le voir, un probleme est dit difficile ou non sui-vant les connaissances scientifiques, a un moment donne. Autrement dit, l’evolution des savoirspourrait eventuellement changer la nature de certains problemes.

Dans cette section, nous rappelons quelques-uns des principaux problemes difficiles utilisesen cryptographie et que nous appellerons problemes cryptographiques.

2.2.1 Problemes cryptographiques difficiles bases sur la factorisation

La premiere famille de problemes cryptographiques est celle des problemes bases sur la facto-risation des entiers. Factoriser un nombre consiste a l’ecrire sous forme d’un produit de nombrespremiers. C’est un des problemes calculatoires qui ont ete etudies depuis le plus longtemps, mais,a ce jour, aucun algorithme polynomial pour le resoudre n’est connu.

Cette famille a ete utilisee de facon revolutionnaire dans [RSA78] par Ronald Rivest, AdiShamir et Leonard Adleman pour donner naissance aux premiers schemas de signature et dechiffrement a cle publique (voir Sections 4.4.1 et 8.2.1). Definissons tout d’abord ce qu’est unmodule RSA, ainsi qu’un sous-type de ces modules, les modules RSA forts (en anglais, safemodulus).

Definition 1 (Module RSA). Un module RSA de taille `n est un entier n = pq de `n bits,pour deux premiers distincts p et q.

Avant de definir ce qu’est un module RSA fort, rappelons qu’un premier p est fort si p−12 est

egalement premier.

Definition 2 (Module RSA fort). Un module RSA fort de taille `n est un entier n = pq de`n bits, pour deux premiers forts distincts p et q.

Nous considerons maintenant le probleme de la factorisation applique aux modules RSA.

Definition 3 (Factorisation – FACT). Soient n un module RSA. Le probleme de la factori-sation (sous-entendu, des modules RSA) est de decomposer n en un produit de deux facteurspremiers.

Le probleme RSA, sur lequel sont bases de nombreux schemas de chiffrement ou de signature,se definit alors comme suit [RSA78].

‡C’est-a-dire qui n’a pas ete cree de facon artificielle pour montrer une faiblesse du modele de l’oracle aleatoire.

11

Chapitre 2. Securite prouvee et cryptologie

Definition 4 (Racine e-ieme – RSA). Soient n un module RSA, y ∈ Z∗n, et e > 3 un entierpremier avec φ(n). Le probleme de la racine e-ieme est de trouver x ∈ Z∗n, tel que y = xe mod n.

Enfin, un troisieme probleme de cette famille a ete introduit [BP97, FO97].

Definition 5 (Probleme souple RSA – FlexibleRSA). Etant donne un module RSA fort n etun element y ∈ Z∗n, le probleme FlexibleRSA est de trouver un x ∈ Z∗n et un entier e > 1 tels quey = xe mod n.

De facon claire, nous avons de simples reductions entre ces problemes :

FlexibleRSA⇐ RSA⇐ FACT .

Chacun de ces problemes est suppose difficile, pour des modules equilibres, c’est-a-dire pourlesquels les tailles de p et de q sont a peu pres equivalentes. Plus precisement, il est conjecturequ’il n’existe pas d’attaquant qui puisse resoudre un de ces problemes avec une probabilite nonnegligeable, en un temps polynomial. Ces hypotheses sont appelees respectivement l’hypothesede difficulte de la factorisation, l’hypothese RSA et l’hypothese RSA forte ‡.

2.2.2 Problemes cryptographiques difficiles bases sur le logarithme discret

La seconde famille de problemes cryptographiques est celle des problemes bases sur le loga-rithme discret. C’est la famille qui a servi aux premieres constructions cryptographiques a clepublique, puisque c’est sur cette base que Whitfield Diffie et Martin Hellman ont construitl’echange de cle Diffie-Hellman [DH76].

Dans cette section, les groupes sont consideres cycliques et leur loi est notee multiplicative-ment.

Definition 6 (Logarithme discret - DL). Soient g un generateur d’un groupe G d’ordre q,et y un element du groupe G. Le probleme du logarithme discret dans G est de trouver x ∈ Zq,tel que gx = y.

La valeur x ainsi obtenue est appelee le logarithme discret de y en base g et est notee DLg(y).Un sous-probleme fut introduit plus tard, grace a l’invention par Taher ElGamal [ElG85] dupremier cryptosysteme base sur le logarithme discret (voir Section 8.2.2).

Definition 7 (Probleme calculatoire Diffie-Hellman - CDH). Soit g un generateur d’ungroupe G d’ordre q. Le probleme calculatoire Diffie-Hellman dans G est de calculer gab a partirde (g, ga, gb), pour des aleas a et b tires dans Zq.

La version decisionnelle de ce probleme est definie ci-dessous.

Definition 8 (Probleme decisionnel Diffie-Hellman - DDH). Soit g un generateur d’ungroupe G d’ordre q. Le probleme decisionnel Diffie-Hellman dans G est de distinguer les distri-butions (g, ga, gb, gab) et (g, ga, gb, gc), pour des aleas a, b et c tires dans Zq.

‡L’hypothese RSA forte stipule que le probleme FlexibleRSA est difficile. Cette denomination sera preferee a“hypothese FlexibleRSA”, pour bien preciser que ce qui est conjecture est plus fort.

12

2.2. Problemes cryptographiques difficiles

Nous avons de simples reductions entre ces problemes :

DDH⇐ CDH⇐ DL .

Chacun de ces problemes est suppose difficile, pour des groupes G bien choisis, tels que lessous-groupes de Z∗p d’ordre q, pour un grand premier p et un grand premier q divisant (p− 1),ou encore les points d’une courbe elliptique [Mil85, Kob87]. Il est ainsi conjecture qu’il n’existepas d’attaquant qui puisse resoudre un de ces problemes avec une probabilite non negligeable,en un temps polynomial. Ces hypotheses sont appelees respectivement l’hypothese de difficultedu logarithme discret, l’hypothese Diffie-Hellman et l’hypothese decisionnelle Diffie-Hellman.

Un dernier probleme, a la frontiere entre les problemes bases sur le logarithme discret etles problemes bases sur la factorisation, est apparu, depuis son utilisation par Marc Giraultdans [Gir90].

Definition 9 (Logarithme discret dans un groupe d’ordre secret - DLx). Soient g ungenerateur d’un groupe d’ordre secret G et y un element de G. Le probleme du logarithme discretdans le groupe d’ordre secret G est de trouver x, tel que gx = y.

Tout particulierement, les groupes d’ordre secret peuvent etre les sous-groupes de Z∗n, pourun module RSA n. Nous notons le probleme correspondant DLn. Nous avons alors une reductionsupplementaire :

FACT⇐ DLn .

En effet, si un algorithme A peut resoudre DLn pour un module n, il est possible de l’utiliserpour factoriser un module RSA n de `n bits. Pour cela, il suffit de prendre g ∈ Z∗n et r ∈0, 1`n+80, puis de calculer y = gr mod n. En donnant (g, y, n) a l’algorithmeA, celui-ci retourner′ tel que y = gr′ mod n. Or, dans y, seule l’information r modulo l’ordre de g peut etre accessiblea l’attaquant, et donc, sauf une probabilite plus petite que 2−80, r′ 6= r. Dans ce cas, r − r′ estun multiple non-nul de l’ordre de g. En renouvelant cette procedure plusieurs fois, et en utilisantl’algorithme de Garry Miller [Mil76], la factorisation de n est alors deduite.

2.2.3 Problemes cryptographiques difficiles avec fonction bilineaire

La troisieme et derniere famille de problemes cryptographiques dont nous parlerons dans cettethese est celle des problemes bases sur l’utilisation de fonctions bilineaires (voir Section 1.3.5).C’est la famille de problemes qui a permis l’invention des premiers cryptosystemes bases surl’identite [BF01, BF03] par Dan Boneh et Matthew Franklin (voir Section 8.3.3).

Dans cette section encore, les groupes sont consideres cycliques et leur loi est notee multipli-cativement. Les problemes les plus immediats, lorsque les fonctions bilineaires sont considerees,sont les suivants [Jou00, BF01].

Definition 10 (Probleme calculatoire Diffie-Hellman bilineaire - CBDH). Soient G1 etGT deux groupes d’ordre q, une application bilineaire e : G1 × G1 → GT et un generateur gde G1. Le probleme calculatoire Diffie-Hellman bilineaire est de calculer e(g, g)abc a partir de(g, ga, gb, gc), pour des aleas a, b et c tires dans Zq.

La version decisionnelle de ce probleme est definie ci-dessous.

13

Chapitre 2. Securite prouvee et cryptologie

Definition 11 (Probleme decisionnel Diffie-Hellman bilineaire - DBDH). Soient G1 etGT deux groupes d’ordre q, une application bilineaire e : G1 × G1 → GT et un generateurg de G1. Le probleme decisionnel Diffie-Hellman bilineaire est de distinguer les distributions(g, ga, gb, gc, e(g, g)abc) et (g, ga, gb, gc, e(g, g)d), pour des aleas a, b, c et d tires dans Zq.

Il existe egalement un probleme echelon entre les versions decisionnelles et calculatoires (enanglais, un probleme gap [OP01b]).

Definition 12 (Probleme echelon Diffie-Hellman bilineaire - GBDH). Soient G1 et GT

deux groupes d’ordre q, une application bilineaire e : G1 ×G1 → GT et un generateur g de G1.Le probleme echelon Diffie-Hellman bilineaire est de calculer e(g, g)abc, a partir de (g, ga, gb, gc)et d’un acces a un oracle resolvant le probleme DBDH, pour des aleas a, b et c tires dans Zq.

Nous avons de simples reductions entre ces problemes :

DBDH⇐ CBDH⇐ DLG1 et GBDH⇐ CBDH⇐ DLG1 .

Enfin, nous definissons ci-dessous un probleme qui simplifiera certaines de nos preuves dansla suite de cette these.

Definition 13 (Probleme calculatoire Diffie-Hellman bilineaire par liste - LBDH).Soient G1 et GT deux groupes d’ordre q, une application bilineaire e : G1 × G1 → GT et ungenerateur g de G1. Le probleme calculatoire Diffie-Hellman bilineaire par liste de taille ` estde calculer, a partir de (g, ga, gb, gc), une liste L, telle qu’un des elements de cette liste soite(g, g)abc, pour des aleas a, b et c tires dans Zq.

Ce dernier probleme est equivalent aux problemes DBDH et GBDH, comme nous le montre-rons Section 10.2.3.

2.3 Conclusion

Dans cette partie, nous avons rappele certaines notions de base de la securite prouvee. Nousavons insiste notamment sur les notions de reduction, de modele de securite, de modele del’oracle aleatoire et de modele standard. Nous avons egalement liste quelques-uns des problemescryptographiques les plus importants.

14

Chapitre 3

Resume de nos travaux

Dans ce chapitre, nous enumerons l’ensemble de nos travaux de these, dans l’ordre chrono-logique de leur publication. Nous detaillons d’avantage les publications que nous n’avons pasincluses dans ce memoire, par souci d’unite de sujet.

Multiplication double-taille a base de multiplieurs Euclidiens

Les dispositifs cryptographiques (comme les cartes a puce) possedent parfois, pour accelererles algorithmes a cle publique, des coprocesseurs cryptographiques. Ceux-ci permettent — entreautres — d’effectuer des operations modulaires sur des nombres de n bits. Malheureusement, lataille des cles utilisees augmente souvent plus vite que la taille de ces coprocesseurs hardware.Aussi, le developpeur se retrouve face au probleme d’emuler une multiplication modulaire de2n-bits, a l’aide de multiplications modulaires n-bits. Ce probleme s’appelle le doublement detaille (en anglais, size-doubling).

Une nouvelle technique de doublement de taille fut introduite a Ches ’02 par Wieland Fi-scher et Jean-Pierre Seifert. Leur technique utilise ce qui est appele un multiplieur Eucli-dien, qui calcule le quotient et le reste d’une multiplication modulaire, c’est-a-dire qui retourne,pour une entree (x, y, z), a la fois bxy/zc et xy mod z. Pour etre le plus generique possible,Wieland Fischer et Jean-Pierre Seifert montrent comment simuler une multiplication Eu-clidienne a l’aide de deux multiplications modulaires simples.

Dans une publication de Ches ’03 [CJP03], avec Marc Joye et Pascal Paillier, nous ame-liorons les algorithmes de Wieland Fischer et Jean-Pierre Seifert, en proposant des stra-tegies plus avancees qui minimisent le nombre d’appels aux operations elementaires, offrantainsi un gain en vitesse pouvant aller jusqu’a 57%. De plus, dans le cas ou les multiplicationsEuclidiennes sont elles-memes emulees au moyen de multiplications modulaires simples, nousproposons de nouveaux algorithmes qui ameliorent les solutions originales de Wieland Fischeret Jean-Pierre Seifert d’un facteur pouvant atteindre 71%.

Exponentiation intrinsequement protegee contre la DPA — Chapitre 13

En 1999, Paul Kocher, Joshua Jaffe et Benjamin Jun ont introduit les attaques differen-tielles par analyse de signaux caches (comme la consommation de courant ou les rayonnementselectromagnetiques), attaques notees DPA pour l’acronyme anglais Differential Power Analysis.Heureusement, il est possible de se proteger de ce type d’attaque, grace a la construction dehardware securise ou grace a la securisation software des algorithmes cryptographiques. Biensouvent, c’est l’utilisation conjointe de ces deux methodes qui est la plus efficace.

Une regle generale pour prevenir les attaques differentielles est de rendre les valeurs internesde l’algorithme le plus aleatoire possible.

15

Chapitre 3. Resume de nos travaux

Dans le cas du schema RSA, il y a ainsi deux facons de rendre aleatoire le calcul de y =xd mod n. Il est possible :

1. de rendre aleatoires les entrees avant l’algorithme d’exponentiation ; par exemple, en uti-lisant

(a) x← x+ r1 n pour un alea r1 de k bits

(b) d← d+ r2 φ(n) pour un alea r2 de k bits

et en evaluant alors y comme y = y mod n, avec y = xd mod 2kn ;

2. de rendre aleatoire l’algorithme d’exponentiation lui-meme.

La premiere approche presente l’avantage d’etre independante de la methode d’exponentia-tion. Malheureusement, un tel masquage de l’exposant d est limite aux mises en œuvre du RSAbasees sur le theoreme des restes chinois (CRT), comme l’ordre du groupe φ(n) est habituellementinconnu lors d’une exponentiation privee en mode standard (c’est-a-dire sans CRT).

Le meilleur exemple de la seconde approche est sans doute l’algorithme MIST, propose parColin Walter. MIST a ete concu pour generer aleatoirement une chaıne de division correspon-dant a l’exposant d, de facon a calculer xd mod n de facon aleatoire. Un autre exemple est uneversion amelioree de l’algorithme a fenetre glissante due a Kouichi Itoh, Jun Yajima, Masa-hiko Takenaka et Naoya Torii. La seconde approche permet de rendre aleatoire l’algorithmed’exponentiation sans la connaissance de φ(n), mais necessite, pour nos exemples, un algorithmede division sur contre les attaques a canaux caches ou un algorithme d’exponentiation pluscomplexe.

Dans une publication de Ct-rsa ’04 [Che04] nous introduisons une nouvelle methode pourrendre aleatoire une exponentiation, dans le but de se premunir des attaques differentielles, com-binant les avantages des deux approches. Comme dans la premiere approche, notre methode nerequiert pas une methode d’exponentiation particuliere. Comme dans la seconde approche, c’estl’algorithme lui-meme qui est la source de l’execution aleatoire (en particulier, notre methodene necessite pas la connaissance prealable de l’ordre du groupe φ(n)).

L’atomicite : une solution generique et peu couteuse contre la SPA— Cha-pitre 12

En 1996, Paul Kocher decrivit les attaques par mesure de temps et leur generalisation, lesattaques simples par analyse de signaux caches (comme la consommation de courant ou lesrayonnements electromagnetiques), notees SPA pour l’acronyme anglais Simple Power Analysis.

Une facon de se proteger de ce type d’attaques a fait l’objet d’une publication dans le journalIEEE Transactions on Computers, 53 [CCJ04], co-ecrite avec Mathieu Ciet et Marc Joye.Dans ce papier, nous introduisons de nouvelles methodes, efficaces et simples, pour transformerun algorithme cryptographique en un algorithme equivalent resistant aux attaques simples parcanaux caches. Contrairement aux solutions precedemment connues, la technique proposee nese fait pas au detriment du temps d’execution. De plus, notre technique est generique, et peutainsi s’appliquer a toutes sortes d’algorithmes.

En guise d’application, nous proposons plusieurs nouvelles routines d’exponentiation : unalgorithme binaire d’exponentiation gauche-droite, son equivalent droite-gauche, et plusieursalgorithmes a fenetre glissante. Nous illustrons egalement notre methodologie dans le cadre dela multiplication scalaire de points sur les courbes elliptiques. Tous les algorithmes presentes onten commun d’avoir une complexite approximativement egale a leur mise en œuvre non securisee.

16

Comment externaliser un programme ?

Dans une publication de Ches ’04 [CNPP04], avec David Naccache, Pascal Paillier etDavid Pointcheval, nous presentons un nouveau type d’objet securise, appele le micropro-cesseur externalise (XµP). Le XµP se differencie des cartes a puces ou des autres dispositifscryptographiques en ne contenant aucune memoire ROM (en anglais, read-only memory). Ainsi,le code que le XµP execute lui est donne par l’exterieur (un ordinateur appele le terminal), qui,potentiellement, est malveillant ou corrompu.

Bien qu’exporter tout le code executable d’un objet securise dans un terminal pose de vastesproblemes de securite, les avantages d’un produit sans ROM sont nombreux : le temps de mas-quage des puces ‡ disparaıt, la correction des erreurs software (les bugs) est ramenee a une simplemodification des codes stockes dans les terminaux, et ne necessite donc plus de couteux retraitsde produits sur le terrain. Encore mieux, la taille de code cesse d’etre un facteur limitant. Ceciest particulierement significatif, etant donne la tendance actuelle des systemes d’exploitation ase complexifier.

Nous introduisons une architecture pour le XµP, basee sur un systeme a cle publique de typeRSA. Le surplus de communication — entre le terminal et la carte — du a la securisation duprotocole est assez faible. Nous proposons deux protocoles permettant l’execution et l’authen-tification dynamique des programmes, exposons un modele de securite pour ces protocoles etprouvons leur securite sous des hypotheses appropriees.

Une heuristique pour deriver des schemas de signature a reduction fine— Chapitre 5

Les schemas bases sur le logarithme discret sont tres apprecies, notamment car ils permettentl’utilisation de coupons. Il est possible de prouver la securite de la plupart d’entre eux, dans lemodele de l’oracle aleatoire, en utilisant le lemme de bifurcation de David Pointcheval etJacques Stern. Malheureusement, la reduction de securite est alors lache. Au contraire, desschemas bases sur la factorisation, tels que RSA-PSS, permettent une reduction de securite fine,toujours dans le modele de l’oracle aleatoire. Cependant, dans ces schemas, il n’existe pas demoyen d’utiliser des coupons.

Dans une publication a la conference Acns ’05 [Che05b], nous proposons une heuristiqueutilisant un protocole d’identification a trois passes a divulgation nulle de connaissance et unschema de signature verifiant certaines proprietes de securite. Avec ces composantes, notre trans-formation permet d’obtenir un schema de signature a coupons, avec une reduction de securitefine, dans le modele de l’oracle aleatoire. Plus precisement, si ses deux composantes sont sures,notre schema de signature l’est aussi.

En application, nous proposons un schema de signature a coupons avec une reduction fine auprobleme RSA. Notre schema se compare tres bien a RSA-PSS, comme il possede une reductionaussi fine tout en apportant en plus l’usage de coupons pour de meilleures performances en-ligne.

Padding universel optimal — Chapitre 11

Lorsque la securite des schemas de chiffrement est consideree, l’indistinguabilite lors d’at-taques a chiffres choisis est la notion requise. De meme, pour la securite des schemas de signature,la resistance aux falsifications existentielles sous attaques a messages choisis est indispensable.Pourtant, la securite n’est pas la seule notion importante pour les schemas cryptographiques :toute bonne primitive se devrait d’etre rapide, avec une bande passante efficace, compacte encode et simple d’utilisation.

‡Le masquage est une etape assez longue et assez couteuse de la fabrication des cartes a puces.

17

Chapitre 3. Resume de nos travaux

Les deux premiers criteres sont habituellement les plus prises, et ont fait l’objet de nombreusespublications. Ainsi, apres le travail fondateur de Mihir Bellare et Phillip Rogaway, la rapiditeet la bande passante des schemas de signature ou de chiffrement ont ete etudie a travers laconception de nombreuses fonctions de padding.

A Crypto ’02, Jean-Sebastien Coron, Marc Joye, David Naccache et Pascal Paillieront introduit les paddings universels. Ce nouveau type de padding simplifie au maximum l’utili-sation, puisque les paddings universels peuvent etre communement utilises avec les primitives dechiffrement ou de signature. La premiere instance d’un tel padding fut proposee par ces auteursa l’aide d’une variante de PSS, appelee PSS-ES. Depuis, d’autres solutions ont vu le jour, etnotamment celle de Yuichi Komano et Kazuo Ohta, basee sur OAEP.

Dans un papier de la conference Acns ’05 [CPP05], avec Duong Hieu Phan et David Point-cheval, nous jetons un nouveau regard sur la notion de padding universel, en essayant d’op-timiser tous les criteres en meme temps. Ceci poursuit une idee qui permet de construire desschemas de chiffrement surs bases sur des paddings sans redondance.

Pour optimiser les criteres precedemment evoques, les paddings que nous proposons sontsimples, sans redondance pour le chiffrement et deterministes pour la signature. Nos propositionssont tres simples d’utilisation, car nous prouvons que l’utilisateur peut n’utiliser qu’une seulepaire de cles pour le chiffrement et la signature.

Plus precisement, nous etudions deux fonctions de paddings universels. La premiere estconstruite a l’aide d’une permutation sur tout le domaine, etudiee precedemment par LouisGramboulan pour une utilisation dans le cadre des schemas de signature et par Duong HieuPhan et David Pointcheval pour le chiffrement. Cette proposition peut etre prouvee optimaleen terme de bande passante, dans le modele de la permutation aleatoire, et a donc ete nommeeen anglais, Optimal Permutation-based Padding (OPbP). Notre deuxieme proposition est baseesur l’utilisation de la fonction de padding OAEP3, et sa securite est prouvee dans un modelemoins fort, le modele de l’oracle aleatoire.

Un schema de signature efficace base sur le CDH — Chapitre 6

Lors de la conference Eurocrypt ’03, Eu-Jin Goh et Stanislaw Jarecki ont montre que,contrairement aux autres schemas de signature bases sur le logarithme discret, le schema de si-gnature EDL avait une reduction de securite fine au probleme calculatoire Diffie-Hellman (CDH),dans le modele de l’oracle aleatoire. Ces auteurs ont egalement remarque que le schema de signa-ture EDL pouvait etre transforme en un schema de signature a coupons, en utilisant la techniquegenerique d’Adi Shamir et Yael Tauman, technique basee sur les fonctions de hachage cameleon.

Dans une publication de la conference Crypto ’05 [Che05a], nous proposons un nouveauschema de signature qui presente egalement une reduction de securite fine au probleme CDH,mais pour lequel les signatures produites sont plus courtes que celles d’EDL. De plus, de faconsimilaire au schema de signature Schnorr (mais contrairement a EDL), le schema propose permetl’utilisation de coupons de facon extremement naturelle, sans calculs supplementaires et sansque l’algorithme de verification ne soit modifie.

Dans le cas des courbes elliptiques, notre schema ameliore de 25% l’etat de l’art des schemasde signature bases sur le logarithme discret, tout en gardant le meme niveau de securite.

Chiffrement ElGamal sans encodage dans le modele standard — Chapitre 9

Le chiffrement ElGamal est l’alternative la plus courante au chiffrement RSA. Il est facilementadaptable a de nombreux groupes cryptographiques et possede des proprietes homomorphiques,tout en restant sur (au sens des attaques a clairs choisis) sous l’hypothese de difficulte duprobleme DDH dans le groupe choisi.

18

Malheureusement, l’usage en pratique du chiffrement ElGamal est complexe : les messagesdoivent etre encodes en elements du groupe avant le chiffrement proprement dit, ce qui requiertdes conversions incommodes, limite la taille des messages et peut meme detruire les proprieteshomomorphiques du schema. En utilisant des fonctions de hachage, il est certes possible depasser outre l’encodage du message en element du groupe, mais alors, la securite dans le modelestandard n’est plus assuree.

Dans une publication de la conference Pkc ’06 [CPP06], co-ecrite avec Pascal Paillieret David Pointcheval, nous introduisons une nouvelle alternative n’utilisant ni encodage desmessages en elements du groupe ni fonction de hachage, et restant ainsi totalement compatibleavec le modele standard. Partiellement homomorphique, notre variante du schema de chiffrementElGamal est comparable au schema originel en terme d’efficacite, tout en diminuant le rapportentre la taille du chiffre et la taille du clair (souvent appele le ratio de chiffrement) a la valeuroptimale de 2, alors que, pour des parametres classiques, le cryptosysteme ElGamal possede unratio de chiffrement de 13.

Cryptographie basee sur l’identite avec reduction fine — Chapitre 10

Dans un papier de Crypto ’01 reste depuis celebre, Dan Boneh et Matthew Franklin pro-poserent la premiere realisation pratique d’un schema de chiffrement base sur l’identite (IBE). Lasecurite de leur schema, au sens de l’indistinguabilite sous attaque a chiffres et identites choisis,est equivalente au probleme CBDH, dans le modele de l’oracle aleatoire. Cependant, la reductionproposee est loin d’etre fine.

Dans le Chapitre 10, en collaboration avec Nuttapong Attrapadung, Jun Furukawa, Ta-keshi Gomi, Goichiro Hanaoka, Hideki Imai et Rui Zhang [ACF+05], nous proposons desimples modifications au schema Boneh-Franklin permettant une reduction de securite fine. Notrevariante peut etre vue comme un schema IBE pour lequel, pour chaque identite, deux cles equi-valentes pourraient servir au dechiffrement. Chaque identite ne recoit qu’une seule de ces deuxcles, ce choix etant aleatoire et secret pour tout utilisateur autre que l’autorite et le detenteur.Notre construction est la continuation d’une idee introduite par Jonathan Katz et Nan Wang. Ence sens, notre travail ne definit pas completement un nouveau schema ; il doit plus etre considerecomme une poursuite de l’idee de ces deux auteurs, pour permettre d’obtenir une securite finepour un schema base sur l’identite, dans le modele de l’oracle aleatoire.

Proteger les elements publics de cles contre les fautes est necessaire

De nos jours, il est connu qu’un adversaire peut essayer de retrouver des informations secretesen provoquant des fautes durant un calcul cryptographique. Dans un article de la conferenceChes ’06 [BCCC06] co-ecrit avec Eric Brier, Mathieu Ciet et Christophe Clavier, nouspoursuivons un travail de Jean-Pierre Seifert, utilisant une faute sur des elements publicsdurant la verification de signature. Plus precisement, nous considerons l’analogue dans les calculsde signature.

Notre article introduit la premiere attaque par fautes applicable au RSA en mode standard(c’est-a-dire sans CRT), qui permet de retrouver l’exposant prive en ne corrompant qu’un ele-ment public de cle. En effet, a la maniere d’une attaque proposee par Jean-Pierre Seifertpermettant de faire accepter, grace a une faute, de fausses signatures, nous ne ciblons que lemodule RSA durant notre attaque.

Un des points forts de notre attaque est que les hypotheses sur les effets des fautes quenous provoquons sont tres limitees. En effet, dans un premier mode de notre attaque, nousn’avons besoin d’absolument aucune connaissance particuliere de l’effet de la faute pour retrouver

19

Bibliographie

l’exposant prive dans sa totalite. Dans un second mode, base sur un modele de faute permettantla definition de ce que nous appelons des dictionnaires, nous ameliorons l’attaque, en reduisantd’un facteur significatif le nombre de fautes necessaires. Toutes nos attaques sont tout a faitapplicables sur des produits non securises.

Notons que l’utilisation de paddings deterministes (comme RSA-FDH) ou probabilistes (com-me RSA-PFDH) n’a pas d’influence sur notre attaque, la seule impossibilite correspondant auxschemas probabilistes dans lesquels l’alea est retrouve dans la signature elle-meme (comme parexemple RSA-PSS). Tout ceci nous montre la necessite de securiser les elements publics des clescontre les fautes.

Un schema de signature dans le modele standard — Chapitre 7

En 1999, deux schemas de signature bases sur le probleme FlexibleRSA furent proposes inde-pendamment : le schema de signature de Rosario Gennaro, Shai Halevi et Tal Rabin (GHR)et le schema de signature de Ronald Cramer et Victor Shoup (CS). Ces schemas atteignent leniveau de securite le plus eleve dans le modele standard, c’est-a-dire sans avoir besoin d’oraclesaleatoires. Cependant, ces schemas different dans leur mise en œuvre. Le schema CS et ses va-riantes assurent une securite lache, qui, in fine, impose de prendre des parametres de securite plusgrands. Au contraire, le schema GHR ou sa variante, appelee signatures jumelles GHR, possedentune reduction fine, mais necessitent (i) soit une hypothese supplementaire et non-standard, de-nommee indivisibilite de la fonction de hachage (ii) soit l’usage d’une fonction injective dansl’ensemble des nombres premiers, lors des algorithmes de signature et de verification.

Dans une publication de Ct-rsa ’07 [CJ07], en collaboration avec Marc Joye, nous presen-tons une nouvelle variante du schema GHR, dans laquelle nous nous affranchissons completementde cette hypothese sur la fonction de hachage, sans pour autant utiliser une fonction injectivedans l’ensemble des premiers. Nous obtenons ainsi un nouveau schema de signature (ainsi qu’unevariante en-ligne/hors-ligne) dont la securite depend uniquement de la difficulte du problemeFlexibleRSA, et ceci au travers d’une reduction fine.

Bibliographie personnelle

Les references des travaux que nous avons publies dans des journaux ou des conferences aveccomite de selection sont les suivantes.

[BCCC06] Eric Brier, Benoıt Chevallier-Mames, Mathieu Ciet et Christophe Clavier.Why one should secure its public elements. Dans Cryptographic Hardware and Em-bedded Systems – CHES 2006, volume 4249 de Lecture Notes in Computer Science,pages 324–338. Springer-Verlag, 2006.

[Che04] Benoıt Chevallier-Mames. Self-randomized exponentiation algorithms. Dans To-pics in Cryptology – CT-RSA 2004, volume 2964 de Lecture Notes in ComputerScience, pages 236–249. Springer-Verlag, 2004.

[Che05a] Benoıt Chevallier-Mames. An efficient CDH-based signature scheme with a tightsecurity reduction. Dans Advances in Cryptology – CRYPTO 2005, volume 3621 deLecture Notes in Computer Science, pages 511–526. Springer-Verlag, 2005.

[Che05b] Benoıt Chevallier-Mames. New signature schemes with coupons and tight reduc-tion. Dans Applied Cryptography and Network Security – ACNS 2005, volume 3531de Lecture Notes in Computer Science, pages 513–528. Springer-Verlag, 2005.

[CCJ04] Benoıt Chevallier-Mames, Mathieu Ciet et Marc Joye. Low-cost solutions forpreventing simple side-channel analysis : Side-channel atomicity. IEEE Transactionson Computers, 53(6):760–768, 2004.

20

[CJ07] Benoıt Chevallier-Mames et Marc Joye. A practical and tightly secure signa-ture scheme without hash function. Dans Topics in Cryptology – CT-RSA 2007,Lecture Notes in Computer Science. Springer-Verlag, 2007. A paraıtre.

[CJP03] Benoıt Chevallier-Mames, Marc Joye et Pascal Paillier. Faster double-sizemodular multiplication from Euclidean multipliers. Dans Cryptographic Hardwareand Embedded Systems – CHES 2003, volume 2779 de Lecture Notes in ComputerScience, pages 214–227. Springer-Verlag, 2003.

[CNPP04] Benoıt Chevallier-Mames, David Naccache, Pascal Paillier et David Point-cheval. How to disembed a program ? Dans Cryptographic Hardware and EmbeddedSystems – CHES 2004, volume 3156 de Lecture Notes in Computer Science, pages441–454. Springer-Verlag, 2004.

[CPP06] Benoıt Chevallier-Mames, Pascal Paillier et David Pointcheval. Encoding-free ElGamal encryption without random oracles. Dans Public Key Cryptography– PKC 2006, volume 3958 de Lecture Notes in Computer Science, pages 91–104.Springer-Verlag, 2006.

[CPP05] Benoıt Chevallier-Mames, Duong Hieu Phan et David Pointcheval. Optimalasymmetric encryption and signature paddings. Dans Applied Cryptography andNetwork Security – ACNS 2005, volume 3531 de Lecture Notes in Computer Science,pages 254–268. Springer-Verlag, 2005.

Liste des brevets

Ci-dessous, nous denombrons les brevets publies desquels nous avons fait partie des inven-teurs.

Nos co-auteurs pour ces brevets sont, par ordre alphabetique, Marc Chancerel, Jean-Sebas-tien Coron, Nathalie Feyt, Marc Joye, David Naccache, Pascal Paillier, David Point-cheval, Florence Ques et Karine Villegas.

[01] Procede et dispositif de verification de donnees signees par groupe et application pour latransmission de donnees depuis une memoire annexe. Brevet francais. Numero de publica-tion : FR2831364.

[02] Procede de mise en œuvre, dans un composant electronique, d’un algorithme de cryptogra-phie et composant correspondant. Brevet francais. Numero de publication : FR2830146.

[03] Procede cryptographique protege contre les attaques de type a canal cache. Brevet francais.Numero de publication : FR2838210.

[04] Procede pour la mise en œuvre securisee d’un algorithme de cryptographie de type RSA etcomposant correspondant. Brevet francais. Numero de publication : FR2858496.

[05] Procede de realisation d’une multiplication modulaire et procede de realisation d’une mul-tiplication Euclidienne sur des nombres de 2n bits. Brevet francais. Numero de publication :FR2859030.

[06] Procede cryptographique d’exponentiation modulaire protege contre les attaques de typeDPA. Brevet francais. Numero de publication : FR2864390.

[07] Procede d’authentification dynamique de programmes par un objet portable electronique.Brevet francais. Numero de publication : FR2867929.

[08] Procede de realisation d’une operation de couplage sur une courbe elliptique, par un systemecomprenant une carte a puce et un lecteur de carte. Brevet francais. Numero de publication :FR2871970.

21

Bibliographie

[09] Procede de generation de signature a la volee avec preuve de securite. Brevet francais.Numero de publication : FR2874770.

[10] Procede de generation de signature avec preuve de securite ”tight”, procede de verificationet schema de signature associes bases sur le modele de Diffie-Hellman. Brevet francais.Numero de publication : FR2877788.

[11] Cryptographic method protected against covert channel type attacks. Brevet europeen.Numero de publication : EP1493078, US20050163312.

[12] Method for the secure application of a cryptographic algorithm of the RSA type and cor-responding component. Numero de publication : EP1652336, WO2005022820.

[13] Method of performing a modular multiplication and method of performing a euclideanmultiplication using numbers with 2n bits. Brevet europeen. Numero de publication :EP1656611, WO2005022378.

[14] Cryptographic method for modular exponentiation, protected against dpa-type attacks.Brevet europeen. Numero de publication : EP1695204, WO2005069122.

[15] A method of having programs dynamically authenticated by a portable elctronic object.Demande PCT. Numero de publication : WO2005101725.

[16] A method of having coupliing operation performed on an elliptical curve by a systemcomprising a smart card and a card reader. Demande PCT. Numero de publication :WO2005125085.

[17] A method of generating a signature on the fly with proof of security. Demande PCT. Numerode publication : WO2006045660.

22

Deuxieme partie

Schema de signature a securiteprouvee

23

Chapitre 4

Introduction aux schemas designature

Sommaire

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

4.1.1 Schemas de signature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

4.1.2 Protocole d’identification a divulgation nulle de connaissance . . . . . . . 27

4.2 Σ-protocole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.2.1 Heuristique de Fiat-Shamir . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.2.2 Signatures a coupons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

4.3 Securite des schemas de signature . . . . . . . . . . . . . . . . . . . . . . 30

4.3.1 Notions de securite pour les schemas de signature . . . . . . . . . . . . . . 30

4.3.2 Σ-protocoles et lemme de bifurcation . . . . . . . . . . . . . . . . . . . . . 32

4.3.3 Exemple de la securite de la primitive RSA . . . . . . . . . . . . . . . . . . 32

4.4 Schemas de signature classiques avec oracles aleatoires . . . . . . . . . 33

4.4.1 Signature RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

4.4.2 Signature Schnorr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4.4.3 Signature GQ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.4.4 Signature GPS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

4.4.5 Signature PS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

4.5 Preuves classiques de schemas de signature . . . . . . . . . . . . . . . . 37

4.5.1 Preuve de RSA-FDH dans le modele de l’oracle aleatoire . . . . . . . . . . 37

4.5.2 Preuve de Schnorr dans le modele de l’oracle aleatoire . . . . . . . . . . . 38

4.6 Nos travaux sur les schemas de signature . . . . . . . . . . . . . . . . . 40

Les schemas de signature constituent certainement la partie la plus utilisee de la cryptogra-phie asymetrique. Aussi, une premiere partie de notre travail de these a ete consacree a leuretude, de leur conception a leur preuve de securite. Ainsi, nous avons propose quelques nouvellesconstructions, avec, pour chacune, des avantages sur les schemas existants. Ce premier chapitreest consacre a certains rappels sur les schemas de signature, les chapitres suivants etant consacresa nos travaux dans ce domaine de la cryptologie.

4.1 Introduction

Dans cette premiere section, nous definissons plus precisement les notions elementaires quisont associees aux schemas de signature.

25

Chapitre 4. Introduction aux schemas de signature

4.1.1 Schemas de signature

Intuitivement, dans un schema de signature, une partie, appelee le signataire, genere, pourun message donne, une valeur, appelee signature. Pour cela, le signataire utilise sa cle privee.Ensuite, une autre partie, appelee le verifieur peut, a l’aide de la cle publique correspondante,verifier la validite de la signature.

Formellement, nous pouvons donner la definition suivante.

Definition 14 (Schema de signature). Un schema de signature est defini par les quatrealgorithmes suivants :

– L’initialisation des parametres SetS . Recevant en entree 1κ, l’algorithme SetS initialisedes parametres communs necessaires au schema ;

– La generation de cles GenS . Etant donne une entree 1κ, l’algorithme GenS produit unepaire de cles : pkS , la cle publique, et skS la cle privee correspondante ;

– L’algorithme de signature Sign. Etant donne un message m dans un ensemble de messagesM et une paire de cles (pkS , skS), l’algorithme Sign produit une signature σ ;

– L’algorithme de verification Verify. Etant donne une signature σ, un message m ∈ Met une cle publique pkS , l’algorithme Verify teste si σ est une signature valide de m sousla cle publique pkS .

Il existe des schemas de signature sans parametres communs, auquel cas l’algorithme d’initia-lisation des parametres est omis. S’il n’existe qu’une signature possible par message, l’algorithmede signature est dit deterministe ; dans le cas contraire, il est dit probabiliste.

Le concept de schema de signature (sous-entendu, a cle publique) fut concretise pour lapremiere fois par Ronald Rivest, Adi Shamir et Leonard Adleman dans un papier reste depuiscelebre [RSA78]. Ce schema, appele signature RSA du nom de ses auteurs, repose sur la difficultede la factorisation. Il fut decrit dans sa version originale sous une forme qui est maintenantappelee primitive RSA. Celle-ci est en effet sujette a des attaques, les notions de securite pourles schemas de signature (voir Section 4.3.1) n’ayant pas encore ete reellement definies en 1978.Le schema fut heureusement rendu conforme a ces notions de securite, comme nous le decrironsdans la Section 4.4.1, et c’est cette version securisee qui forme — avec une fonction de hachagecomme FDH ou une fonction de padding comme PSS — ce qui est maintenant appele signatureRSA.

La primitive RSA se decrit comme suit, pour une taille de cles de `n bits (typiquement,`n = 1024) :

Prim

itiv

eRSA

[RSA

78] Generation de cles : Pour generer une paire de cles, l’utilisateur choisit un

exposant public e > 2 impair, et genere un module RSA n = pq de `nbits (voir Definition 1), tel que (p− 1)(q − 1) et e soient premiers entreeux. Ensuite, l’utilisateur calcule d = e−1 mod (p− 1)(q − 1).La cle privee de l’utilisateur est d tandis que sa cle publique est (e, n).

Signature : Pour signer un message m ∈ M = Z∗n, l’utilisateur calcule lavaleur s = md mod n. La signature de m est s.

Verification : Pour verifier une signature s d’un message m, il suffit de ve-rifier si m = se mod n, auquel cas la signature est acceptee.

Avant d’aller plus loin dans l’etude des schemas de signature, nous voudrions introduire unautre type de protocole, interactif celui-ci, qui, comme nous le verrons dans la Section 4.2.1,peut etre relie aux schemas de signature.

26

4.1. Introduction

4.1.2 Protocole d’identification a divulgation nulle de connaissance

Les protocoles d’identification a divulgation nulle de connaissance (zero-knowledge identi-fication protocols, en anglais) furent inventes par Amos Fiat et Adi Shamir dans la publica-tion [FS86] comme un moyen de s’identifier, c’est-a-dire de prouver son identite a quelqu’un.Ces protocoles sont souvent vus comme des echanges (habituellement a trois ou quatre passes)entre un prouveur et un verifieur. Dans cette these, nous nous focaliserons sur les protocolesd’identification a divulgation nulle de connaissance a trois passes.

Protocole d’identification a divulgation nulle de connaissance. De facon intuitive,les protocoles d’identification a divulgation nulle de connaissance sont un moyen pour le prou-veur de convaincre qu’il connaıt un secret (et ainsi prouver son identite) sans reveler d’autreinformation que le fait qu’il connaisse ce secret. Plus precisement, les protocoles d’identificationa divulgation nulle de connaissance sont une preuve de connaissance qui, additionnellement,possede la propriete de divulgation nulle de connaissance.

Definition 15 (Protocole d’identification a divulgation nulle de connaissance). Unprotocole d’identification a divulgation nulle de connaissance (sous-entendu a trois passes) estdefini par les trois algorithmes suivants :

– L’initialisation des parametres SetZ . Recevant en entree 1κ, l’algorithme SetZ initialisedes parametres communs necessaires au protocole ;

– La generation de cles GenZ . Etant donne une entree 1κ, l’algorithme GenZ produit unepaire de cles : pkZ , la cle publique, et skZ la cle privee correspondante. De plus, cet algo-rithme definit des ensembles U , V , K et G, ainsi que des fonctions publiquement calculablessur ces ensembles U : K → U , VskZ : K ×G→ V et WpkZ : G× V → U ;

– Le protocole d’identification, defini par trois echanges et une verification finale :

1. Engagement. Le prouveur genere un alea k ∈ K, et envoie u = U(k) au verifieur ;

2. Challenge. Le verifieur s’assure que u ∈ U et envoie en retour un alea c ∈ G auprouveur ;

3. Reponse. Finalement, le prouveur calcule s = VskZ (k, c) et l’envoie au verifieur ;

4. Verification. Le verifieur s’assure alors que u =WpkZ (c, s) et s ∈ V .

Il existe des protocoles d’identification a divulgation nulle de connaissance sans parametrescommuns, auquel cas l’algorithme d’initialisation des parametres est omis.

Securite des protocoles d’identification a divulgation nulle de connaissance.Pour etre dit sur contre les verifieurs honnetes, un protocole d’identification a divulgation nullede connaissance doit posseder deux proprietes :

– la propriete de significativite (c’est-a-dire que la probabilite pour un attaquant de s’iden-tifier comme quelqu’un qu’il n’est pas est negligeable pour des parametres correctementchoisis). Grace a cette propriete, le protocole est une preuve de connaissance ;

– la propriete de simulabilite (c’est-a-dire qu’il est possible de simuler, et ceci de faconindistinguable, un echange entre un prouveur et un verifieur, en prenant (c, s) ∈ G × Valeatoirement, et en calculant u =WpkZ (c, s)). C’est la propriete qui assure une divulgationnulle de connaissance.

Pour etre sur contre les verifieurs malhonnetes, qui se caracterisent en ne choisissant pas lechallenge c de facon aleatoire, mais en fonction de l’engagement u, le protocole doit pouvoir etresimule sans supposer que c est aleatoire.

27

Chapitre 4. Introduction aux schemas de signature

Pour obtenir une telle securite pour un protocole deja sur contre les verifieurs honnetes, lemoyen le plus classique est de choisir l’espace G assez petit. Ainsi, le simulateur peut deviner,avec une probabilite non negligeable, le challenge c qui sera demande par le verifieur malhonnete.Si la valeur n’est pas celle esperee, le verifieur malhonnete est alors relance au meme point par lesimulateur, et la procedure est reiteree. Comme l’espace G est petit, la probabilite du simulateurde deviner cette valeur n’est pas negligeable, et le protocole peut ainsi etre simule. Cependant,comme le fait de choisir G petit diminue dans le meme temps la significativite d’un echangevalide, il est souvent necessaire en contrepartie de reiterer plusieurs fois le protocole, afin que lasignificativite du protocole sequentiel soit satisfaisante.

4.2 Σ-protocole

Parmi les protocoles d’identification a divulgation nulle de connaissance, il existe une sous-classe particulierement interessante, constituee de protocoles appeles les Σ-protocoles.

Definition 16 (Σ-protocole). Un Σ-protocole est un protocole d’identification a divulgationnulle de connaissance (a trois passes), possedant en plus la propriete de super-significativite :a l’aide de deux echanges corrects (u, c1, s1) et (u, c2, s2), avec c1 6= c2, il existe un algorithmepermettant (en temps polynomial) de retrouver la cle secrete skZ du prouveur.

Cette propriete additionnelle est remplie tres souvent par les protocoles d’identification adivulgation nulle de connaissance. Remarquons qu’elle implique notamment qu’un engagementne doit servir qu’une seule fois a s’identifier, sous peine de divulguer la cle privee.

Σ-protocoles classiques. Le premier Σ-protocole fut propose par Amos Fiat et Adi Shamirdans [FS86]. Ce protocole repose sur la difficulte de la factorisation et peut etre decrit commesuit :

Identif

icatio

nFS

[FS86] Generation de cles : Pour se creer une paire de cles, l’utilisateur genere un

module RSA n = pq, puis tire un alea s ∈ Z∗n, et calcule t = s2 mod n.Sa cle publique est (t, n) et sa cle privee est s.

Phase d’engagement : Pour s’engager, le prouveur tire un nombre aleatoirer ∈ Z∗n, et calcule u = r2 mod n. Il envoie alors u au verifieur.

Phase de challenge : Le verifieur choisit un bit aleatoire b ∈ 0, 1 et lerenvoie au prouveur.

Phase de reponse : Le prouveur calcule alors v = r sb mod n, qu’il renvoieau verifieur.

Verification : Le verifieur teste si v2 = u tb mod n.

Ce protocole doit etre execute (avec succes) un certain nombre de fois consecutives, avantque le verifieur n’accepte finalement l’identification du prouveur. En effet, pour chaque tour,l’attaquant pourrait tenter de deviner le challenge b qui lui sera pose, calculer l’engagementu = r2 tb mod n et donner la reponse v = r tb mod n, et obtenir ainsi une probabilite de succesde 1

2 . En executant i tours de suite, la significativite est accrue jusqu’a 1− 2−i.Ce protocole sequentiel est sur contre les verifieurs malhonnetes sous l’hypothese de difficulte

de la racine carree [Poi96], que nous rappelons etre equivalente a la factorisation [Rab79].

28

4.2. Σ-protocole

Un autre celebre Σ-protocole fut propose par Claus-Peter Schnorr dans [Sch91]. Il reposesur la difficulte du logarithme discret. Sa version sure contre les verifieurs honnetes se decritcomme suit :

Identif

icatio

nSch

nor

r[S

ch91] Initialisation des parametres : Un premier p de `p bits est choisi, tel que

p− 1 soit divisible par un premier q de `q bits. Une base g ∈ Z∗p d’ordreq est tiree aleatoirement.

Generation de cles : Pour generer une paire de cles, l’utilisateur tire unalea x ∈ Zq. Sa cle privee est x et sa cle publique est y = gx mod p.

Phase d’engagement : Pour s’engager, le prouveur tire un nombre aleatoirek ∈ Zq, et calcule u = gk mod p. Il envoie alors u au verifieur.

Phase de challenge : Le verifieur choisit un nombre aleatoire c ∈ Zq et lerenvoie au prouveur.

Phase de reponse : Le prouveur calcule alors s = k + c x mod q, qu’il ren-voie au verifieur.

Verification : Le verifieur teste si u = gs y−c mod p, auquel cas l’identifica-tion est reussie.

Le protocoles d’identification Schnorr est un Σ-protocole : a l’aide de (u, c1, s1, c2, s2), telsque u = gs1y−c1 = gs2y−c2 et c1 6= c2 (mod q), nous pouvons retrouver le logarithme de y enbase g (c’est-a-dire la cle x) par la formule x = s1−s2

c1−c2mod q.

Remarquons que ce protocole est sur contre les verifieurs honnetes. Par contre, pour etre surcontre les verifieurs malhonnetes, il faut definir l’espace du challenge non plus comme Zq maiscomme 0, 1t, pour un t petit, et reiterer le protocole i fois de facon sequentielle, de facon aobtenir une significativite de 1− 2−it.

Pour finir, notons que ce protocole d’identification se generalise a d’autres groupes que lessous-groupes de Z∗p, et notamment aux courbes elliptiques. Dorenavant, nous prendrons doncpour le protocole Schnorr un groupe quelconque G d’ordre premier q.

Dans la section suivante, nous presentons le lien essentiel qui a ete fait entre les schemas designature et les protocoles d’identification a divulgation nulle de connaissance.

4.2.1 Heuristique de Fiat-Shamir

Il existe une celebre heuristique [FS86], appelee heuristique de Fiat-Shamir du nom de sesauteurs Amos Fiat et Adi Shamir, qui permet de transformer un protocole d’identification adivulgation nulle de connaissance (a trois passes) sur contre les verifieurs honnetes en un schemade signature.

Le but de cette transformation est de rendre le protocole non-interactif. Pour cela, le principeest d’utiliser une fonction de hachage G, et de remplacer le challenge c (qui, normalement,viendrait d’un verifieur honnete, et serait donc aleatoire) par le hache du message m et del’engagement u, c’est-a-dire G(m,u). La signature ainsi obtenue (c, s) peut etre verifiee en testantsi G(m,WpkZ (c, s)) = c.

Intuitivement, si la fonction de hachage est suffisamment sure, c’est-a-dire se comportecomme une fonction aleatoire, le challenge ainsi calcule sera aussi aleatoire que celui qui au-rait ete retourne par un verifieur honnete, et trouver la reponse correspondante a ce challengesera aussi difficile que trouver la reponse lors du protocole d’identification (voir la Section 4.3.2pour une etude formelle de la securite des signatures basees sur l’heuristique Fiat-Shamir).

29

Chapitre 4. Introduction aux schemas de signature

Ainsi, le protocole d’identification a divulgation nulle de connaissance Schnorr utilise aveccette heuristique donne lieu au schema de signature Schnorr, decrit ci-dessous.

Sig

nature

Sch

nor

r[S

ch91] Initialisation des parametres : Un groupe G d’ordre premier q est choisi,

ainsi qu’un generateur g. De plus, un ensembleM = 0, 1`m est defini,et une fonction de hachage G :M×G→ Zq est choisie.

Generation de cles : Pour generer une paire de cles, l’utilisateur tire unalea x ∈ Zq. Sa cle privee est x et sa cle publique est y = gx.

Signature : Pour signer un message m ∈ M, l’utilisateur tire un nombrealeatoire k ∈ Zq, calcule u = gk, puis c = G(m,u) et s = k + c x mod q.La signature du message m est alors σ = (s, c).

Verification : Pour verifier une signature σ = (s, c) d’un message m, il fautcalculer u′ = gs y−c. La signature est alors acceptee si et seulement sic = G(m,u′).

4.2.2 Signatures a coupons

Les schemas de signature derives des protocoles d’identification a divulgation nulle de con-naissance sont d’un grand interet, notamment parce qu’ils permettent l’usage de coupons : ainsi,la premiere phase, qui consiste a calculer u = U(k) peut etre executee avant la connaissancedu message m. Une fois calculee, cette valeur, appelee un coupon, est stockee pour etre utiliseedans le futur ‡. La signature est calculee plus tard, lorsque le message m a signer est presente,via le calcul de c = G(m,u) et de s = VskZ (k, c). Cette seconde phase, qui depend du message,est bien plus rapide que la premiere phase, du moins pour les protocoles usuels d’identificationa divulgation nulle de connaissance, comme le protocole Schnorr.

De telles signatures sont appelees dans la litterature “signatures a coupons”, “signaturesen-ligne/hors-ligne”, ou encore “signature a la volee”. Elles sont particulierement efficaces etinteressantes pour des environnements contraints comme celui de la carte a puce et trouventainsi de nombreuses applications, dans le domaine des transports notamment.

4.3 Securite des schemas de signature

Apres avoir etabli un panorama rapide de la notion de schema de signature, nous nousinteressons dans cette section a leur securite.

4.3.1 Notions de securite pour les schemas de signature

Un schema de signature doit etre protege contre differentes attaques. Pour cela, de nom-breuses notions de securite ont ete definies, basees principalement sur le travail de Shafi Gold-wasser, Silvio Micali et Ronald Rivest [GMR84, GMR88].

La resistance des schemas de signature s’evalue dans differents scenarios d’attaque (ou mo-deles de securite). Chaque scenario est defini en donnant a l’attaquant un but, c’est-a-dire ce qu’ilva chercher a mettre en defaut dans le systeme, et des ressources, c’est-a-dire les informationset les moyens auxquels il aura acces pour realiser son attaque.

‡Bien sur, si le protocole est un Σ-protocole, la propriete de super-significativite impose de n’utiliser un couponqu’une seule fois.

30

4.3. Securite des schemas de signature

Ressources de l’attaquant. Les ressources disponibles peuvent etre de differentes natures.Dans un premier mode, l’attaquant ne recoit que la cle publique du signataire. Clairement,c’est l’information minimale pour realiser une attaque. Cela caracterise les attaques a cle seuleou attaques sans message, notees KOA (en anglais, key-only attack) ou NMA (en anglais, no-message attack).

Un mode superieur est celui ou l’attaquant connaıt des couples message-signature. Ceci esttres realiste, car, par definition, une signature est publique, pour etre verifiable par tout le monde.Ce sont les attaques a messages connus, notees KMA (en anglais, known-message attack).

Enfin, les ressources les plus puissantes qu’il est possible de donner a un attaquant sontun acces a un oracle de signature, limite seulement en nombre de requetes. L’attaquant peutalors demander la signature d’un ensemble de messages de son choix. C’est l’attaque a messageschoisis. Il existe deux facons de gerer ces requetes : soit l’ensemble des messages est donne en uneseule fois, ce qui est appele attaque non-adaptative, soit l’attaquant peut choisir le message dontil demande la signature en fonction des reponses qu’il a recues precedemment. Ces dernieresressources forment les attaques adaptatives a messages choisis, et sont les ressources les pluspuissantes qui peuvent etre fournies a un attaquant. Elles sont notees CMA (en anglais, chosen-message attack).

But de l’attaquant. Une fois ses ressources fournies, l’attaquant va tenter d’atteindre unbut. Pour chacun de ces buts, une notion de securite correspondant a l’impossibilite de le realiserest alors definie.

Le but le plus immediat est de retrouver la cle de signature. La notion de securite cor-respondante, la resistance de la cle, est notee UBK (en anglais, unbreakability). Cette notionest la premiere qui soit apparue, sans doute des l’invention de la cryptographie a cle publiquepar Whitfield Diffie et Martin Hellman [DH76]. Il existe neanmoins des buts plus faciles aatteindre pour un attaquant, et qui pourtant peuvent conduire a des failles de securite.

Le but suivant est d’etre capable de signer n’importe quel message. La notion associee est laresistance aux falsifications universelles et est notee UF (en anglais, unforgeability). Realiser cebut est largement suffisant pour n’importe quel attaquant, car cela lui permet de signer n’importequel message : le fait que, pour cela, il ait besoin ou non de retrouver la cle privee n’est doncpas crucial pour lui.

Enfin, le troisieme but possible pour l’attaquant est d’etre capable de signer un message deson choix, dont il n’aurait pas deja recu la signature. La notion de securite correspondante estla resistance aux falsifications existentielles et est notee EUF (en anglais, existential unforgeabi-lity). Un attaquant qui realiserait ce but ne remettrait pas en jeu toute utilisation du schemade signature, par exemple si le message signe n’avait pas de sens. Cependant, un schema quiresisterait a ce but serait ipso facto resistant aux buts plus consequents.

Nous pouvons noter qu’un quatrieme but est apparu (pour les schemas probabilistes), celuid’arriver a exhiber un couple message-signature qui n’aurait pas ete donne a l’attaquant parl’oracle de signature. La notion de securite associee est la resistance forte aux falsificationsexistentielles et est notee sEUF (en anglais, strong existential unforgeability). Elle se distinguede EUF, car l’attaquant peut retourner dans sa falsification un message dont il aurait recu unesignature, si la signature presentee est nouvelle : la falsification existentielle est alors dite faible.Neanmoins, exhiber des falsifications faibles remet difficilement en jeu la securite d’un systemedans le monde reel. La notion sEUF est toutefois parfois utilisee, car elle implique les autresnotions.

31

Chapitre 4. Introduction aux schemas de signature

Schema de signature sur. Chaque attaquant est ainsi mesure en lui adjoignant la notion desecurite qu’il cherche a mettre en defaut et des ressources : nous notons alors chaque attaqueNotion-Ressource, ou Notion ∈ UBK,UF,EUF, sEUF et Ressource ∈ KOA,KMA,CMA. Il est denos jours habituel de demander qu’un schema de signature resiste aux falsifications existentiellessous attaques adaptatives a messages choisis.

Ainsi, nous dirons qu’un schema de signature est sur s’il protege des falsifications existen-tielles sous attaques (sous-entendu, adaptatives) a messages choisis (c’est-a-dire les attaquesEUF-CMA). Ceci est mesure par la probabilite pour n’importe quel attaquant A de retournerune signature valide σ d’un message m qu’il n’a jamais soumis a l’oracle de signature. Cetteprobabilite est calculee en donnant a l’attaquant un temps raisonnablement limite pour realiserson attaque et un maximum de qs requetes a l’oracle de signature :

SuccEUF-CMAS (A, qs) = Pr

[(pkS , skS)← GenS(1κ), (m,σ)← ASignskS (·)(pkS) :

VerifypkS (m,σ) = True

].

Dans le modele de l’oracle aleatoire [BR93], l’adversaire A a egalement acces a un oracle dehachage, auquel il peut faire qh requetes.

4.3.2 Σ-protocoles et lemme de bifurcation

Une facon generique de prouver la securite de certains schemas de signature est le lemme debifurcation de David Pointcheval et Jacques Stern [PS96, Poi96]. Ce lemme s’applique surce que ces auteurs ont appele des schemas de signature generiques, dont font notamment partieles schemas de signature bases sur l’application de l’heuristique Fiat-Shamir a des Σ-protocoles.

Ce lemme permet d’etablir la securite de tels schemas, dans le modele de l’oracle aleatoire.L’intuition est d’utiliser, dans une premiere etape, un attaquant contre le schema de signaturepour obtenir une premiere falsification, puis, dans une seconde etape, appelee etape de rejeu, deredemarrer cet attaquant avec le meme ruban aleatoire, pour obtenir une seconde falsification.Le point crucial est de repondre dans la seconde etape differemment aux requetes a l’oracle dehachage, ce qui est tout a fait possible dans le modele de l’oracle aleatoire.

Les auteurs ont alors prouve que la probabilite d’obtenir deux falsifications (u, c1, s1) et(u, c2, c2) avec c1 6= c2 etait non negligeable, et pouvait etre, suivant differents modes de leurlemme en O( ε2

qh) ou en O( ε

qh). Pour plus de precision sur le lemme de bifurcation, nous invitons

le lecteur interesse a consulter la these de David Pointcheval [Poi96].

Finesse des preuves basees sur le lemme de bifurcation. Le lemme de bifurcationest tres generique, et s’applique donc a nombre de schemas de signature. Malheureusement, lareduction de securite qu’il assure est loin d’etre fine. En effet, un attaquant qui attaque unschema avec une certaine probabilite est transforme en un attaquant qui retrouve la cle duschema avec une probabilite bien plus faible.

4.3.3 Exemple de la securite de la primitive RSA

Nous terminons notre section sur la securite des schemas de signature en etudiant la securitede la primitive RSA (comme decrite dans la Section 4.1.1). Cela nous permet de donner unexemple concret des differents scenarios d’attaque.

Il est possible de montrer que la resistance de la primitive RSA face aux attaques UBK-KOAest egale a la difficulte du probleme FACT [May04, CM04]. De meme, le probleme RSA peut etrereduit au probleme d’attaquer la securite UF-KOA.

32

4.4. Schemas de signature classiques avec oracles aleatoires

Par contre, la primitive RSA n’a aucune securite contre les attaquants EUF-KOA : en effet,avec la cle publique (n, e) d’un utilisateur, un attaquant peut facilement prendre un alea r ∈ Z∗n,puis calculer m = re mod n. Trivialement, σ = r est une falsification existentielle du message m.

De meme, la primitive RSA n’a aucune securite contre les attaquants UF-CMA, ou l’attaquantn’a le droit qu’a une requete de signature : en effet, avec la cle publique (n, e) d’un utilisateur,un attaquant, cherchant a creer la signature d’un message m ∈ Z∗n qu’il a choisi, peut facilementprendre un alea r ∈ Z∗n, puis demander la signature du message m′ = mre mod n. Une foisconnue la signature σ′ de m′, il peut alors en deduire la signature σ = σ′ r−1 mod n du messagem qu’il ciblait.

Heureusement, la primitive RSA a ete renforcee, grace a l’utilisation de fonctions de padding,donnant lieu a ce que, aujourd’hui, nous appelons les signatures RSA. Ces schemas de signaturesont decrits plus precisement dans la Section 4.4.1.

4.4 Schemas de signature classiques avec oracles aleatoires

Dans cette section, nous rappelons quelques schemas de signature dont la securite a eteprouvee dans le modele de l’oracle aleatoire. Cette liste ne saurait bien sur etre exhaustive, maisnous esperons qu’elle donne un panorama representatif des schemas de signature existants.

Recemment [GHR99, CS99, CL02, Fis03, BB04, Wat05], de nouveaux schemas de signature,avec une preuve dans le modele standard, sont apparus. Certains d’entre eux, ayant un rapportetroit avec le travail expose dans cette these, sont discutes dans la Section 7.2. Pour les autres,nous conseillons au lecteur interesse de se referer aux articles correspondants.

4.4.1 Signature RSA

Nous rappelons que la primitive RSA fut inventee par Ronald Rivest, Adi Shamir et Leo-nard Adleman dans [RSA78]. Cette construction fut sujette aux attaques decrites dans la Sec-tion 4.3.3. Heureusement, des solutions ont ete proposees, et principalement l’usage d’une fonc-tion qui casse la malleabilite de la fonction RSA : la fonction de padding (voir Section 1.3.7).

L’utilisation de la fonction de padding donne lieu a ce qui est appele aujourd’hui la signatureRSA. La fonction probabiliste de padding standardisee est appelee PSS, et l’ensemble forme lasignature RSA-PSS [BR96]. RSA-PSS possede, dans le modele de l’oracle aleatoire une reductionfine vers le probleme RSA [BR96].

Sig

.RSA

-PSS

[RSA

78,B

R96] Initialisation des parametres : Le padding PSS est defini par deux fonc-

tion µ :M×R→ 0, 1`n−1 et µ−1 : 0, 1`n−1 →M∪ ⊥.Generation de cles : Pour generer une paire de cles, l’utilisateur choisit un

exposant public e > 2 impair, et genere un module RSA n = pq de `nbits (voir Definition 1), tel que (p− 1)(q − 1) et e soient premiers entreeux. Ensuite, l’utilisateur calcule d = e−1 mod (p− 1)(q − 1).La cle privee de l’utilisateur est d tandis que sa cle publique est (e, n).

Signature : Pour signer un message m ∈M, l’utilisateur tire un alea r ∈ Ret calcule la valeur s = µ(m, r)d mod n. La signature de m est s.

Verification : Pour verifier une signature s d’un message m, il suffit de cal-culer v = se mod n. Si et seulement si µ−1(v) = m, la signature estacceptee.

33

Chapitre 4. Introduction aux schemas de signature

Plutot qu’une fonction de padding, une simple fonction de hachage peut egalement etreutilisee. La plus courante dans le cas du RSA est la fonction de hachage sur le domaine complet(en anglais, Full-Domain Hash, notee FDH), donnant lieu a la signature RSA-FDH [BR93].

Sig

.RSA

-FD

H[R

SA

78,B

R93] Initialisation des parametres : Une famille de fonctions de hachage sur

tout le domaine Hn :M→ Z∗n est definie.

Generation de cles : Pour generer une paire de cles, l’utilisateur choisit unexposant public e > 2 impair, et genere un module RSA n = pq de`n bits, tel que (p − 1)(q − 1) et e soient premiers entre eux. Ensuite,l’utilisateur calcule d = e−1 mod (p− 1)(q − 1).La cle privee de l’utilisateur est d tandis que sa cle publique est (e, n).

Signature : Pour signer un message m ∈ M, l’utilisateur calcule la valeurs = Hn(m)d mod n. La signature de m est s.

Verification : Pour verifier une signature s d’un message m, il suffit de testersi Hn(m) = se mod n, auquel cas la signature est acceptee.

RSA-FDH possede, dans le modele de l’oracle aleatoire une reduction lache vers le problemeRSA [BR93, Cor00] (voir Section 4.5.1). Notons que dans [KW03], Jonathan Katz et Nan Wangont propose une variante tres proche de RSA-FDH possedant une securite fine.

De facon generale, les signatures RSA font une taille de `n bits. D’apres les algorithmesconnus pour resoudre le probleme RSA, les parametres choisis sont usuellement `n = 1024, ete = 216 + 1.

4.4.2 Signature Schnorr

Nous rappelons ici la signature Schnorr, comme inventee par Claus-Peter Schnorr dansl’article [Sch91].

Sig

nature

Sch

nor

r[S

ch91] Initialisation des parametres : Un groupe G d’ordre premier q de `q bits

est choisi, ainsi qu’un generateur g. De plus, un ensembleM = 0, 1`m

est defini, et une fonction de hachage G :M×G→ Zq est choisie.

Generation de cles : Pour generer une paire de cles, l’utilisateur tire unalea x ∈ Zq. Sa cle privee est x et sa cle publique est y = gx.

Signature : Pour signer un message m ∈ M, l’utilisateur tire un nombrealeatoire k ∈ Zq, calcule u = gk, puis c = G(m,u) et s = k + c x mod q.La signature du message m est alors σ = (s, c).

Verification : Pour verifier une signature σ = (s, c) d’un message m, il fautcalculer u′ = gs y−c. La signature est alors acceptee si et seulement sic = G(m,u′).

La signature Schnorr est basee sur l’heuristique de Fiat-Shamir appliquee a un Σ-protocole,et possede donc, dans le modele de l’oracle aleatoire une reduction lache vers le probleme DL,grace au lemme de bifurcation [PS96].

Typiquement, un groupe G d’ordre q de 160 bits est utilise, pour une securite lache. Cegroupe peut etre un sous-groupe de Z∗p pour un premier p de 1024 bits, ou une courbe elliptique

34

4.4. Schemas de signature classiques avec oracles aleatoires

sur un corps premier d’environ 160 bits. Les signatures Schnorr font une taille de 2`q bits, maispeuvent etre reduites a une taille de `q + 80 bits, en prenant des valeurs de challenge c pluspetites [GS94].

4.4.3 Signature GQ

Dans l’article [GQ88], Louis Guillou et Jean-Jacques Quisquater ont adapte l’idee deΣ-protocole introduite par Amos Fiat et Adi Shamir, pour donner naissance a un nouveauΣ-protocole base sur le probleme RSA. En appliquant l’heuristique Fiat-Shamir, ces auteursobtiennent egalement un schema de signature, note GQ, base sur le probleme RSA. Sa descriptionest la suivante.

Sig

nature

GQ

[GQ

88] Initialisation des parametres : Un ensemble M = 0, 1`m est defini, et

une fonction de hachage G :M× Z∗n → 0, 1`g est choisie.

Generation de cles : Pour generer une paire de cles, l’utilisateur choisit unexposant public premier e > 2`g , et genere un module RSA n = pq de `nbits, tel que (p − 1)(q − 1) et e soient premiers entre eux. L’utilisateurcalcule alors d = e−1 mod (p − 1)(q − 1). Enfin, l’utilisateur prend unalea g ∈ Z∗n et calcule a = gd mod n.La cle privee de l’utilisateur est a tandis que sa cle publique est (e, n, g).

Signature : Pour signer un message m ∈ M, l’utilisateur tire un nombrealeatoire k ∈ Z∗n, calcule u = ke mod n, puis c = G(m,u) et s = k ac modn. La signature du message m est alors σ = (s, c).

Verification : Pour verifier une signature σ = (s, c) d’un message m, il fautcalculer u′ = se g−c mod n. La signature est alors acceptee si et seule-ment si c = G(m,u′).

Un avantage de la signature GQ est qu’il permet un schema de signature base sur l’identite.Dans ce type de schema, la paire de cles est generee par une autorite, la partie publique —ici (e, n) — etant commune a tous les utilisateurs et la partie privee — ici d — etant gardeesecrete par l’autorite. Un utilisateur d’identifiant ID peut obtenir sa cle privee de cette autorite :celle-ci est H(ID)d mod n. Ce type de signature permet une simplification de l’infrastructure acle publique ; dans le meme temps, la non-repudiation n’est plus assuree, comme l’autorite peutsigner au nom de n’importe quel utilisateur.

La signature GQ est basee sur l’heuristique de Fiat-Shamir appliquee a un Σ-protocole (appeleprotocole d’identification GQ), et possede donc, dans le modele de l’oracle aleatoire une reductionlache vers le probleme RSA, grace au lemme de bifurcation [PS96].

D’apres les facons connues a ce jour de resoudre le probleme RSA, `g = 160 bits, `n = 1024bits et e premier d’au moins 161 bits sont des parametres surs, pour une securite lache. Lessignatures GQ font une taille de `n + `g bits, mais peuvent etre reduites a une taille de `n + 80en prenant des valeurs de challenge c plus petites [GS94].

4.4.4 Signature GPS

Le schema de signature GPS fut invente par Marc Girault [Gir91], puis prouve sur parGuillaume Poupard et Jacques Stern dans [PS98]. Il s’agit d’une adaptation du schema Schnorrsur des groupes d’ordre secret. Ce schema est base sur la difficulte du logarithme discret dans

35

Chapitre 4. Introduction aux schemas de signature

un groupe Z∗n d’ordre secret (note DLn voir Definition 9), probleme qui est un probleme plusdifficile que la factorisation.

Sig

nature

GPS

[Gir

91,PS98] Initialisation des parametres : Un module RSA n = pq de `n bits est ge-

nere. Une base g d’ordre maximal est tiree aleatoirement dans Z∗n. Deplus, un ensemble M = 0, 1`m est defini, et une fonction de hachageG :M× Z∗n → 0, 1`g est choisie.

Generation de cles : Pour generer une paire de cles, l’utilisateur genere unalea x ∈ 0, 1`x . Sa cle privee est x et sa cle publique est y = gx mod n.

Signature : Pour signer un message m ∈ M, l’utilisateur tire un nombrealeatoire k ∈ 0, 1`k , calcule u = gk mod n, puis c = G(m,u) et s =k + c x. La signature du message m est alors σ = (s, c).

Verification : Pour verifier une signature σ = (s, c) d’un message m, il fautcalculer u′ = gs y−c mod n. La signature est alors acceptee si et seule-ment si c = G(m,u′).

La signature GPS est basee sur l’heuristique de Fiat-Shamir appliquee a un Σ-protocole(appele protocole d’identification GPS), et possede donc, dans le modele de l’oracle aleatoire unereduction lache vers le probleme DLn, grace au lemme de bifurcation [PS96, PS98].

La difference notable de ce schema avec Schnorr est que l’ordre du groupe est secret. Aussi,la borne 2`x est choisie de telle facon que le logarithme discret de y en base g soit difficile, etla borne 2`k est telle que k cache statistiquement cx (voir pour plus de precisions [PS98] ou lathese de Guillaume Poupard [Pou00]) : des valeurs typiques sont `x = 160, `g = 160, `k = 400et `n = 1024.

Les signatures GPS font une taille de `k + `g bits, mais peuvent etre reduites a une taille de`k + 80 en prenant des valeurs de challenge c plus petites [GS94].

4.4.5 Signature PS

Le schema de signature PS fut invente par Guillaume Poupard et Jacques Stern dans lapublication [PS99]. Il est base sur une preuve de connaissance a divulgation nulle de connaissancede la factorisation d’un module RSA.

Sig

nature

PS

[PS99] Initialisation des parametres : Un ensemble M = 0, 1`m est defini, et

une fonction de hachage G :M×0, 1`n → 0, 1`g est choisie.

Generation de cles : Pour generer une paire de cles, l’utilisateur genere unmodule RSA n = pq de `n bits. Une base g d’ordre maximal est tireealeatoirement dans Z∗n. La cle publique est (n, g) et la cle secrete estx = n− (p− 1)(q − 1) = p+ q − 1.

Signature : Pour signer un message m ∈ M, l’utilisateur tire un nombrealeatoire k ∈ 0, 1`k , calcule u = gk mod n, puis c = G(m,u) et s =k + c x. La signature du message m est alors σ = (s, c).

Verification : Pour verifier une signature σ = (s, c) d’un message m, il fautcalculer u′ = gs−c n mod n. La signature est alors acceptee si et seulementsi c = G(m,u′) et si s ∈ 0, 2`k + 2`g+ `n

2+1.

36

4.5. Preuves classiques de schemas de signature

La signature PS est basee sur l’heuristique de Fiat-Shamir appliquee a un Σ-protocole (appelele protocole d’identification PS), et possede donc, dans le modele de l’oracle aleatoire une reduc-tion lache vers le probleme FACT, grace au lemme de bifurcation [PS96, PS99]. En effet, le lemmede bifurcation permet d’obtenir l’ordre du groupe, et l’algorithme de Garry Miller [Mil76] per-met alors d’en deduire la factorisation de n.

La borne 2`k est telle que k cache statistiquement c x (voir pour plus de precision [PS99]) :des valeurs typiques sont `n = 1024, `g = 160, `k = 753. Les signatures PS font une taille de`k +`g bits, mais peuvent etre reduites a une taille de `k +80 en prenant des valeurs de challengec plus petites [GS94].

4.5 Preuves classiques de schemas de signature

Dans cette section, nous allons rappeler quelques preuves typiques de securite, dans le modelede l’oracle aleatoire, pour permettre ensuite au lecteur d’avoir une connaissance des techniquesclassiques de preuves. Cela sera ensuite utile pour suivre plus aisement les preuves des schemasque nous proposerons.

4.5.1 Preuve de RSA-FDH dans le modele de l’oracle aleatoire

Dans cette section, nous rappelons brievement la preuve de RSA-FDH dans le modele del’oracle aleatoire, telle qu’exposee par Mihir Bellare et Phillip Rogaway [BR93, BR96], puisamelioree par Jean-Sebastien Coron [Cor00].

Nous rappelons (voir Section 4.4.1) que la signature RSA-FDH est s = H(m)d mod n, pourune fonction de hachage H :M→ Z∗n.

Theoreme 1 (Coron [Cor00]). Soit A un adversaire qui produit, avec une probabilite desucces ε et en un temps τ , une falsification existentielle contre le schema de signature RSA-FDH, sous une attaque a messages choisis, apres avoir eu droit a qh requetes a un oraclede hachage et qs requetes a un oracle de signature, dans le modele de l’oracle aleatoire.Alors il est possible d’utiliser cet attaquant pour resoudre le probleme RSA, avec une pro-babilite ε′ et en un temps τ ′, tels que

ε′ >ε

exp(1) · qs

etτ ′ 6 τ + (qs + qh + 1)T

ou T est le temps pour calculer une exponentiation modulo n.

Demonstration. Notre reduction recoit une instance quelconque (n, e, y) du probleme RSA. Elleutilise alors un attaquant contre le schema de signature RSA-FDH pour resoudre cette instance.Par definition, l’attaquant A, apres avoir eu droit a qh requetes a un oracle de hachage H etqs requetes a un oracle de signature, est capable de produire une falsification sur un nouveaumessage, en un temps τ et avec une probabilite de succes de ε.

L’attaquant A est utilise avec la simulation suivante.

Initialisation : A est initialise avec la cle publique (e, n).

37

Chapitre 4. Introduction aux schemas de signature

Reponse a une nouvelle requete H : le simulateur tire un nombre aleatoire k ∈ Z∗n, et re-tourne yke mod n avec une probabilite (1 − η), et ke mod n avec une probabilite η. Lavaleur de η sera precisee plus tard dans la demonstration.

Reponse a une requete de signature sur un message mi ∈M : pour la requete i de si-gnature, la simulation fait un appel a l’oracle de hachage, pour connaıtre h = H(mi) : si ha ete defini comme yke mod n, la simulation echoue ; sinon, h a ete defini comme ke mod n,et donc la simulation peut calculer la signature de mi. En effet, celle-ci vaut s = k, et peutetre retournee a l’attaquant.

Ainsi, la simulation est valide et indistinguable d’un veritable signataire, malgre une proba-bilite d’echec que nous calculerons dans la suite.

Utilisation de la falsification : Si la simulation reussit, l’attaquant A retourne avec une pro-babilite ε une falsification sur un message qu’il n’a jamais soumis a l’oracle de signature.Si l’attaquant echoue, notre reduction echoue elle aussi. Dans le cas contraire, l’attaquantretourne s et m. La simulation fait alors un appel a l’oracle de hachage, pour connaıtreh = H(m) : si h a ete defini comme ke mod n, la simulation echoue ; sinon, h a ete definicomme yke mod n, et donc la simulation peut calculer la solution du challenge RSA : ils’agit de yd mod n = sk−1 mod n.

Calculons maintenant la probabilite de succes de notre reduction. Pour les qs requetes designature, il faut qu’a chaque fois, h soit de la forme ke mod n, ce qui arrive avec une probabiliteηqs . Pour la falsification finale, il faut que h soit de la forme yke mod n, ce qui donne un facteursupplementaire (1− η).

Il ne reste alors plus qu’a trouver la probabilite η qui maximise la probabilite de succes de lareduction, c’est-a-dire ηqs(1−η)ε. Clairement, cette probabilite est maximale pour η = 1− 1

qs+1 ,donnant une probabilite finale

ε′ >ε(1− 1

qs+1)qs

qs + 1.

Pour une valeur qs > 1, cela donne

ε′ >ε

exp(1) · qs.

De plus, le temps de notre reduction τ ′ est majoree comme suit

τ ′ 6 τ + (qs + qh + 1)T,

le +1 venant de l’appel a l’oracle de hachage effectue lors de la verification finale de la falsification,au cas ou l’attaquant n’aurait pas demande lui-meme la valeur H(m) a l’oracle de hachage. ut

4.5.2 Preuve de Schnorr dans le modele de l’oracle aleatoire

Dans cette section, nous rappelons brievement la preuve du schema de signature Schnorrdans le modele de l’oracle aleatoire, telle qu’exposee par David Pointcheval et Jacques Sterndans [PS96, Poi96].

38

4.5. Preuves classiques de schemas de signature

Theoreme 2 (Pointcheval-Stern [PS96]). Soit A un adversaire qui produit, avec uneprobabilite de succes ε et en un temps τ , une falsification existentielle contre le schema designature Schnorr, sous une attaque a messages choisis, apres avoir eu droit a qh requetesa un oracle de hachage et qs requetes a un oracle de signature, dans le modele de l’oraclealeatoire.Alors il est possible d’utiliser cet attaquant pour resoudre le probleme DL, avec une proba-bilite ε′ et en un temps τ ′, tels que

ε′ >1qh

(ε− qs(qh + qs)

q

)2

−1q

etτ ′ 6 2τ + 4qsT

ou T est le temps pour calculer une exponentiation dans le groupe G.

La preuve est une application du lemme de bifurcation. Nous utilisons ici la forme la plussimple du lemme de bifurcation, et ainsi, la reduction n’est pas la plus fine qui puisse etre obtenuepar ce lemme.

Demonstration. Notre reduction recoit une instance quelconque (g, y) du probleme DL, sur ungroupe G d’ordre premier q. Elle utilise alors un attaquant contre le schema de signature Schnorrpour resoudre cette instance.

Par definition, l’attaquant A, apres avoir eu droit a qh requetes a un oracle de hachage Het qs requetes a un oracle de signature, est capable de produire une falsification sur un nouveaumessage, en un temps τ et avec une probabilite de succes de ε.

L’attaquant A est utilise avec la simulation suivante.

Reponse a une nouvelle requete G(m,u) : le simulateur retourne un nombre aleatoire dansZq.

Reponse a une requete de signature sur un message mi ∈M : le simulateur tire deuxaleas (s, c) ∈ Zq × Zq et calcule u = gs y−c. Si G(mi, u) est deja defini, le simulateurs’arrete, et la reduction echoue (Evenement 1). Sinon, le simulateur pose G(mi, u) = c etretourne la signature valide (s, c).

Comme nous pouvons le voir, la simulation est valide et indistinguable d’un veritable si-gnataire, et n’echoue que lors de l’Evenement 1 : celui-ci n’a heureusement qu’une probabiliteinferieure a qs(qh+qs)

q de se produire. Ainsi, la simulation est valide et indistinguable d’un veritablesignataire, sauf sous cette probabilite d’echec.

Etape initiale, etape de rejeu : Comme dans toute utilisation du lemme de bifurcation, l’at-taquant est utilise deux fois, en lui repondant de facon differente aux oracles de hachage,a partir d’un index j des requetes de hachage, index que la reduction tire au hasard.D’apres le travail de David Pointcheval et Jacques Stern [PS96, Poi96], nous savonsalors qu’avec une probabilite ε′ > ε2

qh, l’attaquant a repondu avec succes deux fois, sur un

meme engagement u — celui correspondant a la requete a la fonction de hachage a l’indicej lors de l’etape initiale et de l’etape de rejeu.

Utilisation des falsifications : Si l’attaquant echoue lors de l’etape initiale ou de l’etape derejeu, notre reduction echoue elle aussi. Dans le cas contraire, l’attaquant a retourne (s0, c0)

39

Chapitre 4. Introduction aux schemas de signature

comme une premiere falsification du message m, et (s1, c1) comme une seconde falsificationdu message m, ou u = gs0y−c0 = gs1y−c1 .La simulation peut donc en deduire la solution du challenge DL, des lors que c0 6= c1 mod q :il s’agit de s1−s0

c1−c0mod q.

Il ne reste plus pour arriver au resultat qu’a ajouter qu’a part avec une probabilite pluspetite que 1

q , nous avons c0 6= c1 (mod q), puisque c0 et c1 sont des valeurs aleatoires qui ont eteretournees par l’oracle de hachage durant des etapes independantes, au meme index de requete.

Pour le temps de la reduction, nous obtenons le resultat τ ′ 6 2τ + 4qsT , en remarquant quel’attaquant doit etre execute deux fois, et que, lors de chaque attaque, pour chaque signature, ilest necessaire de calculer une double exponentiation. ut

4.6 Nos travaux sur les schemas de signature

Apres avoir presente dans ce chapitre le contexte des schemas de signature, nous allons dansles chapitres suivants developper nos travaux sur ce domaine de la cryptographie.

Tout d’abord, dans le Chapitre 5, nous presentons une nouvelle heuristique pour transformerun schema de signature et un protocole d’identification a divulgation nulle de connaissance enun schema de signature a reduction fine permettant l’usage de coupons.

Ensuite, dans le Chapitre 6, nous proposons un nouveau schema de signature base sur leprobleme CDH (dans le modele de l’oracle aleatoire), avec une reduction fine et l’usage naturelde coupons.

Enfin, dans le Chapitre 7, nous presentons un nouveau schema de signature base sur leprobleme FlexibleRSA (dans le modele standard). Ce schema possede lui aussi une reduction fineet permet, dans une de ses variantes, l’usage de coupons.

40

Chapitre 5

Une heuristique pour deriver desschemas de signature a reduction fine

Sommaire

5.1 Methode generique proposee . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.1.1 Notre construction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.1.2 Securite de cette construction . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.2 Un exemple concret d’application de notre heuristique . . . . . . . . . 46

5.2.1 Un schema de signature a coupon, base sur le RSA et a reduction fine . . 46

5.2.2 Securite de notre exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

5.2.3 Comparaison de notre schema avec RSA-PSS . . . . . . . . . . . . . . . . 48

5.2.4 Extensions a d’autres problemes cryptographiques . . . . . . . . . . . . . 50

5.3 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Les schemas bases sur le logarithme discret sont tres apprecies, notamment car ils permettentl’utilisation de coupons. Il est possible de prouver la securite de la plupart d’entre eux, dans lemodele de l’oracle aleatoire, en utilisant le lemme de bifurcation de David Pointcheval etJacques Stern [PS96]. Malheureusement, la reduction de securite est alors lache.

Au contraire, des schemas bases sur la factorisation, tels que RSA-PSS, permettent unereduction de securite fine, toujours dans le modele de l’oracle aleatoire. Cependant,dans cesschemas, il n’existe pas de moyen d’utiliser des coupons.

Ce chapitre introduit une heuristique utilisant un protocole d’identification a trois passesa divulgation nulle de connaissance et un schema de signature verifiant certaines proprietes desecurite. Avec ces composantes, notre transformation permet d’obtenir un schema de signa-ture a coupons, avec une reduction de securite fine, dans le modele de l’oracle aleatoire. Plusprecisement, si ses deux composantes sont sures, notre schema de signature l’est aussi.

En application, nous proposons un schema de signature a coupons avec une reduction fine auprobleme RSA. Notre schema se compare tres bien a RSA-PSS, comme il possede une reductionaussi fine tout en permettant en plus l’usage de coupons pour de meilleures performances en-ligne.

Approche de Shamir-Tauman. Pour etre precis, nous voudrions discuter ici d’une autreapproche generique qui permet elle aussi d’atteindre notre but. Cette technique est due a AdiShamir et Yael Tauman [ST01].

Leur technique fait usage des fonctions de hachage cameleon. Ces fonctions de hachage,introduites par Hugo Krawczyk et Tal Rabin dans [KR00], sont particulieres en ceci qu’avec

41

Chapitre 5. Une heuristique pour deriver des schemas de signature a reduction fine

une cle particuliere, il est aise de trouver des collisions. Une telle fonction basee sur le problemeDL peut par exemple etre H(m, r) = G(grym), ou G est une fonction de hachage classique : si lelogarithme de y en base g est connu, il est aise de trouver des collisions.

L’idee generale d’Adi Shamir et Yael Tauman est de generer (m′, r′) et de calculer σ =SignskS (H(m′, r′)) dans la phase hors-ligne, puis, dans la phase en-ligne, lorsque le message ma signer est connu, de calculer r tel que H(m, r) = H(m′, r′). La signature de m est alors (σ, r),et peut etre aisement verifiee en testant si VerifypkS (H(m, r), σ) = True.

La construction decrite dans ce chapitre est differente, malgre un resultat final a peu presequivalent.

Ce chapitre a fait l’objet d’une publication a la conference Acns ’05 [Che05b].

5.1 Methode generique proposee

Dans cette section, nous definissons notre nouvelle conversion, puis discutons de sa securiteet de ses caracteristiques.

5.1.1 Notre construction

Le premier ingredient de notre construction est un Σ-protocole Z (a trois passes), defini,comme presente dans la Section 4.1.2, par un algorithme d’initialisation des parametres SetZ ,un algorithme de generation de cles GenZ , et des fonctions U : K → U , VskZ : K × G → V etWpkZ : G× V → U . Des exemples de tels protocoles sont nombreux, par exemple Schnorr, GQ,PS ou GPS.

Le deuxieme ingredient de notre construction est un schema de signature EUF-KMA-sur, de-fini par le quadruplet (SetS ,GenS ,Sign,Verify). Ce schema de signature possede un ensemblede messages H et produit des signatures dans l’ensemble T . Comme le schema est EUF-KMA-sur, il existe un simulateur probabiliste ∇S , qui fabrique a la demande, dans le modele del’oracle aleatoire, qs paires aleatoires de messages-signatures valides, en un temps polynomialT0 = poly(qs). Nous utiliserons ce simulateur dans nos preuves de securite. De tels schemas designature sont typiquement RSA-FDH ou Rabin-FDH.

Enfin, le dernier ingredient de notre construction est une paire de fonctions de hachageG :M× T → G et H : U → H.

Notre schema de signature se construit alors comme suit.

Acns’0

5[C

he05b] Generation de cles : Une paire de cles est generee en executant les algo-

rithmes GenZ et GenS . La cle publique est (pkZ , pkS) et la cle secreteest (skZ , skS).

Signature : Dans la phase hors-ligne, le signataire genere un alea k ∈ K, etcalcule u = U(k), puis h = H(u) et t = SignskS (h). Une fois le messagem ∈M connu, le signataire calcule c = G(m, t) et s = VskZ (k, c).La signature de m est σ = (t, s) ∈ T × V .

Verification : Pour verifier une signature σ = (t, s) d’un message m ∈M, ilfaut calculer c′ = G(m, t), u′ =WpkZ (c′, s) et h′ = H(u′).La signature doit etre acceptee si et seulement si VerifypkS (h′, t) =True.

42

5.1. Methode generique proposee

Pour simplifier la description de l’etape de verification, nous avons suppose que les fonctionsG et WpkZ etaient uniquement definies sur leur espace d’entree M× T et G × V , de facon averifier implicitement que t ∈ T et s ∈ V . Quand les fonctions G et W sont definies sur desensembles plus grands, il faut ajouter ces tests sur t et s avant d’accepter une signature.

Fonctionnement intuitif. Notre etape de signature se deroule intuitivement en trois etapes.Tout d’abord, nous calculons un engagement du Σ-protocole. Ensuite, nous le signons avec leschema de signature. Enfin, a la reception du message, nous retournons la reponse du Σ-proto-cole, correspondant a un challenge qui vaudrait le hache de ce message et de la signature del’engagement precedemment produite.

Taille des signatures. La taille des signatures produites par le schema precedent est de|T |+ |V |. Ceci differe legerement de la taille du schema de signature S.

Taille des parametres. Etant une combinaison de deux schemas Z et S, le nouveau schemacontient de nombreux parametres, qu’ils soient publics ou prives. Heureusement, pour des ins-tances particulieres, des parametres peuvent etre avantageusement partages entre le schema designature et le protocole d’identification. Un exemple concret est donne dans la Section 5.2, basesur le probleme RSA.

Performances de l’algorithme de signature. Notre schema est performant lorsqu’il estutilise en mode en-ligne/hors-ligne. Dans cet emploi, le temps du calcul en-ligne est equivalent autemps de calcul d’un hache et de l’execution de la fonction V. Or, dans la plupart des protocolesd’identification connus et utilises, le temps de calcul de V est tres court. C’est notamment le casavec les schemas Schnorr, GPS et PS, pour lesquels ce calcul consiste en une multiplication etune addition (eventuellement modulaires).

Facilite de mise en œuvre. Les briques elementaires de notre schema sont des fonctions dehachage, un schema de signature EUF-KMA-sur et un Σ-protocole. Ainsi, mettre en œuvre notreschema est tres aise, puisque ces briques sont parmi les plus classiques de la cryptographie a clepublique.

Cela est particulierement interessant pour des environnements contraints tels que la carte apuce, ou la taille de code est limitee et ou les nouveaux developpements peuvent etre longs. Deplus, des routines deja testees contre les attaques a canaux caches (voir la Partie IV, qui estconsacree a ces attaques) ou les attaques par fautes peuvent servir de base a notre construction,assurant ainsi sa propre securite contre les attaques physiques.

Enfin, la gestion des cles publiques peut etre faite en reutilisant l’infrastructure existante(PKI), si les schemas S et Z preexistent eux-memes dans la PKI.

Comparaison avec les techniques de [EGM89] et [ST01]. L’approche de [EGM89] estplus rapide que la notre, mais impose de construire des signatures bien plus longues. Au contraire,la construction de [ST01] est bien plus proche de celle presentee dans ce chapitre, meme si elle esta priori basee sur un design different. Le meme niveau de securite est atteint : [ST01] est base, defacon fine, sur le probleme de trouver des collisions avec une fonction de hachage cameleon et surcelui de falsifier avec un schema de signature EUF-CMA-sur ; la securite de notre construction,comme montre dans la suite de ce chapitre, se reduit, elle aussi de facon fine, a la difficultede retrouver la cle secrete du protocole d’identification Z ou de falsifier avec un schema designature EUF-KMA-sur S. La recente publication [KH06], qui a redecouvert independammentnos resultats, explique le lien tres etroit decouvert entre notre construction et celle de [ST01].

43

Chapitre 5. Une heuristique pour deriver des schemas de signature a reduction fine

5.1.2 Securite de cette construction

Dans cette section, nous allons montrer qu’un attaquant EUF-CMA contre notre schemapeut etre utilise pour attaquer soit le Σ-protocole Z, soit le schema de signature. Plus preci-sement, nous allons, dans le modele de l’oracle aleatoire, prouver que si l’attaquant exhibe unefalsification existentielle sur notre construction, nous pouvons soit retrouver la cle du protocoled’identification Z, soit falsifier une nouvelle signature du schema S, avec une probabilite approxi-mativement egale a celle de l’attaquant. Ainsi, si les deux briques utilisees dans la constructionsont sures, l’ensemble l’est egalement.

Theoreme 3. Soit A un adversaire qui produit, avec une probabilite de succes ε et enun temps τ , une falsification existentielle dans le schema propose Section 5.1.1, sous uneattaque a messages choisis, apres avoir eu droit a qh requetes a un oracle de hachage etqs requetes a un oracle de signature, dans le modele de l’oracle aleatoire.Alors il est possible d’utiliser cet attaquant pour soit retrouver la cle du Σ-protocole Z,soit exhiber une falsification existentielle du schema de signature S, avec une probabiliteε′ et en un temps τ ′, tels que

ε′ > ε− (qh + qs) · qs‖T‖

− (qh + qs)2

‖H‖− (qh + qs)2

‖G‖

etτ ′ 6 τ + qsTW + T0

ou TW est le temps de calculer W et T0 est le temps necessaire au simulateur ∇S pourcalculer qs paires de message-signatures.

Dans notre publication [Che05b], nous avons utilise le formalisme des jeux incrementaux,comme defini notamment par Victor Shoup. Ici, du fait de la simplicite de la preuve, nousferons une preuve classique.

Demonstration. Notre reduction recoit un Σ-protocole Z ainsi qu’un schema de signature SEUF-KMA-sur. Elle utilise alors un attaquant contre le schema de signature de la Section 5.1.1forme a partir de ces deux briques, pour soit retrouver la cle du Σ-protocole Z, soit falsifier unenouvelle signature pour S.

Par definition, l’attaquant A, apres avoir eu droit a qH requetes a un oracle de hachage H,qG requetes a un oracle de hachage G et qs requetes a un oracle de signature, est capable deproduire une falsification sur un nouveau message, en un temps τ et avec une probabilite desucces de ε. Notons qh = qH + qG .

L’attaquant A est utilise avec la simulation suivante.

Preparation de la reduction : Avant d’initialiser A, la reduction tire qs paires aleatoires(ci, si) ∈ G × V , et calcule la valeur ui = WpkZ (ci, si) correspondante. Sans perte degeneralite, nous supposons dans la suite que les ui ainsi obtenus sont differents, car sinon,par la propriete du Σ-protocole, la simulation peut en deduire la cle du protocole Z et lareduction termine ainsi avec succes. Ensuite, la reduction utilise le simulateur ∇S , pourobtenir qs paires aleatoires de message-signature (hi, ti) ∈ H × T .A ce moment-la, la reduction pose H(ui) = hi. Comme l’attaquant n’a pu faire encore derequetes a l’oracle de hachage et comme les ui sont differents, ceci ne peut provoquer deproblemes de definition de H. De plus, comme les paires generees par le simulateur ∇S

44

5.1. Methode generique proposee

sont aleatoires, de telles definitions de l’oracle ne modifient pas la distribution des sortiesde H.

Initialisation : A est initialise avec les cles publiques et parametres correspondant aux schemasS et Z.

Reponse a une nouvelle requete G : le simulateur retourne un nombre aleatoire dans Zq.

Reponse a une nouvelle requete H : la simulation retourne un nombre aleatoire dans H.

Reponse a une requete de signature sur un message mi ∈M : pour la requete i de si-gnature, la simulation procede comme suit. Si la valeur G(mi, ti) est deja definie, la simu-lation s’arrete et la reduction echoue (Evenement 1). Dans le cas contraire, la simulationpose G(mi, ti) = ci. La signature (ti, si) est retournee a l’attaquant. Nous pouvons re-marquer qu’elle est bien valide, comme ci = G(mi, ti), ui = WpkZ (ci, si), hi = H(ui) etVerifypkS (hi, ti) = True.

Ainsi, la simulation est valide et indistinguable d’un veritable signataire, et n’echoue que lorsde l’evenement suivant :

– Evenement 1 : comme les paires (hi, ti) generees par la simulation sont aleatoires, l’atta-quant ne peut deviner la valeur des ti, avant d’avoir recu la reponse a la i-eme requete designature. Aussi, la probabilite de l’Evenement 1 est bornee par (qh+qs)·qs

‖T‖ .

Utilisation de la falsification : A part lors de l’evenement precedent, la simulation est par-faite pour l’attaquant A, et celui-ci retourne donc avec une probabilite ε une falsificationsur un message qu’il n’a jamais soumis a l’oracle de signature.Si l’attaquant echoue, notre reduction echoue. Dans le cas contraire, l’attaquant retourneσ = (t, s) avec le message m lui correspondant. La reduction calcule alors les donneescorrespondant a cette falsification, c’est-a-dire c = G(m, t), u =WpkZ (c, s) et h = H(u).Dans un premier cas, h 6= hi, pour tout i. Dans ce cas, notre reduction peut retournerune falsification sur le schema de signature S : en effet, t est une falsification existentiellevalide du message h.Dans un deuxieme cas, pour un i particulier, h = hi. Alors, soit l’attaquant a trouve unecollision sur la fonction de hachage H (Evenement 2), soit u = ui. Ainsi, si l’Evenement 2n’a pas eu lieu, u = ui et par la propriete de securite du Σ-protocole, notre reduction peutretrouver la cle en temps polynomial, sauf si c = ci (Evenement 3).

Ainsi, a part deux evenements, la reduction peut soit retrouver la cle du Σ-protocole Z, soitrealiser une falsification existentielle sur le schema de signature S. Calculons la probabilite deces deux evenements fatals pour la reduction.

L’Evenement 2 n’est possible, dans le modele de l’oracle aleatoire, qu’avec une probabiliteplus petite que (qh+qs)2

‖H‖ . De meme, l’Evenement 3 n’est possible, dans le modele de l’oracle

aleatoire, qu’avec une probabilite plus petite que (qh+qs)2

‖G‖Aussi, nous pouvons conclure que notre reduction a une probabilite de succes ε′ satisfaisant

ε′ > ε− (qh + qs) · qs‖T‖

− (qh + qs)2

‖H‖− (qh + qs)2

‖G‖.

De plus, le temps de notre reduction τ ′ est majoree comme suit

τ ′ 6 τ + qsTW + T0 .

ut

45

Chapitre 5. Une heuristique pour deriver des schemas de signature a reduction fine

5.2 Un exemple concret d’application de notre heuristique

Dans cette section, nous donnons un exemple type de ce que peut donner notre construction.Cet exemple est base sur le probleme RSA. Il utilise la signature RSA-FDH et le protocoled’identification PS comme briques de base.

5.2.1 Un schema de signature a coupon, base sur le RSA et a reduction fine

Comme precedemment explique, les coupons ne sont pas supportes dans les signatures RSAet ses variantes, y compris le schema de signature deduit du protocole d’identification GQ. Leschema que nous proposons ici repond a ce besoin, tout en assurant une securite fine sur leprobleme RSA, dans le modele de l’oracle aleatoire.

Pour ce schema, nous utilisons un module RSA n de `n bits, dont la factorisation (p, q) estgardee secrete par le signataire. Ce module est commun aux briques RSA-FDH et PS. Commedans le schema RSA, la cle contient egalement un exposant public e, premier avec (p− 1)(q− 1),et un exposant prive d = e−1 mod λ(n). Enfin, comme dans PS, nous utilisons la valeur secretex = n mod φ(n) et une base g ∈ Z∗n.

Nous utilisons egalement deux fonctions de hachage H : Z∗n → Z∗n et G :M×Z∗n → 0, 1`g ,et un parametre de securite `. Typiquement, `n = 1024, `g = 160 et ` = 110 pour un nombreautorise de requetes a l’oracle de signature de qs = 230.

Notre schema se decrit alors comme suit.

Acns’0

5[C

he05b] Generation de cles : L’utilisateur genere un module RSA n = pq et un ex-

posant public e, tel que e et (p − 1)(q − 1) soient premiers entre eux.Ensuite, il calcule x = p+ q − 1 et d = e−1 mod λ(n). Enfin, il tire unebase g ∈ Z∗n.La cle publique est (e, n, g) tandis que la cle secrete est (x, d).

Signature : Pour calculer un coupon, le signataire genere un alea k ∈0, 1

`n2

+`g+`+1, et calcule u = gk mod n, puis t = H(u)d mod n. Une foisle message m ∈M connu, le signataire calcule c = G(m, t) et s = k+x c.

La signature de m est σ = (t, s) ∈ Z∗n × 0, 1`n2

+`g+`+2.

Verification : Pour verifier une signature σ = (t, s) d’un message m ∈ M,il faut calculer c′ = G(m, t), u′ = gs−n c′ mod n. La signature est alorsvalidee si H(u′) = te mod n et s ∈ 0, 1

`n2

+`g+`+2.

Pour montrer la securite de ce schema, nous ne pouvons utiliser directement le theoremede la section precedente, car la fonction de hachage H et la fonction de hachage incluse dansRSA-FDH ont ete mixees. Cependant, une telle modification n’implique que peu de changementsdans la preuve, comme nous allons le montrer.

5.2.2 Securite de notre exemple

Dans cette section, nous allons montrer qu’un attaquant EUF-CMA contre notre schemapeut etre utilise pour resoudre le probleme RSA. Plus precisement, nous allons, dans le modelede l’oracle aleatoire, prouver que si l’attaquant exhibe une falsification existentielle sur notreconstruction, nous pouvons resoudre une instance quelconque (n, e, y) du probleme RSA.

46

5.2. Un exemple concret d’application de notre heuristique

Theoreme 4. Soit A un adversaire qui produit, avec une probabilite de succes ε et enun temps τ , une falsification existentielle dans le schema propose Section 5.2.1, sous uneattaque a messages choisis, apres avoir eu droit a qh requetes a un oracle de hachage etqs requetes a un oracle de signature, dans le modele de l’oracle aleatoire.Alors il est possible d’utiliser cet attaquant pour resoudre le probleme RSA, avec une pro-babilite ε′ et en un temps τ ′, tels que

ε′ > ε− (qh + qs) · qs2`n−1

− (qh + qs)2

2`g− 2−`qs

etτ ′ 6 τ + (2qs + qh)T

ou T est le temps pour calculer une exponentiation modulo n.

Nous reprenons le deroulement de la preuve generique de notre publication [Che05b], tout enprenant le cas particulier de la fonction RSA comme exemple de fonction auto-reductible, pourplus de lisibilite.

Demonstration. Notre reduction recoit une instance quelconque (n, e, y) du probleme RSA. Elleutilise alors un attaquant contre le schema de signature de la Section 5.2.1 pour la resoudre.

Par definition, l’attaquant A, apres avoir eu droit a qH requetes a un oracle de hachage H,qG requetes a un oracle de hachage G et qs requetes a un oracle de signature, est capable deproduire une falsification sur un nouveau message, en un temps τ et avec une probabilite desucces de ε. Notons qh = qH + qG .

L’attaquant A est utilise avec la simulation suivante.

Preparation de la reduction : Avant d’initialiser A, la reduction donne a la base g la valeurg = y. Alors, elle tire qs paires aleatoires (ci, si) ∈ 0, 1`g × 0, 1

`n2

+`g+`+1, et calculeles valeurs ui = gsi−n ci mod n correspondantes. Ensuite, la reduction prend qs valeursaleatoires ti ∈ Z∗n, et pose H(ui) = hi = tei mod n. Bien sur, si deux ui sont identiques,nous reprenons le meme ti pour assurer la coherence de la fonction de hachage.La simulation est quasiment parfaite, a part le fait que les si generes sont statistiquementindistinguables de ce qu’un veritable signataire retournerait, avec un biais de 2−` qs.

Initialisation : A est initialise avec la cle publique (e, n, g).

Reponse a une nouvelle requete G : le simulateur retourne un alea dans 0, 1`g .

Reponse a une nouvelle requete H : le simulateur tire un nombre aleatoire k ∈ Z∗n, et re-tourne y ke mod n.

Reponse a une requete de signature sur un message mi ∈M : pour la requete i de si-gnature, la simulation procede comme suit. Si la valeur G(mi, ti) est deja definie, la simu-lation s’arrete et la reduction echoue (Evenement 1). Dans le cas contraire, la simulationpose G(mi, ti) = ci. La signature (ti, si) est retournee a l’attaquant. Nous pouvons remar-quer qu’elle est bien valide, comme ci = G(mi, ti), ui = gsi−n ci mod n, H(ui) = tei mod net si ∈ 0, 1

`n2

+`g+`+2.

Ainsi, la simulation est valide et indistinguable d’un veritable signataire, et n’echoue que lorsde l’evenement suivant :

– Evenement 1 : comme les ti sont generes par le simulateur aleatoirement, l’attaquant nepeut deviner leur valeur, avant d’avoir recu la reponse a la i-eme requete de signature.Aussi, la probabilite de l’Evenement 1 est bornee par (qh+qs)·qs

2`n−1 .

47

Chapitre 5. Une heuristique pour deriver des schemas de signature a reduction fine

Utilisation de la falsification : A part lors de l’evenement precedent, la simulation est par-faite pour l’attaquant A, et celui-ci retourne donc avec une probabilite ε une falsificationsur un message qu’il n’a jamais soumis a l’oracle de signature.Si l’attaquant echoue, notre reduction echoue elle aussi. Dans le cas contraire, l’attaquantretourne σ = (t, s) avec le message m lui correspondant. La reduction calcule alors lesdonnees correspondant a cette falsification, c’est-a-dire c = G(m, t), u = gs−n c mod n eth = H(u). Il y a alors deux cas : soit u = ui pour un i donne, soit u 6= ui pour tout i.

Si u = ui, s− n c = si − n ci (mod Q), ou Q est l’ordre g = y. Ainsi s− si + n (ci − c) = 0(mod Q). D’apres les tailles de ces entiers ‡, s− si + n(ci − c) 6= 0, sauf si ci = c et s = si.Ceci est impossible, sauf si l’attaquant trouve une collision sur la fonction de hachage G(Evenement 2). Ainsi, mis a part cet evenement, la reduction peut retrouver un multiplenon-nul de l’ordre de g. Elle peut alors decouper s−si+n(ci−c) en s−si+n(ci−c) = ej Q′,ou e - Q′ et j > 0. Comme e est premier avec φ(n), e est premier avec l’ordre de y, et doncQ′

est un multiple non nul de l’ordre Q de y. La reduction peut ainsi calculer d′ = e−1 mod Q′,et en deduire la solution x = yd′ mod n du probleme RSA.

Si u 6= ui pour tout i, la reduction peut retrouver dans sa memoire le k ∈ Z∗n, tel queh = y ke mod n, comme la valeur h = H(u) a ete definie par une requete de hachage, etnon lors de la preparation de la reduction. Grace a la signature de l’attaquant t = hd mod n,la reduction peut alors calculer la solution du probleme yd mod n = t k−1 mod n.

Enfin, nous terminons notre preuve en remarquant que l’Evenement 2 n’est possible, dans lemodele de l’oracle aleatoire, qu’avec une probabilite plus petite que (qh+qs)2

2`g.

Aussi, nous pouvons conclure que notre reduction a une probabilite de succes ε′ satisfaisant

ε′ > ε− (qh + qs) · qs2`n−1

− (qh + qs)2

2`g− 2−`qs .

De plus, le temps de notre reduction τ ′ est majoree comme suit

τ ′ 6 τ + (2qs + qh)T .

ut

Ainsi, ce schema est aussi sur que RSA-PSS, mais presente le grand avantage de donner lapossibilite de calculer des coupons, pour une utilisation extremement rapide en-ligne. Grace a cesysteme, generer une signature est aussi rapide que la deuxieme etape de PS, c’est-a-dire que celaconsiste a calculer un hache, et a effectuer une multiplication et une addition dans les entiers.Encore une fois, cette rapidite n’est pas au prix d’une securite plus faible, puisque nous n’avonspas besoin du lemme de bifurcation pour prouver la securite de notre schema, et qu’ainsi, notrereduction est fine.

Une comparaison plus precise de notre schema avec RSA-PSS est donne dans la sectionsuivante.

5.2.3 Comparaison de notre schema avec RSA-PSS

RSA-PSS est decrit dans le standard des schemas de signature [PKCS1] et est utilise dansle monde entier. Nous comparons donc notre schema avec cette reference des signatures baseessur le probleme RSA.

‡Nous avons suppose bien sur ici que `g + ` + 2 < `n2

, pour des parametres raisonnables.

48

5.2. Un exemple concret d’application de notre heuristique

Dans la suite, nous supposons que nous desirons un niveau de securite du schema de κ = 80bits, pour un nombre maximal de requetes de signature de qs = 230. Nous prenons alors unparametre l = κ+ log2 qs = 110, et nous utilisons un module de longueur superieure ou egale a1024 bits, correspondant selon les algorithmes de factorisation connus a ce jour a un niveau desecurite de 80 bits.

Taille des fonctions de hachage. Grace au Theoreme 4, nous pouvons deduire qu’unetaille `g = 162 est suffisante pour un attaquant qui peut effectuer qh = 280 oracles de hachage(dans le modele de l’oracle aleatoire).

Taille des parametres. Dans RSA-PSS, les elements publics sont n et e (e est habituellementchoisi petit, par exemple e = 216 + 1), et la cle privee est d. Dans notre schema, la cle publiqueest e, n et g, et la cle privee est constituee de d et x. Cependant, le cout des parametressupplementaires de notre systeme peut etre reduit. En effet, d et x peuvent etre compresses, sila taille des parametres est plus importante que le temps de signature. En ne prenant comme cleprivee que d et kd = ed−1

φ(n) (qui est un element de la meme taille que e), il est possible de retrouver

durant le calcul de la signature la valeur x = n mod ed−1kd

. Il est meme possible (comme dansRSA-PSS) de ne stocker que p comme cle privee, puis durant la phase de signature, de retrouverq = n

p , et d’en deriver les valeurs de d et de x.Ainsi, la cle publique de notre schema est a peu pres de meme taille que celle de RSA-PSS,

et la cle privee est de 50% plus longue, meme si, en perdant un peu d’efficacite, il est possiblede la reduire a une taille equivalente.

Taille des signatures. Les signatures RSA-PSS font `n bits, alors que celles de notre schemafont environ 3

2`n + 3` + log2 qs bits. L’avantage pour RSA-PSS est ici consequent, meme si nossignatures sont toutefois moins de deux fois plus longues.

Performances de l’algorithme de signature. Comme mentionne precedemment, notreschema est essentiellement utile pour une utilisation en-ligne/hors-ligne, ou il prend tout soninteret. Dans ce cas, la comparaison des temps d’execution rend notre schema tres attractif :RSA-PSS necessite une exponentiation — pouvant etre acceleree grace a l’utilisation du theo-reme des restes chinois [QC82] (CRT), avec, a la cle, un gain asymptotique d’un facteur 4 desexponentiations modulo n — alors que la phase en-ligne de notre schema est faite en seulementun calcul de hache, une addition et une multiplication dans les entiers. De facon claire, quand ilest utilise avec des coupons, notre schema est plus rapide que RSA-PSS de plusieurs ordres degrandeur.

Facilite de mise en place. Notre schema et RSA-PSS utilisent essentiellement les memesbriques de base. Nous pouvons donc aisement reutiliser les parties developpees pour RSA-PSSpour notre schema, rendant la mise en place de celui-ci des plus simples. C’est notamment le caspour la gestion des cle publiques (PKI), qui peut etre commune aux deux systemes.

Securite. Comme nous l’avons vu en Section 5.2.2, notre schema possede une reduction finesur le probleme RSA, dans le modele de l’oracle aleatoire, tout comme RSA-PSS.

Conclusion. D’apres cette comparaison, nous en deduisons que si la taille des signaturesn’est pas le parametre le plus critique et si le schema de signature peut etre utilise en-ligne,notre schema peut etre prefere a RSA-PSS, comme il propose une amelioration significative desperformances, tout en assurant le meme niveau de securite.

49

Chapitre 5. Une heuristique pour deriver des schemas de signature a reduction fine

5.2.4 Extensions a d’autres problemes cryptographiques

Comme decrite dans la Section 5.1, notre methode est absolument generique, et s’appliquedonc a d’autres exemples que celui donne en Section 5.2, et a d’autres problemes que RSA.Les meilleures combinaisons sont celles dans lesquelles le schema de signature sous-jacent et leΣ-protocole reposent sur un probleme cryptographique de meme type. Ainsi, une solution inte-ressante est obtenue en combinant la signature EDL [CP92, JS99, GJ03], qui possede une preuvede securite fine sur le CDH et le protocole d’identification Schnorr. Comme le probleme DL estplus difficile que le probleme CDH, l’ensemble donne un schema de signature a coupons, avec unereduction fine au CDH dans le modele de l’oracle aleatoire. Neanmoins, la suite de nos recherchesnous a amenes a trouver une solution plus efficace, donnant lieu a la publication [Che05a] etexposee dans le Chapitre 6.

Un autre exemple est obtenu en combinant PS et Rabin-FDH [Rab79], pour obtenir un schemabase sur la factorisation, a coupons et reduction fine dans le modele de l’oracle aleatoire.

5.3 Conclusion

Dans ce chapitre, nous avons introduit une heuristique utilisant un protocole d’identificationa trois passes a divulgation nulle de connaissance et un schema de signature verifiant certainesproprietes de securite. Avec ces composantes, notre transformation permet d’obtenir un schemade signature a coupons, avec une reduction de securite fine, dans le modele de l’oracle aleatoire.Plus precisement, si ses deux composantes sont sures, notre schema de signature l’est aussi.

En application, nous avons propose un schema de signature a coupons avec une reduction fineau probleme RSA. Notre schema se compare tres bien a RSA-PSS, comme il possede une reductionaussi fine tout en permettant en plus l’usage de coupons pour de meilleures performances en-ligne.

50

Chapitre 6

Un schema de signature efficace basesur le CDH

Sommaire

6.1 Le schema de signature EDL . . . . . . . . . . . . . . . . . . . . . . . . . 52

6.1.1 Presentation du schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

6.1.2 Securite du schema EDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

6.1.3 Caracteristiques du schema de signature EDL . . . . . . . . . . . . . . . . 54

6.2 Les schemas de signature de Katz-Wang . . . . . . . . . . . . . . . . . . 54

6.2.1 Presentation du schema KW-CDH . . . . . . . . . . . . . . . . . . . . . . . 55

6.2.2 Securite du schema KW-CDH . . . . . . . . . . . . . . . . . . . . . . . . . 55

6.2.3 Presentation du schema KW-DDH . . . . . . . . . . . . . . . . . . . . . . . 57

6.2.4 Securite du schema KW-DDH . . . . . . . . . . . . . . . . . . . . . . . . . 58

6.3 Un nouveau schema de signature . . . . . . . . . . . . . . . . . . . . . . 59

6.3.1 Une etape de notre construction . . . . . . . . . . . . . . . . . . . . . . . . 60

6.3.2 Description de notre schema . . . . . . . . . . . . . . . . . . . . . . . . . . 61

6.3.3 Preuve de securite de notre schema . . . . . . . . . . . . . . . . . . . . . . 61

6.3.4 Utilisation de coupons dans notre schema . . . . . . . . . . . . . . . . . . 63

6.3.5 Taille des parametres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

6.3.6 Comparaison de notre schema avec EDL, KW-CDH et autres schemas . . . 65

6.3.7 Derniers raffinements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

6.3.8 A propos du test d’appartenance de z a G . . . . . . . . . . . . . . . . . . 66

6.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Lors de la conference Eurocrypt ’03, Eu-Jin Goh et Stanislaw Jarecki ont montre que,contrairement aux autres schemas de signature bases sur le logarithme discret, le schema de si-gnature EDL avait une reduction de securite fine au probleme calculatoire Diffie-Hellman (CDH),dans le modele de l’oracle aleatoire. Ces auteurs ont egalement remarque que le schema de signa-ture EDL pouvait etre transforme en un schema de signature a coupons, en utilisant la techniquegenerique d’Adi Shamir et Yael Tauman, technique basee sur les fonctions de hachage cameleon.

Dans ce chapitre, nous proposons un nouveau schema de signature qui presente egalementune reduction de securite fine au probleme CDH, mais pour lequel les signatures produites sontplus courtes que celles d’EDL. De plus, de facon similaire au schema de signature Schnorr (maiscontrairement a EDL), le schema propose permet l’utilisation de coupons de facon extremementnaturelle, sans calculs supplementaires et sans que l’algorithme de verification ne soit modifie.

Dans le cas des courbes elliptiques, notre schema ameliore de 25% l’etat de l’art des schemasde signature bases sur le logarithme discret, tout en gardant le meme niveau de securite.

Ce chapitre a fait l’objet d’une publication a la conference Crypto ’05 [Che05a].

51

Chapitre 6. Un schema de signature efficace base sur le CDH

6.1 Le schema de signature EDL

6.1.1 Presentation du schema

Le schema de signature EDL, independamment propose dans [CP92, JS99] et prouve surdans [GJ03] est defini comme suit.

Sig

nature

ED

L[C

P92,JS99,G

J03] Initialisation des parametres : Soient `p, `q, et `r des parametres de secu-

rite, avec, pour des cas d’utilisations normales, `r 6 `q. Soit G le groupecyclique d’ordre q, engendre par g, ou q est un premier de `q bits et larepresentation des elements de G est incluse dans 0, 1`p . Enfin, soientH :M×0, 1`r → G \ 1 et G : G6 → Zq deux fonctions de hachage.

Generation de cles : La cle privee est un nombre aleatoire x ∈ Zq. La clepublique correspondante est y = gx.

Signature : Pour signer un message m ∈M, le signataire choisit un nombrealeatoire r ∈ 0, 1`r , et calcule h = H(m, r) et z = hx. Ensuite, lesignataire prouve une egalite de logarithmes, c’est-a-dire que DLh(z) =DLg(y). Pour cela, il tire un autre alea k ∈ Zq, et calcule u = gk, v = hk,c = G(g, h, y, z, u, v) et s = k + cx mod q.La signature ainsi produite du message m est σ = (z, r, s, c) ∈ G ×0, 1`r × Zq

2.

Verification : Pour verifier une signature σ = (z, r, s, c) d’un message m ∈M, il faut calculer h′ = H(m, r), u′ = gs y−c et v′ = h′s z−c. La signatureσ est alors acceptee si et seulement si c = G(g, h′, y, z, u′, v′) et z ∈ G.

Dans EDL, la seule quantite qui peut etre precalculee avant de connaıtre le message estu. Ainsi, la partie en-ligne consiste en un calcul de deux haches et de deux exponentiationsmodulaires.

6.1.2 Securite du schema EDL

Dans cette partie, nous reduisons la securite du schema EDL a la securite du problemecalculatoire Diffie-Hellman. La preuve suit l’idee originalement presentee dans [GJ03], et consistea montrer que l’etape de verification est une preuve que DLh(z) = DLg(y) = x.

Theoreme 5 ([GJ03]). Soit A un adversaire qui produit, avec une probabilite de succesε et en un temps τ , une falsification existentielle dans le schema EDL, sous une attaque amessages choisis, apres avoir eu droit a qh requetes a un oracle de hachage et qs requetesa un oracle de signature, dans le modele de l’oracle aleatoire.Alors le probleme calculatoire Diffie-Hellman peut etre resolu avec une probabilite ε′ et enun temps τ ′, tels que

ε′ > ε− qs(qs + qhq (q − 1)

+qs + qh

2`r

)−qhq

etτ ′ 6 τ + (6qs + qh)τ0 ,

ou τ0 designe le temps d’une exponentiation dans G.

52

6.1. Le schema de signature EDL

Demonstration. La reduction recoit en entree un groupe G ainsi qu’un challenge CDH (g, y =gx, A = ga). Nous utilisons alors l’attaquant A contre le schema de signature EDL pour resoudrece challenge, c’est-a-dire pour calculer gax. Par definition, l’attaquant A, apres avoir eu droit aqH requetes a un oracle de hachage H, qG requetes a un oracle de hachage G et qs requetes aun oracle de signature, est capable de produire une falsification sur un nouveau message, en untemps τ et avec une probabilite de succes de ε. Notons qh = qH + qG .

L’attaquant A est utilise avec la simulation suivante.

Initialisation : A est initialise avec les parametres publics (g, q,G) et la cle publique y.

Reponse a une nouvelle requete G(g, h, y, z, u, v) : le simulateur retourne un nombre alea-toire dans Zq.

Reponse a une nouvelle requete H(m, r) : le simulateur tire un nombre aleatoire d ∈ Z∗q ,et retourne Ad.

Reponse a une requete de signature sur un message mi ∈M : le simulateur tire alorsun alea r ∈ 0, 1`r . Si H(mi, r) est deja defini, le simulateur s’arrete, et la reductionechoue (Evenement 1). Dans le cas contraire, le simulateur genere un nombre aleatoireκ ∈ Z∗q , pose h = H(mi, r) = gκ et calcule z = yκ — nous pouvons alors remarquer queDLh(z) = DLg(y) (= x). Puis, le simulateur tire deux aleas (s, c) ∈ Zq × Zq et calculeu = gs y−c et v = hs z−c. Si G(g, h, y, z, u, v) est deja defini, le simulateur s’arrete, et lareduction echoue (Evenement 2). Sinon, le simulateur pose G(g, h, y, z, u, v) = c et retournela signature valide (z, r, s, c).

Comme nous pouvons le voir, la simulation est valide et indistinguable d’un veritable signa-taire, et n’echoue que lors des evenements suivants :

– Evenement 1 : comme r est un alea de 0, 1`r , la probabilite que H(m, r) soit deja poseest plus petite que qH+qs

2`r, lors d’une requete de signature. Pour l’ensemble des qs requetes

de signature, la probabilite d’apparition de l’Evenement 1 est donc majoree par qs·(qH+qs)2`r

.

– Evenement 2 : d’apres la simulation des requetes de signature, les entrees de l’oracle G sontde la forme (g, h, y, z, u, v) = (g, gκ, y, yκ, gk, gκk) avec (k, κ) ∈ Zq × Z∗q . De plus, commel’Evenement 1 n’a pu arriver, la valeur de H(m, r) n’est pas encore definie, et donc κ esttotalement aleatoire aux yeux de l’adversaire. Aussi, la probabilite que G(g, h, y, z, u, v)ait deja ete pose est plus petite que qG+qs

q (q−1) , pour une requete de signature donnee. Pour

l’ensemble des requetes de signature, la probabilite d’apparition de l’Evenement 2 est doncbornee par qs·(qG+qs)

q (q−1) .

Resolution du challenge CDH : A part lors des evenements precedemment etudies, la simu-lation est parfaite pour l’attaquant A, et celui-ci retourne donc avec une probabilite ε unefalsification sur un message qu’il n’a jamais soumis a l’oracle de signature.Si l’attaquant echoue, la reduction echoue. Dans le cas contraire, l’attaquant retourneσ = (z, r, s, c) avec le message m lui correspondant. Alors, la reduction retrouve dansl’historique de la simulation ‡ la valeur d 6= 0 correspondant a h = H(m, r), puisque,comme m est un message qui n’est pas apparu dans les simulations de signature, H(m, r)a forcement ete defini comme un Ad.Si nous supposons pour l’instant que DLh(z) = DLg(y) = x, la solution du challenge CDHest alors facilement calculee par la reduction : il s’agit de z1/d mod q.

‡La valeur de d est connue, meme si l’attaquant n’a pas demande H(m, r) lors de la simulation, car alorsl’appel a l’oracle H est fait par la procedure de verification.

53

Chapitre 6. Un schema de signature efficace base sur le CDH

Ainsi, le point principal restant dans cette demonstration est de prouver que DLh(z) =DLg(y) = x. Calculons la probabilite que l’attaquant retourne une falsification valide telle queDLh(z) 6= DLg(y) = x. Pour cela, posons k = DLg(u), k′ = DLh(v) et x′ = DLh(z), c’est-a-direu = gk, v = hk′ et z = hx′ , ce qui est possible puisque g et h sont des generateurs de G ‡.

Il s’ensuit alors que, comme la falsification est valide, k = s−cx mod q et k′ = s−cx′ mod q.C’est pourquoi, si x′ 6= x, c = G(g, h, y, hx′ , gk, hk′) = k−k′

x′−x mod q. Or, comme les valeurs desortie de G dans la simulation (qu’elles soient definies dans les requetes directes a l’oracle G oudans les requetes de signature) sont aleatoires, une telle relation ne peut etre satisfaite qu’avecune probabilite qG

q .Aussi, nous pouvons conclure que la reduction a une probabilite de succes ε′ satisfaisant

ε′ > ε− qs(qs + qhq (q − 1)

+qs + qh

2`r

)−qhq

.

De plus, le temps de la reduction τ ′ est majoree par

τ ′ 6 τ + (6qs + qh)τ0 .

ut

6.1.3 Caracteristiques du schema de signature EDL

Le schema de signature EDL est prouve sur sous l’hypothese de difficulte du probleme cal-culatoire Diffie-Hellman. De plus, la reduction est fine. Ainsi, la securite de ce schema est un deses points forts.

Dans ce schema, les signatures sont longues de (`p+2`q+`r) bits. Cela peut paraıtre long maisil faut relativiser cette taille, etant donne la securite de ce schema ††. Des parametres classiquessont `q = 176 et `r = 111, `p variant en fonction du groupe utilise.

Dans son usage classique, le schema ne peut etre utilise avec des coupons. Cependant,comme note par Eu-Jin Goh et Stanislaw Jarecki, il est possible d’utiliser la technique ge-nerique d’Adi Shamir et Yael Tauman [ST01], technique basee sur les fonctions de hachagecameleon [KR00]. Nous appelons dans la suite EDL-CH l’ensemble forme par cette techniquegenerique et par EDL. Falsifier une signature EDL-CH est equivalent a falsifier une signature duschema EDL ou a trouver une collision sur la fonction de hachage cameleon. Aussi, il est interes-sant d’utiliser une fonction de hachage cameleon dont la resistance aux collisions est elle-memebasee sur le DL ou le CDH (par exemple, H(m, r) = H0(gm yr), ou H0 : G→ G est une fonctionde hachage). Malheureusement, le cout de la technique de coupons est alors une verificationplus lente. De plus, utiliser la fonction de hachage H(m, r) = H0(gm yr) implique le fait que lenombre aleatoire r doit etre tire dans Zq (et non plus dans 0, 1`r). Cela rend les signaturesEDL-CH legerement plus longues que celles d’EDL : elles font (`p + 3`q) bits.

6.2 Les schemas de signature de Katz-Wang

Dans [KW03], Jonathan Katz et Nan Wang ont propose deux modifications au schema EDL.La premiere est un schema proche de EDL (et notamment avec une reduction fine sur le CDH),mais avec des signatures plus courtes, alors que la deuxieme est un schema avec reduction finesur le DDH. Nous noterons ces schemas respectivement KW-CDH et KW-DDH.

‡C’est notamment ici qu’il est necessaire que la sortie de la fonction de hachage H soit G \ 1 et non G††Ainsi, dans [GJ03], les auteurs estiment que si le probleme du logarithme discret est suppose infaisable pour

des premiers de 1000 bits, le lemme de bifurcation nous assure seulement de la securite des signatures Schnorrdans un groupe modulo un premier de 8000 bits.

54

6.2. Les schemas de signature de Katz-Wang

6.2.1 Presentation du schema KW-CDH

L’idee de Jonathan Katz et Nan Wang est de remplacer l’aspect aleatoire de r par une im-predictibilite. Plus precisement, les auteurs remplacent r par un bit b qui peut etre seulementcalcule par le signataire (par exemple, b pourrait etre le resultat d’une fonction pseudo-aleatoire,sous une cle secrete incluse dans la cle de signature). En d’autres termes, signer plusieurs foisun meme message avec EDL ferait intervenir differents aleas r, alors qu’avec KW-CDH, le bit bresterait le meme. La signature est alors (z, s, c, b), et est donc plus courte de 110 bits que lasignature du schema EDL.

Sig

nature

KW

-CD

H[K

W03] Initialisation des parametres : Soient `p et `q des parametres de securite.

Soit G le groupe cyclique d’ordre q, engendre par g, ou q est un premier de`q bits et la representation des elements de G est incluse dans 0, 1`p .Soient H : M× 0, 1 → G \ 1 et G : G6 → Zq deux fonctions dehachage. Enfin, soit Ψ. une famille de fonctions pseudo-aleatoires.

Generation de cles : La cle privee est un nombre aleatoire x ∈ Zq, et unecle ς pour la famille de fonctions pseudo-aleatoires. La cle publique cor-respondante est y = gx.

Signature : Pour signer un message m ∈ M, le signataire calcule toutd’abord b = Ψς(m), puis h = H(m, b) et z = hx. Ensuite, le signataireprouve une egalite de logarithmes, c’est-a-dire que DLh(z) = DLg(y).Pour cela, il tire un alea k ∈ Zq, et calcule u = gk, v = hk, c =G(g, h, y, z, u, v) et s = k + cx mod q.La signature ainsi produite du message m est σ = (z, b, s, c) ∈ G ×0, 1 × Zq

2.

Verification : Pour verifier une signature σ = (z, b, s, c) d’un message m ∈M, il faut calculer h′ = H(m, b), u′ = gs y−c et v′ = h′s z−c. La signatureσ est alors acceptee si et seulement si c = G(g, h′, y, z, u′, v′) et z ∈ G.

Comme dans EDL, dans ce schema, la seule quantite qui peut etre precalculee avant deconnaıtre le message est u.

6.2.2 Securite du schema KW-CDH

Dans cette partie, nous reduisons la securite du schema KW-CDH a la securite du problemecalculatoire Diffie-Hellman. La preuve suit l’idee originalement presentee dans [KW03].

Theoreme 6 ([KW03]). Soit A un adversaire qui produit, avec une probabilite de succesε et en un temps τ , une falsification existentielle dans le schema KW-CDH, sous uneattaque a messages choisis, apres avoir eu droit a qh requetes a un oracle de hachage etqs requetes a un oracle de signature, dans le modele de l’oracle aleatoire.Alors le probleme calculatoire Diffie-Hellman peut etre resolu avec une probabilite ε′ et enun temps τ ′, tels que

ε′ >ε

2− qs(qs + qh)

q− qh

q

etτ ′ 6 τ + (6qs + qh)τ0 ,

ou τ0 designe le temps d’une exponentiation dans G.

55

Chapitre 6. Un schema de signature efficace base sur le CDH

Demonstration. La reduction recoit en entree un groupe G ainsi qu’un challenge CDH (g, y =gx, A = ga). Nous utilisons alors l’attaquant A contre le schema de signature KW-CDH pourresoudre ce challenge, c’est-a-dire pour calculer gax. Par definition, l’attaquant A, apres avoir eudroit a qH requetes a un oracle de hachage H, qG requetes a un oracle de hachage G et qs requetesa un oracle de signature, est capable de produire une falsification sur un nouveau message, enun temps τ et avec une probabilite de succes de ε. Notons qh = qH + qG .

Dans la reduction, nous supposons la fonction pseudo-aleatoire Ψ. parfaite, c’est-a-dire re-tournant un nombre parfaitement aleatoire pour chaque nouvelle requete : elle est alors simuleeen utilisant une fonction aleatoire B :M→ 0, 1.

L’attaquant A est utilise avec la simulation suivante.

Initialisation : A est initialise avec les parametres publics (g, q,G) et la cle publique y.

Reponse a une nouvelle requete G(g, h, y, z, u, v) : le simulateur retourne un nombre alea-toire dans Zq.

Reponse a une nouvelle requete H(m, b) : le simulateur calcule la valeur du bit aleatoireb0 correspondante au message m, c’est-a-dire b0 = B(m).– si b = b0, alors le simulateur tire κ ∈ Z∗q , et retourne gκ comme reponse de l’oracle ;– si b 6= b0, alors le simulateur tire d ∈ Z∗q , et retourne Ad comme reponse de l’oracle.

Reponse a une requete de signature sur un message mi ∈M : le simulateur calcule lavaleur du bit aleatoire b0 correspondante au message mi, c’est-a-dire b0 = B(m), et poseb = b0, puis demande a l’oracle H la valeur de H(mi, b). Par definition de cet oracle et deb0, le simulateur connaıt la valeur κ, telle que h = H(mi, b) = gκ. Le simulateur peut doncaisement calculer z = yκ — nous pouvons alors remarquer que DLh(z) = DLg(y) (= x).Puis, le simulateur tire deux aleas (s, c) ∈ Zq × Zq et calcule u = gs y−c et v = hs z−c. SiG(g, h, y, z, u, v) est deja defini, le simulateur s’arrete, et la reduction echoue (Evenement 1).Sinon, le simulateur pose G(g, h, y, z, u, v) = c et retourne la signature valide (z, b, s, c).

Comme nous pouvons le voir, la simulation est valide et indistinguable d’un veritable signa-taire, et n’echoue que lors d’un evenement :

– Evenement 1 : d’apres la simulation des requetes de signature, les entrees de l’oracle G sontde la forme (g, h, y, z, u, v) = (g, gκ, y, yκ, gk, gκk) avec (k, κ) ∈ Zq×Z∗q . Contrairement a lapreuve d’EDL, ici, la valeur de H(m, b) peut etre deja definie, et donc κ n’est pas aleatoireaux yeux de l’adversaire. Aussi, la probabilite que G(g, h, y, z, u, v) ait deja ete pose estplus petite que qG+qs

q , pour une requete de signature donnee. Pour l’ensemble des requetes

de signature, la probabilite d’apparition de l’Evenement 1 est donc bornee par qs·(qG+qs)q .

Resolution du challenge CDH : A part lors de l’evenement precedemment etudie, la simula-tion est parfaite pour l’attaquant A, et celui-ci retourne donc avec une probabilite ε unefalsification sur un message qu’il n’a jamais soumis a l’oracle de signature.Si l’attaquant echoue, la reduction echoue. Dans le cas contraire, l’attaquant retourneσ = (z, b, s, c) avec le message m lui correspondant.Alors se presentent deux cas : si b est la valeur du bit aleatoire b0 correspondante au messagem, c’est-a-dire b0 = B(m), la reduction echoue. Dans le cas contraire, par definition del’oracle H, notre reduction peut retrouver dans l’historique de la simulation la valeur dcorrespondant a h = H(m, b) ‡.

‡La valeur de d est connue, meme si l’attaquant n’a pas demande H(m, b) lors de la simulation, car alorsl’appel a l’oracle H est fait par la procedure de verification.

56

6.2. Les schemas de signature de Katz-Wang

De la meme facon que dans la preuve d’EDL, nous pouvons montrer que DLh(z) =DLg(y) = x. Aussi, la solution du challenge CDH est alors facilement calculee par notrereduction : il s’agit de z1/d mod q.Ainsi, le point principal restant dans cette demonstration est de calculer la probabilite queb 6= b0.

Probabilite que b 6= b0 : En fait, cette probabilite est tres facile a calculer, si nous supposonsque la fonction pseudo-aleatoire est parfaite. En effet, dans ce cas, l’adversaire n’a aucuneinformation sur la valeur de b0 = B(m), et donc Pr(b 6= b0) = 1

2 .

Aussi, nous pouvons conclure que la reduction a une probabilite de succes ε′ satisfaisant

ε′ >ε

2− qs(qs + qh)

q− qh

q.

De plus, le temps de notre reduction τ ′ est majoree par

τ ′ 6 τ + (6qs + qh)τ0 .

ut

6.2.3 Presentation du schema KW-DDH

L’idee du deuxieme schema de Jonathan Katz et Nan Wang est de fixer une fois pour toute(dans la cle publique) la valeur de h (et donc de z).

Plus precisement, la description du schema est la suivante.

Sig

nature

KW

-DD

H[K

W03] Initialisation des parametres : Soient `p et `q des parametres de securite.

Soit G le groupe cyclique d’ordre q, engendre par g, ou q est un premierde `q bits et la representation des elements de G est incluse dans 0, 1`p .Soit G :M×G6 → Zq une fonction de hachage. Enfin, soit h un elementaleatoire du groupe G.

Generation de cles : La cle privee est un nombre aleatoire x ∈ Zq. La clepublique correspondante est (y = gx, z = hx).

Signature : Pour signer un message m ∈M, le signataire prouve une egalitede logarithmes, c’est-a-dire que DLh(z) = DLg(y). Pour cela, il tireun alea k ∈ Zq, et calcule u = gk, v = hk, c = G(m, g, h, y, z, u, v) ets = k + cx mod q.La signature ainsi produite du message m est σ = (s, c) ∈ Zq

2.

Verification : Pour verifier une signature σ = (s, c) d’un message m ∈M, ilfaut calculer u′ = gs y−c et v′ = hs z−c. La signature σ est alors accepteesi et seulement si c = G(m, g, h, y, z, u′, v′).

Contrairement a EDL ou a KW-CDH, dans ce schema, u et v peuvent etre precalcules avantde connaıtre le message : ainsi, la partie en-ligne consiste simplement en un calcul de hache,une multiplication et une addition modulaires. Ceci est aussi competitif que pour des schemascomme Schnorr, PS ou GPS.

57

Chapitre 6. Un schema de signature efficace base sur le CDH

6.2.4 Securite du schema KW-DDH

Dans cette partie, nous reduisons la securite du schema KW-DDH a la securite du problemedecisionnel Diffie-Hellman. La preuve suit l’idee originalement presentee dans [KW03].

Theoreme 7 ([KW03]). Soit A un adversaire qui produit, avec une probabilite de succesε et en un temps τ , une falsification existentielle dans le schema KW-DDH, sous uneattaque a messages choisis, apres avoir eu droit a qh requetes a un oracle de hachage etqs requetes a un oracle de signature, dans le modele de l’oracle aleatoire.Alors le probleme decisionnel Diffie-Hellman peut etre resolu avec un avantage ε′ et en untemps τ ′, tels que

ε′ > ε− qs(qs + qh)q

− qhq

etτ ′ 6 τ + 4qsτ0 ,

ou τ0 designe le temps d’une exponentiation dans G.

Demonstration. La reduction recoit en entree un groupe G ainsi qu’un challenge DDH (g, y =gx, h, z). Nous utilisons alors l’attaquantA contre le schema de signature KW-DDH pour resoudrece challenge, c’est-a-dire pour decider si z vaut hx ou si z est un element autre du groupe. Pardefinition, l’attaquantA, apres avoir eu droit a qh requetes a un oracle de hachage G et qs requetesa un oracle de signature, est capable de produire une falsification sur un nouveau message, enun temps τ et avec une probabilite de succes de ε.

L’attaquant A est utilise avec la simulation suivante.

Initialisation : A est initialise avec les parametres publics (g, h, q,G) et la cle publique (y, z).

Reponse a une nouvelle requete G(m, g, h, y, z, u, v) : le simulateur retourne un alea de Zq.

Reponse a une requete de signature sur un message mi ∈M : le simulateur tire deuxaleas (s, c) ∈ Zq × Zq et calcule u = gs y−c et v = hs z−c. Si G(mi, g, h, y, z, u, v) est dejadefini, le simulateur s’arrete, et la reduction echoue (Evenement 1). Sinon, le simulateurpose G(mi, g, h, y, z, u, v) = c et retourne la signature valide (s, c).

Comme nous pouvons le voir, la simulation est valide et indistinguable d’un veritable signa-taire, si z = hx, et n’echoue que lors d’un evenement :

– Evenement 1 : d’apres la simulation des requetes de signature, les entrees de l’oracle Gcomportent u, un element aleatoire du groupe. Aussi, la probabilite que G(m, g, h, y, z, u, v)ait deja ete pose est plus petite que qG+qs

q , pour une requete de signature donnee. Pour

l’ensemble des requetes de signature, la probabilite d’apparition de l’Evenement 1 est doncbornee par qs·(qG+qs)

q .

Resolution du challenge DDH : A part lors de l’evenement precedent, nous pouvons voir quela simulation est parfaite pour l’attaquant A, si z = hx. Ainsi, dans le cas ou z = hx, Aretourne avec une probabilite ε une falsification sur un message qu’il n’a jamais soumis al’oracle de signature.Au contraire, si z est un element aleatoire du groupe non egal a hx, la simulation n’estpas parfaite. Aussi, l’attaquant pourrait tres bien avoir un comportement different de soncomportement dans le monde reel (c’est-a-dire que sa probabilite de succes pourrait etredifferente de celle escomptee). Nous allons neanmoins montrer qu’il lui est impossible, dansle cas ou z 6= hx, de retourner une falsification.

58

6.3. Un nouveau schema de signature

Supposons que l’adversaire puisse retourner une falsification, bien que z 6= hx. Posonsalors k = DLg(u), k′ = DLh(v) et x′ = DLh(z), c’est-a-dire u = gk, v = hk′ et z = hx′ . Ils’ensuit alors que, comme la falsification est valide, k = s−cx mod q et k′ = s−cx′ mod q.Ainsi, comme x′ 6= x, c = G(g, h, y, hx′ , gk, hk′) = k−k′

x′−x mod q. Or, comme les valeurs desortie de G dans la simulation (qu’elles soient definies dans les requetes directes a l’oracle Gou dans les requetes de signature) sont aleatoires, une telle relation ne peut etre satisfaitequ’avec une probabilite qG

q . Aussi, dans le cas ou z est un element aleatoire du groupe nonegal a hx, la probabilite de succes de l’attaquant est au maximum de qG

q .Toutefois, il faut bien noter que le fait que l’attaquant ne retourne pas de falsification n’estpas la preuve que z 6= hx, car meme si z = hx, A n’a qu’une probabilite ε de produire unefalsification.

La reduction resout donc ainsi l’instance DDH : si l’attaquant A retourne une falsification,elle repond que z = hx ; dans le cas contraire, elle repond au hasard au challenge.

Aussi, nous pouvons conclure que notre reduction a un avantage ε′ satisfaisant

ε′ > ε− qs(qs + qh)q

− qhq

.

De plus, le temps de notre reduction τ ′ est majoree par

τ ′ 6 τ + 4qsτ0 .

ut

6.3 Un nouveau schema de signature

Lorsque nous regardons la description d’EDL, nous pouvons voir que deux valeurs aleatoiressont utilisees : k d’une part, pour generer la preuve d’egalite des logarithmes discrets, et r d’autrepart, afin que l’attaquant ne puisse prevoir la valeur de h qui sera utilisee dans les requetes designature.

Plus precisement, dans EDL, h est pris egal a H(m, r), avec un nombre aleatoire r suffisam-ment grand. Comme le fait RSA-PSS dans un certain sens, le but est d’eviter, avec une probabiliteecrasante, que l’attaquant ne demande a l’oracle de hachage H une valeur H(m, r) avec un alear qui apparaıtra par la suite dans une requete de signature. En effet, il est necessaire dans lareduction de construire les H(m, r) apparaissant dans les requetes de hachage d’une certainefacon, et ceux apparaissant dans les requetes de signature d’une autre facon (comme montredans la preuve d’EDL, Section 6.1.2).

Notre premiere idee a donc ete la suivante : Comment serait-il possible d’utiliser l’alea k dansl’expression H(m, ·) pour arriver au meme but ? Bien sur, il est impossible d’utiliser directementH(m, k), mais nous prouvons dans la Section 6.3.1 que nous pouvons utiliser H(m,u). L’effetest alors immediat : la taille de la signature est reduite de `r bits.

Notre deuxieme idee s’est alors exprimee comme suit : Serait-il alors possible, sur cette nou-velle construction, de mettre la contribution du message a l’interieur de la fonction de hachageG, plutot qu’a l’interieur de la fonction de hachage H, comme cela est possible dans les schemasSchnorr ou KW-DDH ? Le but est la de permettre le plus de precalculs possible. Cette techniquene peut etre appliquee a EDL, mais nous prouvons a la fin de cette section que cela est possiblepour notre construction.

59

Chapitre 6. Un schema de signature efficace base sur le CDH

L’intuition est la suivante : utiliser z = H(r)x et mettre m dans G(·) dans EDL ne peutetre prouve sur, car un attaquant peut facilement reutiliser un z fourni par une simulation, etainsi empecher celle-ci de resoudre le probleme CDH. Au contraire, dans notre construction,nous allons montrer qu’utiliser z = H(u)x est sur, car un attaquant ne peut reutiliser un H(u)x

fourni par le signataire, a moins que le logarithme discret ne soit revele : en effet, u satisfait unerelation (u = gs y−c) qui ne peut etre devoilee pour deux valeurs de c differentes sans reveler lelogarithme discret.

Dans cette section, nous introduisons le nouveau schema de signature obtenu a partir desdeux idees evoquees dans ce preambule. La preuve de securite est ensuite exposee, pour confirmerl’intuition que nous venons d’exposer.

6.3.1 Une etape de notre construction

Tout d’abord, afin de rendre notre demarche la plus claire possible, nous presentons le schemaintermediaire obtenu lors de nos recherches. Il faut neanmoins voir cette section plus comme uneetape (vers le schema decrit en Section 6.3.2) que comme une fin en soi.

Pour ce schema, nous conservons les etapes d’initialisation et de generation de cles de EDL, al’exception pres que la fonction de hachage H est maintenant definie par H :M×G→ G \ 1.

Signature : Pour signer un message m ∈M, le signataire choisit un nombrealeatoire k ∈ Zq, et calcule u = gk, h = H(m,u), z = hx, v = hk,c = G(g, h, y, z, u, v) et s = k+ cx mod q. La signature ainsi produite dumessage m est σ = (z, s, c) ∈ G× Zq

2.

Verification : Pour verifier une signature σ = (z, s, c) correspondant a unmessage m ∈ M, il suffit de calculer u′ = gs y−c, h′ = H(m,u′) etv′ = h′s z−c. La signature doit alors etre acceptee si et seulement sic = G(g, h′, y, z, u′, v′) et z ∈ G.

Cette modification du schema EDL permet de reduire les signatures : elles sont plus petitesde `r bits que dans la version originale de EDL. Nous montrons egalement que la securite n’estpas affectee par cette modification.

Theoreme 8. Soit A un adversaire qui produit, avec une probabilite de succes ε et en untemps τ , une falsification existentielle dans le schema presente dans cette section, sousune attaque a messages choisis, apres avoir eu droit a qh requetes a un oracle de hachageet qs requetes a un oracle de signature, dans le modele de l’oracle aleatoire.Alors le probleme calculatoire Diffie-Hellman peut etre resolu avec une probabilite ε′ et enun temps τ ′, tels que

ε′ > ε− qs(

2qs + qhq

)−qhq

etτ ′ 6 τ + (6qs + qh)τ0

ou τ0 designe le temps d’une exponentiation dans G.

La preuve complete de ce theoreme est tres similaire a la preuve d’EDL presentee Section 6.1.2et est omise dans cette these. Neanmoins, le lecteur interesse pourra la trouver dans la versioncomplete de notre article [Che05a, Annexe B]. Decrivons maintenant le schema final.

60

6.3. Un nouveau schema de signature

6.3.2 Description de notre schema

Notre schema est le suivant :C

rypto

’05

[Che05a] Initialisation des parametres : Soient `p et `q des parametres de securite.

Soit G le groupe cyclique d’ordre q, engendre par g, ou q est un premierde `q bits et la representation des elements de G est incluse dans 0, 1`p .Enfin, soient H : G → G \ 1 et G : M× G6 → Zq deux fonctions dehachage.

Generation de cles : La cle privee est un nombre aleatoire x ∈ Zq. La clepublique correspondante est y = gx.

Signature : Pour signer un message m ∈M, le signataire choisit un nombrealeatoire k ∈ Zq, et calcule u = gk, h = H(u), z = hx et v = hk.Ensuite, le signataire prouve une egalite de logarithmes, c’est-a-dire queDLh(z) = DLg(y). Pour cela, il calcule c = G(m, g, h, y, z, u, v) et s =k + cx mod q.La signature ainsi produite du message m est σ = (z, s, c) ∈ G× Zq

2.

Verification : Pour verifier une signature σ = (z, s, c) d’un message m ∈M,il faut calculer u′ = gs y−c, h′ = H(u′), et v′ = h′s z−c. La signature σest alors acceptee si et seulement si c = G(m, g, h′, y, z, u′, v′) et z ∈ G.

Un avantage de notre schema apparaıt alors clairement : nos signatures sont plus petites queles signatures EDL ou meme KW-CDH : elles ne font que (`p + 2`q) bits de long. Il nous resteencore a prouver que notre schema possede une reduction fine au probleme CDH, ce qui est faitdans la prochaine partie — mais des a present, nous pouvons constater que, pour les valeursnumeriques donnees dans [GJ03, KW03] le gain est de 111 bits par signature par rapport a EDL,et de 1 bit par rapport a KW-CDH.

6.3.3 Preuve de securite de notre schema

Dans cette section, nous reduisons le schema propose dans la section precedente a la securitedu probleme CDH. La preuve est assez proche de la preuve du schema EDL.

Theoreme 9. Soit A un adversaire qui produit, avec une probabilite de succes ε et enun temps τ , une falsification existentielle dans le schema presente Section 6.3.2, sous uneattaque a messages choisis, apres avoir eu droit a qh requetes a un oracle de hachage etqs requetes a un oracle de signature, dans le modele de l’oracle aleatoire.Alors le probleme calculatoire Diffie-Hellman peut etre resolu avec une probabilite ε′ et enun temps τ ′, tels que

ε′ > ε− 2qs

(qs + qhq

)et

τ ′ 6 τ + (6qs + qh)τ0

ou τ0 designe le temps d’une exponentiation dans G.

Demonstration. Notre reduction recoit en entree un groupe G ainsi qu’un challenge CDH (g, y =gx, A = ga). Nous utilisons alors l’attaquant A contre le schema de signature de la Section 6.3.2pour resoudre ce challenge, c’est-a-dire pour calculer gax. Par definition, l’attaquant A, apres

61

Chapitre 6. Un schema de signature efficace base sur le CDH

avoir eu droit a qH requetes a un oracle de hachage H, qG requetes a un oracle de hachage Get qs requetes a un oracle de signature, est capable de produire une falsification sur un nouveaumessage, en un temps τ et avec une probabilite de succes de ε. Notons qh = qH + qG .

L’attaquant A est utilise avec la simulation suivante.

Initialisation : A est initialise avec les parametres publics (g, q,G) et la cle publique y.

Reponse a une nouvelle requete G(m, g, h, y, z, u, v) : le simulateur retourne un alea de Zq.

Reponse a une nouvelle requete H(u) : le simulateur tire un nombre aleatoire d ∈ Z∗q , etretourne Ad. Les valeurs de u sont memorisees dans une liste appelee U-List.

Reponse a une requete de signature sur un message mi ∈M : le simulateur tire troisnombres aleatoires (κ, s, c) ∈ Z∗q × Zq

2. Alors, il calcule u = gs y−c. Si H(u) est dejadefini, le simulateur s’arrete, et la reduction echoue (Evenement 1). Sinon, le simulateurpose H(u) = gκ, et calcule z = yκ — nous remarquons alors que DLh(z) = DLg(y) (= x).Finalement, le simulateur calcule v = hs z−c. Si la valeur G(mi, g, h, y, z, u, v) est deja defi-nie, le simulateur s’arrete et la reduction echoue (Evenement 2). Sinon, le simulateur poseG(mi, g, h, y, z, u, v) = c. Il peut alors retourner (z, s, c) comme une signature valide de mi.Tous les u apparaissant dans les requetes de signature sont stockes dans une liste Υ -List.

Comme nous pouvons le voir, la simulation est valide et indistinguable d’un veritable signa-taire, et n’echoue que lors des evenements suivants :

– Evenement 1 : Comme u est un alea de G, la probabilite que H(u) soit deja pose estplus petite que qH+qs

q , lors d’une requete de signature. Pour l’ensemble des qs requetes de

signature, la probabilite d’apparition de l’Evenement 1 est donc majoree par qs·(qH+qs)q .

– Evenement 2 : d’apres notre simulation des requetes de signature, les entrees de l’oracleG sont de la forme (m, g, h, y, z, u, v) = (m, g, gκ, y, yκ, gk, gκk) avec (k, κ) ∈ Zq × Z∗q .De plus, comme l’Evenement 1 n’est pas arrive, la valeur de H(u) n’est pas encore de-finie, et donc κ est totalement aleatoire aux yeux de l’adversaire. Aussi, la probabiliteque G(m, g, h, y, z, u, v) ait deja ete pose est plus petite que qG+qs

q (q−1) , pour une requete designature donnee. Pour l’ensemble des requetes de signature, la probabilite d’apparitionde l’Evenement 2 est donc limitee a qs·(qG+qs)

q (q−1) 6 qs·(qG+qs)q .

Aussi, exceptes les evenements precedents, dont la probabilite est plus petite que δsim =qs

( qh+2qs

q

), notre simulation est un succes, et est indistinguable du monde reel.

En d’autres termes, avec une probabilite εsim > ε − δsim, l’attaquant A est capable deretourner une falsification (z, s, c) d’un message m ∈ M qu’il n’a jamais soumis a l’oracle designature. Le simulateur peut alors en deduire les valeurs (u, v, h) correspondantes : u = gs y−c,h = H(u), et v = hs z−c. Notamment, si la valeur H(u) n’avait pas ete demandee explicitementpar l’attaquant a l’oracle de hachage ou calculee lors d’une requete de signature, le simulateurfait la demande a l’oracle de hachage H lui-meme. Aussi, u est necessairement membre de laliste U-List ou de la liste Υ -List.

Resolution du challenge CDH : A cette etape, notre preuve se divise en deux cas, contraire-ment aux preuves de EDL ou de KW-CDH.

Dans le premier de ces cas, u appartient a la liste U-List. C’est la situation qui corresponda la preuve de EDL ou de KW-CDH. Comme pour ces preuves, comme h est un generateurde G, nous ecrivons u = gk, v = hk′ et z = hx′ , et nous obtenons alors grace a l’etape deverification, comme la signature est valide, que k = s − cx mod q et k′ = s − cx′ mod q.

62

6.3. Un nouveau schema de signature

Ainsi, si x 6= x′, nous avons c = G(m, g, h, y, hx′ , gk, hk′) = k−k′

x′−x mod q. Par les memesarguments que dans les preuves de EDL ou de KW-CDH, nous savons qu’une telle equationne peut etre resolue, sauf avec une probabilite de qG

q . Aussi, mis a part ce cas minime

d’erreur, nous avons DLh(z) = DLg(y) (= x). Alors, l’attaquant a retourne z = hx, etla reduction connaıt d 6= 0 tel que h = H(u) = Ad. La reduction peut donc resoudre leprobleme CDH, en retournant la reponse z1/d mod q. En conclusion, dans ce premier cas, lafalsification est utilisee avec succes pour resoudre le probleme, sauf avec une probabiliteδ1 = qh

q .

Dans le second cas, u n’appartient pas a la liste U-List, et donc appartient a la liste Υ -List.Ce cas peut arriver, contrairement au schema EDL, car il n’y a pas, dans notre schema,de message en entree de la fonction de hachage H, et ainsi, nous pouvons imaginer quel’attaquant reutilise un u qui serait apparu lors des requetes de signatures. Dans ce secondcas, la reduction retrouve, dans son historique, les quantites correspondant a ce u = u,c’est-a-dire h, v, z, s, c et m.A ce moment, nous pouvons voir que nous avons u = gs y−c = u = gs y−c. C’est exactementle genre d’equation qui est utilisee par le lemme de bifurcation pour prouver une securitelache. Cependant, ici, cette egalite n’est pas obtenue en redemarrant l’attaquant (commecela est fait dans le lemme de bifurcation), mais juste par construction. Ainsi, nous pouvonsretrouver la cle privee x, si c 6= c mod q.Comme le message m est nouveau, c 6= c ou alors une collision sur la fonction de hachageG a ete trouvee par l’attaquant, entre un G-hache retourne par la simulation de signature,et un G-hache retourne par un appel direct a l’oracle de hachage G. Ceci ne peut arriverqu’avec une probabilite plus petite que qs·qG

q . Aussi, mise a part une erreur plus petiteque δ2 = qs·qG

q , nous avons c 6= c, et donc la reduction peut retrouver la cle secrete x.L’equation s− xc = s− xc (mod q) donne en effet x = s−s

c−c mod q. Nous pouvons voir quece second cas ne donne pas seulement la solution du challenge CDH, mais aussi la solutionau probleme du logarithme discret.

En conclusion, dans les deux cas, notre reduction peut utiliser la falsification produite parl’attaquant pour resoudre le probleme CDH. Sa probabilite de succes satisfait la relationε′ > ε− δsim −max(δ1, δ2), ce qui, en utilisant qH + qG = qh, donne

ε′ > ε− 2qs

(qs + qhq

).

De plus, le temps d’execution de la reduction τ ′ est tel que

τ ′ 6 τ + (6qs + qh)τ0 .ut

6.3.4 Utilisation de coupons dans notre schema

L’un des avantages de notre schema est qu’il permet l’utilisation de coupons, et ceci sansaucun cout pour le signataire et le verifieur. En effet, le signataire peut decider d’utiliser ou nondes coupons, sans que ce choix ne change l’etape de verification (et notamment, sans la rendreplus couteuse). Ceci est egalement le cas de la signature Schnorr, mais par exemple n’est pasvrai pour les signatures a coupons basees sur les fonctions de hachage cameleon, et notammentpas pour la signature EDL-CH.

63

Chapitre 6. Un schema de signature efficace base sur le CDH

Ce procede de coupon est fait de facon tres naturelle : l’etape de signature (voir Section 6.3.2)est simplement divisee en deux sous-etapes.

Crypto

’05 Signature, partie hors-ligne : Pour creer un coupon, le signataire choisit

k ∈ Zq et calcule u = gk, h = H(u), z = hx et v = hk. Le coupon estalors (u, v, h, z, k) ∈ G4 × Zq.

Signature, partie en-ligne : Pour signer un message m ∈ M, le signa-taire utilise un nouveau coupon (u, v, h, z, k) et calcule simplementc = G(m, g, h, y, z, u, v) et s = k+ cx mod q. La signature sur le messagem est σ = (z, s, c) ∈ G× Zq

2.

Comme nous pouvons le voir, la procedure de verification reste la meme. Cette propriete designature en-ligne/hors-ligne est tres utile, car elle permet au calcul en-ligne d’etre le plus rapidepossible, sa duree etant reduite au temps de calcul d’un hache et d’une multiplication modulaire.Ceci est tout a fait comparable aux signatures a coupons les plus rapides actuellement, Schnorr,GPS ou PS.

Le lecteur remarquera que le schema GPS ne necessite pas de reduction modulo l’ordre dugroupe, au prix d’une signature legerement plus longue. Cette technique peut aussi etre utiliseedans notre schema, afin d’accelerer encore l’etape en-ligne, au prix d’une signature legerementplus longue.

Comme decrit dans cette section, les coupons font (4`p + `q) bits. Cette taille peut etrefacilement reduite a (3`p + `q) bits, en ne stockant simplement pas h, c’est-a-dire en ayant uncoupon (u, v, z, k). Alors, la valeur h = H(u) est simplement recalculee lors de l’etape en-ligne.Ceci peut etre interessant lorsque la memoire est limitee, par exemple sur certaines cartes apuces.

Une version qui minimise encore plus la taille des coupons est decrite dans les annexes denotre publication [Che05a, Annexe A].

6.3.5 Taille des parametres

Dans cette section, nous expliquons comment definir les parametres de securite `q et `p,pour atteindre un niveau de securite donne. Notre analyse suit celle d’Eu-Jin Goh et StanislawJarecki pour le schema EDL. Prenons le meilleur attaquant (qh, qs, τ, ε) contre notre schema :il peut trouver, en un temps moyen τ

ε une falsification. En posant τ = 2n et ε = 2−e, nousobtenons log2(

τε ) = n+ e = κ, par definition le niveau de securite d’un schema en bits.

Comme prouve dans la Section 6.3.3, nous pouvons utiliser cet attaquant pour resoudre leprobleme CDH dans un temps moyen τ ′

ε′ . Notons 2κ′ le niveau de difficulte du probleme CDH

dans le groupe G. Alors, par definition, κ′ 6 log2(τ ′

ε′ ). De plus, par les attaques generiques ‡

en O(√q) sur le logarithme discret (et donc sur le probleme calculatoire Diffie-Hellman), nous

avons `q > 2κ′.Utilisons le cout de calcul d’un hache comme temps unitaire. Alors, qh 6 2n. Si de plus, nous

estimons que τ0 (le temps d’une exponentiation dans G) est d’environ 100 fois le temps du calculd’un hache, en sachant que qs 6 qh, nous obtenons que τ ′ ' 2n+7 et ε′ & ε− 4qs·qh

q . Du momentque qs 6 2`q−e−3−n = 2`q−κ−3 (par exemple, κ = 80, qs 6 280, qh 6 280 et `q > 176), nous avonsε′ & 2−e−1. Aussi, log2(

τ ′

ε′ ) . n+ 7 + e+ 1 = κ+ 8. Finalement, nous obtenons κ > κ′ − 8.

‡Citons notamment l’attaque par pas-de-bebe pas-de-geant et l’attaque rho de Pollard

64

6.3. Un nouveau schema de signature

Dans notre exemple, si le niveau de securite escompte κ est de 80 bits, il est suffisant d’utiliserκ′ = 88 (et notamment `q > 176). Ceci prouve que notre schema est tres efficace en terme detaille de signature, comme il nous est possible d’utiliser le meme sous-groupe G que celui utilisepar Eu-Jin Goh et Stanislaw Jarecki, en ayant le meme niveau de securite. Nous pouvonsremarquer aussi que notre schema reste aussi sur, avec les memes parametres de securite, memepour un qs pouvant aller jusqu’a 280, alors que dans EDL, qs est limite a 230 ou l’alea r doit etrerendu plus grand.

6.3.6 Comparaison de notre schema avec EDL, KW-CDH et autres schemas

Dans ce paragraphe, nous resumons les avantages de notre schema. Compare a EDL, notreschema a les caracteristiques suivantes :

1. une procedure de signature plus rapide, avec l’utilisation de coupons, sans surcout pour leverifieur : la partie en-ligne de notre schema ne requiert que le calcul d’un hache suivi ducalcul d’une multiplication modulaire dans Zq, alors que dans EDL, cette phase consisteen deux calculs de haches et surtout deux exponentiations dans G ;

2. meme efficacite de verification des signatures ;3. des signatures plus petites de `r > 111 bits : en prenant un sous-groupe de Z∗p, avec alors`p = 1024 et `q = 176, c’est une amelioration de 7%. Dans le cas des courbes elliptiques,le gain est encore plus important, comme z peut etre represente avec une longueur autourde `q = 176 : notre schema resulte alors en une amelioration de la taille des signatures de17%.

Avec KW-CDH, notre schema se compare comme suit :1. une procedure de signature plus rapide, avec l’utilisation de coupons, sans cout pour le

verifieur : la partie en-ligne de notre schema ne requiert que le calcul d’un hache suividu calcul d’une multiplication modulaire dans Zq, alors que dans KW-CDH, cette phaseconsiste en deux calculs de haches et surtout deux exponentiations dans G ;

2. meme efficacite de verification des signatures ;3. de facon moins significative, des signatures plus petites de 1 bit, et un niveau de securite

superieur de 1 bit.4. une taille de cles plus petite, car le calcul de b dans KW-CDH par une fonction pseudo-

aleatoire necessite une cle additionnelle, qu’il vaudrait mieux, pour des raisons de securite,ne pas relier a la cle privee x.

De plus, comme note dans [KW03], le calcul d’une fonction de hachage H : G → G peutetre tres long, par exemple dans le cas des sous-groupes de Z∗p, si `q `p. En effet, il fautalors proceder a une exponentiation de (`p − `q) bits, ce qui est bien plus long que les deuxexponentiations dans G, pour `q = 176. Dans notre schema, ce calcul de hache peut etre faithors-ligne, au contraire des schemas EDL ou KW-CDH.

Enfin, si nous comparons notre schema a EDL-CH, la version avec coupons de EDL, nousvoyons que notre schema presente :

1. une procedure de verification plus rapide et surtout inchangee (il faut se rappeler qu’EDL-CH s’appuie sur des fonctions de hachage cameleon, qui necessitent des exponentiationsadditionnelles) ;

2. des signatures plus petites, c’est-a-dire un gain de `q > 176 bits par rapport a EDL-CH ;pour le cas des sous-groupes de Z∗p, si nous prenons `p = 1024 et `q = 176, cela representeune amelioration de 11%, et, pour les courbes elliptiques, un gain de 25%.

65

Chapitre 6. Un schema de signature efficace base sur le CDH

De facon generale, en raison de sa reduction fine de securite, notre schema possede les memesavantages que ceux de EDL et KW-CDH, en comparaison avec les schemas bases sur le logarithmediscret tels que Schnorr et GPS, pour un niveau de securite donne.

D’une part, si nous prenons G ⊆ Z∗p, il est possible d’utiliser des modules p huit fois pluspetits et des ordres q deux fois plus petits que dans les schemas bases sur le probleme DL apreuve de securite lache — meme s’il faut cependant noter que le probleme sous-jacent (CDH)est plus facile que DL. Cela signifie notamment que les cles publiques sont huit fois plus petiteset que les cles privees sont deux fois plus petites. Par contre, les signatures sont environ deuxfois plus grandes que les signatures de Schnorr.

D’autre part, si nous prenons le cas des courbes elliptiques, nos cles (publiques et privees)sont deux fois plus petites, et nos signatures sont reduites de 25% par rapport aux schemas basessur le logarithme discret a reduction lache.

6.3.7 Derniers raffinements

Dans la version complete de notre papier [Che05a, Annexe C], nous montrons egalement qu’ilest possible de gagner encore quelques bits sur la taille de la signature, par une technique assezclassique due a Marc Girault et Jacques Stern [GS94] (elle s’applique ainsi egalement auxschemas Schnorr, EDL, KW-CDH et KW-DDH). Pour cela, nous proposons d’utiliser une fonctionde hachage M× G6 → 0, 1`c , plutot que celle utilisee dans la Section 6.3.2. La preuve duschema est alors tres legerement modifiee, pour arriver a un theoreme similaire au Theoreme 9,ou ε′ > ε − 2qs( qs+qh

q ) − qh

2`c. Nous pouvons alors adapter la discussion de la Section 6.3.5, et

voir que `c = 82 bits est suffisant pour un niveau de securite de 80 bits. Cela permet ainsid’obtenir des signatures dans un sous-groupe de Z∗p (en prenant `p = 1024, `q = 176 et `c = 82),faisant 1024 + 176 + 82 = 1282 bits. Dans le cas des courbes elliptiques, le gain est encore plusimportant, car z peut etre represente avec une longueur d’environ `q = 176 : les signatures fontalors 176 ∗ 2 + 82 + 1 = 435 bits.

6.3.8 A propos du test d’appartenance de z a G

Tels que nous les avons presentes, les schemas EDL, KW-CDH et le schema presente danscette section necessitent, dans l’etape de verification, de tester que z ∈ G. Ceci n’est pas couteuxpour les courbes elliptiques qui sont, rappelons-le, le meilleur cas d’utilisation de nos schemas.Au contraire, pour les sous-groupes de Z∗p d’ordre premier q, avec q p, ce test peut etre trespenalisant, puisqu’il est fait au moyen d’une exponentiation de `p − `q bits.

Dans [GJKW06], Eu-Jin Goh, Stanislaw Jarecki, Jonathan Katz and Nan Wang ont ex-plique comment se passer de ce test pour EDL et KW-CDH. Cette methode s’applique egalementa notre schema, comme nous allons le montrer.

Considerons notre schema de la Section 6.3.2, dans lequel la verification ne comporterait plusla verification de l’appartenance de z a G. Ainsi, considerons que le groupe G est inclus dansun groupe plus grand H d’ordre α q, ou α est appele le co-facteur. Nous restreignons seulementl’usage du schema a des groupes ou α et q sont premiers entre eux. Dans la falsification proposeepar l’adversaire, z pourrait appartenir a H sans appartenir a G. Or, dans les preuves, nous avonssuppose z ∈ G pour pouvoir ecrire v = hk′ et z = hx′ , et en deduire ensuite que x = x′ saufavec une probabilite de qh

q (voir Section 6.3.3, lors de l’utilisation de la falsification dans le casou u ∈ U-List).

L’idee est dorenavant que le schema n’est plus une preuve que z = hx, mais plutot que

66

6.4. Conclusion

(zα)α−1 mod q = hx. Nous pouvons reprendre la preuve de la Section 6.3.3, au moment de l’utili-sation de la falsification dans le cas ou u ∈ U-List (les autres points etant identiques).

Demonstration (Modification par rapport a la Section 6.3.3).Dans le premier cas, u appartient a la liste U-List. Comme h est un generateur de G, nous

pouvons ecrire u = gk, v = g0 hk′ et z = g1 h

x′ , ou (k, k′, x′) ∈ Z3q et ou g0 et g1 sont des elements

de H d’ordre α. D’apres l’equation de verification, k = s− cx mod q et v = hs z−c. En elevant laseconde equation a la puissance α, nous obtenons alors αk′ = α (s− c x′) mod q, et ainsi, commeα est inversible modulo q, k′ = s− c x′ mod q.

C’est pourquoi, si x 6= x′, nous avons c = G(m, g, h, y, hx′ , gk, hk′) = k−k′

x′−x mod q. Par lesmemes arguments que dans les preuves de EDL ou de KW-CDH, nous savons qu’une telle equationne peut etre resolue, sauf avec une probabilite de qG

q . Aussi, mis a part ce cas minime d’erreur,nous avons

(zα)α−1 mod q = hx .

Comme la reduction connaıt d 6= 0 tel que h = H(u) = Ad, elle peut resoudre le problemeCDH, en retournant la reponse (zα)(α d)−1 mod q. En conclusion, dans ce premier cas, la falsificationest utilisee avec succes pour resoudre le probleme, sauf avec une probabilite δ1 = qh

q .ut

Ainsi, comme nous pouvons le voir, il n’est pas necessaire de verifier que z ∈ G, pas plusdans les schemas EDL, KW-CDH que dans nos schemas, du moment que le co-facteur est premieravec q.

6.4 Conclusion

Lors de la conference Eurocrypt ’03, Eu-Jin Goh et Stanislaw Jarecki ont montre quecontrairement aux autres schemas de signature bases sur le logarithme discret, le schema de si-gnature EDL avait une reduction de securite fine au probleme calculatoire Diffie-Hellman (CDH),dans le modele de l’oracle aleatoire. Ces auteurs ont egalement remarque que le schema de signa-ture EDL pouvait etre transforme en un schema de signature a coupons, en utilisant la techniquegenerique d’Adi Shamir et Yael Tauman, technique basee sur les fonctions de hachage cameleon.

Dans ce chapitre, nous avons propose un nouveau schema de signature qui presente egalementune reduction de securite fine au probleme CDH, mais pour lequel les signatures produites sontplus courtes que celles d’EDL. De plus, de facon similaire au schema de signature Schnorr (maiscontrairement a EDL), le schema propose permet l’utilisation de coupons de facon extremementnaturelle, sans calculs supplementaires et sans que l’algorithme de verification ne soit modifie.

C’est dans le contexte des courbes elliptiques que notre schema est le plus interessant, caril ameliore alors de 25% l’etat de l’art des schemas de signature bases sur le logarithme discret,tout en gardant le meme niveau de securite.

Depuis sa parution, notre schema de signature a ete utilise comme brique de base d’unschema de signcryption ‡ dans une publication [BD06] de Tor Bjørstad et d’Alexander Denta la conference Pkc ’06.

‡La signcryption est une primitive melant le chiffrement et la signature.

67

Chapitre 6. Un schema de signature efficace base sur le CDH

68

Chapitre 7

Un schema de signature dans lemodele standard

Sommaire

7.1 Schema de signature dans le modele standard . . . . . . . . . . . . . . 70

7.1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

7.1.2 Securite prouvee et modele standard . . . . . . . . . . . . . . . . . . . . . 70

7.2 Survol des schemas de signature bases sur FlexibleRSA . . . . . . . . . . 71

7.2.1 Schema de signature Gennaro-Halevi-Rabin . . . . . . . . . . . . . . . . . 71

7.2.2 Schema des signatures jumelles GHR . . . . . . . . . . . . . . . . . . . . . 72

7.2.3 Schema de signature Cramer-Shoup . . . . . . . . . . . . . . . . . . . . . . 73

7.2.4 Schema de signature Camenisch-Lysyanskaya . . . . . . . . . . . . . . . . 73

7.2.5 Schema de signature Fischlin . . . . . . . . . . . . . . . . . . . . . . . . . 74

7.3 Un nouveau schema de signature dans le modele standard . . . . . . . 74

7.3.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

7.3.2 Analyse de securite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

7.3.3 Comparaison avec les autres schemas . . . . . . . . . . . . . . . . . . . . . 77

7.3.4 Version en-ligne/hors-ligne . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

7.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81

En 1999, deux schemas de signature bases sur le probleme FlexibleRSA furent proposes inde-pendamment : le schema de signature de Rosario Gennaro, Shai Halevi et Tal Rabin (GHR)et le schema de signature de Ronald Cramer et Victor Shoup (CS). Ces schemas atteignent leniveau de securite le plus eleve dans le modele standard, c’est-a-dire sans avoir besoin d’oraclesaleatoires. Cependant, ces schemas different dans leur mise en œuvre. Le schema CS et ses va-riantes assurent une securite lache, qui, in fine, impose de prendre des parametres de securite plusgrands. Au contraire, le schema GHR ou sa variante, appelee signatures jumelles GHR, possedentune reduction fine, mais necessitent (i) soit une hypothese supplementaire et non-standard, de-nommee indivisibilite de la fonction de hachage, (ii) soit l’usage d’une fonction injective dansl’ensemble des nombres premiers, lors des algorithmes de signature et de verification.

Dans ce chapitre, nous presentons une nouvelle variante du schema GHR, dans laquelle nousnous affranchissons completement de l’hypothese sur la fonction de hachage, sans avoir besoind’une fonction injective dans l’ensemble des premiers. Nous obtenons ainsi un nouveau schemade signature (ainsi qu’une variante en-ligne/hors-ligne) dont la securite depend uniquement dela difficulte du probleme FlexibleRSA, et ceci au travers d’une reduction fine.

Ce chapitre a fait l’objet d’une collaboration avec Marc Joye et apparaıtra a la conferenceCt-rsa ’07 [CJ07].

69

Chapitre 7. Un schema de signature dans le modele standard

7.1 Schema de signature dans le modele standard

7.1.1 Introduction

Dans cette section, nous rappelons quelques notations et definitions qui seront utilisees toutau long de ce chapitre. Par simplicite, nous identifions souvent un entier avec sa representationbinaire : a ∈ 0, 1` est aussi vu comme un entier dans l’intervalle [0, 2` − 1]. Nous disons quea est un entier de ` bits si a est un entier de l’intervalle [2`−1, 2` − 1]. Etant donne un moduleRSA n, nous appelons QRn ⊂ Z∗n l’ensemble des residus quadratiques modulo n, c’est-a-direQRn = x2 mod n, pour x ∈ Z∗n. Enfin, nous rappelons que selon la Definition 2, un moduleRSA fort est le produit de deux premiers forts.

7.1.2 Securite prouvee et modele standard

Les schemas que nous avons vus pour l’instant dans cette these (dans les Chapitres 4, 5 et 6)ont ete prouves dans le modele de l’oracle aleatoire. Ce modele idealise les fonctions de hachage,et certains auteurs ont montre des differences importantes avec le modele standard [CGH98,PV05]. Ainsi, les schemas de signature possedant une preuve de securite dans le modele standardsuscitent le plus grand interet.

Le premier schema de signature avec une securite dans le modele standard fut proposepar Shafi Goldwasser, Silvio Micali et Ronald Rivest [GMR88]. Ce schema fut ensuitesuccessivement ameliore par Cynthia Dwork et Moni Naor [DN94], puis par Ronald Cramer etIvan Damgard [CD96], et finalement par Dario Catalano et Rosario Gennaro [CG05]. Tousces schemas sont des schemas bases sur des arbres, et souffrent donc d’une certaine inefficacite.

Il existe nos jours encore tres peu de schemas efficaces avec une preuve de securite dans lemodele standard, et la plupart d’entre eux repose sur des problemes souples, un-de-plus ou detype q.

Les problemes souples (en anglais, flexible problems) sont des problemes qui admettent plu-sieurs solutions, mais pour lesquels il est conjecture qu’il est neanmoins difficile d’en trou-ver une quelconque. Le plus connu des problemes de ce type est certainement le problemeFlexibleRSA [BP97, FO97], tel que defini dans la Definition 5.

Les problemes un-de-plus (en anglais, one-more problems) sont des problemes dans lesquelsil est demande de resoudre (k+1) instances d’un probleme difficile, en ayant k acces a un oracleresolvant une instance choisie. Des exemples types sont le one-more RSA, le one-more DL et leone-more CDH [BNPS03].

Enfin, les q-problemes (en anglais, q-type problems) sont des problemes dans lesquels le chal-lenge contient, entre autres, q donnees reliees a un secret par une relation connue. Classiquement,la valeur a en deduire est une (nouvelle) donnee, du meme type que les q donnees du challenge.Le q-probleme Diffie-Hellman [BB04] est un exemple typique de cette classe de problemes.

Construire dans le modele standard un schema de signature efficace base sur le meme type deprobleme qu’avec le modele de l’oracle aleatoire est tres difficile. De facon remarquable, BrentWaters a obtenu un schema de signature base sur le CDH [Wat05] dans un groupe possedantune application bilineaire, mais avec une reduction tres lache. Obtenir un schema efficace basesur un probleme tel que le RSA, le DL ou le CDH dans un groupe quelconque est actuellementun probleme ouvert.

70

7.2. Survol des schemas de signature bases sur FlexibleRSA

7.2 Survol des schemas de signature bases sur FlexibleRSA

Nous rappelons brievement dans cette section les principaux schemas de signature efficaces,dont la securite est basee sur l’hypothese RSA forte, dans le modele standard. Nous encourageonsle lecteur interesse a se referer aux papiers originaux pour une description plus complete et pourles preuves de securite associees aux schemas. Pour permettre une lecture et une comparaisonplus simple, nous avons parfois modifie les notations originales.

Nous commencons avec les deux principaux schemas, tous deux introduits en 1999 : le schemade signature de Rosario Gennaro, Shai Halevi et Tal Rabin [GHR99] (GHR) et le schema designature de Ronald Cramer et Victor Shoup [CS99, CS00] (CS). Le schema CS fut sujet ade nombreuses variantes, parmi lesquelles celle de Huafei Zhu [Zhu01, Zhu03], celle de JanCamenisch et Anna Lysyanskaya [CL02] et celle de Marc Fischlin [Fis03]. Tout comme lessignatures jumelles GHR [NPS01], notre nouveau schema peut quant a lui (voir Section 7.3) etrevu comme une variante du schema GHR.

7.2.1 Schema de signature Gennaro-Halevi-Rabin

Soient `n et `h des parametres de securite (typiquement, `n = 1024, `h = 160). L’ensembledes messages est M = 0, 1∗, et une fonction de hachage H : M → 0, 1`h est utilisee. Leschema GHR est alors le suivant.

Sig

.G

HR

[GH

R99] Generation de cles : La cle publique est pk = n, u, ou n = (2p′+1)(2q′+

1) est un module RSA fort de `n bits et u est un element aleatoire de Z∗n.La cle privee est sk = p′, q′.

Signature : La signature d’un message m ∈M est σ = uc−1 mod 2p′q′ mod n,ou c = H(m).

Verification : La signature σ d’un message m ∈ M est acceptee si et seule-ment si u = σH(m) mod n.

Dans la description originale, la fonction de hachage doit etre indivisible (en anglais, divi-sion intractable) : cette hypothese sera notee Div. Intuitivement, l’hypothese suppose qu’il estimpossible pour l’attaquant de trouver un message m, tel que H(m) divise le produit

∏iH(mi),

ou les mi sont les messages soumis a l’oracle de signature. Pour une definition plus precisede cette propriete particuliere des fonctions de hachage, nous renvoyons le lecteur a l’articleoriginal [GHR99].

Le temps avancant, et notamment grace au travail de Jean-Sebastien Coron et DavidNaccache [CN00] (voir aussi [CS99, CS00] pour une discussion a ce sujet), il est communementadmis que le moyen le plus simple et le plus sur d’obtenir une telle propriete est de definir l’en-semble d’arrivee de la fonction de hachage comme un sous-ensemble de l’ensemble des nombrespremiers.

Variante a reduction fine. Le schema de signature GHR comme decrit plus haut possede unepreuve de securite lache sur le probleme FlexibleRSA [GHR99, Cor00]. Cependant, dans [GHR99],les auteurs proposent une variante de leur schema possedant, elle, une reduction fine.

Intuitivement, leur idee est d’utiliser une fonction de hachage cameleon [KR00], qui dansleur exemple est basee sur le probleme du logarithme discret, mais qui pourrait a priori etred’un autre type. Soient P un grand premier, Q un grand diviseur premier de P − 1, et G legroupe cyclique d’ordre Q genere par un element g ∈ Z∗P . Cette fois, l’ensemble des messagesestM = ZQ et la fonction de hachage (qui doit toujours etre indivisible) est H : G→ 0, 1`h .

71

Chapitre 7. Un schema de signature dans le modele standard

Le schema devient alors :

Sig

.G

HR

[GH

R99] Generation de cles : La cle publique est pk = n, u, g, y, P, ou n = (2p′ +

1)(2q′ +1) est un module RSA fort de `n bits, u est un element aleatoirede Z∗n, g est un generateur de G et y est un element aleatoire de G. Lacle privee est sk = p′, q′.

Signature : La signature d’un messagem ∈M est donnee par σ = (r, s), ou rest un alea de ZQ et s = uc−1 mod 2p′q′ mod n, avec c = H(gm yr mod P ).

Verification : La signature σ du messagem ∈M est acceptee si et seulementsi u = sc′ mod n, ou c′ = H(gm yr mod P ).

Rosario Gennaro, Shai Halevi et Tal Rabin obtiennent ainsi un schema de signature danslequel un attaquant peut etre utilise pour resoudre soit le logarithme discret dans G, soit leprobleme FlexibleRSA, et ceci de facon fine. Clairement, il est possible d’utiliser d’autres typesde fonction de hachage cameleon (par exemple sur le probleme RSA, comme dans [KS06]).

7.2.2 Schema des signatures jumelles GHR

Le paradigme des signatures jumelles fut introduit par David Naccache, David Pointche-val et Jacques Stern dans [NPS01]. Il s’applique particulierement bien aux signatures GHR,pour des messages tres courts.

Soit P une fonction injective de l’ensemble 0, 12`m vers l’ensemble des nombres premiers.Par exemple, cette fonction pourrait etre

P : 0, 12`m → primes, µ 7→ NextPrime(µ · 2τ )

avec τ ≈ 5 log2(2`m), fonction pouvant etre evaluee en moins de 40 `m tests de primalite [NPS01,Annexe B]. Le schema Twin-GHR est alors defini comme suit :

Sig

.T

win

-GH

R[N

PS01] Generation de cles : La cle publique est pk = n,N, u1, u2 ou n = (2p′ +

1)(2q′ + 1) et N = (2P ′ + 1)(2Q′ + 1) sont deux modules RSA forts, u1

est un element aleatoire de Z∗n et u2 est un element aleatoire de Z∗N . Lacle privee est sk = p′, q′, P ′, Q′.

Signature : La signature d’un message m ∈ M = 0, 1`m est donnee parσ = (µ1, s1, s2), calculee, pour un alea µ1 ∈ 0, 12`m et µ2 = (m‖m) ⊕µ1, comme

s1 = u1P(µ1)−1 mod 2p′q′ mod n

ets2 = u2

P(µ2)−1 mod 2P ′Q′mod N .

Verification : La signature σ = (µ1, s1, s2) du message m ∈M est accepteesi u1 = s1

P(µ1) mod n et u2 = s2P((m‖m)⊕µ1) mod N .

La signature Twin-GHR possede une reduction fine sur le probleme FlexibleRSA [NPS01].

72

7.2. Survol des schemas de signature bases sur FlexibleRSA

7.2.3 Schema de signature Cramer-Shoup

Le schema de signature de Ronald Cramer et Victor Shoup [CS99, CS00] (CS) est definicomme suit. Soient `n et `h des parametres de securite (typiquement, `n 1024, `h 160).SoitM = 0, 1∗ l’ensemble des messages, et soit H :M→ 0, 1`h une fonction de hachage.

Sig

.CS

[CS99,C

S00] Generation de cles : La cle publique est pk = n, e, x, h, ou n = (2p′ +

1)(2q′ + 1) est un module RSA fort de `n bits, e est un premier de(`h + 1) bits et x, h sont des elements aleatoires de QRn. La cle priveeest sk = p′, q′.

Signature : La signature d’un message m ∈ M est σ = (c, u, v), ou c est unpremier aleatoire de (`h + 1) bits, u est un element aleatoire de QRn etv = (xhH(w))c−1 mod p′q′ mod n, avec w = ue h−H(m) mod n.

Verification : La signature σ = (c, u, v) du messagem ∈M est acceptee si etseulement si c est un entier impair de (`h +1) bits et x = vc h−H(w′) modn, avec w′ = ue h−H(m) mod n.

Ce schema de signature, comme demontre dans [CS99, CS00], est sur sous l’hypothese RSAforte. Malheureusement, la reduction de securite est lache, avec un facteur de perte approxima-tivement egal a qs, le nombre autorise de requetes de signature. Pour etre precis, la reduction desecurite du schema CS est divisee en deux sous-parties : une premiere, permettant une reductionfine basee sur le probleme FlexibleRSA, et une seconde, lache, basee sur le probleme RSA. Memesi le probleme RSA est peut etre significativement plus difficile que le probleme FlexibleRSA, dansl’etat actuel des connaissances, la seule chose qui soit connue est que le probleme RSA est aumoins aussi difficile que le probleme FlexibleRSA. Aussi, la seule conclusion qui puisse etre tireeactuellement est que la reduction de CS est lache sur le probleme FlexibleRSA.

Dans le meme temps, un avantage du schema CS par rapport au schema GHR est que la fonc-tion de hachage H n’a pas besoin d’avoir comme image un nombre premier, ni d’etre indivisible,mais uniquement d’etre resistante aux collisions.

7.2.4 Schema de signature Camenisch-Lysyanskaya

Dans [CL02], Jan Camenisch et Anna Lysyanskaya ont introduit une variante du schemaCS (que nous designons par CL). Independamment, dans un journal chinois [Zhu01], Huafei Zhuavait propose un schema essentiellement similaire (voir egalement [Zhu03]).

Soient ` le niveau de securite desire du schema de signature, `n, `m et `c > (`m + 2) desparametres de securite (typiquement, ` = 80, `n 1024 et `c = `m +2). Le schema de signatureCL se decrit alors comme suit.

Sig

.CL

[CL02] Generation de cles : La cle publique est pk = n, x, g, h, ou n = (2p′ +

1)(2q′+1) est un module RSA fort de `n bits, et x, g, h sont des elementsaleatoires de QRn. La cle privee est sk = p′, q′.

Signature : La signature d’un message m ∈ M = 0, 1`m est donnee parσ = (c, t, v), ou c est un nombre premier aleatoire de `c bits, t est unalea de (`n + `m + `) bits et v = (x gt hm)c−1 mod p′q′ mod n.

Verification : La signature σ = (c, t, v) du message m ∈ M est acceptee siet seulement si c est un entier impair de `c bits et x = vc g−t h−m mod n.

73

Chapitre 7. Un schema de signature dans le modele standard

Dans ce schema, nous pouvons voir qu’aucune fonction de hachage n’est utilisee, ce qui estun avantage, obtenu malheureusement au prix d’une signature plus longue et d’une restrictionaux messages courts. Si signer des messages longs est important pour l’utilisateur, il est possibled’utiliser une fonction de hachage, avec l’hypothese supplementaire de sa resistance aux collisions.

7.2.5 Schema de signature Fischlin

Une derniere variante du schema CS fut proposee par Marc Fischlin dans [Fis03]. Soient `net `h des parametres de securite (typiquement, `n 1024, `h 160). L’ensemble des messagesestM = 0, 1∗ et une fonction de hachage H :M→ 0, 1`h est utilisee.

Sig

.Fisch

lin[F

is03] Generation de cles : La cle publique est pk = n, x, g, h, ou n = (2p′ +

1)(2q′+1) est un module RSA fort de `n bits, et x, g, h sont des elementsaleatoires de QRn. La cle privee est sk = p′, q′.

Signature : La signature d’un message m ∈ M est σ = (c, t, v), ou c est unpremier aleatoire de (`h + 1) bits, t est un entier aleatoire de `h bits etv = (x gt ht⊕H(m))c−1 mod p′q′ mod n.

Verification : La signature σ = (c, t, v) du message m ∈ M est accep-tee si et seulement si c est un entier impair de (`h + 1) bits et x =vc g−t h−(t⊕H(m)) mod n.

Une comparaison de tous les schemas de cette section et de celui que nous presentons Sec-tion 7.3 est proposee dans la Table 7.1.

7.3 Un nouveau schema de signature dans le modele standard

Cette section est la partie principale de ce chapitre. Nous y introduisons TSS, un nouveauschema de signature, et prouvons sa securite dans le modele standard. Notre reduction est fine,et basee uniquement sur le probleme FlexibleRSA.

Comme nous l’avons vu, d’un cote, le schema GHR necessite l’utilisation d’une fonction dehachage dont les images sont des nombres premiers (ou au moins, une fonction de hachageindivisible). Le schema CS et ses variantes, d’un autre cote, n’assure qu’une securite lache : lefacteur de perte est de qs. Notre but, lors du design du schema TSS, a ete de combiner l’aspectpratique du schema CS et la finesse de la reduction de securite du schema GHR.

7.3.1 Description

Intuitivement, il y a deux idees a la base de notre schema. Tout d’abord, comme dans lesschemas de type CS (voir Section 7.2), nous voulons utiliser un exposant premier c, renouvelea chaque generation de signature et, parmi les elements de la signature, retourner une racinec-ieme modulo un module RSA fort n. De plus, nous voulons que le premier c soit libre de touterelation, de facon a autoriser l’usage de generation rapide de premiers. La seconde idee est,comme dans le schema GHR, d’utiliser une fonction de hachage cameleon, de facon a rendre finela reduction de securite. De maniere a n’avoir qu’un probleme sous-jacent dans notre schema designature, nous voulons que la cle de cette fonction de hachage cameleon soit egalement du typedes trappes RSA : pour cela, nous definissons un second module RSA fort N .

SoitM = 0, 1`m l’ensemble des messages de notre schema. Soit egalement `n un parametrede securite. Alors, une description detaillee du schema TSS est la suivante.

74

7.3. Un nouveau schema de signature dans le modele standard

TSS

[CJ07] Generation de cles : L’utilisateur choisit un premier impair E de (`m + 1)

bits, genere deux modules RSA forts n et N de `n bits, de telle faconque gcd(E, λ(N)) = 1, calcule D = E−1 mod λ(N) et enfin tire deuxelements aleatoires u ∈ Z∗n et g ∈ Z∗N .La cle publique est pk = N,n, u, g, E et la cle privee est sk =λ(n), D.

Signature : Pour signer le message m ∈ 0, 1`m , il faut choisir un premieraleatoire c de

[N+1

2 , N − 1], puis calculer s = uc−1 mod λ(n) mod n et

r = (c g−m)D mod N .La signature du message m est alors σ = (r, s) ∈ Z∗N × Z∗n.

Verification : Soit σ = (r, s) une signature supposee du message m ∈0, 1`m . Pour la verifier, il suffit de calculer c = gm rE mod N , puisde s’assurer que sc = u mod n, c > 2 et (r, s) ∈ Z∗N × Z∗n. Si cettecondition est verifiee, la signature σ est acceptee.

Remarque 1. Comme dans le schema CS et dans ses variantes, il n’est pas necessaire de verifierla primalite de c dans l’algorithme de verification. Pour TSS, nous ne devons meme plus testersa taille ou sa parite, mais seulement verifier ‡ que c > 2.

Typiquement, nous pourrions avoir `m = 160 et `n = 1024, pour une utilisation avec desmessages courts. Pourtant, s’il est necessaire de signer de longs messages, rien n’empeche deprendre un parametre `m plus grand ††. Alternativement, il est possible de preceder TSS d’uneetape de hachage des messages, en supposant alors egalement la resistance aux collisions.

Ce schema est sujet, comme bien souvent, a de nombreuses variantes. Il est par exemplepossible de legerement accelerer le calcul de la signature, en precalculant g−1 mod N ou g−D modN et en evaluant alors r comme r = (c (g−1)m)D mod N ou bien comme r = cD (g−D)m mod N .

7.3.2 Analyse de securite

Dans cette section, nous montrons que la securite de notre schema est basee de facon finesur l’hypothese RSA forte. Plus formellement, nous posons le theoreme suivant.

Theoreme 10. Supposons que le probleme FlexibleRSA est (τ ′, ε′)-difficile. Alors, pourtout nombre qs de requetes permis, le schema de signature TSS est (τ, qs, ε)-sur, ou

ε′ >ε

2et τ ′ 6 τ +O

(`n

5 + qs `n3 max(log2 qs, `n)

).

Dans ce theoreme, la securite du schema est entendue dans son sens le plus fort, c’est-a-direpar la resistance aux falsifications existentielles faibles, sous attaques a messages choisis.

Demonstration. De facon habituelle, la preuve est par contraposee. Nous supposons qu’il existeun adversaire A capable de produire une falsification existentielle faible avec une probabilite nonnegligeable ε, en un temps polynomial τ , apres avoir eu droit a qs requetes de signature.

Nous utilisons alors cet attaquant A pour resoudre en un temps τ ′ et avec une probabilite ε′

le probleme FlexibleRSA : etant donne un module RSA fort n de `n bits et un element aleatoirey ∈ Z∗n, nous voulons trouver une paire (x, e) ∈ Z∗n × N>1 satisfaisant y ≡ xe (mod n).

‡Dans la version finale de notre article [CJ07], nous expliquons comment se passer de tout test sur c.††La meme chose est possible dans le schema CL.

75

Chapitre 7. Un schema de signature dans le modele standard

Simulation. Au demarrage de l’attaquant, nous prenons une valeur aleatoire b ∈ 0, 1 etexecutons la Simulation b definie ci-dessous.

Simulation 0

– Nous posons n = n. Nous choisissons alors un premier (impair) E de (`m + 1)bits. Ensuite, nous generons un module RSA fort aleatoire N = (2P ′ + 1)(2Q′ + 1)de `n bits, tel que gcd(E, 2P ′Q′) = 1 et en deduisons D = E−1 mod 2P ′Q′. Nouschoisissons un element aleatoire g ∈ Z∗N . Finalement, pour tout i ∈ 1, . . . , qs,nous tirons un premier ci de

[N+1

2 , N − 1], et definissons

u = yQ

i ci mod n .

Nous creons alors la cle publique pk = N,n, u, g, E. Nous pouvons voir aisementque l’algorithme de generation de cles est parfaitement simule.

– Quand A demande une signature d’un message mj ∈ 0, 1`m , pour j ∈ 1, . . . , qs,nous simulons la signature par le calcul suivant :

rj = (cj g−mj )D mod N et sj = yQ

i6=j ci mod n .

Nous retournons σj = (rj , sj) comme une signature de mj . La encore, la simulationest parfaite.

Simulation 1

– Nous posons N = n et g = y. Nous generons alors un module RSA fort n =(2p′ + 1)(2q′ + 1) de `n bits, ainsi qu’un premier (impair) E de (`m + 1) bits. Sansperte de generalite, nous pouvons supposer que gcd(E, λ(N)) = 1, car sinon, Epermettrait de factoriser N et d’en deduire une infinite de solutions du challenge.Finalement, nous choisissons un element aleatoire u ∈ Z∗n.Nous creons la cle publique pk = N,n, u, g, E. L’algorithme de generation de clesest parfaitement simule.

– Quand A demande une signature d’un message mj ∈ 0, 1`m , pour j ∈ 1, . . . , qs,nous simulons la signature de la facon suivante :

1. Nous choisissons un element aleatoire rj ∈ Z∗N et posons cj = gmj rjE mod N ;

2. Si cj n’est pas un premier de[

N+12 , N − 1

], nous retournons a l’etape 1.

Ensuite, nous calculons sj = ucj−1 mod 2p′q′ mod n et retournons σj = (rj , sj)

comme une signature de mj . La simulation est parfaite.

Utilisation de la falsification. A la fin de l’attaque, l’adversaire A exhibe, avec une proba-bilite ε une falsification valide σ∗ = (r∗, s∗) ∈ Z∗N ×Z∗n sur un message m∗ ∈ 0, 1`m , avec(m∗, σ∗) 6= (mi, σi) pour tout i ∈ 1, . . . , qs. Nous calculons c∗ = gm∗ r∗

E mod N .– Si c∗ 6= cj pour tout j ∈ 1, . . . , qs et si b = 0 (c’est-a-dire que la Simulation 0 a ete

executee), alors nous avons gcd(c∗,∏

i ci) = 1, comme c∗ est un entier de [0, N − 1] etcomme les ci sont des nombres premiers de

[N+1

2 , N−1]. C’est pourquoi, par l’algorithme

etendu d’Euclide, il est possible de trouver α et β entiers tels que α c∗ + β∏

i ci = 1.Aussi, en notant que y

Qi ci ≡ u ≡ s∗c∗ (mod n) et n = n, nous avons

y ≡ yα c∗+βQ

i ci ≡(yα s∗

β)c∗ (mod n) .

76

7.3. Un nouveau schema de signature dans le modele standard

La paire (x, e) avec x = yα s∗β mod n et e = c∗ est donc une solution de l’instance du

probleme FlexibleRSA ‡.

– Si c∗ = cj pour un certain j ∈ 1, . . . , qs (et par consequent s∗ = sj) et si b = 1(c’est-a-dire que la Simulation 1 a ete executee), alors, comme N = n et g = y, nousavons gmj rj

E ≡ gm∗ r∗E (mod N) =⇒ y(mj−m∗) ≡

(r∗rj

)E(mod n) ,

sj = s∗ .

Il est impossible d’avoir m∗ = mj car sinon nous aurions r∗ = rj et donc (m∗, σ∗) =(mj , σj), ce qui signifierait que la falsification ne serait pas nouvelle, et donc seraitinvalide. Aussi, comme E est un premier de (`m+1) bits, nous pouvons trouver des entiersα et β par l’algorithme etendu d’Euclide tels que αE+β (mj−m∗) = gcd(E,mj−m∗) =1. Ainsi, nous avons

y ≡ yα E+β (mj−m∗) ≡(yα (r∗/rj)β

)E(mod n)

et la paire (x, e) avec x = yα (r∗/rj)β mod n et e = E est une solution de l’instance duprobleme FlexibleRSA.

– Dans les autres cas, c’est-a-dire si c∗ = cj pour un certain j ∈ 1, . . . , qs et b = 0, ou sic∗ 6= cj pour tout j ∈ 1, . . . , qs et b = 1, la reduction echoue.

Comme la vue de l’adversaire A est parfaitement simulee, et que donc celui-ci ne peut devinerb avec une probabilite meilleure que 1

2 , la probabilite de notre reduction est de ε/2.

Pour finir la demonstration, nous calculons le temps de notre reduction, en sachant qu’il existeun algorithme de generation de premier fort qui soit quintique, un algorithme de generation depremier qui soit quartique, que l’evaluation des exponentiations et des inverses modulaires estcubique, et que le test de primalite est cubique, toutes ces complexites etant donnees en termede longueur binaire.

Pour la Simulation 0, nous devons generer un module RSA N de `n bits, un premier E de(`m + 1) bits, un inverse modulaire D et un parametre u durant la phase de generation de cles ;nous devons aussi, pour chaque requete de signature, calculer rj et sj . L’evaluation de u et desqs valeurs sj peut etre fait en O(qs log2 qs) exponentiations de `n bits, en utilisant la techniquede [CLP05, Paragraphe 3.3]. C’est pourquoi le temps d’execution approximatif de la Simulation 0est de τ +O(`n5 + qs log2 qs `n

3).Pour la Simulation 1, nous devons de maniere assez similaire generer un module RSA n

de `n bits et un premier E de (`m + 1) bits. Enfin, pour chaque requete de signature, nousdevons effectuer une exponentiation, tester la primalite du resultat, et reiterer jusqu’a obtenirun premier, pour terminer par le calcul d’un inverse modulaire et d’une exponentiation. Commela probabilite d’un alea de `n bits d’etre premier est en 1

`n, nous obtenons pour la Simulation 1

un temps total d’execution approximatif de τ +O(`n5 + qs `n4). ut

7.3.3 Comparaison avec les autres schemas

Dans la Table 7.1, nous comparons les avantages et les inconvenients des schemas presentesen Section 7.1 avec le schema TSS. Nous incluons notamment les differences de finesse des

‡Notamment, nous avons bien e > 2. Il est pour cela tres important de tester que c > 2 dans l’algorithme deverification.

77

Chapitre 7. Un schema de signature dans le modele standard

reductions de securite dans le modele standard, et la taille des signatures, des cles publiqueset privees. Quand cela est necessaire, nous donnons egalement les conditions que la fonction dehachage doit remplir (en plus de la resistance aux collisions).

Tab. 7.1 – Comparaison des performances.

SecuriteLongueurs

Tailles ‡

Finesse Hypothese typiques σ pk sk

GHR O

1qs

Div + FlexibleRSA `n 1024 `n 2`n

12

`n

GHR (cameleon) O(1) Div + DL + FlexibleRSA`n = `p = 1024

`n + `q 2`n + 3`p12

`n`q = 160

Twin-GHR O(1) FlexibleRSA`n = 1024

2`n + 2`m 4`n `n`m = 160

CS O

1qs

FlexibleRSA

`n 10242`n + `h 3`n + `h

12

`n`h = 160

CL O

1qs

FlexibleRSA

`n 10242`n + 2`m + ` 4`n

12

`n`m = 160, ` = 80

Fischlin O

1qs

FlexibleRSA

`n 1024`n + 2`h 4`n

12

`n`h = 160

TSS O(1) FlexibleRSA`n = 1024

2`n 4`n + `m `n`m = 160

Pour les tailles des cles secretes, nous avons considere les faits suivants. Dans la description deGHR et des schemas de type CS, nous avons sk = p′, q′ ; cependant, il est possible de ne stockerque la valeur p′ et de retrouver q′ a partir de p′ et de pk. De facon similaire, dans Twin-GHR, lestockage de sk = p′, P ′ est suffisant, et dans TSS, il est possible de retrouver sk = λ(n), Da partir d’un facteur de n, d’un facteur de N et de pk.

A partir de cette table, il apparaıt que TSS et Twin-GHR sont les seuls schemas dont la securiteprouvee, dans le modele standard, se reduit uniquement a l’hypothese RSA forte, avec unereduction fine. De plus, nous voyons que cela n’est pas fait au prix d’hypotheses supplementairessur la fonction de hachage, comme l’indivisibilite du schema GHR. C’est pourquoi nous avonsplace dans une table separee ces deux schemas, pour offrir une comparaison plus detaillee.

Tab. 7.2 – Comparaison entre TSS et Twin-GHR.

Premiers a generer TaillesSignature Verification Longueur σ pk sk

Twin-GHR 2 2 2`m + τ 2`n + 2`m 4`n `n

TSS 1 0 `n 2`n 4`n + `m `n

Compare aux signatures jumelles GHR, notre schema offre une verification plus simple etplus rapide, car aucune generation de premier n’est effectuee dans la verification de TSS, quanddeux appels a la fonction injective P sont necessaires dans Twin-GHR. Notons egalement que le

‡Pour simplifier la lecture, nous avons arrondi les tailles a quelques bits pres.

78

7.3. Un nouveau schema de signature dans le modele standard

premier genere dans TSS peut etre calcule hors-ligne, contrairement a l’un des deux premiers agenerer dans Twin-GHR. De plus, dans notre schema, les signatures sont plus courtes que dansle schema Twin-GHR. Tout ceci rend notre schema interessant, du moment que le prix a payer,une cle publique plus grande, n’est pas un point bloquant.

Du cote des desavantages, notre schema produit des signatures plus longues que les schemasFischlin ou GHR (mais qui restent plus courtes que celles des schemas CS ou CL). Un autredesavantage est le temps de calcul d’une signature : le schema TSS necessite la generation d’unpremier aleatoire de

[N+1

2 , N − 1]. Meme en utilisant des methodes efficaces de generation

de premier (par exemple, [JPV00]), ceci peut etre tres consommateur de temps pour des objetscryptographiques a faibles ressources. Aussi, nous presentons dans la section suivante une versionen-ligne/hors-ligne (voir les Sections 4.2.2, 5.2.1 et 6.3.4) de notre schema pour resoudre ceprobleme de rapidite.

7.3.4 Version en-ligne/hors-ligne

Soit M = 0, 1`m l’ensemble des messages de notre schema. Soient egalement `n et ` deuxparametres de securite. Typiquement, nous pourrions avoir ` = 80 + log2(qs) = 110 et `n =1024. Alors, une description detaillee du schema TSS, dans sa version en-ligne/hors-ligne, est lasuivante.

TSS

en-l

igne/hors-

lig

ne

[CJ07] Signature, partie hors-ligne : Pour preparer un coupon, le signataire choi-

sit un premier aleatoire c de[

N+12 , N − 1

], et un alea k′ de (`n + `m + `)

bits. Ensuite, il calcule s = uc−1 mod λ(n) mod n et r = gk′cD mod N , etstocke le coupon (k′, r, s).

Signature, partie en-ligne : Pour signer un message m ∈M, le signataireutilise un nouveau coupon (k′, r, s) et calcule simplement k = k′+D ·m.La signature sur le message m est σ = (k, r, s) ∈ 0, 1`n+`m+`+1×Z∗N ×Z∗n.

Verification : Soit σ = (k, r, s) la signature du messagem ∈ 0, 1`m qui doitetre testee. Pour la verifier, il suffit de calculer c = gm (r g−k)E mod N ,puis de s’assurer que sc = u mod n et c > 2. Si cette condition estverifiee, la signature σ est acceptee.

Il est interessant de noter que la generation de cles de cette variante de notre schema restela meme que la version classique de TSS decrite en Section 7.3.1.

Preuve de securite. Nous montrons maintenant que la notion de securite EUF-CMA de cetteversion en-ligne/hors-ligne de notre schema peut se reduire de facon fine a l’hypothese RSAforte. En fait, nous prouvons exactement que si un attaquant EUF-CMA (que nous appelleronsA∗) contre cette version en-ligne/hors-ligne existe, alors il est un attaquant EUF-CMA contre laversion classique de TSS decrite en Section 7.3.1.

De facon plus detaillee, soit une cle publique pk = N , n, u, g, E. Avec au maximum qsrequetes de signature a un oracle TSS, nous voulons produire une falsification TSS notee σ∗ =(r∗, s∗) d’un nouveau message m∗, en utilisant l’attaquant A∗.

Initialisation de l’attaquant. Nous posons pk = pk (c’est-a-dire N,n, u, g, E = N , n, u,g, E) la cle de la version en-ligne/hors-ligne de TSS.

79

Chapitre 7. Un schema de signature dans le modele standard

Requetes de signature. QuandA∗ demande une signature (en-ligne/hors-ligne) d’un messagemj ∈ 0, 1`m , pour un j ∈ 1, . . . , qs, nous utilisons une requete a l’oracle de signatureTSS avec comme message mj = mj et recevons en retour la signature TSS notee σj =(rj , sj) telle que

cj = gmj rjE mod N est un premier de

[N + 12

, N − 1]

et sjcj = u mod n .

Ensuite, nous tirons un nombre aleatoire kj de (`n + `m + `) bits. Nous calculons rj =rj gkj mod N et posons sj = sj . Nous retournons alors a l’attaquant A∗ la signatureen-ligne/hors-ligne σj = (kj , rj , sj) du message mj .

La signature σj est une signature valide, car cj = gmj (rj g−kj )E mod N = gmj rjE mod

N = cj est un premier de[

N+12 , N − 1

]et sj

cj ≡ sjcj ≡ u ≡ u (mod n).

Utilisation de la falsification : A la fin de son attaque, avec une probabilite εA∗ et en untemps τA∗ , A∗ retourne une falsification existentielle (non-faible) contre la version en-ligne/hors-ligne du schema σ∗ = (k∗, r∗, s∗) d’un message m∗ ∈ 0, 1`m , avec m∗ 6= mj

pour tout j ∈ 1, . . . , qs.A partir de σ∗ = (k∗, r∗, s∗), nous fabriquons la falsification existentielle (non-faible) contrele schema TSS que nous notons σ∗ = (r∗, s∗), avec

r∗ = r∗ g−k∗ mod N et s∗ = s∗ mod n ,

du message m∗ = m∗. Il est aise de voir que cette falsification est une falsification validesur un nouveau message, car, comme m∗ 6= mj , il s’ensuit que m∗, 6= mj pour tout j ∈1, . . . , qs.

Finesse de la reduction. La distance statistique entre les kj retournes par la simulationet les kj qui seraient retournes par le veritable signataire est de qs 2−`. C’est pourquoi, notrereduction reussit, avec une probabilite ε > εA∗ − qs 2−` et en un temps τ 6 τA∗ +(qs +1)O(`n3)a transformer un attaquant EUF-CMA de la variante en-ligne/hors-ligne en un attaquant EUF-CMA de la forme classique de TSS. Comme la version classique de notre schema est sure ‡ sousl’hypothese forte RSA, la version en-ligne/hors-ligne du schema est donc, elle aussi, sure contreles attaques EUF-CMA, sous l’hypothese RSA forte, et ceci avec une reduction fine.

A propos des attaques sEUF-CMA. La preuve de securite ci-dessus prend l’hypothese del’existence d’un attaquant EUF-CMA (et non d’un attaquant sEUF-CMA) contre la version en-ligne/hors-ligne de TSS.

Nous expliquons ci-dessous pourquoi la preuve ne serait pas valide pour un attaquant sEUF-CMA. Imaginons un tel attaquant, retournant une falsification σ∗ = (k∗, r∗, s∗) 6= σj pour unmessage deja soumis a l’oracle de signature m∗ = mj , pour un certain j ∈ 1, . . . , qs. Alors,la falsification deduite par la reduction ci-dessus est σ∗ = (r∗, s∗), pour le message m∗ = m∗.Cette falsification n’est pas forcement valide, c’est-a-dire telle que (m∗, σ∗) 6= (mj , σj). En effet,m∗ = mj et

σ∗ 6= σj ⇐⇒ (k∗, r∗ gk∗ mod N , s∗) 6= (kj , rj gkj mod N , sj) =6 ⇒ (r∗, s∗) 6= (rj , sj) .

Ceci est encore plus explicite avec un contre-exemple : si σ = (k, r, s) est une signature en-ligne/hors-ligne valide du message m, alors σ′ = (k+1, g r mod N, s) est egalement une signature

‡Contre les attaques sEUF-CMA et donc aussi contre les attaques EUF-CMA.

80

7.4. Conclusion

en-ligne/hors-ligne valide de ce meme message m. Aussi, la version en-ligne/hors-ligne de TSSdecrite dans ce paragraphe n’est pas sEUF-CMA-sure, mais seulement EUF-CMA-sure.

Cependant, pour la plupart des applications cryptographiques, la resistance aux falsificationsexistentielles (simples) est suffisante. Le schema TSS en-ligne/hors-ligne peut neanmoins etretransforme en un schema de signature qui resiste aux falsifications existentielles faibles (c’est-a-dire qui atteint le niveau sEUF) en utilisant la technique d’Adi Shamir et Yael Tauman [ST01](voir Chapitre 5), au prix d’une cle plus longue.

7.4 Conclusion

Dans ce chapitre, nous avons propose un schema de signature sur contre les attaques sEUF-CMA sous la seule hypothese de difficulte du probleme FlexibleRSA, dans le modele standard etavec une reduction fine. Contrairement au schema CS et a ses variantes, la securite du schemaTSS est optimale ; contrairement au schema GHR, l’optimalite de la reduction n’est pas obtenueau prix d’une propriete particuliere de la fonction de hachage. En fait, le schema TSS ne fait pasmeme usage — pour une utilisation avec des messages courts — d’une fonction de hachage, cequi peut etre vu comme un avantage supplementaire au vu des dernieres publications exposantdes collisions sur des fonctions de hachage pourtant reputees.

D’apres ses caracteristiques, TSS est plus proche des signatures jumelles GHR, meme si cesdeux schemas sont construits de facon bien differente. La comparaison de ces deux derniersschemas montrent que TSS est plus efficace dans l’etape de verification des signatures et dansla taille de celles-ci, au prix d’une cle publique plus grande.

Le schema TSS est aussi propose en version en-ligne/hors-ligne, ce qui est tres utile pour desapplications contraintes ou des objets cryptographiques bas-cout.

81

Chapitre 7. Un schema de signature dans le modele standard

82

Troisieme partie

Schema de chiffrement a securiteprouvee

83

Chapitre 8

Introduction aux schemas dechiffrement

Sommaire

8.1 Chiffrement a cle publique . . . . . . . . . . . . . . . . . . . . . . . . . . 85

8.1.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

8.1.2 Notions de securite pour le chiffrement a cle publique . . . . . . . . . . . . 86

8.2 Quelques cryptosystemes classiques . . . . . . . . . . . . . . . . . . . . . 88

8.2.1 Cryptosysteme RSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

8.2.2 Cryptosysteme ElGamal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

8.2.3 Cryptosysteme Paillier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

8.3 Chiffrement base sur l’identite . . . . . . . . . . . . . . . . . . . . . . . . 90

8.3.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

8.3.2 Notions de securite pour le chiffrement base sur l’identite . . . . . . . . . 91

8.3.3 Cryptosysteme Boneh-Franklin . . . . . . . . . . . . . . . . . . . . . . . . . 91

8.4 Nos travaux sur les schemas de chiffrement . . . . . . . . . . . . . . . . 92

Apres l’etude des schemas de signature, une deuxieme partie de notre travail de these a eteconsacree a l’etude des schemas de chiffrement, de leur conception a leur securite prouvee. Nousavons ainsi concu de nouveaux cryptosystemes, presentes dans cette partie.

8.1 Chiffrement a cle publique

Tout d’abord, dans cette section, nous rappelons quelques notions elementaires permettantl’etude des schemas de chiffrement.

8.1.1 Definition

Le chiffrement est sans doute la partie la plus ancienne de la cryptographie : depuis toujours— pour des raisons militaires tout d’abord puis pour de simples besoins de confidentialite, despersonnes ont exprime le besoin de communiquer en s’echangeant des messages chiffres, c’est-a-dire qui, sans une cle, ne pouvaient etre analyses.

Ces schemas de chiffrement etaient symetriques, en ce sens que la cle de chiffrement etaitla meme que la cle de dechiffrement. C’est avec l’invention de la cle publique par WhitfieldDiffie et Martin Hellman [DH76] que la cryptographie est passee dans une nouvelle ere.

85

Chapitre 8. Introduction aux schemas de chiffrement

Dans un schema de chiffrement a cle publique, toute entite peut chiffrer un message pour undestinataire, en utilisant la cle publique de celui-ci. Le destinataire peut alors, avec la cle priveecorrespondante, dechiffrer le chiffre pour retrouver le message clair correspondant.

Definition 17 (Schema de chiffrement). Un schema de chiffrement (sous-entendu, a clepublique) est un ensemble d’algorithmes probabilistes definis comme suit :

– L’initialisation des parametres SetE . Recevant en entree 1κ, l’algorithme SetS initialisedes parametres communs necessaires au schema ;

– La generation de cles GenE . Etant donne une entree 1κ, l’algorithme GenE produit unepaire de cles : pkE , la cle publique, et skE la cle privee correspondante ;

– L’algorithme de chiffrement Encrypt. Etant donne un message m dans un ensemblede messages M et une cle publique pkE , l’algorithme Encrypt produit un chiffre c =EncryptpkE (m; r), ou r designe l’alea utilise par Encrypt ;

– L’algorithme de dechiffrement Decrypt. Etant donne un chiffre c et une cle privee skE ,l’algorithme Decrypt retourne le clair correspondant, ou un symbole particulier ⊥ si lechiffre c est invalide.

Il existe des schemas de chiffrement sans parametres communs, auquel cas l’algorithme d’ini-tialisation des parametres est omis.

8.1.2 Notions de securite pour le chiffrement a cle publique

Tout comme un schema de signature (voir Section 4.3.1), un schema de chiffrement doitproteger de differentes attaques. Pour cela, de nombreuses notions de securite ont ete definies,basees principalement sur le travail de Shafi Goldwasser et Silvio Micali [GM84].

La resistance des schemas de chiffrement s’evalue dans differents scenarios d’attaque. Chaquescenario est defini en donnant a l’attaquant un but, c’est-a-dire ce qu’il va chercher a mettre endefaut dans le systeme, et des ressources, c’est-a-dire les informations auxquelles il aura accespour realiser son attaque.

Ressources de l’attaquant. Les ressources disponibles peuvent etre de differentes natures.Dans un premier mode, l’attaquant ne recoit que la cle publique du destinataire. Dans le mondede la cryptographie a cle publique, c’est l’information minimale que l’attaquant peut posseder.Comme ce dernier peut alors chiffrer grace a la cle publique, cela caracterise les attaques a clairschoisis, notees CPA (en anglais, chosen-plaintext attack).

Pourtant, un mode superieur et plus realiste est celui ou l’attaquant accede a un oracle dedechiffrement, avec eventuellement une limitation sur les requetes. Comme pour les attaquessur les schemas de signature, cet acces peut etre non-adaptatif [NY90] ou adaptatif [RS91]. Cesdernieres ressources forment les attaques adaptatives a chiffres choisis, et sont les ressources lesplus puissantes qui peuvent etre fournies a un attaquant contre un schema de chiffrement. Ellessont notees CCA (en anglais, chosen-ciphertext attack). Notons que certaines limitations sur lesressources de l’attaquant apparaıtront naturellement dans la suite.

But de l’attaquant. Une fois ses ressources fournies, l’attaquant doit avoir un but. Pourchacun de ces buts, une notion de securite correspondant a l’impossibilite de realiser cet objectifest alors definie. Nous ne rappellerons ici que les buts et notions les plus classiques.

Le but le plus immediat est le cassage de la cle. C’est le but qui est apparu le plus imme-diatement, des l’invention de la cryptographie a cle publique. La notion de securite associee,appelee resistance de la cle, est notee UBK (en anglais, unbreakability). Neanmoins, meme si le

86

8.1. Chiffrement a cle publique

cassage de la cle est le but ultime de tout attaquant, il existe des buts plus faciles a atteindrepour un attaquant, et qui pourtant peuvent conduire a des failles de securite.

Un deuxieme but est d’etre capable de dechiffrer un chiffre donne. La notion associee estle sens unique de la fonction de chiffrement, et est notee OW (en anglais, one-wayness). Cetype d’attaque est aussi dangereux en pratique que le cassage de cle. En effet, il importe peu desavoir si l’attaquant, pour dechiffrer un message, utilise directement la cle privee ou s’il utiliseune procedure detournee : avec ce type d’attaque, l’attaquant peut tout autant mettre en dangerle systeme de chiffrement que lors d’un cassage de cle.

Enfin, un troisieme but pour l’attaquant, le plus faible, est d’obtenir un simple bit d’infor-mation sur le clair correspondant a un chiffre donne. La notion correspondante est appelee lasecurite semantique ou indistinguabilite [GM84], et est notee IND. Elle signifie qu’un attaquantne peut deviner, parmi deux clairs qu’il a precedemment choisis, lequel correspond a un chiffrequi lui a ete retourne. En pratique, ce type d’attaque correspond au cas ou l’adversaire sait que leclair est dans un espace restreint de messages (par exemple, si c’est une reponse “oui” ou “non”).Ainsi, la securite semantique ne peut etre atteinte par un schema de chiffrement deterministe.

Notons qu’il existe une autre autre notion [DDN00], appelee la non-malleabilite et noteeNM, qui — en simplifiant — stipule qu’un attaquant ne peut former un chiffre a partir d’unchiffre fourni, tel que les clairs correspondants suivent une relation non triviale. Il a ete montredans [BDPR98] que, dans le cadre des attaques a chiffres choisis, cette notion est equivalente al’indistinguabilite.

Schema de chiffrement sur. Chaque attaquant est ainsi mesure en lui adjoignant la notionde securite qu’il cherche a mettre en defaut et des ressources : nous notons alors chaque attaqueNotion-Ressource, ou Notion ∈ UBK,OW, IND,NM et Ressource ∈ CPA,CCA. Il est de nosjours classique de demander qu’un schema de chiffrement offre une securite semantique sousattaques a chiffres choisis.

Ainsi, nous dirons qu’un schema de chiffrement est sur s’il protege de la distinguabilite sousattaques (sous-entendu, adaptatives) a chiffres choisis (c’est-a-dire les attaques IND-CCA). Ceciest mesure par l’avantage de n’importe quel attaquant A dans le jeu suivant :

Mise en place : Le systeme choisit un parametre de securite κ, et execute l’algorithme GenE .Il retourne alors a l’adversaire la cle publique pkE , et garde la cle secrete correspondante skE .

Phase 1 : L’adversaire peut effectuer adaptativement des requetes Decrypt : pour un chiffreci de son choix, le systeme renvoie le clair associe (s’il existe).A la fin de cette phase, l’adversaire retourne une paire de messages (m0,m1), de memelongueur, de l’ensembleM, sur lesquels il veut que le challenge soit effectue.

Challenge : Le systeme tire un bit aleatoire b ∈ 0, 1, et calcule un chiffre c? de mb. Ce chiffreest envoye a l’adversaire.

Phase 2 : A la maniere de la premiere phase, l’adversaire peut effectuer adaptativement desrequetes a l’oracle de dechiffrement, avec pour seul contrainte de ne pas lui soumettre lechiffre c?.

Reponse : A la fin de son attaque, l’adversaire retourne son estimation b′ ∈ 0, 1. Il gagnealors le jeu si b = b′.

Symboliquement, cela est resume par l’expression

AdvIND-CCAE (A) = 2× Pr

b,r

[(pk, sk)← GenE(1κ), (m0,m1, s)← A

DecryptskE (·)1 (pk),

c? = EncryptpkE (mb; r) : ADecryptskE (·)2 (m0,m1, s, c

?) = b

]− 1 .

87

Chapitre 8. Introduction aux schemas de chiffrement

Precisons ici que la securite d’un schema de chiffrement est mesuree au travers d’un avantage,alors que la securite d’un schema de signature est mesuree grace a une probabilite (celle d’exhiberune falsification existentielle sous attaque a messages choisis, voir Section 4.3.1). En effet, dansle jeu defini ci-dessus, il existe toujours un attaquant possedant une probabilite de succes de 1

2 ,puisqu’il suffit pour cela de retourner un b′ aleatoire. Ainsi, pour qu’un attaquant puisse prouverun vrai gain d’information, il faut qu’il puisse deviner avec une probabilite significativementsuperieure a 1

2 la valeur de b. C’est pourquoi les cryptologues utilisent l’avantage, qui est ladifference entre la probabilite qu’un attaquant devine la bonne valeur de b et 1

2 , multiplie parun facteur 2, pour normalisation entre 0 (aucun avantage) et 1 (avantage parfait).

8.2 Quelques cryptosystemes classiques

Dans cette section, nous decrivons succinctement quelques schemas de chiffrement. Nousdonnons ici les versions sures contre les attaques a clairs choisis, sachant que des transforma-tions generiques [FO99, FO00, Poi00] permettent — dans le modele de l’oracle aleatoire — detransformer un schema avec une telle securite en un schema resistant aux attaques a chiffreschoisis. La seule exception que nous ferons sera pour le schema de chiffrement RSA qui est tresclassiquement connu pour l’ensemble qu’il constitue avec la fonction de padding OAEP commeRSA-OAEP(voir la Section 1.3.7 sur les fonctions de padding ).

8.2.1 Cryptosysteme RSA

Le schema de chiffrement RSA fut invente par Ronald Rivest, Adi Shamir et LeonardAdleman dans [RSA78], en meme temps que le schema de signature du meme nom (voir Sec-tion 4.4.1). Tout comme pour ce dernier, le schema de chiffrement RSA fut decrit tout d’abordau travers de la primitive RSA, avant que l’interet de fonctions de padding ne soit demontre(voir Section 4.3.3).

Le chiffrement RSA se decrit comme suit, pour une fonction de padding µ.

Chif

frement

RSA

[RSA

78] Generation de cles : Pour generer une paire de cles, l’utilisateur choisit un

exposant public e > 2 impair, et tire un module RSA n = pq (voirDefinition 1) de `n bits, tel que (p− 1)(q − 1) et e soient premiers entreeux. Ensuite, l’utilisateur calcule d = e−1 mod (p− 1)(q − 1).La cle privee de l’utilisateur est d tandis que sa cle publique est (e, n).

Chiffrement : Pour chiffrer un message m ∈ M pour une identite dont lacle publique est (e, n), l’utilisateur tire un alea r ∈ R et calcule la valeurc = µ(m, r)e mod n.Le chiffre de m est c.

Dechiffrement : Pour dechiffrer c, il suffit de calculer v = cd mod n. Si etseulement si µ−1(v) 6= ⊥, le message clair m = µ−1(v) est retourne.

Typiquement, la fonction de padding utilisee est OAEP [BR94], donnant lieu a l’ensembleRSA-OAEP, pour lequel il existe, dans le modele de l’oracle aleatoire une reduction lache duprobleme RSA vers les attaques IND-CCA [BR94, Sho01, FOPS04].

Les chiffres RSA font une taille de `n bits. De facon usuelle, d’apres les algorithmes connuspour resoudre le probleme RSA, les parametres choisis sont `n = 1024, et e = 216 + 1, pour unesecurite lache.

88

8.2. Quelques cryptosystemes classiques

8.2.2 Cryptosysteme ElGamal

Le chiffrement ElGamal fut introduit par Taher ElGamal [ElG85]. Ce cryptosysteme a faitl’objet de travaux de notre part, exposes dans cette these dans le Chapitre 9. Aussi, nous nedonnons ici qu’une definition succincte de ce schema, et renvoyons le lecteur interesse a cechapitre pour de plus amples informations.

Chif

frement

ElG

amal

[ElG

85] Generation de cles : Pour generer une paire de cles, l’utilisateur choisit un

groupe cyclique G (note ici multiplicativement) d’ordre premier q et ungenerateur g. Il genere alors un alea x ∈ Zq, et calcule y = gx.La cle privee de l’utilisateur est x tandis que sa cle publique est (y, g,G).Toutefois, les parametres g et G peuvent etre communs a un grouped’utilisateurs.

Chiffrement : Pour chiffrer un message m ∈ G pour une identite dont lacle publique est (y, g,G), l’utilisateur tire un alea r ∈ Zq et calcule lesvaleurs u = gr et v = yr ·m.Le chiffre de m est (u, v).

Dechiffrement : Pour dechiffrer (u, v), il suffit de calculer m = v · u−x.

Ce cryptosysteme est a sens unique sous l’hypothese de difficulte du CDH, et est semantique-ment sur si le probleme DDH est difficile, tout ceci etant entendu sous attaque a clairs choisis,dans le modele standard (voir Section 9.1 pour plus de details).

Les chiffres ElGamal font une taille de 2`p bits, ou `p est le nombre de bits necessaires pourrepresenter un element du groupe G. Habituellement, G est un sous-groupe de Z∗p (pour un grandpremier p) ou un sous-groupe de points d’une courbe elliptique.

8.2.3 Cryptosysteme Paillier

Le schema de chiffrement Paillier fut invente par Pascal Paillier dans [Pai99b]. Nousreferons egalement le lecteur interesse a la these [Pai99a]. Ce schema utilise la fonction

L(u) =uφ(n) − 1 mod n2

n.

Chif

frement

Pai

llier

[Pai9

9a,Pai9

9b] Generation de cles : Pour generer une paire de cles, l’utilisateur selectionne

un module RSA n = pq. Ensuite, l’utilisateur choisit une base g ∈ Zn2 ,tel que L(g) ∈ Z∗n.La cle privee de l’utilisateur est φ(n) tandis que sa cle publique est (g, n).

Chiffrement : Pour chiffrer un message m ∈ Z∗n pour une identite dont la clepublique est (g, n), l’utilisateur tire un alea r ∈ Z∗n et calcule la valeur

c = gm · rn mod n2 .

Le chiffre de m est c.

Dechiffrement : Pour dechiffrer c, il suffit d’utiliser la fonction L pour re-trouver m selon

m =L(c)L(g)

mod n .

89

Chapitre 8. Introduction aux schemas de chiffrement

Ce cryptosysteme est indistinguable sous l’hypothese de la residuosite composite [Pai99a,Pai99b], pour les attaques a clairs choisis. Pour les attaques a chiffres choisis, ce schema peut etrerendu sur dans le modele de l’oracle aleatoire a travers l’usage de techniques generiques [FO99,FO00, Poi00], ou par une technique dediee [PP99].

Les chiffres Paillier font une taille de 2`n bits pour un module qui, d’apres les algorithmesconnus pour resoudre le probleme de la residuosite composite, fait `n = 1024 bits.

8.3 Chiffrement base sur l’identite

8.3.1 Definition

Une des difficultes de la mise en place de systemes a cle publique est la gestion de l’infra-structure des cles publiques (PKI). En effet, avant d’utiliser une cle publique, il faut s’assurerque celle-ci est vraiment la cle du destinataire, pour eviter des attaques dites “par-le-milieu” (enanglais, man-in-the-middle). Ceci est classiquement verifie grace a des certificats, qui ne sontautres que des signatures emanant d’autorites de confiance validant le fait que la cle publiqueutilisee est bien celle d’un utilisateur donne.

Une autre solution fut proposee par Adi Shamir [Sha84] : la cryptographie basee sur l’identite(en anglais, Identity-Based Encryption, IBE). Dans ce type de schema, chaque personne estidentifiee par une chaıne unique de bits (son identite), pouvant prendre a priori n’importequelle valeur. Typiquement, l’identite peut etre un numero de securite sociale ou une adressemel. D’autre part, une autorite genere une cle maıtre et publie des parametres de systeme. Cesparametres sont suffisants a tout utilisateur pour chiffrer un message destine a une identitechoisie. Un utilisateur peut, a tout moment (c’est-a-dire eventuellement apres la creation parun tiers d’un chiffre a son attention), demander a l’autorite la cle privee correspondant a sonidentite : avec cette cle, l’utilisateur pourra alors retrouver le message clair qui lui a ete envoye.

Definition 18 (Schema de chiffrement base sur l’identite). Un schema de chiffrementbase sur l’identite IBE est defini par quatre algorithmes :

– La mise en place du systeme SetIBE. Etant donne une entree 1κ, l’algorithme SetIBE pro-duit une cle maıtre skIBE et un ensemble de parametres publics params, incluant notammentla description d’un ensemble de messages M et d’un ensemble de chiffres C ;

– L’algorithme d’extraction Extract. Etant donne une cle maıtre skIBE, un ensemble deparametres publics params et une identite ID, l’algorithme Extract produit une cle priveeskID ;

– L’algorithme de chiffrement Encrypt. Etant donne un message m dans un ensemblede messages M, une identite ID et un ensemble de parametres publics params, l’algo-rithme Encrypt produit un chiffre c = EncryptID(m; r), ou r designe l’alea utilise parEncrypt ;

– L’algorithme de dechiffrement Decrypt. Etant donne un chiffre c, une identite ID, un en-semble de parametres publics params et une cle privee skID, l’algorithme Decrypt retournele clair correspondant, ou un symbole particulier ⊥ si le chiffre c est invalide.

Alors que le concept fut invente par Adi Shamir en 1984, il fallu attendre 2001 et le schemade Dan Boneh et Matthew Franklin [BF01] pour voir la premiere realisation concrete et sured’un schema de chiffrement base sur l’identite. Ce schema est rappele en Section 8.3.3 et a faitl’objet d’une partie de nos recherches, exposee au Chapitre 10.

90

8.3. Chiffrement base sur l’identite

8.3.2 Notions de securite pour le chiffrement base sur l’identite

Comme toute primitive cryptographique, les schemas de chiffrement bases sur l’identite sontprouves surs selon des scenarios d’attaque. Ceux-ci sont en fait tres proches des scenarios desschemas de chiffrement (voir Section 8.1.2), avec en plus quelques specificites pour la fonctionExtract. Nous ne donnerons donc ici que les deux principaux modeles d’attaquant.

La notion de securite d’un IBE la plus forte est l’indistinguabilite contre les attaques a chiffreset identites choisis (IND-ID-CCA) [BF01, BF03]. Dans ce modele, l’attaquant est suppose pouvoiracceder adaptativement a un oracle de dechiffrement (comme dans les schemas de chiffrementclassiques), mais egalement a un oracle lui donnant la cle privee correspondant a des identitesde son choix. Ceci symbolise le fait que l’adversaire pourrait etre un regroupement d’entitesutilisant leurs cles privees pour attaquer un tiers.

Le succes de l’attaquant IND-ID-CCA est formalise par son avantage dans le jeu suivant :

Mise en place : Le systeme choisit un parametre de securite κ, et execute l’algorithme SetIBE.Il retourne alors a l’adversaire les parametres params, et garde la cle maıtre skIBE.

Phase 1 : L’adversaire peut effectuer adaptativement les requetes suivantes :– Extract pour une identite IDi : le systeme renvoie alors la cle privee skIDi

.– Decrypt pour une identite IDi et un chiffre ci : le systeme renvoie alors le clair (s’il

existe) qui correspond au chiffre ci pour l’identite IDi.A la fin de cette phase, l’adversaire retourne une paire de messages (m0,m1), de memelongueur, de l’ensemble M et une identite ID?, sur lesquels il veut que le challenge soiteffectue. Une contrainte de bon sens veut toutefois que l’adversaire n’ait pas demande al’oracle Extract la cle secrete correspondant a l’identite ID?.

Challenge : Le systeme tire un bit aleatoire b ∈ 0, 1, et calcule un chiffre c? de mb. Ce chiffreest alors envoye a l’adversaire.

Phase 2 : A la maniere de la premiere phase, l’adversaire peut effectuer adaptativement lesrequetes suivantes :– Extract pour une identite IDi 6= ID? : le systeme renvoie alors la cle privee skIDi

.– Decrypt pour une identite IDi et un chiffre ci (avec bien evidemment (IDi, ci) 6=

(ID?, c?)) : le systeme renvoie alors le clair (s’il existe) qui correspond au chiffre ci pourl’identite IDi.

Reponse : A la fin de son attaque, l’adversaire retourne son estimation b′ ∈ 0, 1. Il gagnealors le jeu si b = b′.

Un autre niveau de securite est l’indistinguabilite contre les attaques a clairs et identiteschoisis (IND-ID-CPA) [BF01, BF03]. Dans ce scenario d’attaque, le succes de l’attaquant estmesure par un jeu essentiellement similaire a celui de l’attaque IND-ID-CCA, dans lequel lesrequetes a l’oracle Decrypt lui sont retirees.

8.3.3 Cryptosysteme Boneh-Franklin

Le schema de chiffrement base sur l’identite Boneh-Franklin fut invente par Dan Boneh etMatthew Franklin dans [BF01, BF03]. Il a permis la premiere realisation d’une idee vieille deplus de quinze ans [Sha84], grace a l’utilisation a des fins constructives ‡ d’une fonction bilineaire(voir aussi [Jou00]) : le couplage de Weil ou le couplage de Tate.

Ce schema se decrit plus aisement en partant de la version IND-ID-CPA ci-dessous, en sachantqu’il est possible d’appliquer a cette version la transformation generique de Eiichiro Fujisaki

‡Historiquement [MOV93, FMR99], les fonctions bilineaires servaient plutot a casser des schemas.

91

Chapitre 8. Introduction aux schemas de chiffrement

et Tatsuaki Okamoto [FO99] pour obtenir un schema IND-ID-CCA, dans le modele de l’oraclealeatoire, tel qu’explique dans [BF01, BF03].

Chif

frement

Bon

eh-F

rankl

in[B

F01,B

F03] Mise en place des parametres : L’autorite genere des parametres, com-

poses de deux groupes G1 et GT d’ordre q, d’une application bilineairee : G1 ×G1 → GT et d’un generateur g de G1.Ensuite, l’autorite genere un alea x ∈ Zq, et calcule y = gx. Elle choisitegalement la longueur `m des messages, et pose M = 0, 1`m . Enfin,deux fonctions de hachage H : 0, 1? → G1 et G : GT → 0, 1`m sontselectionnees.Alors, params = 〈q,G1,GT , e,M, g, y,G,H〉 et skIBE = x

Extraction de cle : Pour generer la cle privee de l’identite ID, l’autoritecalcule hID = H(ID), puis skID = hID

x est retournee.

Chiffrement : Pour chiffrer un message m ∈ M a une identite ID, l’utilisa-teur tire un alea r ∈ Zq, puis calcule hID = H(ID) et w = e(y, hID)r.Ensuite, il calcule c0 = gr et c1 = m ⊕ G(w).Le chiffre c = (c0, c1) est alors retourne.

Dechiffrement : Pour dechiffrer un chiffre c = (c0, c1) ∈ G1×M, l’utilisateurID calcule w′ = e(c0, skID), puis retrouve le message m selon

m = c1 ⊕ G(w′) .

Le schema Boneh-Franklin avec la transformation generique de Eiichiro Fujisaki et Tat-suaki Okamoto [FO99] est sur, dans le modele de l’oracle aleatoire, contre les attaques IND-ID-CCA sous l’hypothese de la difficulte du probleme CBDH.

8.4 Nos travaux sur les schemas de chiffrement

Apres avoir presente dans ce chapitre le contexte des schemas de chiffrement, avec une parti-cularite pour les schemas bases sur l’identite, nous allons dans les chapitres suivants developpernos travaux sur ce domaine de la cryptographie.

Tout d’abord, dans le Chapitre 9, nous etudions le schema de chiffrement ElGamal dans sonutilisation pratique, et en devoilons quelques desagrements auxquels nous proposons une solution,au travers d’une nouvelle variante basee sur la classe des elements de certains sous-groupes deZ∗p2 .

Ensuite, dans le Chapitre 10, nous presentons une variante du schema de chiffrement basesur l’identite Boneh-Franklin, possedant une reduction non plus lache mais fine (dans le modelede l’oracle aleatoire).

Enfin, dans le Chapitre 11, nous exposons un padding universel optimal a la fois pour lechiffrement et la signature.

92

Chapitre 9

Chiffrement ElGamal sans encodagedans le modele standard

Sommaire

9.1 Le cryptosysteme ElGamal . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

9.1.1 Description du cryptosysteme ElGamal . . . . . . . . . . . . . . . . . . . . 94

9.1.2 Le cryptosysteme ElGamal avec fonction de hachage . . . . . . . . . . . . . 95

9.2 Chiffrement ElGamal sans encodage dans le modele standard . . . . . . 95

9.2.1 La fonction Classe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

9.2.2 Problemes de classe Diffie-Hellman . . . . . . . . . . . . . . . . . . . . . . 97

9.2.3 Chiffrement additif sans encodage . . . . . . . . . . . . . . . . . . . . . . . 99

9.2.4 Chiffrement multiplicatif sans encodage . . . . . . . . . . . . . . . . . . . 99

9.2.5 Proprietes de nos schemas de chiffrement . . . . . . . . . . . . . . . . . . . 100

9.3 Preuve de securite de nos schemas . . . . . . . . . . . . . . . . . . . . . 100

9.4 Generalisation a Zpk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

9.5 Conclusion et problemes ouverts . . . . . . . . . . . . . . . . . . . . . . 102

Le chiffrement ElGamal est l’alternative la plus courante au chiffrement RSA. Il est facilementadaptable a de nombreux groupes cryptographiques et possede des proprietes homomorphiques,tout en restant sur (au sens des attaques a clairs choisis) sous l’hypothese de difficulte duprobleme DDH dans le groupe choisi.

Malheureusement, l’usage en pratique du chiffrement ElGamal est complexe : les messagesdoivent etre encodes en elements du groupe avant le chiffrement proprement dit, ce qui requiertdes conversions incommodes, limite la taille des messages et peut meme detruire les proprieteshomomorphiques du schema. En utilisant des fonctions de hachage, il est certes possible depasser outre l’encodage du message en element du groupe, mais alors, la securite dans le modelestandard n’est plus assuree.

Ce chapitre introduit une nouvelle alternative n’utilisant ni encodage des messages en ele-ments du groupe ni fonction de hachage, et restant ainsi totalement compatible avec le modelestandard. Partiellement homomorphique, notre variante du schema de chiffrement ElGamal estcomparable au schema originel en terme d’efficacite, tout en diminuant le rapport entre la tailledu chiffre et la taille du clair (souvent appele le ratio de chiffrement) a la valeur optimale de2, alors que, pour des parametres classiques, le cryptosysteme ElGamal possede un ratio dechiffrement de 13.

Le travail presente ici a fait l’objet d’une collaboration avec Pascal Paillier et DavidPointcheval et a ete publie a la conference Pkc ’06 [CPP06].

93

Chapitre 9. Chiffrement ElGamal sans encodage dans le modele standard

9.1 Le cryptosysteme ElGamal

Le schema de chiffrement ElGamal fut introduit en 1985 par Taher ElGamal [ElG85]. Ilnecessite un groupe cryptographique G d’ordre q, engendre par un element g. Pour generer unepaire de cles, l’utilisateur tire un alea x ∈ Zq et calcule y = gx. La cle publique est alors y tandisque la cle privee est x. Ensuite, pour chiffrer un message m ∈M, il suffit de prendre un nombrealeatoire r ∈ Zq et de calculer u = gr et v = yr ·m. Le chiffre est alors c = (u, v). A l’aide de lacle privee x, le chiffre c = (u, v) peut etre dechiffre en m = v · u−x.

Un point cle dans ce schema reside dans la description du groupe G, de son ordre et de l’espacedes messages M. Les algorithmes classiques de calcul de logarithme dans les sous-groupes depetit ordre demontrent que l’ordre du groupe G ne doit pas etre divisible par un petit premier.Ainsi, prendre pour q, l’ordre du groupe G, un nombre premier est considere plus sur.

Pour assurer l’indistinguabilite du schema de chiffrement, une restriction sur l’espace desmessagesM est egalement imposee : celui-ci (s’il est un groupe) doit etre inclus dans le groupeG. Prouvons cela par l’absurde.

Imaginons tout d’abord queM n’est pas inclus dans G, mais que ces deux ensembles ne sontpas disjoints. Prenons alors une paire de messages m0 ∈ M\G et m1 ∈ G ∩M, et un chiffrec = (u, v) d’un de ces deux messages. Alors, si vq = 1, c chiffre m1 ; dans le cas contraire, ilchiffre m0. Ainsi, dans ce cas, le chiffrement est distinguable.

Supposons maintenant que M et G sont disjoints et que M est un groupe. Tirons alorsune paire de messages m0 ∈ M et m1 ∈ M, et prenons un chiffre c = (u, v) d’un de ces deuxmessages. Comme m0 ∈ M et m1 ∈ M, et comme M est un groupe, m0 · m1

−1 ∈ M etnotamment m0 ·m1

−1 /∈ G. Ainsi, m0q 6= m1

q. Aussi, il est facile de distinguer si c chiffre m0 oum1, en testant si vq vaut m0

q ou m1q.

La conclusion partielle est donc la suivante : pour esperer la securite semantique, soitM estinclus dans G, soit M n’est pas un groupe. Comme les groupes sont des ensembles privilegiesen cryptographie et dans le but de garder les proprietes homomorphiques du schema ElGamal,le choix d’inclureM d’inclure dans G est en general celui qui est fait.

Note 1. Remarquons que meme si l’utilisateur voulait obtenir l’indistinguabilite sans prendreun ensemble de messages inclus dans G, c’est-a-dire en essayant de prendre un ensemble demessages qui ne soit pas un groupe, la securite du systeme ne pourrait etre obtenue que s’il etaitdifficile de trouver une paire (m0,m1) ∈M×M, telle que m0

q 6= m1q.

Montrons ici neanmoins un exemple d’ensemble de messages qui n’est pas un groupe, maisqui pourrait etre utilise pour le schema : il s’agit de M = α ·G = α · gk, k ∈ Zq, ou α est unelement n’appartenant pas a G. Comme nous pouvons le voir, le choix de cet ensemble seraitartificiel, et ne serait pas different, en termes de securite, d’un ensembleM⊂ G.

9.1.1 Description du cryptosysteme ElGamal

Ainsi, avant l’etape de chiffrement proprement dite, le message doit etre encode en un elementdu groupe. Cet encodage doit de plus etre inversible efficacement, de facon a permettre deretrouver le message durant le dechiffrement. Un tel encodage peut etre tres couteux en temps,et peut aussi — partiellement ou totalement — detruire les proprietes homomorphiques dusysteme. De facon encore plus problematique, utiliser un tel encodage est incompatible avecl’optimisation classique qui consiste a travailler dans un petit sous-groupe de Z∗p d’ordre premierq, ou q est un premier d’environ 160 bits, un choix de parametre qui permet d’obtenir desexponentiations bien plus rapides.

94

9.2. Chiffrement ElGamal sans encodage dans le modele standard

Chif

frement

ElG

amal

[ElG

85] Initialisation des parametres : Soient p un premier de `p bits et q un

premier de `q bits divisant (p−1). Soient G le sous-groupe de Z∗p d’ordreq, et g un generateur de G. Soit enfin Ω un encodage bijectif de Zq dansG.

Generation de cles : La cle privee est un nombre aleatoire x ∈ Zq. La clepublique correspondante est y = gx.

Chiffrement : Pour chiffrer un message m ∈ Zq, il faut encoder m en calcu-lant ω = Ω(m), puis tirer un alea r ∈ Zq et calculer (u, v) = (gr, yr · ω).Le chiffre est alors c = (u, v).

Dechiffrement : Pour dechiffrer c = (u, v), l’utilisateur calcule ω = v · u−x

et retrouve le message original m = Ω−1(ω).

Le cryptosysteme ElGamal est a sens unique sous l’hypothese de difficulte du probleme CDH,et est indistinguable sous l’hypothese de difficulte du probleme DDH, ces notions de securiteetant entendues dans le contexte des attaques a clairs choisis, dans le modele standard.

9.1.2 Le cryptosysteme ElGamal avec fonction de hachage

Pour contourner le probleme de l’encodage en element du groupe, une variante au crypto-systeme ElGamal a base de fonction de hachage fut proposee.

Chif

.ElG

amal

avec

hachage Initialisation des parametres : Soient p un premier de `p bits et q un pre-

mier de `q bits divisant (p − 1). Soient G le sous-groupe de Z∗p d’ordreq, et g un generateur de G. Soit enfin H : G→ 0, 1`m une fonction dehachage.

Generation de cles : La cle privee est un nombre aleatoire x ∈ Zq. La clepublique correspondante est y = gx.

Chiffrement : Pour chiffrer un message m ∈ 0, 1`m , il faut tirer un alear ∈ Zq et calculer (u, v) = (gr,H(yr) ⊕m). Le chiffre est alors c = (u, v).

Dechiffrement : Pour dechiffrer c = (u, v), l’utilisateur retrouve le messageoriginal m = v ⊕ H(ux).

Cette variante de ElGamal est a sens unique et indistinguable contre les attaques a clairschoisis sous la seule hypothese de difficulte du probleme CDH. Cependant, la preuve de securitenecessite le modele de l’oracle aleatoire.

Sous l’hypothese de difficulte du probleme DDH, il est egalement possible d’utiliser des ex-tracteurs d’alea a la place du modele de l’oracle aleatoire, pour generer un masque parfaitementaleatoire. Cependant cette technique necessite ou bien de grands groupes ou bien reduit de facontres importante la taille des masques produits [CFGP06].

9.2 Chiffrement ElGamal sans encodage dans le modele standard

Dans cette section, nous decrivons notre nouvelle technique pour obtenir un chiffrementElGamal sans encodage. Notre cryptosysteme possede des performances similaires au schema

95

Chapitre 9. Chiffrement ElGamal sans encodage dans le modele standard

classique ElGamal tel que decrit dans la Section 9.1.1, tout en ne necessitant ni encodage niextracteur d’alea. De plus, la securite de notre schema est valable dans le modele standard,sous de nouvelles hypotheses que nous introduisons. Nous commencons en donnant quelquesdefinitions ainsi que quelques proprietes mathematiques.

9.2.1 La fonction Classe

Soient p et q des premiers tels que q | p − 1. Soient g un entier d’ordre pq modulo p2 etG = 〈g〉 le groupe forme par tous les elements d’ordre pq modulo p2. Alors Gp = 〈g mod p〉 est lesous-groupe d’ordre q de Z∗p. Par le theoreme des restes chinois, il existe une bijection canoniqueentre Zp × Zq et Zpq. Pour tous entiers x ∈ Zp et y ∈ Zq, 〈x, y〉 designe l’unique entier modulopq tel que 〈x, y〉 = x (mod p) et 〈x, y〉 = y (mod q).

Definition 19 (Classe d’un element de G). Tout element w de G peut etre ecrit commew = g〈x, y〉 mod p2, pour un unique x ∈ Zp et un unique y ∈ Zq. Cet entier x est appele la classede w en base g, et est note x = [[w]].

Il est facile de voir que si w = g〈x, y〉 mod p2, alors w = gy mod p. En d’autres termes, yest le logarithme discret de (w mod p) en base (g mod p) dans le groupe Gp. Ceci signifie quey est difficile a calculer a partir de w, a moins que le logarithme discret ne soit facile sur Gp.Au contraire, calculer la classe d’un element de G peut etre fait efficacement, comme nous lemontrons ci-dessous.

Lemme 1. Definissons sur G la fonction L(w) = (wq−1 mod p2)p . La classe de w = g〈x, y〉 mod p2

peut etre calculee comme x = L(w) · L(g)−1 mod p.

Demonstration. Comme g est d’ordre q modulo p, gq = 1 mod p. Aussi, il existe un entier l ∈ Zp,tel que gq = 1+ l ·p (mod p2). Par definition de la fonction L, cet entier l est donne par l = L(g)et est non nul, g etant d’ordre pq modulo p2 et non d’ordre q. De meme, wq = 1 + L(w) · p(mod p2).

Comme wq = g〈x,y〉q = g(〈x,y〉 mod p)·q = gxq (mod p2), il s’ensuit, avec gq = 1 + L(g) · p(mod p2), que 1 + L(w) · p = (1 + L(g) · p)x = 1 + L(g) · p · x (mod p2), d’ou le resultat. ut

Cette propriete est bien connue et a notamment servi a construire les schemas de chiffrementOkamoto-Uchiyama [OU98] et Paillier [Pai99b].

Considerons maintenant un entier a ∈ Zq ainsi que w = ga mod p. Comme 1 = wpq (mod p2),w peut etre vu comme un element de G, et donc il existe des entiers x, y tels que w = g〈x, y〉 modp2. De plus, g〈x, y〉 = gy (mod p) et donc y = a par unicite du logarithme. Il apparaıt que laclasse x de w peut etre calculee comme une fonction de a, comme le montre le lemme suivant.

Lemme 2. Definissons, pour tout w ∈ G

Upper(w) =w − (w mod p)

p

et∆(w) =

q

L(g)· Upper(w)

wmod p .

Alors, pour tout element w ∈ G,

[[w mod p]] = [[w]]−∆(w) mod p .

96

9.2. Chiffrement ElGamal sans encodage dans le modele standard

Demonstration. Tout d’abord, remarquons que, par definition de la fonction L, gq = 1+L(g)·p =g〈q,0〉 (mod p2). D’ou

1 + p = g〈 qL(g)

,0〉 mod p2 ,

ou L(g) est non-nul comme g est d’ordre pq modulo p2.Nous pouvons ecrire w comme w = g〈x,y〉 mod p, avec x = [[w]] et y = DLg(w mod p). Par

definition des fonctions Upper et ∆ et comme w mod p = gy mod p 6= 0, nous avons

w = (w mod p) + p · Upper(w) = (w mod p)(1 + p ·

(Upper(w)

w mod p))

mod p2

= (w mod p) (1 + p)Upper(w)

wmod p mod p2 = (w mod p) g〈

qL(g)

,0〉·

Upper(w)w

mod p

mod p2

= (w mod p) g〈∆(w),0〉 mod p2 .

Aussi, en appliquant la fonction Classe de chaque cote de la derniere egalite, nous obtenons

[[w]] = [[w mod p]] +∆(w) mod p ,

dont se deduit le resultat. ut

Lemme 3. La fonction f : Z∗q → Zp, definie par a → [[ga mod p]], est aleatoirement auto-reductible (en anglais, random self-reducible).

Demonstration. Supposons que nous desirons [[A]] pour un certain A = ga mod p. Nous utilisonsalors le fait que pour tout r ∈ Zq, nous avons

[[Ar mod p]] = [[Ar mod p2]]−∆(Ar mod p) = r · [[A]]−∆(Ar mod p) mod p .

Si r est tire aleatoirement dans Z∗q , Ar mod p est un element aleatoire de Gp, comme A estun generateur de Gp. Connaissant la classe de [[Ar mod p]] et r, [[A]] peut alors etre facilementretrouve par

[[A]] = r−1 ([[Ar mod p]] +∆(Ar)) mod p .

ut

9.2.2 Problemes de classe Diffie-Hellman

Nous definissons maintenant un probleme calculatoire base sur la fonction Classe introduitedans la section precedente. Ce probleme sera a la base du schema de chiffrement que nousintroduirons ensuite.

Definition 20 (Probleme calculatoire de classe Diffie-Hellman - CCDH). Soit G = 〈g〉le sous-groupe d’ordre pq de Z∗p2. Le probleme calculatoire de classe Diffie-Hellman dans G estdefini comme suit : etant donne des elements ga mod p et gb mod p, pour des aleas a et b tiresdans Zq, calculer [[gab mod p]].

La version decisionnelle de ce probleme se decrit comme suit.

Definition 21 (Probleme decisionnel de classe Diffie-Hellman - DCDH). Soit G = 〈g〉le sous-groupe d’ordre pq de Z∗p2. Le probleme decisionnel de classe Diffie-Hellman dans G estde distinguer les distributions (ga mod p, gb mod p, [[gab mod p]]) et (ga mod p, gb mod p, z), poura, b tires aleatoirement dans Zq et z alea de Zp.

97

Chapitre 9. Chiffrement ElGamal sans encodage dans le modele standard

Ces problemes sont nouveaux. Cependant, nous avons ete en mesure de montrer la difficultede la version calculatoire du probleme. Plus precisement, nous posons le theoreme suivant.

Theoreme 11. Les problemes CCDH et CDH sont equivalents.

Demonstration. La preuve est decoupee en deux etapes, suivant les deux sens de l’equivalence.Nous commencons avec l’implication la plus evidente.

[CCDH ⇐ CDH]. Supposons que nous ayons acces a un algorithme probabiliste A tel queA(ga mod p, gb mod p) retourne gab mod p avec une probabilite ε et en un temps τ , la pro-babilite de succes etant prise sur les donnees variables de A et les aleas a, b ∈ Zq. Etant donneA,B ∈ Gp, nous executons A(A,B) pour obtenir CDH(A,B) et en deduisons alors [[CDH(A,B)]]grace au Lemme 1, de facon a resoudre le probleme CCDH avec une probabilite ε et un tempslimite a τ + poly (log p).

[CDH ⇐ CCDH]. Supposons que nous ayons acces a un algorithme probabiliste A qui resout leprobleme CCDH. Grace au Lemme 3, nous pouvons supposer que la distribution des entrees deA ne necessite pas d’etre uniforme pour que la probabilite de succes de A soit assuree. Nousconstruisons une reduction B calculant C = CDH(A,B) pour des aleas A,B ∈ Gp. B executeune premiere fois A(A,B) pour obtenir [[C]]. B pose ensuite A′ = Ag mod p et re-execute Apour obtenir [[C ′]] = A(A′, B), ou C ′ = CDH(A′, B) = BC mod p. Nous avons alors les egalitessuivantes :

[[C ′]] = [[BC mod p]] = [[BC mod p2]]−∆(BC mod p) = [[B]] + [[C]]−∆(BC mod p) mod p

d’ou ∆(BC mod p) = [[B]] + [[C]]− [[C ′]] mod p. Comme

BC = (BC mod p) + p · Upper(BC mod p2) = C ′ + p · Upper(BC mod p2)

= C ′(

1 + p ·(

Upper(BC mod p2)BC

mod p))

= C ′(

1 + p · L(g)q·∆(BC mod p)

)mod p2 .

B n’a plus qu’a trouver une solution a cette equation modulaire

C

C ′ = B−1

(1 + p · L(g)

q·([[B]] + [[C]]− [[C ′]]

))mod p2

dans laquelle les inconnues sont C,C ′ ∈ Zp.

En posant µ = B−1(1 + p · L(g)

q ·([[B]] + [[C]]− [[C ′]]

))mod p2, B applique l’algorithme eten-

du d’Euclide sur µ et p2 pour trouver de petites solutions C,C ′ < p satisfaisant C/C ′ =µ mod p2. Pour arreter l’algorithme etendu d’Euclide au bon moment, la validite de C estverifiee en s’assurant que C ′C−1 mod p est egal a B.

Cette etape finit ainsi avec succes en une complexite en O(log3 p), et permet le calcul deC = CDH(A,B), en deux appels a A et un temps supplementaire polynomial. ut

Jusqu’a present, l’etude du probleme DCDH reste un probleme ouvert. En particulier, larelation entre les problemes DCDH et DDH reste encore mysterieuse. Bien que nous n’ayons pasde preuve a apporter, nous suspectons ces deux problemes d’etre etroitement relies. Nous feronsl’hypothese que le probleme DCDH ne peut etre resolu en temps polynomial dans le reste de cechapitre.

98

9.2. Chiffrement ElGamal sans encodage dans le modele standard

9.2.3 Chiffrement additif sans encodage

Comme annonce dans l’introduction de cette section, notre but est de rendre le schemaElGamal d’un usage le plus aise possible, en evitant l’usage d’un mecanisme d’encodage enelements de groupe, tout en maintenant une securite dans le modele standard (par oppositionau schema ElGamal avec fonction de hachage tel que decrit Section 9.1.2 par exemple). Notre ideeest de ne plus incorporer le message dans un element du groupe, mais, a la place, de transformerune cle de session extraite d’un echange Diffie-Hellman ‡ en un entier modulo p a l’aide de lafonction Classe definie Section 9.2.1.

Pkc

’06

[CPP06] Initialisation des parametres : Soient p un entier de `p bits et q un

premier de `q bits diviseur de p − 1. Soit g un generateur du groupe Gdes elements d’ordre pq modulo p2.

Generation de cles : La cle privee est un alea x ∈ Z∗q . La cle publiquecorrespondante est y = gx mod p.

Chiffrement : Pour chiffrer un message m ∈ Zp, il suffit de tirer un alear ∈ Zq et de calculer u = gr mod p et v = [[yr mod p]] + m mod p. Lechiffre est alors c = (u, v).

Dechiffrement : Pour dechiffrer c = (u, v), l’utilisateur calcule

m = v − [[ux mod p]] mod p .

9.2.4 Chiffrement multiplicatif sans encodage

La procedure de chiffrement peut alternativement etre faite a base de multiplication modu-laire, si le message est pris non plus dans le groupe additif Zp, mais dans le groupe multiplicatifZ∗p.

Pkc

’06

[CPP06] Initialisation des parametres : Soient p un entier de `p bits et q un

premier de `q bits diviseur de p − 1. Soit g un generateur du groupe Gdes elements d’ordre pq modulo p2.

Generation de cles : La cle privee est un alea x ∈ Z∗q . La cle publiquecorrespondante est y = gx mod p.

Chiffrement : Pour chiffrer un message m ∈ Z∗p, il suffit de tirer un alear ∈ Zq et de calculer u = gr mod p et v = [[yr mod p]] · m mod p. Lechiffre est alors c = (u, v).

Dechiffrement : Pour dechiffrer c = (u, v), l’utilisateur calcule simplement

m = v · [[ux mod p]]−1 mod p .

‡Le chiffrement ElGamal peut en effet etre vu comme un echange de cle Diffie-Hellman, dans lequel la publi-cation de la cle publique y fait office de premiere passe.

99

Chapitre 9. Chiffrement ElGamal sans encodage dans le modele standard

9.2.5 Proprietes de nos schemas de chiffrement

Absence de conversion des messages. Nos schemas de chiffrement ne necessitent aucuneconversion avant la procedure de chiffrement : l’espace des messages est reellement le groupeadditif Zp dans la version additive ou le groupe multiplicatif Z∗p dans la version multiplicative.C’est pourquoi toute chaıne de moins de k bits, ou p > 2k, peut etre chiffree directement. C’estune propriete tres forte, car nous pouvons utiliser dans le meme temps un ordre q beaucoup pluspetit que p sans impacter les procedures de chiffrement ou de dechiffrement.

Efficacite. Nous pouvons voir que les chiffres dans nos schemas sont exactement de memetaille que dans le schema classique ElGamal. De plus, le ratio est exactement de 2, alors quedans le schema ElGamal, celui-ci est de 2p

q . Ainsi, pour des parametres classiques `p = 1024 et`q = 160, le ratio du chiffrement ElGamal est ainsi d’environ 13.

Du point de vue des performances en temps de calcul, nos schemas necessitent pour lechiffrement, en plus des deux exponentiations inherentes aux schemas de type ElGamal, uneexponentiation additionnelle dans Z∗p2 avec un exposant de `q bits. Cette exponentiation equi-vaut en temps a environ quatre exponentiations dans Zp. Ainsi, en tout, l’etape de chiffrementde nos schemas necessite six exponentiations de `q bits contre deux exponentiations dans leschema ElGamal. Cependant, aucun encodage n’est necessaire, encodage souvent realise par desexponentiations et au prix d’un ordre du groupe plus grand.

De meme, nos procedures de dechiffrement necessitent une exponentiation de `q bits dansZp puis le calcul de la fonction Classe. Ainsi, l’etape de dechiffrement de nos schemas necessitecinq exponentiations de `q bits a comparer avec la simple exponentiation du schema ElGamal.Le schema multiplicatif necessite en sus un calcul d’inverse modulaire. Cependant, encore unefois, cet ecart est a relativiser, car aucun decodage n’est necessaire.

Homomorphisme additif ou multiplicatif. Enfin, notre schema additif (respectivementmultiplicatif) possede une propriete homomorphique partielle additive (respectivement multipli-cative) sur le groupe additif Zp (respectivement le groupe multiplicatif Z∗p). Par “partielle”, nousvoulons dire qu’il est possible d’ajouter (respectivement de multiplier par) une constante a unchiffre sans avoir besoin de la cle privee. Bien que ce type de propriete soit incompatible avec uneresistance contre les attaques a chiffres choisis, il est souvent considere comme interessant pourcertaines applications cryptographiques telles que le vote electronique, et nous esperons ainsi voirdes applications concretes de nos schemas basees sur cette propriete. Une restriction importantede cette propriete homomorphique est neanmoins qu’elle ne permet pas de transformer aleatoi-rement un chiffre en un autre chiffre du meme message, ni meme d’ajouter (respectivement demultiplier) deux chiffres entre eux.

9.3 Preuve de securite de nos schemas

Dans cette partie, nous decrivons la securite de nos schemas. Bien evidement, nous ne pouvonsnous premunir des attaques a chiffres choisis, du fait de la malleabilite precedemment decrite.Cependant, des conversion generiques existent pour transformer des schemas surs sous attaquesCPA en schemas surs sous attaques CCA (dans le modele de l’oracle aleatoire) [FO99, FO00,Poi00], quand le contexte necessite une securite contre les attaques a chiffres choisis.

Sens unique du chiffrement. En se focalisant sur la version additive de notre schema, nousenoncons le theoreme suivant :

100

9.3. Preuve de securite de nos schemas

Theoreme 12. Soit A un adversaire pouvant inverser notre schema de chiffrement, sousattaque a clairs choisis, avec une probabilite ε et en un temps τ . Alors le probleme calcu-latoire de la classe Diffie-Hellman peut etre resolu avec une probabilite ε et en un tempssimilaire a τ .

Demonstration. Etant donne une instance du probleme calculatoire de classe Diffie-Hellmandans Z∗p2 (g, y = gx mod p, w = gs mod p), nous voulons calculer z = [[gxs mod p]]. Pour cela,nous utilisons un attaquant OW-CPA A contre notre schema, dans lequel nous initialisons gcomme le generateur, et y comme la cle publique. Nous soumettons a l’attaquant A le chiffre(u, v) = (w, a) pour un alea a ∈ Zp. Comme il s’agit d’un chiffre valide et aleatoire d’un messagealeatoire, pour lequel nous avons contraint r = s, l’attaquant A reussit avec une probabilite ε aretrouver le message clair m correspondant. Si A reussit dans son attaque, nous apprenons alors[[gxs mod p]], le resultat espere, par la formule z = a−m mod p. ut

De facon aisee, le lecteur pourra voir que le meme theoreme s’applique pour la versionmultiplicative de notre schema. Il faut simplement noter que l’espace des messages dans cettederniere version est Z∗p, et non Zp, car il est necessaire de calculer l’inverse m−1 mod p pourdeduire z de a et m.

Indistinguabilite. Concernant l’indistinguabilite, nous pouvons poser un theoreme similaire :

Theoreme 13. Soit A un adversaire contre l’indistinguabilite de notre schema de chif-frement, avec un avantage ε et en un temps τ , sous une attaque a clairs choisis. Alors leprobleme decisionnel de la classe Diffie-Hellman peut etre resolu avec un avantage ε/2 enun temps similaire a τ .

Demonstration. Supposons que nous recevons une instance (g, y = gx mod p, w = gs mod p, z)du probleme decisionnel de la classe Diffie-Hellman dans Z∗p2 , et que nous desirons decider si za ete aleatoirement choisi dans Zp ou si z = [[gxs mod p]].

Comme dans la preuve precedente, nous utilisons un attaquant IND-CPA A contre notreschema, dans lequel nous initialisons g comme le generateur, et y comme la cle publique. Nouslaissons alors l’attaquant choisir deux messages m0 et m1, puis nous tirons un bit aleatoire b,et chiffrons mb comme (u, v) = (w, z + mb mod p). Finalement, nous retournons ce chiffre al’attaquant A comme la valeur du challenge.

Clairement, si z = [[gxs mod p]], c est un chiffre valide de mb, pour lequel nous avons contraintr = s, et ainsi, l’attaquant A peut deviner la valeur de b avec un avantage ε. Au contraire, si zest un element aleatoire de Zp, z′ = z +mb mod p est aussi un element aleatoire de Zp, rendantainsi le chiffre soumis independant du message mb. L’avantage de l’attaquant A est dans ce casnecessairement nul.

C’est pourquoi, pour repondre au probleme decisionnel, nous retournons True si la reponsede l’attaquant A est correcte, et sinon, nous retournons une reponse aleatoire.

Calculons alors l’avantage de notre reduction. Si z a ete aleatoirement choisi dans Zp (cequi arrive avec une probabilite de 1

2), la reduction repond au hasard, et a donc une probabilitede 1

2 de donner la bonne reponse. Si z = [[gxs mod p]] (ce qui arrive avec une probabilite de 12),

la reduction repond la bonne reponse si l’attaquant reussit son attaque (c’est-a-dire avec uneprobabilite de 1

2 + ε2).

La probabilite totale de reussite de la reduction est donc :

101

Chapitre 9. Chiffrement ElGamal sans encodage dans le modele standard

12∗ 1

2+

12∗

(12

2

)=

12

4

Notre reduction resout ainsi le probleme DCDH avec un avantage egal a ε/2. ut

9.4 Generalisation a Zpk

Tout comme le schema propose par Ivan Damgard et Mats Jurik [DJ01] est une genera-lisation du schema de chiffrement Paillier, nous pouvons generaliser notre schema en utilisantZpk pour tout entier k > 2. Pour un tel entier k > 2, nous definissons de facon naturelle Lk la

fonction X 7→ Xq−1 mod pk

p , et notons la classe de w par [[w]]k = Lk(w) ·Lk(g)−1 mod pk−1. Alors,la generalisation de notre technique a Zpk est comme suit :

Pkc

’06

[CPP06] Initialisation des parametres : Soient p un entier de `p bits et q un

premier de `q bits diviseur de p − 1. Soit g un generateur du groupe Gdes elements d’ordre pk−1q modulo pk.

Generation de cles : La cle privee est un alea x ∈ Z∗q . La cle publiquecorrespondante est y = gx mod p.

Chiffrement : Pour chiffrer un message m ∈ Zpk−1 , il suffit de tirer un alear ∈ Zq et de calculer u = gr mod p et v = [[yr mod p]]k + m mod pk−1.Le chiffre est alors c = (u, v).

Dechiffrement : Pour dechiffrer c = (u, v), l’utilisateur calcule m = v −[[ux mod p]]k mod pk−1.

Bien sur, nous pourrions tout aussi bien utiliser la multiplication au lieu de l’addition. Danscette generalisation, le ratio de chiffrement vaut k

k−1 , et peut ainsi etre rendu quasi optimal.De plus, les proprietes de malleabilite partielle sont conservees. Concernant la securite, nousrenvoyons le lecteur a [DJ01] pour y trouver des preuves que les problemes CCDH et DCDH aveck > 2 sont equivalents au cas k = 2. Il est egalement possible de modifier legerement les preuvesque nous presentons en Section 9.3 pour notre schema Z∗p2 , de facon a montrer que le caracterea sens unique et l’indistinguabilite de nos generalisations sont surs sous l’hypothese de difficultedes problemes CCDHk et DCDHk, versions generalisees des problemes CCDH et DCDH.

9.5 Conclusion et problemes ouverts

Dans ce chapitre, nous avons propose de nouveaux cryptosystemes bases sur de nouveauxproblemes relies aux problemes Diffie-Hellman. Nos schemas de chiffrement de type ElGamal nenecessitent pas que les messages soient convertis en elements du groupe, par opposition a tous lesschemas connus de chiffrement bases sur le logarithme discret possedant une preuve de securitedans le modele standard.

Nos schemas proposent de plus un meilleur ratio de chiffrement (reduit d’un facteur 6.5pour des parametres communement utilises), une taille de chiffres rigoureusement egale, et sontcomparables en vitesse a la version classique du schema ElGamal. Leur securite dans le mo-dele standard sous attaque a messages choisis repose sur l’hypothese de difficulte du probleme

102

9.5. Conclusion et problemes ouverts

CDH pour le caractere a sens unique et sur l’hypothese de difficulte du probleme DCDH pourl’indistinguabilite.

Nos schemas possedent un caractere partiellement homomorphique, soit additif soit mul-tiplicatif. A notre connaissance, notre schema additif est le premier exemple d’un chiffrementhomomorphe pour l’addition (meme si ce caractere n’est que partiel) possedant une preuve dansle modele standard, sur un probleme de type logarithme discret.

Une voie de recherche serait la conception d’un cryptosysteme base sur le logarithme discretqui possederait un caractere homomorphique entier, soit additif soit multiplicatif. Un autre pointimportant serait l’etude approfondie des relations entre les problemes DCDH et DDH.

103

Chapitre 9. Chiffrement ElGamal sans encodage dans le modele standard

104

Chapitre 10

Cryptographie basee sur l’identiteavec reduction fine

Sommaire

10.1 Deux schemas classiques de chiffrement bases sur l’identite . . . . . . 105

10.1.1 Schema de Boneh-Franklin . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

10.1.2 Schema de Katz-Wang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106

10.2 Preuve fine pour un schema base sur l’identite . . . . . . . . . . . . . . 108

10.2.1 Description du schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

10.2.2 Etude de la securite de ce schema . . . . . . . . . . . . . . . . . . . . . . . 109

10.2.3 Reduction aux problemes classiques DBDH et GBDH . . . . . . . . . . . . 113

10.3 Comparaison des schemas . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

10.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

Dans un papier de Crypto ’01 reste depuis celebre, Dan Boneh et Matthew Franklin pro-poserent la premiere realisation pratique d’un schema de chiffrement base sur l’identite (IBE). Lasecurite de leur schema, au sens de l’indistinguabilite sous attaque a chiffres et identites choisis,est equivalente au probleme CBDH, dans le modele de l’oracle aleatoire. Cependant, la reductionproposee est loin d’etre fine.

Dans ce chapitre, nous proposons de simples modifications au schema Boneh-Franklin per-mettant une reduction de securite fine. Notre variante peut etre vue comme un schema IBE pourlequel, pour chaque identite, deux cles equivalentes pourraient servir au dechiffrement. Chaqueidentite ne recoit qu’une seule de ces deux cles, ce choix etant aleatoire et secret pour tout autreutilisateur que l’autorite et le detenteur. Notre construction est la continuation d’une idee intro-duite par Jonathan Katz et Nan Wang. En ce sens, notre travail ne definit pas completement unnouveau schema ; il doit plus etre considere comme une poursuite de l’idee de ces deux auteurs,pour permettre d’obtenir une securite fine pour un schema base sur l’identite, dans le modelede l’oracle aleatoire.

Ce chapitre a fait l’objet d’une collaboration [ACF+05] avec Nuttapong Attrapadung, JunFurukawa, Takeshi Gomi, Goichiro Hanaoka, Hideki Imai et Rui Zhang.

10.1 Deux schemas classiques de chiffrement bases sur l’identite

Dans cette section, nous rappelons les schemas de chiffrement bases sur l’identite de Dan Bo-neh et Matthew Franklin [BF01, BF03] et la variante de Jonathan Katz et Nan Wang [KW03].

105

Chapitre 10. Cryptographie basee sur l’identite avec reduction fine

10.1.1 Schema de Boneh-Franklin

Nous rappelons ici le schema Boneh-Franklin, en renvoyant a la Section 8.3.3 pour plus deprecisions. La version IND-ID-CPA est definie ainsi :

Chif

frement

Bon

eh-F

rankl

in[B

F01,B

F03] Mise en place des parametres : L’autorite genere des parametres, com-

poses de deux groupes G1 et GT d’ordre q, d’une application bilineairee : G1 ×G1 → GT et d’un generateur g de G1.Ensuite, l’autorite genere un alea x ∈ Zq, et calcule y = gx. Elle choisitegalement la longueur `m des messages, et pose M = 0, 1`m . Enfin,deux fonctions de hachage H : 0, 1? → G1 et G : GT → 0, 1`m sontselectionnees.Alors, params = 〈q,G1,GT , e,M, g, y,G,H〉 et skIBE = x

Extraction de cle : Pour generer la cle privee de l’identite ID, l’autoritecalcule hID = H(ID), puis skID = hID

x est retournee.

Chiffrement : Pour chiffrer un message m ∈ M a une identite ID, l’utilisa-teur tire un alea r ∈ Zq, puis calcule hID = H(ID) et w = e(y, hID)r.Ensuite, il calcule c0 = gr et c1 = m ⊕ G(w).Le chiffre c = (c0, c1) est alors retourne.

Dechiffrement : Pour dechiffrer un chiffre c = (c0, c1) ∈ G1×M, l’utilisateurID calcule w′ = e(c0, skID), puis retrouve le message m selon

m = c1 ⊕ G(w′) .

Le schema Boneh-Franklin est sur, dans le modele de l’oracle aleatoire, contre les attaquesIND-ID-CPA sous l’hypothese de la difficulte du probleme CBDH. Sous la meme hypothese ettoujours dans le modele de l’oracle aleatoire, la version utilisant la transformation generique deEiichiro Fujisaki et Tatsuaki Okamoto assure une securite IND-ID-CCA (voir [BF01, BF03]).

Malheureusement, la reduction du schema Boneh-Franklin est tres lache. Initialement, un fac-teur 1

(qe+qd)·qh2 etait annonce dans [BF01, BF03], ou qe designe le nombre autorise de requetes

a l’oracle Extract et qd le nombre autorise de requetes a l’oracle de dechiffrement. Recem-ment [Gal05], David Galindo a pointe une erreur dans la preuve originale, et montre que lefacteur etait en fait O( 1

qh3 ).

10.1.2 Schema de Katz-Wang

Le probleme de l’absence de finesse de la reduction du schema Boneh-Franklin fut aborde enfin d’un article de Jonathan Katz et Nan Wang [KW03]. Le sujet principal de ce papier etaitdifferent, et l’idee que nous allons rappeler ne fut que rapidement abordee dans la conclusion.

Jonathan Katz et Nan Wang ont propose que, pour chaque identite, il y ait deux cles pu-bliques differentes ‡ : au lieu de H(ID), deux valeurs H(ID, 0) et H(ID, 1) sont utilisees. Lechiffrement est alors effectue en chiffrant le meme message pour ces deux cles publiques, a l’aided’un double chiffrement de type Boneh-Franklin. Par contre, une seule — et quelconque — desdeux cles privees correspondantes est detenue par l’utilisateur. Cette idee permet de construireune reduction telle que, pour chaque identite, la valeur d’une des deux cles privees soit connue.Ainsi, il devient plus aise de simuler les oracles de dechiffrement ou d’extraction de cle.

‡Et donc, par consequent, deux cles privees.

106

10.1. Deux schemas classiques de chiffrement bases sur l’identite

Chif

frement

Kat

z-W

ang

[KW

03] Mise en place des parametres : L’autorite genere des parametres, com-

poses de deux groupes G1 et GT d’ordre q, d’une application bilineairee : G1 ×G1 → GT et d’un generateur g de G1.Ensuite, l’autorite genere un alea x ∈ Zq, et calcule y = gx. Elle choisitegalement la longueur `m des messages, et pose M = 0, 1`m . Enfin,deux fonctions de hachage H : 0, 1? → G1 et G : GT → 0, 1`m sontselectionnees.Alors, params = 〈q,G1,GT , e,M, g, y,G,H〉 et skIBE = x

Extraction de cle : Pour generer la cle privee de la nouvellea identite ID,l’autorite genere un bit aleatoire bID puis calcule dID = H(ID, bID)x. Lacle skID = (bID, dID) est alors retournee.

Chiffrement : Pour chiffrer un message m ∈ M a une identite ID, l’utilisa-teur tire deux aleas r0 ∈ Zq et r1 ∈ Zq, puis calcule hID0 = H(ID, 0),hID1 = H(ID, 1), w0 = e(y, hID0)r0 et w1 = e(y, hID1)r1 . Ensuite, il calculec0,0 = gr0 , c1,0 = gr1 , c0,1 = m ⊕ G(w0) et c1,1 = m ⊕ G(w1).Le chiffre c = (c0,0, c1,0, c0,1, c1,1) est alors retourne.

Dechiffrement : Pour dechiffrer un chiffre c = (c0,0, c1,0, c0,1, c1,1) ∈ G12 ×

M2, l’utilisateur ID calcule w′bID= e(cbID,0, dID), puis retrouve le message

m selonm = cbID,1 ⊕ G(w′bID

) .

aSi l’identite ID a deja recu sa cle privee, la meme cle lui est retournee.

Un desavantage de ce schema est son cout : dans cette construction, les chiffres ont doublede taille par rapport a la construction Boneh-Franklin ; de meme, le chiffrement prend deux foisplus de temps que dans le schema original.

La securite fine de cette construction contre les attaques IND-ID-CPA est expliquee brievementdans [KW03], sous la meme hypothese que le schema Boneh-Franklin, c’est-a-dire la difficulte duprobleme CBDH. Par contre, l’usage de la methode de Eiichiro Fujisaki et Tatsuaki Okamotopour obtenir une securite contre les attaques a chiffres et identites choisis n’est pas aborde.

De facon plus precise, pour obtenir la securite OW-ID-CCA (et donc pour esperer une securiteIND-ID-CCA), il faudrait que l’utilisateur puisse verifier l’egalite des clairs dans les deux partiesdu chiffre. Sinon, un adversaire peut, a partir du challenge c? = (c0,0, c1,0, c0,1, c1,1) (chiffrantpour une identite ID? le message m qu’il desire retrouver), creer un autre chiffre valide c′ =(c2,0, c1,0, c2,1, c1,1) ou c′′ = (c0,0, c2,0, c0,1, c2,1), selon un bit aleatoire β. Pour cela, il lui suffit deprendre un message aleatoire m2, un alea r2 ∈ Zq, puis de calculer w2 = e(y, hIDβ)r2 , c2,0 = gr2

et c2,1 = m ⊕ G(w2). En soumettant ce chiffre a l’oracle de dechiffrement, l’attaquant recoit m2

(si bID? = β) ou m (si bID? = 1 − β). Si la reponse est m2, l’attaquant reproduit l’operation enchangeant de valeur β. Aussi, avec probabilite 1, l’adversaire peut casser l’aspect sens-uniquedu chiffrement, si l’egalite des clairs dans les deux parties du chiffre n’est pas verifiee.

Notre conclusion partielle est la suivante : en un sens, la technique du double chiffrementpermet d’obtenir une reduction fine (pour les attaques IND-ID-CPA), mais d’un autre cote, cettetechnique permet a un attaquant a chiffres choisis de casser le schema, si un moyen de testerl’egalite des clairs dans les deux parties n’est pas ajoute.

107

Chapitre 10. Cryptographie basee sur l’identite avec reduction fine

10.2 Preuve fine pour un schema base sur l’identite

Dans cette section, nous elaborons une nouvelle variante basee sur l’identite, et montronsensuite que sa reduction est fine. Notre schema est une continuation de l’idee de Jonathan Katzet Nan Wang exposee precedemment, dans le sens ou nous reprenons la technique du chiffrementsous deux cles publiques. Neanmoins, pour assurer une securite contre les attaques a chiffreschoisis, une modification a ete necessaire, de facon a pouvoir verifier l’egalite des clairs dans lesdeux parties du chiffre.

10.2.1 Description du schema

Le schema modifie se decrit ainsi :

Mise en place des parametres : L’autorite genere des parametres, com-poses de deux groupes G1 et GT d’ordre q (de taille `q), d’une applicationbilineaire e : G1 ×G1 → GT et d’un generateur g de G1.

Ensuite, l’autorite genere un alea x ∈ Zq, et calcule y = gx. Elle choisitegalement un parametre de securite ` et la longueur `m des messages, etpose M = 0, 1`m . Enfin, trois fonctions de hachage H : 0, 1? → G1,G : GT ×G1 → 0, 1

`m2

+`q et F : 0, 1∗ → 0, 1` sont selectionnees.

Alors, params = 〈q,G1,GT , e,M, g, y,F ,G,H〉 et skIBE = x

Extraction de cle : Pour generer la cle privee de la nouvellea identite ID,l’autorite genere un bit aleatoire bID puis calcule dID = H(ID, bID)x. Lacle skID = (bID, dID) est alors retournee.

Chiffrement : Pour chiffrer un message m = (m0,m1) ∈ 0, 1`m2 ×0, 1

`m2

a une identite ID, l’utilisateur– tire un alea r ∈ Zq ;– calcule les deux cles publiques hID0 = H(ID, 0) et hID1 = H(ID, 1) ;– calcule w0 = e(y, hID0)r et w1 = e(y, hID1)r ;– calcule c0 = gr, c0,1 = (m0‖r) ⊕ G(c0, w0), c1,1 = (m1‖r) ⊕ G(c0, w1) ;– calcule la redondance f = F(m0,m1, r, ID, c0, c0,1, c1,1).Le chiffre c = (c0, c0,1, c1,1, f) est alors retourne.

Dechiffrement : Pour dechiffrer un chiffre c = (c0, c0,1, c1,1, f) ∈ G1 ×0, 1

`m2

+`q × 0, 1`m2

+`q × 0, 1κ, l’utilisateur ID

– calcule w′bID= e(c0, dID) ;

– retrouve une partie du message mbIDet l’alea r selon mbID

‖r = cbID,1 ⊕G(c0, w′bID

) ;– calcule w′1−bID

= e(y,H(ID, 1− bID))r ;– retrouve la seconde partie du message m1−bID

selon m1−bID‖r′ =

c1−bID,1 ⊕ G(c0, w′1−bID) ;

– si la redondance f = F(m0,m1, r, ID, c0, c0,1, c1,1) est satisfaite, le mes-sage m = (m0,m1) est retourne, sinon ⊥ est renvoye.

aSi l’identite ID a deja recu sa cle privee, la meme cle lui est retournee.

Comme nous pouvons le voir, cette variante est plus efficace que le double chiffrement de lavariante de Jonathan Katz et Nan Wang. En effet, un seul alea est necessaire et surtout la taille

108

10.2. Preuve fine pour un schema base sur l’identite

des chiffres est plus petite. Une comparaison complete est donnee en Section 10.3.

10.2.2 Etude de la securite de ce schema

Dans cette section, nous etudions la securite de la variante que nous proposons. Nous posonsle theoreme suivant, reposant sur le probleme qh-LBDH (voir Definition 13).

Theoreme 14. Soit A un adversaire qui attaque la securite semantique du schema pre-sente Section 10.2.1, sous une attaque a messages et identites choisis, apres avoir eu droita qh requetes a un oracle de hachage, qd requetes a un oracle de dechiffrement et qe requetesa un oracle d’extraction de cle, dans le modele de l’oracle aleatoire. Soit ε l’avantage deA, et τ son temps d’execution.Alors il est possible d’utiliser cet attaquant pour resoudre le probleme qh-LBDH, avec uneprobabilite ε′ et en un temps τ ′, tels que

ε′ >AdvIND-ID-CCA(A)

4− 2−`−1 .

etτ ′ 6 τ + 2qd Tp + (2qe + qh + 3qd)Te

ou Te est le temps pour calculer une exponentiation et Tp est le temps pour calculer uncouplage.

Demonstration. La preuve de ce theoreme est donnee sous forme de jeux successifs, a la manieredeveloppee a l’origine par Victor Shoup. Soit (g, y = gx, gα = gα, gβ = gβ) ∈ G1

4 une instancealeatoire du probleme LBDH. Soit εLBDH la probabilite que la reduction resolve le problemeLBDH et εDL la probabilite que la reduction retrouve β. Nous posons y comme cle publique.

Jeu J0 : Ce jeu correspond a la definition du jeu IND-ID-CCA, tel que defini en Section 8.3.2.Notons S0 l’evenement b = b′ pour ce jeu, et Si l’evenement similaire pour les jeux suivants

Ji. Par definition, nous avons

Pr[S0] =12

+AdvIND-ID-CCA(A)

2et τ0 = τ .

Les jeux suivants contiennent de nombreuses regles, pour chacune des ressources de l’atta-quant :

- requetes de hachage F(m0,m1, r, ID, c0, c0,1, c1,1) ;- requetes de hachage G(v, w) ;- requetes de hachage H(ID, b) ;- requetes d’extraction de cle de l’identite ID ;- requetes de dechiffrement Decrypt(c0, c0,1, c1,1, f) pour l’identite ID ;- challenge.

L’objectif des jeux suivants est de simuler les reponses de ces oracles.

Jeu J1 : Le but de ce jeu est de simuler les oracles de hachage F et G, de facon tres simple, aumoyen de listes LF et LG initialisees au depart de l’attaque a la liste vide.

109

Chapitre 10. Cryptographie basee sur l’identite avec reduction fine

I Requete de hachage F(m0,m1, r, ID, c0, c0,1, c1,1)- Si une valeur (m0,m1, r, ID, c0, c0,1, c1,1, f) existe dans la liste LF , la memereponse f est retournee ;

- Sinon, la reduction teste si gβ = gr, auquel cas le logarithme discret de gβ enbase g est retrouve par la reduction. Dans ce cas, la reduction s’arrete ;

- Sinon, si gr 6= gβ, la reduction choisit aleatoirement f ← 0, 1` et ajoute lavaleur (m0,m1, r, ID, c0, c0,1, c1,1, f) a la liste LF . La valeur f est retournee.

I Requete de hachage G(v, w)- Si une valeur (v, w, g) existe dans la liste LG , la meme reponse g est retournee ;- Sinon, la reduction choisit aleatoirement g ← 0, 1

`m2

+`q et ajoute la valeur(v, w, g) a la liste LG . La valeur g est retournee.

Ce jeu est identique au jeu precedent, sauf si la reponse au probleme DL (pouvant etretrivialement transformee en reponse au challenge LBDH) est obtenue par la reduction :

Pr[S0] 6 Pr[S1] + εDL et τ1 = τ0 + qF Te .

Jeu J2 : Dans ce jeu, nous simulons les oracles de hachage H, de facon a faire que les requetesd’extraction de cle deviennent simples a simuler a partir du jeu suivant. Pour cela, au debut dujeu, la reduction tire une fonction aleatoire B : 0, 1∗ → 0, 1, permettant de calculer, pourchaque identite ID, le bit bID = B(ID). Comme pour les fonctions de hachage F et G, la fonctionde hachage H est geree au moyen d’une liste LH, prenant au depart la valeur vide.

I Requete de hachage H(ID, b)- Si une valeur (ID, b, ?, h) existe dans la liste LH, la meme reponse h estretournee ;

- Sinon, si b = bID = B(ID), alors la reduction choisit aleatoirement t ← Zq etpose h = gt. La valeur (ID, b, t, h) est ajoutee a la liste LH et h est retourne ;

- Sinon, la reduction choisit aleatoirement t ← Zq et pose h = gαt. La valeur

(ID, b, t, h) est ajoutee a la liste LH et h est retourne.

Ce jeu est identique au jeu precedent, dans le modele de l’oracle aleatoire :

Pr[S1] = Pr[S2] et τ2 = τ1 + qH Te .

Jeu J3 : Grace au jeu precedent, il est maintenant possible, pour la reduction, de repondreaux requetes Extract. Plus precisement, les reponses a ces requetes sont maintenant simuleescomme suit.

I Requete d’extraction de cle de l’identite ID

- La simulation calcule bID = B(ID) puis demande la valeur H(ID, bID) a l’oraclede hachage de la fonction H ;

- Ensuite, la reduction retrouve la valeur (ID, bID, t, h) dans la liste LH, etcalcule dID = yt ;

- La cle (bID, dID) est alors retournee.

Le bit bID est bien aleatoire et la cle est bien valide, c’est-a-dire telle que dID = H(ID, bID)x.En effet, H(ID, bID) = gt par definition de H et de bID dans le jeu precedent. Aussi, les deux jeuxJ2 et J3 sont parfaitement indistinguables :

Pr[S2] = Pr[S3] et τ3 = τ2 + 2qe Te .

110

10.2. Preuve fine pour un schema base sur l’identite

Jeu J4 : Dorenavant, notre but est de changer la facon dont nous fabriquons le challenge, defacon a inclure une partie de l’instance du probleme LBDH. La premiere facon, exposee dans cejeu, est fictive, c’est-a-dire que nous supposons que la reduction connaıt la valeur β. Dans le jeusuivant, nous verrons qu’il est possible de se passer de celle-ci.

I Challenge, pour deux messages (m0,0,m1,0) et (m0,1,m1,1) et une identite ID?

- La simulation calcule b? = B(ID?), et pose (m?0,m

?1) = (m0,b? ,m1,b?) ;

- Elle calcule les deux cles publiques hID0 = H(ID?, 0) et hID1 = H(ID?, 1) ;- Elle prend comme alea r = β ;- Elle calcule w0 = e(y, hID0)β et w1 = e(y, hID1)β ;- Elle calcule c?0 = gβ = gβ , c?0,1 = (m?

0‖β) ⊕ G(c?0, w0), c?1,1 = (m?1‖β) ⊕

G(c?0, w1) ;- Elle calcule la redondance f? = F(m?

0,m?1, β, ID

?, c?0, c?0,1, c

?1,1) ;

- Elle retourne le challenge c? = (c?0, c?0,1, c

?1,1, f

?) a l’adversaire.

Clairement, ce jeu est indistinguable du precedent, puisque β est bien un nombre aleatoire.

Pr[S3] = Pr[S4] et τ4 = τ3 .

Jeu J5 : Dans ce jeu, nous changeons la facon dont est fabrique le challenge. Le but est depouvoir calculer celui-ci sans avoir besoin de la valeur β.

Premierement, nous retournons un alea f? au lieu de f? = F(m?0,m

?1, β, ID

?, c?0, c?0,1, c

?1,1) :

ceci ne peut poser de probleme, car depuis le jeu J1, ce genre de requetes ne peut plus etre posepar l’adversaire.

Deuxiemement, au lieu des definitions du jeu precedent, nous retournons des aleas c?0,1 etc?1,1. Si les valeurs G(c?0, w?

0) et G(c?0, w?1) — ou w?

0 = e(y,H(ID, 0))z et w?1 = e(y,H(ID, 1))z —

n’apparaissent pas, ce jeu est indistinguable du precedent.

Le challenge est alors defini comme suit.

I Challenge, pour deux messages (m0,0,m1,0) et (m0,1,m1,1) et une identite ID?

- La simulation calcule b? = B(ID?) ;- Elle pose c?0 = gβ ;- Elle tire egalement aleatoirement c?0,1 ← 0, 1

`m2

+`q , c?1,1 ← 0, 1`m2

+`q etf? ← 0, 1` ;

- Le challenge c? = (c?0, c?0,1, c

?1,1, f

?) est retourne a l’adversaire.

Les deux jeux J4 et J5 sont indistinguables, a moins que les valeurs G(c?0, w?0) ou G(c?0, w?

1)n’apparaissent. Nous noterons cet evenement Badi dans les jeux Ji suivants :

Pr[S4] 6 Pr[S5] + Pr[Bad5] et τ5 = τ4 .

Comme le challenge ne depend plus des messages choisis par l’attaquant, l’avantage de celui-ciest necessairement nul, c’est-a-dire Pr[S5] = 1

2 , et

AdvIND-ID-CCA(A) 6 2 Pr[Bad5] + 2εDL .

La fin de la preuve consiste donc a borner la valeur de la probabilite Pr[Bad]. Pour cela,nous pouvons remarquer qu’il existe pour l’adversaire deux facons de connaıtre une des valeursG(c?0, w?

0) ou G(c?0, w?1) : soit en la demandant a l’oracle de hachage G (note dans les jeux suivants

111

Chapitre 10. Cryptographie basee sur l’identite avec reduction fine

Aski), soit en la faisant intervenir dans un oracle de dechiffrement (note dans les jeux suivantsColli).

AdvIND-ID-CCA(A) 6 2 Pr[Ask5] + 2 Pr[Coll5] + 2εDL .

Jeu J6 : Dans ce jeu, nous simulons l’oracle de dechiffrement.

I Requete de dechiffrement Decrypt(c0, c0,1, c1,1, f) pour l’identite ID

- Si c0 = c?0, la simulation retourne ⊥, pour signifier que le message est invalide ;- Sinon, la simulation calcule bID = B(ID) et demande la valeur H(ID, bID) al’oracle de hachage de la fonction H. Ensuite, la reduction retrouve la valeur(ID, bID, t, h) dans la liste LH, et calcule dID = yt. Avec la cle (bID, dID), lasimulation peut proceder a l’etape de dechiffrement telle que donnee dans ladescription du schema, et retourner le resultat correspondant.

Ce jeu a ete cree pour que, dorenavant, nous ayons Pr[Coll6] = 0, c’est-a-dire pour que lesvaleurs G(c?0, w?

0) ou G(c?0, w?1) ne puissent etre apprises grace a l’oracle de dechiffrement. Ce jeu

est indistinguable du precedent, sauf si l’adversaire est capable de former un chiffre valide avecun c0 = c?0. Calculons maintenant cette probabilite.

Pour qu’un chiffre (c?0, c0,1, c1,1, f) soumis par l’adversaire a l’oracle de dechiffrement soit unchiffre valide pour l’identite ID, il faut qu’il existe (m, r) = (m0‖m1, r) ∈ M× Zq, avec r = β,tel que f = F(m0,m1, r, ID, c

?0, c0,1, c1,1). Ainsi, l’adversaire pourrait avoir tente de :

– deviner cette valeur f = F(m0,m1, r, ID, c?0, c0,1, c1,1) sans la demander a l’oracle de ha-

chage (avec, dans le modele de l’oracle aleatoire, une probabilite de 2−`) ;– demander a l’oracle de hachage F , mais ceci est en fait impossible, car depuis le jeu J1,

une telle valeur ne peut plus apparaıtre dans les requetes de l’oracle de hachage F ;– connaıtre f = F(m0,m1, r, ID, c

?0, c0,1, c1,1) grace au challenge — c’est-a-dire utiliser la

relation implicite (?, ?, z, ID?, c?0, c?0,1, c

?1,1, f

?) definie dans le jeu J5 : ceci est impossible, caralors le chiffre soumis a l’oracle de dechiffrement serait precisement le chiffre du challenge,ce qui est interdit.

Aussi

AdvIND-ID-CCA(A) 6 2−`+1 + 2 Pr[Ask6] + 2εDL et τ6 = τ5 + qd (3Te + 2Tp) .

Jeu J7 : Finalement, nous separons l’evenement Ask en deux : AskGood, pour lequel la valeurG(c?0, w?

b1−ID?) est demandee par l’attaquant et AskBad, pour lequel la valeur G(c?0, w?

bID?) est

demandee par l’attaquant. Clairement, Pr[Ask7] 6 Pr[AskBad7] + Pr[AskGood7].De plus, comme le bit bID? est indistinguable pour l’adversaire (que ce soit au niveau de

l’extraction de cle ou de l’algorithme de dechiffrement), Pr[AskBad7] = Pr[AskGood7], et

Pr[Ask7] 6 2 Pr[AskGood7] .

Remarquons que w?1−bID?

vaut, par definition, w?1−bID?

= e(y, hID1−bID? )β = e(g, g)txαβ . Aussi,au cas ou l’evenement AskGood7 a lieu, la reduction peut retrouver (ID?, 1 − bID? , t, h) dans laliste LH, calculer, pour chaque element (w, g) de la liste LG , la valeur w

1t , et ainsi resoudre le

probleme qh-LBDH.En consequence,

Pr[Ask7] 6 2εLBDH .

112

10.3. Comparaison des schemas

etAdvIND-ID-CCA(A) 6 2−`+1 + 2εLBDH + 2εDL et τ7 = τ6 + qG Te .

Le resultat decoule du fait que εLBDH 6 εDL et que qh = qF + qG + qH . ut

10.2.3 Reduction aux problemes classiques DBDH et GBDH

Pour terminer l’etude de la securite de notre variante, nous exhibons de simples reductionsdes problemes GBDH et DBDH au probleme LBDH.

Lemme 4. Le probleme GBDH se reduit au probleme qh-LBDH. Plus precisement, si un algo-rithme A resout le probleme qh-LBDH en un temps τ et avec une probabilite ε, alors il existe unalgorithme B qui resout le probleme GBDH en un temps τ ′ et avec une probabilite ε′, avec

ε′ > ε

etτ ′ 6 τ + qhT,

ou T est le temps d’un oracle de test DBDH.

Demonstration. La preuve consiste simplement a transferer le challenge GBDH (g, g1, g2, g3) al’algorithme A qui resout le probleme qh-LBDH. A retourne alors, en un temps τ et avec uneprobabilite ε, une liste contenant la reponse du probleme CBDH. En testant un-a-un les elementsde cette liste, grace a l’oracle DBDH, la reponse au challenge GBDH est obtenue en un tempsavec une probabilite 1 et un temps additionnel qhT . ut

Lemme 5. Le probleme DBDH se reduit au probleme qh-LBDH. Plus precisement, si un algo-rithme A resout le probleme qh-LBDH en un temps τ et avec une probabilite ε, alors il existe unalgorithme B qui resout le probleme DBDH en un temps τ ′ et avec un avantage ε′, avec

ε′ > ε− 2qhq

etτ ′ 6 τ .

Demonstration. L’algorithme B recoit un challenge DBDH (g, g1, g2, g3, w). B transfert alors(g, g1, g2, g3) a l’algorithme A qui resout le probleme qh-LBDH. A retourne alors, en un temps τet avec une probabilite ε, une liste L contenant la reponse du probleme CBDH.

Si l’algorithme A reussit, alors, si w ∈ L, l’algorithme B repond True, sinon, B repondFalse. Si A echoue, B repond au hasard.

Ainsi, la reponse au challenge DBDH est obtenue sans temps additionnel. De plus, la pro-babilite que w soit dans la liste L alors que w n’est pas la reponse au probleme CBDH est deqhq . ut

Comme nous pouvons le voir, ces deux lemmes montrent que notre variante est sure sousl’hypothese de la difficulte du probleme DBDH ou sous l’hypothese de la difficulte du problemeGBDH, et ceci avec une reduction fine.

113

Chapitre 10. Cryptographie basee sur l’identite avec reduction fine

Tab. 10.1 – Comparaison entre schema IBE surs dans le modele de l’oracle aleatoire.

SchemaSecurite au sens IND-ID-X Taille des chiffres Efficacite

Chiffrement DechiffrementHypothese X Reduction (en bits) Coupl. Exp. Coupl. Exp.

[BF01] (Section 10.1.1) CBDH CCA O( 1qh

3 ) 2`m + 170 1 2 1 1

[Gal05] CBDH CCA O( 1qh

2 ) `m + 250 1 2 1 1

[LQ05] GBDH CCA O( 1qe

) `m + 170 1 2 1 0

[KW03] (Section 10.1.2) CBDH CPA O(1) > 4`m 2 4 1 1

Schema Section 10.2.1GBDH CCA O(1)

`m + 590 2 2 1 1DBDH CCA O(1)

10.3 Comparaison des schemas

Dans cette section, nous comparons l’efficacite de divers schemas de chiffrement bases surl’identite. Dans cette comparaison, nous incluons notamment l’hypothese sous laquelle le schemaest sur, le scenario d’attaque, le cout de la reduction et la taille des chiffres.

Le schema [BF01, BF03] est prouve sur sous l’hypothese de la difficulte du probleme CBDH.Comme nous l’avons dit, une erreur dans le cout de la reduction de cet IBE a ete rapportee parDavid Galindo dans [Gal05] : nous avons donc pris la reduction corrigee en O( 1

qh3 ).

Pour le schema [KW03], comme nous l’avons dit en Section 10.1.2, la facon d’appliquer unetransformation generique pour obtenir une securite contre les attaques a chiffres et identiteschoisis n’est pas precisee. Nous avons donc donne pour la taille un minimum de 4`m, et preciseque la securite assuree IND-ID-CPA.

Dans [Gal05], David Galindo proposa egalement une variante du schema Boneh-Franklin,que nous n’avons pas detaillee dans ce chapitre. De meme, Benoıt Libert et Jean-JacquesQuisquater ont propose une variante [LQ05] dans laquelle toute redondance a ete supprimee,et dans laquelle le dechiffrement ne necessite qu’un couplage.

Pour notre comparaison, nous avons pris `q = 170 bits. Notons que les schemas ayant unereduction lache devraient utiliser des parametres plus grands, pour obtenir le meme niveau desecurite que les schemas a reduction fine.

Pour notre variante, nous avons considere que la valeur e(y,H(ID, 1− bID)) pouvait etre pre-calculee et stockee lors du dechiffrement (celle-ci etant toujours la meme pour le dechiffreur).

Nous voulions finalement signaler que tres recemment, un schema de chiffrement base surl’identite avec une preuve dans le modele standard a ete concu par Brent Waters [Wat05].Malheureusement, cette preuve est tres lache, et ne peut a priori pas etre amelioree par notretechnique.

10.4 Conclusion

A Crypto ’01, Dan Boneh et Matthew Franklin proposerent la premiere realisation pra-tique d’un schema de chiffrement base sur l’identite (IBE). La securite de leur schema, au sensde l’indistinguabilite sous attaque a chiffres et identites choisis, est equivalente au probleme

114

10.4. Conclusion

CBDH, dans le modele de l’oracle aleatoire. Cependant, la reduction proposee est loin d’etrefine.

Dans ce chapitre, nous avons propose de simples modifications au schema Boneh-Franklinpermettant une reduction de securite fine. Notre variante peut etre vue comme un schemaIBE pour lequel, pour chaque identite, deux cles equivalentes pourraient servir au dechiffrement.Chaque identite ne recoit qu’une seule de ces deux cles, ce choix etant aleatoire et secret pour toutautre utilisateur que l’autorite et le detenteur. Notre construction poursuit une idee introduitepar Jonathan Katz et Nan Wang, qui n’avaient pas explicite la facon d’obtenir une resistancecontre les attaques a chiffres choisis.

115

Chapitre 10. Cryptographie basee sur l’identite avec reduction fine

116

Chapitre 11

Padding universel optimal

Sommaire

11.1 Notions preliminaires . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

11.1.1 Redondance et entropie . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

11.1.2 Fonction de padding universel . . . . . . . . . . . . . . . . . . . . . . . . . 118

11.1.3 Signature et chiffrement . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

11.1.4 Permutations sans griffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

11.2 Fonction de padding basee sur une permutation : OPbP . . . . . . . . . 119

11.2.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

11.2.2 Analyse de securite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

11.2.3 Taille des parametres et optimalite . . . . . . . . . . . . . . . . . . . . . . 121

11.3 Construction basee sur OAEP3 . . . . . . . . . . . . . . . . . . . . . . . . 122

11.3.1 Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

11.3.2 Analyse de securite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122

11.3.3 Taille des parametres . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123

11.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124

Lorsque la securite des schemas de chiffrement est consideree, l’indistinguabilite lors d’at-taques a chiffres choisis est la notion requise. De meme, pour la securite des schemas de signature,la resistance aux falsifications existentielles sous attaques a messages choisis est indispensable.Pourtant, la securite n’est pas la seule notion importante pour les schemas cryptographiques :toute bonne primitive se devrait d’etre rapide, avec une bande passante efficace, compacte encode et simple d’utilisation.

Les deux premiers criteres sont habituellement les plus prises, et ont fait l’objet de nombreusespublications. Ainsi, apres le travail fondateur de Mihir Bellare et Phillip Rogaway [BR93,BR94, BR96], la rapidite et la bande passante des schemas de signature ou de chiffrement ontete etudie, a travers la conception des fonctions de padding, dans [OP01a, PP03, PP04, Pha05].Les signatures avec recouvrement de messages [NR94, NS00, BR96] et l’idee de Jonathan Katzet Nan Wang [KW03] vont egalement dans le sens d’une maximisation de la bande passante.

Le dernier critere, regroupant la compacite du code et la simplicite d’utilisation, fut consi-dere assez recemment par Jean-Sebastien Coron, Marc Joye, David Naccache et PascalPaillier [CJNP02], au travers de l’invention des paddings universels. Ce nouveau type depadding simplifie au maximum l’utilisation, puisque les paddings universels peuvent etre com-munement utilises avec les primitives de chiffrement ou de signature. La premiere instance d’untel padding fut proposee par ces auteurs a l’aide d’une variante de PSS, appelee PSS-ES. Depuis,d’autres solutions ont vu le jour, et notamment celle de Yuichi Komano et Kazuo Ohta [KO03],basee sur OAEP.

117

Chapitre 11. Padding universel optimal

Dans ce chapitre, nous jetons un nouveau regard sur la notion de padding universel, enessayant d’optimiser tous les criteres en meme temps. Ces recherches ont fait l’objet d’unepublication a la conference Acns ’05 [CPP05] avec Duong Hieu Phan et David Pointcheval.Ceci poursuit l’idee de deux papiers [PP03, PP04], qui consistait a proposer des schemas dechiffrement surs bases sur des paddings sans redondance.

Pour optimiser les criteres precedemment evoques, les paddings que nous proposons sontsimples, sans redondance pour le chiffrement et deterministes pour la signature. Nos propositionssont tres simples d’utilisation, car nous prouvons que l’utilisateur peut n’utiliser qu’une seulepaire de cles pour le chiffrement et la signature (voir egalement [HP01]).

Plus precisement, nous etudions deux fonctions de padding universel. La premiere est cons-truite a l’aide d’une permutation sur tout le domaine (en anglais, Full-Domain Permutation),etudiee dans [Gra02] pour une utilisation dans le cadre des schemas de signature et dans [PP03]pour le chiffrement. Cette proposition peut etre prouvee optimale en terme de bande pas-sante, dans le modele de la permutation aleatoire, et a donc ete nommee en anglais, OptimalPermutation-based Padding (OPbP). Notre deuxieme proposition est basee sur l’utilisation dela fonction de padding OAEP3 [PP03, PP04], et sa securite est prouvee dans un modele moinsfort, le modele de l’oracle aleatoire [BR93].

11.1 Notions preliminaires

11.1.1 Redondance et entropie

Un pre-requis pour le chiffrement, pour assurer une securite semantique, est d’utiliser unmecanisme de chiffrement probabiliste, de facon a rendre les distributions des chiffres indis-tinguables. Mais jusqu’a recemment, les cryptologues pensaient que de la redondance etaitegalement necessaire (pour une sorte de preuve de connaissance du message clair associe auchiffre [BR94, BDPR98, CS98]). Cependant, Duong Hieu Phan et David Pointcheval [PP03,PP04] ont montre qu’il etait possible d’atteindre, dans le modele de l’oracle aleatoire, une securitedes schemas de chiffrement sans redondance.

De facon similaire, pour les schemas de signature, la redondance est necessaire, pour prevenirdes falsifications existentielles. Mais la plupart des schemas de signature sont probabilistes (parexemple [Sch91, NIST94, BR96, CS99]), alors que ce n’est a priori pas une necessite. Recemment,Jonathan Katz et Nan Wang ont montre qu’une securite fine pouvait etre obtenue meme avecune construction deterministe, en ajoutant un simple bit non plus aleatoire mais dependant dumessage [KW03] (voir Section 6.2.1). Plus precisement, ce bit ne doit pas etre previsible parune autre personne que le signataire, et ces auteurs ont donc propose qu’il soit le resultat d’unefonction pseudo-aleatoire avec une cle secrete.

11.1.2 Fonction de padding universel

Le but des paddings universels est de pouvoir etre utilises aussi bien dans le cadre des schemasde signature que des schemas de chiffrement. Cette utilisation peut etre soit independante soitparallele (c’est-a-dire avec une seule et meme cle pour la signature et le dechiffrement).

Aussi, dans le modele de securite, les adversaires (cherchant a distinguer le schema de chif-frement ou a exhiber une falsification existentielle pour le schema de signature) ont un accessimultane a deux oracles de signature et de dechiffrement, ce qui n’est pas le cas du scenariocorrespondant a une utilisation exclusive en chiffrement ou en signature. En effet, l’oracle dedechiffrement pourrait aider a falsifier une signature et reciproquement.

118

11.2. Fonction de padding basee sur une permutation : OPbP

11.1.3 Signature et chiffrement

Comme precedemment evoque, une de nos motivations est de construire un padding universelpouvant etre aussi bien utilise pour la signature que pour le chiffrement, et ceci, en parallele,avec la meme primitive asymetrique et un unique couple de cles.

Le but d’un adversaire est donc le meme que dans la Section 4.3.1 ou la Section 8.1.2 : conce-voir une falsification existentielle (correspondant a la notion de securite EUF) contre le schemade signature ou distinguer un chiffre (correspondant a la notion de securite IND) du schema dechiffrement. Cependant, l’attaquant peut pour cela utiliser les moyens des deux attaques : unacces simultane a l’oracle de signature et a l’oracle de dechiffrement, et ceci de facon entierementadaptative. Aussi, nous noterons ce scenario comme une attaque CMA+CCA.

11.1.4 Permutations sans griffe

Dans [KW03], Jonathan Katz et Nan Wang ont montre qu’en utilisant une permutationa trappe induite par une permutation sans griffe (en anglais, claw-free permutation), il etaitpossible d’obtenir une variante de RSA-FDH (en ajoutant un simple bit) avec une reductionfine. Nous allons egalement utiliser cette technique. L’existence de permutations sans griffe esten effet raisonnable : toute permutation aleatoire auto-reductible peut etre vue comme unepermutation a trappe induite par une permutation sans griffe [DR02], et tous les exemplesconnus de permutations a trappe sont auto-reductibles.

Definition 22 (Permutations sans griffe). Une famille de permutations sans griffe est unensemble d’algorithmes GenE ; fi; gi | i ∈ I, pour un ensemble d’index I, tel que :

– GenE genere un index aleatoire i et une trappe sk ;– fi, gi sont deux permutations sur le meme domaine Di ;– il y a un algorithme efficace qui, pour un index i, genere un alea x ∈ Di ;– f−1

i (l’inverse de fi) et g−1i (l’inverse de gi) sont efficacement calculables avec la trappe

sk.Une griffe est une paire (x0, x1) telle que f(x0) = g(x1).

Un algorithme probabiliste A (τ, ε)-casse une famille de permutations sans griffe si l’executionde A prend un temps inferieur a τ et si A genere une griffe avec une probabilite superieure a ε :

Pr[(i, td)← GenE(1k), (x0, x1)← A(i) : fi(x0) = gi(x1)

]> ε .

Une famille de permutations sans griffe est (τ, ε)-sure si aucun algorithme ne peut la (τ, ε)-casser.

11.2 Fonction de padding basee sur une permutation : OPbP

11.2.1 Description

Dans cette section, nous proposons un padding universel base sur la construction de [PP03],dans le modele de la permutation aleatoire. Notre proposition est optimale aussi bien pour lechiffrement que pour la signature, c’est-a-dire n’a besoin que de 82 bits de plus que le message :ces bits servent d’entropie pour le chiffrement et de redondance pour la signature. Dans cechapitre, nous decrivons la fonction proposee, et renvoyons a notre publication [CPP05] ou a lathese de Duong Hieu Phan [Pha05] pour une preuve complete de sa securite.

Soient `n et `t deux parametres de securite, avec `m = `n−`t−1 > 0. Pour notre construction,nous avons besoin d’une permutation P : 0, 1`n → 0, 1`n , que nous supposerons agir comme

119

Chapitre 11. Padding universel optimal

une permutation aleatoire. Soit egalement Φpk : 0, 1`n → 0, 1`n une permutation a sensunique a trappe (dont l’inverse sera note ψsk). Nous utilisons egalement une famille de fonctionspseudo-aleatoires Ψς : 0, 1`m → 0, 1, ou ς constitue la cle.

Les messages a signer ou a chiffrer appartiennent a l’ensembleM = 0, 1`m = 0, 1`n−`t−1,et les chiffres et signatures appartiennent a l’ensemble N = 0, 1`n . Nous notons T l’ensemble0, 1`t et U l’ensemble 0, 1`m+1.

Paddin

guniv

erse

lO

PbP

[CPP05] Padding : Notre fonction de padding est tres simple : elle prend en entree un

bit γ, un message m ∈ M et une donnee complementaire r ∈ T . Alorsnous definissons OPbP comme

OPbP(γ,m, r) = P(γ‖m‖r) = t‖u, ou t ∈ T et u ∈ U

et l’operation inverse comme

OPbP−1(t, u) = P−1(t‖u) = γ‖m‖r .

Chiffrement : Pour chiffrer un message m ∈ M, l’utilisateur tire un alear ∈ T , un bit aleatoire γ, et calcule le chiffre c comme c = Φpk(t‖u),pour t‖u = OPbP(γ,m, r).

Dechiffrement : Pour dechiffrer c ∈ N , l’usager calcule t‖u = ψsk(c), out ∈ T et u ∈ U , puis γ‖m‖r = OPbP−1(t, u). Le clair correspondant estle message m.

Signature : Pour signer un message m ∈M, il faut calculer γ = Ψς(m), puist‖u = OPbP(γ,m, 0`t). La signature est σ = ψsk(t‖u).

Verification : Pour verifier une signature σ ∈ N , il faut calculer t‖u =Φpk(σ), ou t ∈ T et u ∈ U , puis γ‖m‖r = OPbP−1(t, u).Si r = 0`t , la signature est acceptee et l’algorithme de verification re-tourne le message m ; sinon, la signature est rejetee.

Le decoupage deN en T ×U peut sembler ici arbitraire, mais la raison sous-jacente apparaıtradans la seconde section de ce chapitre.

11.2.2 Analyse de securite

Dans [PP03], cette fonction de padding a deja ete prouvee sure contre les attaques IND-CCA, pour son utilisation dans les schemas de chiffrement ‡ (dans le modele de la permutationaleatoire).

Dans notre publication, nous avons etendu cette preuve au scenario CMA+CCA, puis la secu-rite du schema de signature utilise en parallele du schema de chiffrement (c’est-a-dire la securiteEUF-CMA+CCA). Nous rappelons ici simplement le resultat, tout en renvoyant a [CPP05, Pha05]pour une preuve complete.

‡La construction est equivalente, a l’exception du bit additionnel γ qui peut etre vu comme un simple ajoutd’un bit d’entropie supplementaire.

120

11.2. Fonction de padding basee sur une permutation : OPbP

Theoreme 15. Soient A et B des adversaires a chiffres choisis (pour l’oracle de dechiffre-ment) et a messages choisis (pour l’oracle de signature), respectivement contre le schemade chiffrement et le schema de signature.Si A peut casser la securite semantique du chiffrement avec un avantage εE, ou si B peutproduire une falsification existentielle avec une probabilite εS (en un temps τ , apres qp, qs,qd requetes aux oracles de permutation, signature et dechiffrement respectivement), alorsla permutation Φpk peut etre inversee avec une probabilite ε′ en un temps τ ′, avec :

ε′ > εE −∆ et ε′ >εS −∆

qp + qs + 1

ou τ ′ 6 τ +O(qp + qd + qs + 1) et

∆ =(qp + qd + qs + 1)2

2`t+`m+1+

(qd + 1)2

2`m+

2qp + qd + qs + 22`t

.

Plus particulierement, si la fonction Φpk est induite par une permutation sans griffe (τ ′, ε′)-sure, nous avons egalement ε′ > εS−∆

2 .

11.2.3 Taille des parametres et optimalite

Pour obtenir un niveau de securite de 2κ, nous cherchons des parametres de securite tels quele rapport entre le temps τ et la probabilite de l’adversaire ε soit au moins de 2κ, ou, de faconsimilaire, tels que ε/τ 6 2−κ, avec un niveau de securite usuel κ = 80.

Pour obtenir les tailles necessaires des parametres, nous pouvons simplifier tout d’abord leTheoreme 15. Soit Q le nombre total de requetes, c’est-a-dire Q = qp + qs + qd. Comme le tempsde l’attaque τ est limite a 280, ce nombre Q est lui aussi limite a 280. Nous obtenons donc

∆ 6Q2

2`t+`m+Q2

2`m+

2Q2`t

.

De plus, pour des utilisations pratiques, nous savons que la taille `m des messages est bienplus grande que le parametre de securite `t. Aussi, les quantites Q/2`m ou Q2/2`m peuvent etrenegligees en comparaison a Q/2`t .

Nous obtenons alors (en utilisant que Q 6 τ) :

εEτ

6ε′

τ+

22`t

etεSτ

6Qε′

τ+

22`t

dans le cas general

62ε′

τ+

22`t

si la fonction Φpk est induite par une permutation sans griffe

En conclusion, pour le cas general, nous pouvons choisir `t = 82 si le niveau de securite dela fonction Φpk est de 2161. Pour le cas particulier d’une permutation a trappe induite par unepermutation sans griffe, un niveau de securite de la fonction Φpk de 282 est suffisant. Ainsi, pourle RSA, selon l’estimation de Arjen Lenstra et Eric Verheul [LV00], un module de 1024 bitsest suffisant. Nous remarquons qu’avec seulement 82 bits de redondance, nous obtenons le memeniveau de securite que RSA-PSS [BR96] ou RSA-OAEP [BR94], qui, compares a notre schema,possedent une bande-passante plus petite.

121

Chapitre 11. Padding universel optimal

11.3 Construction basee sur OAEP3

11.3.1 Description

Pour obtenir une construction similaire dans le modele plus usuel de l’oracle aleatoire [BR93],nous considerons maintenant la version a 3 tours de OAEP, comme proposee dans [PP03, PP04].La securite de ce padding pour le chiffrement a egalement ete etudiee dans ces papiers. Nousetendons la preuve pour l’appliquer egalement a une utilisation pour la signature.

Comme dans la Section 11.2, `t et `n sont des parametres de securite avec `m = `n−`t−1 > 0,Φpk : 0, 1`n → 0, 1`n est une permutation a sens unique a trappe (dont l’inverse sera noteψsk), et Ψς : 0, 1`m → 0, 1 est une famille de fonctions pseudo-aleatoires, ou ς designe la cle.Les messages a signer ou a chiffrer appartiennent a l’ensemble M = 0, 1`m = 0, 1`n−`t−1,et les chiffres et signatures appartiennent a l’ensemble N = 0, 1`n . Nous notons T l’ensemble0, 1`t et U l’ensemble 0, 1`m+1.

Par contre, en lieu et place de la permutation P utilisee en Section 11.2, nous utilisons troisfonctions de hachage : F , G, H (que nous supposerons agir comme des oracles aleatoires) :

F : T → U G : U → T H : T → U .

Paddin

guniv

erse

lO

AEP3

[CPP05] Padding : La fonction de padding prend en entree un bit γ, un message

m ∈ M et une donnee complementaire r ∈ T . Alors nous definissonsOAEP3(γ,m, r) comme :

s = (γ‖m) ⊕ F(r), t = r ⊕ G(s), u = s ⊕ H(t), OAEP3(γ,m, r) = t‖u

et OAEP3−1(t, u) comme :

s = u⊕H(t), r = t⊕G(s), γ‖m = s⊕F(r), OAEP3−1(t, u) = γ‖m‖r .

Chiffrement : Pour chiffrer un message m ∈ M, l’utilisateur tire un alear ∈ T , un bit aleatoire γ, et calcule le chiffre c comme c = Φpk(t‖u),pour t‖u = OAEP3(γ,m, r).

Dechiffrement : Pour dechiffrer c ∈ N , l’usager calcule t‖u = ψsk(c), out ∈ T et u ∈ U , puis γ‖m‖r = OAEP3−1(t, u). Le clair correspondantest le message m.

Signature : Pour signer un message m ∈M, il faut calculer γ = Ψς(m), puist‖u = OAEP3(γ,m, 0`t). La signature est σ = ψsk(t‖u).

Verification : Pour verifier une signature σ ∈ N , il faut calculer t‖u =Φpk(σ), ou t ∈ T et u ∈ U , puis γ‖m‖r = OAEP3−1(t, u).Si r = 0`t , la signature est acceptee et l’algorithme de verification re-tourne le message m ; sinon, la signature est rejetee.

11.3.2 Analyse de securite

Nous etendons alors le resultat de [PP04] par le theoreme suivant :

122

11.3. Construction basee sur OAEP3

Theoreme 16. Soient A et B des adversaires a chiffres choisis (pour l’oracle de dechiffre-ment) et a messages choisis (pour l’oracle de signature), respectivement contre le schemade chiffrement et le schema de signature.Si A peut casser la securite semantique du chiffrement avec un avantage εE, ou si B peutproduire une falsification existentielle avec une probabilite εS (en un temps τ , apres qF ,qG, qH, qs, qd requetes aux oracles de hachage F , G et H, et aux oracles de signature etdechiffrement), alors la permutation Φpk peut etre inversee avec une probabilite ε′ en untemps τ ′, avec :

ε′ > εE −∆ et ε′ >εS −∆

qp + qs + 1

ou τ ′ 6 τ +O(qF + qd2 + qdqGqH) et

∆ = qd2 ×

(1

2`m+1+

62`t

)+

4qdqG2`m+1

+5qdqF

2`t+qGqH2`t

+qGqs2`t

+qG

2`m+1+qF2`t

+qd2`t

.

Plus particulierement, si la fonction Φpk est induite par une permutation sans griffe (τ ′, ε′)-sure, nous avons egalement ε′ > εS−∆

2 .

Encore une fois, pour la preuve complete, nous referons le lecteur a notre publication [CPP05]ou a la these de Duong Hieu Phan [Pha05].

11.3.3 Taille des parametres

En utilisant des arguments similaires a la Section 11.2.3, les tailles des parametres sontobtenues.

– Pour le chiffrement :εEτ

6ε′

τ+Q

2`t.

Aussi, `t = 161 est suffisant si les parametres de securite sont suffisamment grands (c’est-a-dire si ε′/τ < 2−81).

– Pour la signature, dans le cas general :

εSτ

6Qε′

τ+Q

2`t.

Dans cas cas, `t = 161 reste valide, tant que ε′/τ < 2−161.

– Pour la signature, si la fonction Φpk est induite par une permutation sans griffe :

εSτ

62ε′

τ+Q

2`t.

Nous avons ainsi une expression similaire au cas du chiffrement (le terme ε′/τ etant rem-place par 2ε′/τ), ce qui permet de plus petits parametres de securite. Dans l’ensemble,`t = 161 est requis, des que ε′/τ < 2−82.

Pour resumer, dans le cas le plus interessant, celui du RSA, le parametre `t = 161 peut etrechoisi, si le parametre de securite `n implique un niveau de securite de la fonction Φpk d’environ282, ce qui correspond a un module de 1024 bits.

123

Chapitre 11. Padding universel optimal

11.4 Conclusion

Dans ce chapitre, nous avons jete un nouveau regard sur la notion de padding universel, enessayant d’optimiser en meme temps les criteres de rapidite, de bande passante, de compaciteen code et de simplicite d’utilisation.

Pour optimiser les criteres precedemment evoques, les paddings que nous avons proposes sontsimples, sans redondance pour le chiffrement et deterministes pour la signature. Nos propositionssont tres simples d’utilisation, car nous prouvons que l’utilisateur peut utiliser une meme pairede cles pour une utilisation simultanee en chiffrement et signature.

Plus precisement, une premiere construction (nommee en anglais Optimal Permutation-basedPadding OPbP), basee sur une permutation sur tout le domaine, a ete proposee. Elle a pu etreprouvee optimale selon nos criteres, dans le modele de la permutation aleatoire. Une deuxiemeproposition, basee sur l’utilisation de la fonction de padding OAEP3, a ete prouvee dans unmodele moins fort, le modele de l’oracle aleatoire.

124

Quatrieme partie

Resistance aux attaques a canauxcaches

125

Introduction

D’apres Oded Goldreich [Gol01], la cryptographie est la mise en place des concepts, ladefinition et la construction de systemes concernant les problemes de securite. Nous voudrionsajouter que le domaine de la cryptographie comporte egalement la mise en place de tels systemes.En d’autres termes, les definitions des systemes mais egalement leur mise en œuvre logicielle oumaterielle doivent proteger de toute fraude.

Une derniere partie de nos recherches durant cette these a concerne les protections contreles attaques sur les mises en œuvre des algorithmes (appelees aussi attaques physiques). Notretravail a Gemplus nous a egalement permis de nous confronter a ces attaques.

Parmi les attaques sur les mises en œuvre des algorithmes, nous distinguerons deux grandesfamilles : les attaques par fautes, introduites par Dan Boneh, Richard DeMillo et Richard Lip-ton [BDL97] et les attaques par canaux caches, comme presentees par Paul Kocher, JoshuaJaffe et Benjamin Jun [Koc96, KJJ99].

Attaques par fautes. Les attaques par fautes sont des attaques actives, c’est-a-dire danslesquelles l’attaquant perturbe le comportement du programme execute. Cette perturbationpeut etre notamment due a l’utilisation d’un laser, a une variation rapide de la tension, ouencore a une perturbation electromagnetique. Le but est alors de recuperer un resultat errone,en rapport direct avec le secret vise, l’attaque etant achevee par une cryptanalyse.

Le cas le plus celebre d’attaque par fautes fut presente par Marc Joye, Arjen Lenstraet Jean-Jacques Quisquater [JLQ99], et s’applique a l’acceleration du RSA par le theoremedes restes chinois (appelee le RSA-CRT). Rappelons que le RSA-CRT consiste a retrouver s =md mod n par le calcul et la recombinaison par theoreme des restes chinois de sp = md mod pet de sq = md mod q, ce que nous noterons s = 〈sp, sq〉.

Le principe est le suivant : l’attaquant tire un message aleatoire m. Ensuite, il fait execu-ter le calcul du RSA-CRT sur m, et perturbe uniquement une des deux demi-exponentiations.Supposons pour notre exemple que le calcul modifie soit le calcul de sp. L’attaquant recoitalors s = 〈k,md mod q〉, dans lequel k est le resultat modifie de sp, c’est-a-dire k 6= md mod p.L’attaquant peut alors retrouver la factorisation secrete par q = gcd(se −m,n).

Ainsi, les attaques par faute sur le RSA-CRT sont tres efficaces, puisqu’une seule faute suf-fit et qu’il n’est pas necessaire de controler l’effet de la faute. Bien sur, l’attaque exposee nes’applique qu’a la primitive RSA, c’est-a-dire au RSA utilise sans padding. Il est neanmoins aisede la generaliser au RSA utilise avec les paddings deterministes (comme FDH) ou les paddingsprobabilistes ou l’alea est adjoint a la signature (comme PFDH [Cor02]). Etendre cette attaqueau RSA utilise avec un padding probabiliste ou l’alea est retrouve dans la signature (commePSS) est un probleme ouvert a ce jour.

Au contraire des attaques par fautes contre le RSA-CRT, les attaques par faute contre le modestandard du RSA sont assez inefficaces. Les methodes classiques consistent a modifier un-a-unles bits de l’exposant d ou a perturber, a un moment particulier de la boucle d’exponentiation,

127

Introduction

le test de la valeur du bit courant de d. Ce type de methodes necessite a la fois un grand nombrede fautes et une grande precision dans celles-ci (il est en effet bien plus difficile de modifier unbit particulier de l’exposant que de provoquer une erreur quelconque de calcul comme cela etaitle cas sur le RSA-CRT).

Nous avons propose a la conference Ches ’06 [BCCC06], avec Eric Brier, Mathieu Cietet Christophe Clavier, une nouvelle methode pour appliquer une attaque par fautes, dans leRSA en mode standard. Notre article, non repris dans cette these, introduit la premiere attaquepar fautes applicable au RSA en mode standard qui permet de retrouver l’exposant prive en necorrompant qu’un element public de cle. En effet, a la maniere d’une attaque proposee par Jean-Pierre Seifert permettant de faire accepter, grace a une faute, de fausses signatures [Sei05],nous ne ciblons que le module RSA durant notre attaque.

Un des points forts de notre attaque est que les hypotheses sur les effets des fautes quenous provoquons sont tres limitees. En effet, dans un premier mode de notre attaque, nousn’avons besoin d’absolument aucune connaissance particuliere de l’effet de la faute pour retrouverl’exposant prive dans sa totalite. Dans un second mode, base sur un modele de faute permettantla definition de ce que nous appelons des dictionnaires, nous ameliorons l’attaque, en reduisantd’un facteur significatif le nombre de fautes necessaires. Toutes nos attaques sont tout a faitapplicables sur des produits non securises.

Notons que l’utilisation de paddings deterministes (comme RSA-FDH) ou probabilistes (com-me RSA-PFDH) n’a pas d’influence sur notre attaque, la seule impossibilite correspondant auxschemas probabilistes dans lesquels l’alea est retrouve dans la signature elle-meme (comme parexemple RSA-PSS).

Attaques par canaux caches. Cette partie de notre these ne concerne que la seconde familledes attaques physiques : les attaques par canaux caches. Ces attaques sont des attaques passives,dans le sens ou l’attaquant n’a pas besoin de modifier l’execution de l’algorithme, mais unique-ment de mesurer celle-ci. Par “mesure”, nous entendons l’enregistrement de donnees physiquesdurant l’algorithme, ces donnees pouvant etre de differentes natures (notamment la consomma-tion de courant, les emissions electromagnetiques ou le temps d’execution). Or, selon des modelesvalides par l’experience, ces donnees physiques sont reliees aux secrets manipules durant l’algo-rithme, soit parce ces derniers influent le deroulement (au travers de tests par exemple), soitparce que leur simple manipulation entraıne des modifications physiques visibles de l’exterieur.Le but des attaques a canaux caches consiste ainsi a inferer les secrets recherches a travers lesdonnees physiques mesurees.

Parmi les attaques a canaux caches, une premiere forme est constituee des attaques simples,dans lesquelles le recouvrement des donnees secretes se fait sur une simple courbe (par recherchede formes particulieres sur la courbe, par exemple, pour identifier differentes operations). Uneseconde forme est constituees des attaques differentielles, dans lesquelles une etude statistiqueest utilisee, sur plusieurs courbes, pour reveler les donnees secretes.

Dans le reste de cette partie, nous considerons de nouvelles protections contre les attaques acanaux caches. Les attaques simples par canaux caches sont le sujet du Chapitre 12, alors queles attaques differentielles par canaux caches sont prises en compte dans le Chapitre 13.

128

Chapitre 12

L’atomicite : une solution generiqueet peu couteuse contre la SPA

Sommaire

12.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

12.2 Atomicite face aux attaques a canaux caches . . . . . . . . . . . . . . . 130

12.2.1 Blocs atomiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

12.2.2 Illustration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130

12.2.3 Methodologie generale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

12.3 Atomicite et exponentiations . . . . . . . . . . . . . . . . . . . . . . . . . 133

12.3.1 Hypotheses de nos constructions . . . . . . . . . . . . . . . . . . . . . . . 133

12.3.2 Algorithmes generiques d’exponentiation a fenetre glissante . . . . . . . . 133

12.3.3 Algorithmes simplifies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

12.4 Atomicite et courbes elliptiques . . . . . . . . . . . . . . . . . . . . . . . 135

12.4.1 Courbes elliptiques definies sur un corps premier . . . . . . . . . . . . . . 135

12.4.2 Courbes elliptiques definies sur un corps binaire . . . . . . . . . . . . . . . 136

12.5 Version atomique de l’exponentiation MIST . . . . . . . . . . . . . . . . 138

12.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

Ce chapitre introduit de nouvelles methodes, efficaces et simples, pour transformer un algo-rithme cryptographique en un algorithme equivalent resistant aux attaques simples par canauxcaches. Contrairement aux solutions precedemment connues, la technique proposee ne se faitpas au detriment du temps d’execution. De plus, notre technique est generique, et peut ainsis’appliquer a toutes sortes d’algorithmes.

En application, nous proposons plusieurs nouvelles routines d’exponentiation : un algorithmebinaire d’exponentiation gauche-droite, son equivalent droite-gauche, et plusieurs algorithmes afenetre glissante. Nous illustrons egalement notre methodologie dans le cadre de la multiplicationscalaire de points sur les courbes elliptiques. Tous les algorithmes presentes ont en commund’avoir une complexite approximativement egale a leur mise en œuvre non securisee.

Ce chapitre a fait l’objet d’une publication dans le journal IEEE Transactions on Com-puters, 53 [CCJ04], co-ecrite avec Mathieu Ciet et Marc Joye.

12.1 Introduction

Supposons qu’un algorithme consiste en une boucle, dans laquelle le code execute depend decertaines valeurs d’entree secretes (comme une cle par exemple). Si, a partir de canaux caches

129

Chapitre 12. L’atomicite : une solution generique et peu couteuse contre la SPA

(comme le temps d’execution ou la consommation de courant), il est possible a un attaquant dedistinguer quelles instructions sont executees, alors l’attaquant peut en deduire la valeur de ladonnee secrete. Cette idee est la base meme des attaques par canaux caches simples, connuessous le nom anglais Simple Power Analysis, SPA [Koc96, KJJ99].

Imaginons par exemple qu’a un moment donne, un bit secret serve a choisir, entre deuxprocessus Π0 ou Π1, lequel executer. Une contre-mesure naıve pour proteger d’une attaque acanaux caches simple consiste a rendre les deux processus Π0 et Π1 indistinguables par canauxcaches. Cela est obtenu usuellement en executant des processus factices, qui ne changent pasle resultat de l’algorithme mais qui, d’un point de vue des canaux caches, sont les plus indis-tinguables possible des processus classiques. Malheureusement, ce genre de solution est assezinsatisfaisante, car le temps d’execution peut alors etre augmente d’un facteur non negligeable.

En un sens, notre approche affine la solution naıve autant que possible. En inserant unminimum d’operations factices, nous transformons chaque processus en une suite de blocs appa-raissant, par analyse des canaux caches, comme equivalents. Nous appelons ces blocs des blocsatomiques. Nous developpons alors plusieurs approches pour reecrire un code complet sous laforme d’une serie ininterrompue de blocs atomiques. Ainsi, pour l’attaquant, l’execution de l’al-gorithme apparaıt comme une succession de blocs equivalents, ne lui offrant d’autre informationque le nombre de ces blocs.

Avantageusement et contrairement aux contre-mesures precedentes, notre technique est trespeu couteuse et presente l’avantage d’etre entierement generique : tout algorithme cryptogra-phique pourrait, a priori, etre modifie sous forme de blocs atomiques.

12.2 Atomicite face aux attaques a canaux caches

12.2.1 Blocs atomiques

Chaque processus peut etre vu comme une sequence d’instructions. Nous dirons que deuxinstructions (ou sequences d’instructions) sont equivalentes en canal cache si elles sont indis-tinguables a travers l’etude des canaux caches. Cette relation sera notee par le symbole “∼”. Apartir de la, nous definissons ce que nous appelons un bloc atomique commun.

Definition 23 (Atomicite en canal cache [CJ02]). Etant donne un ensemble de processusΠ0, . . . ,Πn, un bloc atomique commun Γ pour Π0, . . . ,Πn est une sequence d’instructionsequivalentes en canal cache, telle que chaque processus Πj (0 6 j 6 n) puisse etre exprimecomme une repetition de ce bloc Γ , c’est-a-dire telle qu’il existe une sequence γj,i ∼ Γ telle queΠj = γj,1‖γj,2‖ · · · ‖γj,`j

. Ces sequences d’instructions γj,i sont appelees blocs atomiques.

Un bloc atomique commun Γ existe toujours, etant donne que des instructions facticespeuvent toujours etre ajoutees artificiellement a un processus existant, dans le but de rendreles differents processus indistinguables. En fait, la principale difficulte de notre approche estplutot de trouver un bloc Γ qui soit le plus petit suivant une metrique donnee (par exemple letemps d’execution ou la taille du code). Notons qu’un reordonnancement ou une reecriture desprocessus peuvent reduire Γ ou limiter le nombre d’instructions factices, et ainsi ameliorer lesperformances.

12.2.2 Illustration

Avant d’aller plus loin, nous voudrions illustrer notre propos d’un exemple simple maissignificatif : la securisation de l’algorithme binaire d’exponentiation (en anglais, l’algorithme

130

12.2. Atomicite face aux attaques a canaux caches

square-and-multiply). Etant donne un element x d’un groupe multiplicatif G et un exposantd ecrit sous forme binaire d = (dm−1, . . . , d0)2, l’algorithme binaire d’exponentiation retourney = xd.

Entree : x, d = (dm−1, . . . , d0)2Sortie : y = xd

R0 ← 1 ; R1 ← x ; i← m− 1tant que (i > 0)

R0 ← R02

si (di = 1) alors R0 ← R0 ·R1

i← i− 1

retourne R0

Fig. 12.1 – Algorithme binaire d’exponentiation non securise.

Comme precedemment dit, un choix valide pour un bloc atomique commun Γ serait uneoperation de mise au carre suivie d’une instruction (possiblement factice) de multiplication etd’une decrementation du compteur. Nous retrouvons alors l’algorithme classique square-and-multiply always [Cor99]. C’est le moyen classiquement utilise pour prevenir des attaques simplespar canaux caches contre l’algorithme binaire d’exponentiation.

Pourtant, comme nous allons le voir, un tel choix de Γ est sous-optimal. En supposant que(i) une operation de mise au carre peut etre executee en appelant la routine de multiplication(qu’elle soit hardware ou software), et (ii) les instructions R0 ← R0 · R0 et R0 ← R0 · R1 sontequivalentes en canal cache ‡, nous pouvons reecrire l’algorithme pour reveler un bloc communΓ bien plus petit (voir la Figure 12.2-a). Remarquons egalement l’instruction factice i← i− 0.Naturellement, nous supposons que cette instruction est equivalente ‡ en canal cache a i← i−1.

De isionBegin Pro ess 1Enddi=0di=1 0 3412Pro ess 0 (fake)2

Entree : x, d = (dm−1, . . . , d0)2Sortie : y = xd

R0 ← 1 ; R1 ← xk ← 0 ; i← m− 1tant que (i > 0)

R0 ← R0 ·Rk

k ← k ⊕ di

i← i− ¬k

retourne R0

(a) Synopsis. (b) Version atomique del’algorithme binaire d’exponentiation.

Fig. 12.2 – Algorithme d’exponentiation binaire protege.

Comme decrit a la Figure 12.2-a, l’algorithme n’est pas equilibre : il y a deux copies du bloc Γquand di = 1 alors qu’il n’y en a qu’une quand di = 0. Cependant, comme nous l’expliqueronsdans la prochaine section, il est aise de derouler le code de telle facon que l’analyse en canal cachene revele qu’une sequence ininterrompue de copies de Γ , sans rendre possible la distinction entre

‡Ces hypotheses sont discutees en Section 12.3.1.

131

Chapitre 12. L’atomicite : une solution generique et peu couteuse contre la SPA

les processus executes (c’est-a-dire Π0 ou Π1). Apres simplification, nous obtenons par notremethode l’algorithme presente a la Figure 12.2-b.

Il est important de noter que notre algorithme protege (Figure 12.2-b) ne requiert que 1.5mmultiplications en moyenne, pour calculer y = xd, ce qui est la complexite de la version nonprotegee de l’algorithme binaire d’exponentiation (Figure 12.1) ‡.

12.2.3 Methodologie generale

Apres l’exemple de la section precedente, nous donnons maintenant une explication plusformelle de notre technique. Etant donne differents processus Π0, . . . ,Πn, nous identifions toutd’abord un bloc atomique commun Γ . Ensuite, nous ecrivons les processus Πj (0 6 j 6 n)comme des repetitions du bloc Γ , c’est-a-dire Πj = γcj‖ · · · ‖γcj+`j−1, ou `j est le nombre decopies de Γ dans Πj ,

c0 = 0cj = cj−1 + `j−1 pour 1 6 j 6 n

et ou γk ∼ Γ pour tous c0 6 k 6 cn + `n − 1. Notre strategie est alors d’executer exactement`j fois une sequence de blocs Γ pour remplacer le processus Πj . Ainsi, en notant t le tempsd’execution du bloc Γ , le temps requis pour le processus Πj sera seulement de `j · t au lieu de(max06j6n `j) · t pour la solution triviale de securisation.

Pour enchaıner les differents processus, nous utilisons un bit s (s pour stop), pour retenir s’ily a encore des blocs γk ∼ Γ a executer pour simuler l’execution du processus en cours Πj . Quandle processus Πj est termine (et ainsi s = 1), nous devons alors executer le processus suivant selonles donnees d’entree de l’algorithme. Aussi, au debut de chaque boucle, nous mettons a jour k,le compteur du bloc γ courant, par

k ← (¬s) · (k + 1) + s · f(valeurs d’entree)

de telle facon que f(valeurs d’entree) = cj′ si le prochain processus a executer est Πj′ . Nousvoyons ainsi que, lorsque s = 0, k est incremente de 1 pour poursuivre le processus courant, etque lorsque s = 1, k vaut cj′ , pour debuter le processus suivant Πj′ . Bien sur, l’expression dek doit etre codee de telle facon qu’aucune information a propos des donnees d’entree ne soitrevelee par canal cache.

De facon alternative, k peut etre defini comme le compteur du processus courant ; l’etape derafraıchissement devient alors : k ← (¬s) · (k+ 1). Les donnees d’entree sont alors utilisees pourfaire la distinction entre les differents blocs atomiques.

La derniere etape de notre methodologie consiste a exprimer chaque bloc γk :– comme un element d’une table (approche explicite ou matricielle de l’atomicite), ou– comme une fonction de k, de s et des donnees d’entree (approche implicite de l’atomicite).Dans les sections suivantes, nous mettons en pratique notre technique, en donnant des

exemples des deux approches.

‡En consequence, notre algorithme revele, en canal cache, le poids de Hamming de l’exposant. Ceci n’estgeneralement pas un probleme, notamment car l’exposant est en general long. Si cependant cette fuite etaitgenante, le poids de Hamming pourrait etre dissimule en utilisant des techniques standards, telles que le decoupage(en anglais, splitting) ou le masquage (en anglais, blinding) de l’exposant.

132

12.3. Atomicite et exponentiations

12.3 Atomicite et exponentiations

Le cryptosysteme le plus largement utilise est le RSA [RSA78] — voir la Section 4.4.1.Son operation de base est l’exponentiation modulaire, qui est habituellement calculee grace al’algorithme binaire d’exponentiation (en anglais, l’algorithme square-and-multiply). Une versionatomique de cet algorithme a deja ete donnee a la Figure 12.2 (voir aussi [Joy02]). Cette sectionpresente une version protegee de l’algorithme d’exponentiation a fenetre glissante de ω bits, pourn’importe quel ω > 1 ‡. Nous presentons egalement une version simplifiee pour le cas ω = 2,ainsi qu’une variante droite-gauche de l’algorithme binaire d’exponentiation. Tous ces nouveauxalgorithmes utilisent l’approche implicite.

12.3.1 Hypotheses de nos constructions

Notre methodologie suppose qu’une analyse simple des canaux caches ne permet pas ladistinction entre les differents blocs atomiques (voir Definition 23). En consequence, les blocsatomiques sont dependants du composant sur lequel le code est execute. Avec la plupart descartes a puces actuelles equipees d’un coprocesseur arithmetique, notre experience nous a montreque les operations suivantes etaient equivalentes en canal cache †† :

1. La multiplication (modulaire) entre deux grands registres : Ri · Rj , pour tout i, j. Ceciinclut le cas i = j, en supposant que la mise au carre peut etre remplacee par un appela la multiplication (au lieu d’etre effectuee par un appel a la routine parfois optimisee demise au carre) ;

2. L’addition/soustraction (modulaire) de deux grands registres : Ri ±Rj , pour tout i, j ;

3. Les operations du CPU, c’est-a-dire toutes les operations arithmetiques ou logiques a partirdes registres du CPU. Si le composant ne remplit pas ces hypotheses, la resistance auxattaques par canaux caches peut toujours etre obtenue par une mise en œuvre software.Par exemple, si l’evaluation hardware de b ·A se comporte en canal cache differemment sile bit vaut 0 ou 1, une astuce simple consiste a evaluer b ·A comme (b+ t)A− tA pour unalea t ; de facon similaire, l’addition A± b peut etre calculee comme A± (b+ t)∓ t ;

4. Le test d’egalite entre deux registres CPU : A ?= B. A nouveau, si le composant ne remplitpas cette condition, une emulation software pourrait par exemple etre de lire le flag zeroresultant de A ⊕ B ou de proceder a une operation de ou logique entre tous les bits deA⊕B ;

5. Le chargement/la sauvegarde des valeurs des differents registres.

Les algorithmes presentes dans cette section et dans la Section 12.4 supposent que les misesen œuvre hardware de ces instructions ou leur emulation software suivent ces hypotheses.

12.3.2 Algorithmes generiques d’exponentiation a fenetre glissante

Comme cela a ete vu precedemment, l’algorithme binaire d’exponentiation permet, a l’aidede deux registres, de calculer le resultat d’une exponentiation y = xd, en 1.5m multiplicationsen moyenne. Quand des registres additionnels sont disponibles, ce nombre moyen peut etrereduit, en precalculant et en stockant les valeurs x2j+1 pour j ∈ 1, . . . , 2ω−1 − 1, puis eneffectuant une lecture de gauche a droite des bits de l’exposant a l’aide d’une fenetre glissante de

‡L’algorithme binaire d’exponentiation correspond au cas ω = 1.††Ceci est d’autant plus verifie lorsque les contre-mesures hardware sont activees.

133

Chapitre 12. L’atomicite : une solution generique et peu couteuse contre la SPA

ω bits [MOV97, Algorithme 14.85]. C’est une generalisation tres efficace de l’algorithme binaired’exponentiation [HL94, LH94].

Entree : x, d = (dm−1, . . . , d0)2, et un entier ω > 1

Sortie : y = xd

Precalcul : Rj+1 ← x2j+1 pour 1 6 j 6 2ω−1 − 1

R0 ← 1 ; R1 ← x ; i← m− 1pour j = 1 a ω − 1, d−j ← 0s← 1tant que (i > 0)

k ← (¬s) · (k + 1)b← 0 ; t← 1 ; l← ω ; u← 0pour j = 1 a ω

b← b ∨ di−ω+j ; l← l − ¬bu← u + t · di−ω+j ; t← b · (2t) + ¬bl← l · di ; u← [(u + 1) div 2] · di

s← (k = l)R0 ← R0 ·Ru·si← i− k · s− ¬di

retourne R0

Fig. 12.3 – Version atomique de l’algorithme a fenetre glissante de ω bits.

12.3.3 Algorithmes simplifies

Une plus grande valeur de ω dans l’algorithme a fenetre glissante de ω bits accelere les calculs,mais en meme temps augmente la memoire necessaire. Un choix particulierement interessant pourdes environnements contraints est le cas ω = 2. L’algorithme resultant est habituellement appelel’algorithme (M,M3). L’algorithme generique de la Figure 12.3 peut alors etre simplifie, jusqu’aaboutir a l’algorithme presente a la Figure 12.4-a.

Entree : x, d = (dm−1, . . . , d0)2Sortie : y = xd

R0 ← 1 ; R1 ← x ; R2 ← x3

d−1 ← 0 ; i← m− 1 ; s← 1tant que (i > 0)

k ← (¬s) · (k + 1)s← s⊕ di ⊕ (di−1 ∧ (k mod 2))R0 ← R0 ·Rk·si← i− k · s− ¬di

retourne R0

Entree : x, d = (dm−1, . . . , d0)2Sortie : y = xd

R0 ← 1 ; R1 ← xk ← 1 ; i← 0tant que (i 6 m− 1)

k ← k ⊕ di

Rk ← Rk ·R1

i← i + k

retourne R0

(a) Version atomique de (b) Version atomique droite-gauche del’algorithme (M, M3). l’algorithme binaire d’exponentiation.

Fig. 12.4 – Algorithmes pour environnements contraints.

Dans certains cas, il est plus facile de parcourir les bits du bit le moins significatif au bit leplus significatif. Il est alors fait usage de l’algorithme binaire d’exponentiation droite-gauche. De

134

12.4. Atomicite et courbes elliptiques

facon analogue a la Figure 12.2, nous pouvons modifier cet algorithme, pour prevenir les attaquessimples par canal cache. Apres simplification, nous obtenons alors l’algorithme atomique presenteen Figure 12.4-b.

Il y a bien sur encore de nombreuses variantes qui pourraient etre plus efficaces sur telle outelle architecture : appliquer notre technique permet ainsi a chacun de trouver le meilleur blocatomique sur un composant donne. Les algorithmes proteges ainsi obtenus ont de facon notablela meme complexite (en temps d’execution et en memoire consommee) que leur version nonprotegee.

12.4 Atomicite et courbes elliptiques

Notre methodologie s’applique virtuellement a tout algorithme. Nous montrons ainsi danscette section comment l’adapter au contexte de la cryptographie sur courbes elliptiques [BSS99].Deux categories de courbes elliptiques sont communement utilisees [P1363] : les courbes ellip-tiques sur un corps premier et les courbes elliptiques non-supersingulieres sur un corps binaire.

L’operation de base sur les courbes elliptiques consiste a calculer le multiple d’un point, c’est-a-dire, etant donne un point P1 sur une courbe elliptique, a calculer Pd = dP1. Pour simplifiernotre presentation, nous supposons que ceci est fait grace a la version additive de l’algorithmebinaire d’exponentiation (appelee en anglais l’algorithme double-and-add). Cette methode estdiscutee dans [Gor98]. D’autres methodes de multiplication scalaire d’un point, plus complexesmais plus rapides, pourraient egalement etre rendues sures contre les attaques simples grace al’atomicite.

12.4.1 Courbes elliptiques definies sur un corps premier

Considerons la courbe elliptique E definie sur un corps premier Fp (avec p > 3), donnee parl’equation de Weierstraß

E/Fp: y2 = x3 + ax+ b .

Pour eviter les inversions dans le corps, les coordonnees Jacobiennes sont en general utili-sees [P1363] pour representer les points sur E . Avec les coordonnees Jacobiennes, le doublementd’un P1 est 2(X1, Y1, Z1) = (X3, Y3, Z3), ou

X3 = M2 − 2S, Y3 = M(S −X3)− T, Z3 = 2Y1Z1

avec M = 3X21 + aZ4

1 , S = 4X1Y21 et T = 8Y 4

1 . La somme de deux points distincts P1 =(X1, Y1, Z1) et P2 = (X2, Y2, Z2) est (X3, Y3, Z3), ou

X3 = W 3 − 2U1W2 +R2,

Y3 = −S1W3 +R(U1W

2 −X3), Z3 = Z1Z2W

avec U1 = X1Z22 , U2 = X2Z

21 , S1 = Y1Z

32 , S2 = Y2Z

31 , W = U1 − U2 et R = S1 − S2.

Nous utiliserons l’approche explicite de l’atomicite. Nous referons le lecteur a l’annexe denotre publication [CCJ04] ou a la these de Mathieu Ciet [Cie03] pour les formules detailleesconduisant a l’expression du bloc atomique γk comme la ligne correspondante de la matrice

135

Chapitre 12. L’atomicite : une solution generique et peu couteuse contre la SPA

suivante :

(u∗k,l)06k62506l69

=

4 1 1 5 4 4 3 4 4 55 3 3 1 1 1 3 1 1 35 5 5 1 1 3 3 1 1 35 0 5 4 4 5 3 5 2 23 3 5 1 1 3 3 1 1 32 2 2 2 2 2 4 1 1 35 1 2 1 1 5 5 1 1 51 4 4 1 1 5 4 1 1 52 2 2 2 2 2 3 5 1 54 4 5 2 2 4 2 4 4 54 9 9 5 1 5 5 5 1 51 1 4 5 1 5 5 5 1 54 4 9 5 1 5 5 5 1 52 2 4 5 1 5 5 5 1 54 3 3 5 1 5 5 5 1 55 4 7 2 2 5 5 5 1 54 3 4 2 2 5 6 6 5 64 4 8 6 5 6 4 4 2 43 3 9 6 5 6 6 6 5 63 3 5 6 5 6 6 6 5 66 5 5 6 3 6 3 6 3 61 1 6 1 1 4 4 1 1 45 5 6 6 1 2 2 6 2 61 4 4 1 1 5 6 1 1 62 2 5 1 1 6 3 6 1 64 4 6 2 2 4 6 6 1 6

.

L’algorithme resultant est alors donne dans la figure suivante.

Entree : P1 = (X1, Y1, Z1), d = (1, dm−2, . . . , d0)2, et la matrice (u∗k,l) definie comme ci-dessusSortie : Pd = dP1

R0 ← a ; R1 ← X1 ; R2 ← Y1 ; R3 ← Z1 ; R7 ← X1 ; R8 ← Y1 ; R9 ← Z1

i← m− 2 ; s← 1tant que (i > 0)

k ← (¬s) · (k + 1)s← di · (k div 25) + (¬di) · (k div 9)Ru∗

k,0← Ru∗

k,1·Ru∗

k,2; Ru∗

k,3← Ru∗

k,4+ Ru∗

k,5

Ru∗k,6← −Ru∗

k,6; Ru∗

k,7← Ru∗

k,8+ Ru∗

k,9

i← i− s

retourne (R1, R2, R3)

Fig. 12.5 – Version atomique de l’algorithme double-and-add sur les courbes elliptiques sur Fp.

Encore une fois, il est important de noter qu’en terme de multiplications, notre algorithmeest aussi efficace que la version correspondante non protegee (voir [P1363]).

12.4.2 Courbes elliptiques definies sur un corps binaire

L’atomicite est une notion relative. Dans les exemples precedents, nous avons considerel’addition et la multiplication comme les operations de base. Nous pourrions aussi imaginerqu’une division est une operation de base ‡, par exemple si elle est calculable par une routine

‡Notons que plus les operations de base sont differentes (du point de vue des canaux caches), plus il est difficiled’exhiber un bloc atomique commun Γ .

136

12.4. Atomicite et courbes elliptiques

hardware. Nous donnons ci-dessous un tel exemple.Pour des raisons d’efficacite, il est recommande d’utiliser les coordonnees affines pour addi-

tionner les points d’une courbe elliptique definie sur un corps binaire [WMPW98]. Une courbeelliptique (non-supersinguliere) E definie sur le corps binaire F2q est donnee par l’equation deWeierstraß

E/F2q : y2 + xy = x3 + ax2 + b .

En coordonnees affines (voir [P1363]), le doublement d’un point P1 = (x1, y1) est 2(x1, y1) =(x3, y3), ou

x3 = a+ λ2 + λ, y3 = (x1 + x3)λ+ x3 + y1

avec λ = x1 + (y1/x1). La somme de deux points distincts P1 = (x1, y1) et P2 = (x2, y2) est(x3, y3), ou

x3 = a+ λ2 + λ+ x1 + x2, y3 = (x1 + x3)λ+ x3 + y1

avec λ = (y1 + y2)/(x1 + x2). Nous voyons alors clairement que le doublement et l’addition depoints peuvent etre codes de facon similaire. Ainsi, nous choisissons, dans le bloc commun Γ , desimuler en totalite un doublement ou une addition sur une courbe elliptique (voir Figure 12.6-a).Seules, deux additions supplementaires (dans le corps) sont necessaires pour le doublement encomparaison avec la version non protegee de [P1363].

Grace a cela, un algorithme efficace protege de double-and-add peut etre deduit (voir Fi-gure 12.6-b).

Entree : (T1, T2) = P1, (T3, T4) = P2

Sortie : P1 + P2 ou 2P1

Addition : P1 ← P2 + P1 Doublement : P1 ← 2P1

T1 ← T1 + T3 (= x1 + x2) T6 ← T1 + T3 (factice)

T2 ← T2 + T4 (= y1 + y2) T6 ← T3 + T6 (= x1‡)

T5 ← T2/T1 (= λ) T5 ← T2/T1 (= y1/x1)T1 ← T1 + T5 T5 ← T1 + T5 (= λ)T6 ← T5

2 (= λ2) T1 ← T52 (= λ2)

T6 ← T6 + a (= λ2 + a) T1 ← T1 + a (= λ2 + a)T1 ← T1 + T6 (= x3) T1 ← T1 + T5 (= x3)T2 ← T1 + T4 (= x3 + y2) T2 ← T1 + T2 (= x3 + y1)T6 ← T1 + T3 (= x2 + x3) T6 ← T1 + T6 (= x1 + x3)T5 ← T5 · T6 T5 ← T5 · T6

T2 ← T2 + T5 (= y3) T2 ← T2 + T5 (= y3)

retourne (T1, T2)

Entree : P1 = (x1, y1), d = (1, dm−2, . . . , d0)2Sortie : Pd = dP1

R1 ← x1 ; R2 ← y1 ; R3 ← x1 ; R4 ← y1

i← m− 2 ; s← 1tant que (i > 0)

k ← (¬s) · (k + 1) ; s← k ∨ (¬di)R6−5k ← R1 + R3 ; R6−4k ← R3−k + R6−2k

R5 ← R2/R1

R5−4k ← R1 + R5

R1+5k ← R52

R1+5k ← R1+5k + aR1 ← R1 + R5+k

R2 ← R1 + R2+2k ; R6 ← R1 + R6−3k

R5 ← R5 ·R6 ; R2 ← R2 + R5

i← i− s

retourne (R1, R2)

(a) Addition et doublement †† (b) Version atomique du double-and-addsur courbes elliptiques sur F2q . pour courbes elliptiques sur F2q .

Fig. 12.6 – Algorithmes sur courbes elliptiques sur F2q .

‡Nous avons T6 = x1 car nous sommes sur un corps binaire, et donc 2 T3 = 0.††Pour sauver un registre, nous utilisons la commutativite en calculant P1 ← P2 + P1 au lieu de P1 ← P1 + P2

lors de l’addition sur courbe elliptique.

137

Chapitre 12. L’atomicite : une solution generique et peu couteuse contre la SPA

12.5 Version atomique de l’exponentiation MIST

Pour finir ce chapitre, nous donnons une version atomique de l’algorithme MIST, propose parColin Walter [Wal02]. MIST est un algorithme d’exponentiation a execution aleatoire pour pre-venir des attaques differentielles (voir egalement le Chapitre 13 consacre a ce sujet). Cependant,tel qu’il est presente dans [Wal02], l’algorithme MIST pourrait etre attaque par analyse simplede canal cache. Nous donnons dans cette section une version atomique de MIST prevenant lesattaques simples par canaux caches comme une illustration supplementaire de la generalite denotre methodologie pour prevenir ces attaques.

Pour cela, nous utilisons les matrices suivantes :

(Fδ,r)26δ6506r64

=

0 1 ? ? ?3 5 8 ? ?? ? ? ? ?11 14 18 22 26

et (Gk,l)06k62906l64

=

0BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@

1 1 1 1

1 3 3 01 1 1 1

1 1 2 01 2 1 1

1 1 2 01 3 3 01 2 1 1

1 1 2 02 3 3 01 2 1 1

1 1 2 01 2 1 01 2 1 1

1 1 2 01 3 3 01 2 1 01 2 1 1

1 1 2 02 3 3 01 2 1 01 2 1 1

1 1 2 01 2 1 01 3 3 01 2 1 1

1 1 2 02 2 2 02 3 3 01 2 1 1

1CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCA

.

Pour eviter une reecriture des registres, la chaıne de division correspondant a une pairediviseur/reste [2, 1] a ete remplacee par (133), (111). La version originale de MIST utilise aucontraire la sous-chaıne (112), (133) et une copie de registres (voir [Wal02, Table 3.1]).

A nouveau, nous supposons dans cette section que toutes les operations utilisees sont equi-valentes en canal cache (et si ce n’est pas le cas, le sont rendues par une emulation software).

138

12.6. Conclusion

L’algorithme MIST peut alors se reecrire dans une forme atomique comme suit.

Entree : x, d = (dm−1, . . . , d0)2, et les matrices (Fδ,r) et (Gk,l)

Sortie : y = xd

R1 ← x ; R3 ← 1 ; i← 0 ; s← 1tant que (d > 0)

ρ←R 2, 3, 5δ ← ¬s · δ + s · ρr ← d mod δk ← ¬s · (k + 1) + s · Fδ,r

(u1, u2, u3, s)← (Gk,0, Gk,1, Gk,2, Gk,3)Ru3 ← Ru1 ·Ru2

d← ¬s · d + s · (d div δ)

retourne R3

Fig. 12.7 – Exponentiation MIST en version atomique.

12.6 Conclusion

Ce chapitre a introduit la notion d’atomicite. Grace a cela, nous avons propose de nouvellessolutions permettant de resister aux attaques simples a canaux caches. Les solutions proposeessont generiques et s’appliquent a une large variete de systeme cryptographiques. En particulier,l’atomicite s’applique aux systemes bases sur les exponentiations (ou sur les multiplicationsscalaires pour les groupes additifs) pour lesquels elle conduit a des algorithmes proteges qui onta peu pres la meme efficacite que leur version naıve (c’est-a-dire non protegee). Finalement, ilpeut etre note que notre methodologie se combine tres bien avec les contre-mesures contre lesautres types d’attaques par canaux caches, et notamment les attaques differentielles.

Depuis sa parution, notre technique a ete reprise dans de nombreuses publications, aussi bienpour l’adapter a d’autres algorithmes que pour l’appliquer dans le monde meme de la conceptionsure des circuits ou encore pour la comparer a de nouvelles approches [Kum04, KS04, BP05,OTV05a, OTV05b, DIM05].

139

Chapitre 12. L’atomicite : une solution generique et peu couteuse contre la SPA

140

Chapitre 13

Exponentiation intrinsequementprotegee contre la DPA

Sommaire

13.1 Exponentiation intrinsequement aleatoire . . . . . . . . . . . . . . . . . 143

13.1.1 Algorithmes classiques d’exponentiation . . . . . . . . . . . . . . . . . . . 143

13.1.2 Principe general . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

13.2 Algorithmes basiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

13.2.1 Premier algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144

13.2.2 Second algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146

13.3 Algorithmes avances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

13.3.1 Atomicite face aux attaques simples a canaux caches . . . . . . . . . . . . 147

13.3.2 Reversibilite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148

13.3.3 Optimisations supplementaires . . . . . . . . . . . . . . . . . . . . . . . . 150

13.3.4 Temps moyen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

13.4 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151

Depuis l’invention de la cle publique par Whitfield Diffie et Martin Hellman [DH76],de nombreux cryptosystemes ont ete proposes. Parmi ceux qui ont resiste a la cryptanalyse, lecryptosysteme RSA est sans doute celui qui est le plus largement utilise. Sa securite repose surla difficulte du probleme de la factorisation de grands entiers. Malgre de nombreuses anneesde recherche, ce probleme est toujours considere comme difficile, faisant du RSA un algorithmetout a fait adapte aux applications sensibles comme le chiffrement de donnees ou la signaturenumerique [PKCS1].

Plutot que de chercher a casser le cryptosysteme RSA au niveau mathematique, certainscryptographes ont alors oriente leurs recherches vers les mises en œuvre concretes du RSA.Ceci a alors donne naissance aux attaques par fautes [BDL01] et aux attaques par canauxcaches [Koc96, KJJ99]. Ces attaques ont alors profondement modifie la facon dont les algorithmescryptographiques devaient etre codes.

Une regle generale pour prevenir des attaques dues a une mauvaise mise en œuvre logicielleconsiste a rendre les valeurs internes de l’algorithme le plus aleatoire possible. Dans le cas ducryptosysteme RSA, il y a ainsi deux facons de rendre aleatoire le calcul de y = xd mod n. Il estpossible :

1. de rendre aleatoires les entrees avant l’algorithme d’exponentiation [Koc96] ; par exemple,en utilisant

141

Chapitre 13. Exponentiation intrinsequement protegee contre la DPA

(a) x← x+ r1 n pour un alea r1 de k bits

(b) d← d+ r2 φ(n) pour un alea r2 de k bits

et en evaluant alors y comme y = y mod n avec y = xd mod 2kn ;

2. de rendre aleatoire l’algorithme d’exponentiation lui-meme (a la facon de [Wal02] oude [MDS99], par exemple).

La premiere approche, discutee notamment par Paul Kocher (voir [Koc96, Section 10]),presente l’avantage d’etre independante de la methode d’exponentiation ‡. Malheureusement,un tel masquage de l’exposant d est limite aux mises en œuvre du RSA basees sur le theoremedes restes chinois (CRT) [QC82], comme l’ordre du groupe φ(n) est habituellement inconnu lorsd’une exponentiation privee en mode standard (c’est-a-dire sans CRT) ††.

Le meilleur exemple de la seconde approche est sans doute l’algorithme MIST, propose parColin Walter [Wal02] — voir egalement la version atomique de MIST que nous avons proposeeSection 12.5. MIST a ete concu pour generer aleatoirement une chaıne de division correspondanta l’exposant d, de facon a calculer xd mod n de facon aleatoire. Pour minimiser le nombrede registres utilises, cette chaıne est calculee dynamiquement via une adaptation d’un autrealgorithme d’exponentiation base sur les chaınes de division [Wal98]. Un autre exemple estla version amelioree de l’algorithme a fenetre glissante proposee dans [IYTT02]. La secondeapproche permet de rendre aleatoire l’algorithme d’exponentiation sans la connaissance de φ(n),mais necessite, pour nos exemples, un algorithme de division sur contre les attaques a canauxcaches ou un algorithme plus complexe.

Ce chapitre introduit une nouvelle methode pour rendre aleatoire une exponentiation, dansle but de prevenir des attaques differentielles (en anglais, Differential Power Analysis, DPA)[KJJ99], combinant les avantages des deux approches. Comme dans la premiere approche, notremethode ne requiert pas une methode d’exponentiation particuliere. Comme dans la secondeapproche, c’est l’algorithme lui-meme qui est la source de l’execution aleatoire (en particulier,notre methode ne necessite pas la connaissance prealable de l’ordre du groupe φ(n) ni celle del’exposant publique e dans les exponentiations privees RSA).

Nous introduisons ainsi le concept d’algorithme d’exponentiation intrinsequement aleatoire(en anglais, self-randomized exponentiation), signifiant par la que l’exposant d est lui-memeutilise comme une source d’entropie. Notre methode necessite seulement que les bits de l’ex-posant prive soient utilises de la valeur la plus significative a la valeur la moins significative(c’est-a-dire de la gauche vers la droite) et s’applique ainsi a la plupart des algorithmes d’expo-nentiation [MOV97, Chapitre 14]. Notre methode peut etre combinee avec la plupart des autrescontre-mesures, telle que le masquage de l’exposant prealablement a l’exponentiation. Finale-ment, notre methode n’est pas restreinte aux exponentiations de type RSA et s’applique toutautant aux autres groupes tels que le groupe des points d’une courbe elliptique sur un corpspremier [Kob87, Mil85].

Ce chapitre a fait l’objet d’une publication a la conference Ct-rsa ’04 [Che04].

‡Par methode, nous entendons ici l’algorithme mathematique — tel que l’algorithme binaire ou l’algorithmede la fenetre glissante.

††Lorsque l’exposant publique e est connu et n’est pas trop grand, il est egalement possible de rendre aleatoirel’exposant prive par la formule d ← d + r(ed − 1). Malheureusement, dans la plupart des cas pratiques, e estinconnu (c’est-a-dire n’est pas mis a la disposition de la routine d’exponentiation, car il n’est pas necessaire aucalcul).

142

13.1. Exponentiation intrinsequement aleatoire

13.1 Exponentiation intrinsequement aleatoire

13.1.1 Algorithmes classiques d’exponentiation

Il existe principalement deux familles d’exponentiations pour calculer la valeur y = xd mod n,suivant la direction dans laquelle les bits de l’exposant d sont parcourus. Ce chapitre ne concerneque les algorithmes gauche-droite (c’est-a-dire parcourant d du bit le plus significatif au bit lemoins significatif), incluant l’algorithme binaire d’exponentiation et ses variantes sur ω bits,l’algorithme de fenetre glissante (voir [MOV97, Chapitre 14]). Les algorithmes gauche-droitenecessitent moins de memoire que les algorithmes droite-gauche, et permettent d’utiliser despetites puissances pre-calculees xi mod n pour accelerer les calculs.

13.1.2 Principe general

Soit d = (dl, . . . , d0)2 =∑l

i=0 di 2i, avec di ∈ 0, 1, la representation binaire de l’exposantd. Definissons

dk→j = (dk, . . . , dj)2 =∑

k>i>j

di 2i−j .

Les algorithmes gauche-droite ont la propriete commune d’utiliser un registre (appele souventaccumulateur) tout au long du calcul pour stocker la valeur xdl→i mod n pour des valeurs de-croissantes de i, jusqu’a ce que, finalement, l’accumulateur contienne y = xdl→0 = xd mod n.

Par exemple, l’algorithme binaire d’exponentiation (voir Figure 12.1) utilise la relation derecurrence

xdl→i = (xdl→i+1)2 · xdi

avec xdl→l = xdl . Ainsi, dans la Figure 12.1, l’accumulateur R0 contient a l’etape i la valeurxdl→i .

D’apres des idees anterieures [CJRR99, CJ01], nous utilisons un decoupage additif de l’ex-posant, de la forme

xd = xd−a · xa

pour un alea a, comme un moyen de masquer l’exposant d. Une application simple de cette tech-nique serait inefficace, car le temps d’execution serait approximativement double, pour calculerxd−a et xa.

L’idee principale que nous proposons dans ce chapitre consiste a prendre (une partie de) dcomme source d’entropie. Ainsi, l’alea a dans le decoupage ci-dessus est choisi egal a dl→i, pourun indice aleatoire i. Comme la valeur xd→i est directement disponible dans l’accumulateur, lesurcout de notre technique n’est que d’une multiplication par tel decoupage.

Il y a differentes facons d’appliquer notre idee, les sections suivantes vont les decrire.

143

Chapitre 13. Exponentiation intrinsequement protegee contre la DPA

13.2 Algorithmes basiques

13.2.1 Premier algorithme

Notre premier algorithme repose sur la simple observation que, pour tout l > ij > 0, nousavons

xd = xdl→0

= xdl→0−dl→i1 · xdl→i1

= x(dl→0−dl→i1)−dl→i2 · xdl→i1 · xdl→i2

= . . .

= x(((dl→0−dl→i1

)−dl→i2)−dl→i3

)···−dl→if · xdl→i1 · xdl→i2 · xdl→i2 · · ·xdl→if .

Si les ij sont choisis aleatoirement, le processus d’exponentiation deviendra probabiliste, dansle sens que la facon d’arriver au resultat (ce que nous appelons parfois le chemin d’exponentia-tion) sera variable. Pour cela, nous definissons un Booleen ρ pour determiner si l’indice courantde la boucle i appartient a l’ensemble i1, . . . , if. Si c’est le cas, alors l’exposant d est remplacepar d− dl→ij . Ceci est illustre dans la figure suivante, dans laquelle la partie grisee corresponda la valeur modifiee, et donc rendue variable.

d

d− dl→ij

ijl 0

dl→ij

dl→ij

dl→ij

dij−1→0

Fig. 13.1 – Masquage de l’exposant d (I).

Tout comme dans l’algorithme classique binaire d’exponentiation gauche-droite, un accumu-lateur R0 est utilise pour contenir la valeur xdl→i . Nous utilisons egalement un second registreR1 pour garder la valeur correspondant a

∏ij>i x

dl→ij . Pour s’assurer du fonctionnement duprocessus, les etapes de decoupage d ← d − dl→ij ne doivent pas modifier les (l − ij + 1) bitsles plus significatifs de d (c’est-a-dire dl→ij ).

‡ Cette derniere condition (appelee dans la suitecondition de consistance) est garantie en verifiant que dij−1→0 > dl→ij (voir Figure 13.1).

Appliquee a l’algorithme binaire d’exponentiation gauche-droite, nous obtenons alors l’algo-rithme decrit a la Figure 13.2.

Remarque 2. A l’etape i = ij , la phase de rafraıchissement d ← d − dl→i ne modifie pas les(l − i + 1) bits les plus significatifs de d, elle pourrait donc tout autant etre remplacee pardi−1→0 ← di−1→0 − dl→i.

Analyse. Nous remarquons que l’etape de decoupage additif (c’est-a-dire d← d−dl→ij ) modifieles (l − ij + 1) bits les moins significatifs de d. Avec la condition de consistance (c’est-a-diredij−1→0 > dl→ij ), ceci implique que seulement la moitie basse environ de l’exposant d est renduealeatoire. Pour le cryptosysteme RSA avec un exposant public petit, ce n’est pas un probleme,

‡Graphiquement, il faut que la partie grisee n’empiete pas au dela de l’indice ij .

144

13.2. Algorithmes basiques

Entree : x, d = (dl, . . . , d0)2Sortie : y = xd

R0 ← 1; R1 ← 1; R2 ← x; i← ltant que (i > 0)

R0 ← R0 ·R0

si (di = 1) alors R0 ← R0 ·R2

ρ←R 0, 1si ((ρ = 1) ∧ (di−1→0 > dl→i))

d← d− dl→i

R1 ← R1 ·R0

i← i− 1R0 ← R0 ·R1

retourne R0

Fig. 13.2 – Algorithme intrinsequement aleatoire (I).

car la moitie la plus significative de l’exposant prive d est connue d’apres la cle publique [Bon99,Section 4.5].

Une variante simple. La methode precedente peut etre generalisee en :

d← d− g · dl→ij

pour un alea g tel que dij−1→0 > g · dl→ij . Le second registre (R1 dans la Figure 13.2) peutalors etre calcule comme R1 ← R1 · R0

g mod N . Les valeurs les plus interessantes sont de typeg = 2τ , comme l’operation g · dl→ij est alors effectuee par un simple decalage et le calcul deR0

g mod N ne necessite que τ mises au carre. Encore une fois, avec l’exemple de l’algorithmebinaire d’exponentiation gauche-droite, nous obtenons :

Entree : x, d = (dl, . . . , d0)2Sortie : y = xd

R0 ← 1; R1 ← 1; R2 ← x; i← ltant que (i > 0)

R0 ← R0 ·R0

si (di = 1) alors R0 ← R0 ·R2

ρ←R 0, 1; τ ←R 0, . . . , Tsi ((ρ = 1) ∧ (di−1→τ > dl→i))

di−1→τ ← di−1→τ − dl→i

R3 ← R0

tant que (τ > 0) R3 ← R3

2; τ ← τ − 1R1 ← R1 ·R3

i← i− 1R0 ← R0 ·R1

retourne R0

Fig. 13.3 – Algorithme intrinsequement aleatoire (I’).

145

Chapitre 13. Exponentiation intrinsequement protegee contre la DPA

Notons qu’a l’etape i = ij , la condition de consistance di−1→0 > 2τ dl→i est remplacee par letest plus efficace di−1→τ > dl→i et que la phase de decoupage d← d− 2τ dl→i est remplacee pardl→τ ← dl→τ − dl→i ⇔ di−1→τ ← di−1→τ − dl→i, comme mentionne dans la Remarque 2.

La borne T doit etre choisie pour offrir un bon compromis entre l’entropie apportee sur lesbits de d et la perte d’efficacite de l’algorithme due aux τ mises au carre, pour un τ choisialeatoirement dans 0, . . . , T.

13.2.2 Second algorithme

Notre premier algorithme (Figure 13.2) ne rend aleatoire que la partie inferieure des bitsde l’exposant d par d ← d − dl→ij ; la condition de consistance impose en effet un masque dedemie-taille. Dans le but de masquer tout l’exposant d, nous utilisons l’astuce suivante

dl→ij−cj= (dl→ij−cj

− dl→ij ) + dl→ij

pour tout ij > cj > 0. En fait, nous appliquons successivement la methode du premier algorithmeau sous-exposant dl→ij−cj

‡. De plus, pour eviter l’utilisation d’un registre supplementaire, nousn’effectuons qu’un decoupage a la fois. En d’autres termes, si nous rafraıchissons l’exposant dcomme decrit dans la figure suivante

l

d

ij − cj

d

dl→ij−cj− dl→ij

ij 0

dl→ij

dl→ij

dl→ij−cj

dl→ij

dij−1→ij−c

Fig. 13.4 – Masquage de l’exposant d (II).

une nouvelle etape de decoupage de l’exposant d sera impossible tant que le calcul xdl→ij−cj modn ne sera pas acheve. Un semaphore σ est pour cela utilise, pour savoir si un decoupage estpermis ou non.

Sur la Figure 13.4, nous observons que les (l−ij +1) bits les plus significatifs de d (c’est-a-diredl→ij ) restent inchanges apres le decoupage si

dij−1→ij−cj > dl→ij ,

(ij − 1)− (ij − cj) > l − ij ⇐⇒ cj > l − ij + 1 .

Nous definissons cj = l− ij + 1 + νj pour un entier positif νj . Avec la condition ij > cj > 0, ceciimplique que 2ij > l + 1 + νj .

Remarque 3. Si νj est egal a 0, la condition de consistance (c’est-a-dire dij−1→ij−cj > dl→ij )est satisfaite la moitie du temps, en supposant que dij−1→ij−cj et dl→ij se comportent comme

‡Notre premier algorithme correspond au cas cj = ij ,∀j.

146

13.3. Algorithmes avances

des aleas de (l − ij + 1) bits. Autrement dit, si νj = 0, la moitie du temps, la condition deconsistance n’empeche pas une eventuelle etape de decoupage. Une valeur plus grande de νj

accroıt la probabilite de remplir la condition de consistance (et donc la probabilite d’effectuer undecoupage). D’un autre cote, une telle valeur reduit egalement le nombre d’indices i satisfaisant lacondition 2ij > l+1+νj , et diminue donc l’entropie du chemin d’exponentiation de l’algorithme.

La Figure 13.5 presente l’algorithme ainsi obtenu pour l’exemple de l’algorithme binaired’exponentiation gauche-droite. Pour tout j, la valeur νj est prise egale a 0 (et ainsi cj = l−ij+1).

Entree : x, d = (dl, . . . , d0)2Sortie : y = xd

R0 ← 1; R1 ← 1; R2 ← xi← l; c← −1; σ ← 1tant que (i > 0)

R0 ← R0 ·R0

si (di = 1) alors R0 ← R0 ·R2

si ((2i > l + 1) ∧ (σ = 1)) alors c← l − i + 1 [‡]sinon σ ← 0

ρ←R 0, 1ε← ρ ∧ (di−1→i−c > dl→i) ∧ σsi (ε = 1)

R1 ← R0; σ ← 0di−1→i−c ← di−1→i−c − dl→i

si (c = 0)

R0 ← R0 ·R1; σ ← 1c← c− 1; i← i− 1

retourne R0

Fig. 13.5 – Algorithme intrinsequement aleatoire (II).

13.3 Algorithmes avances

13.3.1 Atomicite face aux attaques simples a canaux caches

Dans les versions presentees dans la section precedente, nos algorithmes utilisent de nombreuxtests dependant de bits secrets de l’exposant. Aussi, malgre leur protection contre les attaquesdifferentielles, nos algorithmes basiques sont potentiellement vulnerables a des attaques a canauxcaches simples (SPA) [KJJ99]. Cette partie est dediee a la protection contre cet autre typed’attaque.

Nous utilisons la methode des blocs atomiques, telle que decrite dans le Chapitre 12, poursupprimer ces tests, et ceci pour un cout negligeable. Nous referons le lecteur a ce chapitre pourplus d’explications sur l’atomicite, et donnons Figure 13.6, sans plus de details, une versionatomique de notre premier algorithme. Comme nous pouvons le voir, cette version ne fait plusaucun test sur les bits de l’exposant, et est donc protegee contre les attaques a canaux cachessimples, sous l’hypothese d’equivalence en canal cache des blocs atomiques.

147

Chapitre 13. Exponentiation intrinsequement protegee contre la DPA

Entree : x, d = (dl, . . . , d0)2Sortie : y = xd

R0 ← 1; R1 ← 1; R2 ← xi← l; k ← 0; ε← 0tant que (i > 0)

Rε ← R0 ·Rε+2k mod Nk ← k ⊕ (di ∧ ¬ε)d← d + dl→i − dl→i × (1 + ε)i← i− (¬k ∧ ¬ε)ρ←R 0, 1ε← ρ ∧ ¬k ∧ ¬ε ∧ (di−1→0 > dl→i)R0 ← R0 ·R1

retourne R0

Fig. 13.6 – Algorithme intrinsequement aleatoire, version atomique (I).

Une version atomique de notre second algorithme est donnee Figure 13.7. Elle repose toujourssur la meme methodologie, meme si la lecture devient plus complexe.

Entree : x, d = (dl, . . . , d0)2Sortie : y = xd

R0 ← 1; R1 ← 1; R2 ← xi← l; k ← 0; ε← 0; σ ← 1 ; c← −1tant que (i > 0)

θ ← (c = 0)R0 ← R0 ·Rθ+2k mod Nk ← k ⊕ (di ∧ ¬θ); i← i− (¬k ∧ ¬θ)σ ← (σ ∨ θ) ∧ (2i > l + 1)c← ¬σ(c− ¬k) + (l − i + 1)× σρ←R 0, 1ε← ρ ∧ ¬k ∧ σ ∧ (di−1→i−c > dl→i)σ ← σ ∧ ¬εdi−1→i−c ← di−1→i−c + dl→i − dl→i × (1 + ε)R1 ← R¬ε

retourne R0

Fig. 13.7 – Algorithme intrinsequement aleatoire, version atomique (II).

13.3.2 Reversibilite

Tout au long de cette section, nous supposons que nos algorithmes sont sans branchementsconditionnels (par exemple, en utilisant la methodologie de l’atomicite). Nous etudions alors laresistance des algorithmes contre un attaquant imaginaire, tres puissant, qui serait capable dedistinguer les multiplications modulaires effectuees. Les Algorithmes I et II impliquent quatretypes de multiplication :

S : R0 ← R0 ·R0 mod NM : R0 ← R0 ·R2 mod NC1 : R1 ← R0 ·R1 mod NC2 : R0 ← R0 ·R1 mod N

148

13.3. Algorithmes avances

selon les registres utilises dans la multiplication. En supposant qu’un tel attaquant ne fasse au-cune erreur, les Algorithmes I et II peuvent etre “inverses” pour retrouver la valeur de l’exposantd. Cet algorithme d’inversion est donne a la Figure 13.8.

Entree : L = (Ll′ , . . . , L0)Sortie : d

u← 0; d′ ← 0; i← l′

tant que (i > 0) par cas

(Li = S) : d′ ← 2d′

(Li =M) : d′ ← d′ + 1(Li = C1) : u← u + d′

i← i− 1

retourne (u + d′)

(a) Algorithme I.

Entree : L = (Ll′ , . . . , L0)Sortie : d

d′ ← 0; j ← l; i← l′

tant que (i > 0) par cas

(Li = S) : d′ ← 2d′

(Li =M) : d′ ← d′ + 1

(Li = C2) : d′ ← d′ + D[ l+j+12

]si (Li−1 = S) alors D[j]← d′; j ← j − 1i← i− 1

retourne d′

(b) Algorithme II.

Fig. 13.8 – Retrouver l’exposant d dans des algorithmes intrinsequement aleatoires, en distin-guant les multiplications utilisees.

Nous insistons sur le fait que l’hypothese de l’existence d’un tel attaquant est tres forte (etmeme sans doute non realiste sur les composants actuels), comme les diverses contre-mesureshardware ou software sont pensees pour empecher de telles distinction entre S,M et Ci. Cepen-dant, meme sous ce scenario d’attaque tres fort, l’Algorithme II peut etre legerement modifiepour rendre l’attaque impraticable.

L’Algorithme II (Figure 13.5) est construit en choisissant le parametre νj = 0 pour toutj. En fait, le parametre νj pourrait etre tout nombre positif tel que 2ij > l + 1 + νj (voir laRemarque 3). Ainsi, la plus grande valeur possible pour νj est 2ij− l−1 et ainsi, comme νj > 0,le parametre cj = l−ij +1+νj peut prendre toute valeur dans l’ensemble l−ij +1, . . . , ij. Nousgeneralisons donc notre algorithme en tirant cj dans l’ensemble l− ij +1, . . . , ij ‡ ; c’est-a-direen remplacant la ligne ‡ de la Figure 13.5 par

si ((2i > l + 1) ∧ (σ = 1)) alors c←biais l − i+ 1, i

En faisant ainsi, nous obtenons un troisieme algorithme. La version atomique correspondanteest donnee dans la Figure 13.9.

Remarque 4. La distribution des valeurs cj ne doit pas etre aleatoire, mais biaise. En effet, ilfaut favoriser les valeurs basses de cj , car une fois que cj = ij , il ne peut plus y avoir de nouveaudecoupage jusqu’a la fin de l’algorithme. Favoriser les valeurs petites de cj permet ainsi des’assurer d’un nombre minimal de decoupage de l’exposant, et donc d’une entropie suffisante.

‡Ce tirage ne doit pas etre aleatoire mais biaise, voir Remarque 4.

149

Chapitre 13. Exponentiation intrinsequement protegee contre la DPA

Entree : x, d = (dl, . . . , d0)2Sortie : y = xd mod N

R0 ← 1; R1 ← 1; R2 ← x; i← l; k ← 0; ε = 0σ ← 1 ; c← −1tant que (i > 0)

θ ← (c = 0)R0 ← R0 ·Rθ+2k mod Nk ← k ⊕ (di ∧ ¬θ); i← i− (¬k ∧ ¬θ)σ ← (σ ∨ θ) ∧ (2i > l + 1)γ ←biais l − i + 1, ic← ¬σ(c− ¬k) + γ × σρ←R 0, 1ε← ρ ∧ ¬k ∧ σ ∧ (di−1→i−c > dl→i)σ ← σ ∧ ¬εdi−1→i−c ← di−1→i−c + dl→i − dl→i × (1 + ε)R1 ← R¬ε

retourne R0

Fig. 13.9 – Algorithme intrinsequement aleatoire, version atomique (III).

En supposant qu’un attaquant puisse distinguer les multiplications, inverser l’Algorithme IIIrevient alors a executer avec succes l’algorithme suivant :

Entree : L = (Ll′ , . . . , L0)Sortie : d

d′ ← 0; j ← l; jold ← l; i← l′

tant que (i > 0) par cas

(Li = S) : d′ ← 2d′

(Li =M) : d′ ← d′ + 1

(Li = C2) : for l+j+12

6 jtry 6 jold, try d′ ← d′ + D[jtry] ; jold ← jsi (Li−1 = S) alors D[j]← d′; j ← j − 1i← i− 1

retourne d′

Fig. 13.10 – Recherche exhaustive sur l’Algorithme III.

Comme l’attaquant ne connaıt pas les valeurs des aleas cj choisis dans l’ensemble l −ij + 1, ij, il doit essayer toutes ces valeurs. Une telle recherche exhaustive devient rapidementimpraticable, rendant ainsi notre algorithme sur meme contre cet attaquant tres puissant.

13.3.3 Optimisations supplementaires

La frequence avec laquelle le Booleen ρ = 1 peut etre vue comme un parametre pour choisirle meilleur compromis entre la performance et la securite.

Un autre moyen pour minimiser le cout des operations supplementaires serait de legerementmodifier le generateur d’aleas qui permet de tirer ρ, de telle facon que, si le poids de Hamming ded− a (a pouvant avoir plusieurs definitions, suivant l’Algorithme I, II, ou III) est plus petit que

150

13.4. Conclusion

le poids de Hamming de d, ρ a une plus grande probabilite de valoir 1. Grace a cette technique,nos algorithmes intrinsequement aleatoires tendraient a selectionner le cas ayant le plus petitpoids de Hamming, c’est-a-dire la branche la plus rapide. Bien sur, l’algorithme ne doit pas tropfausser l’alea ρ, car sinon, l’algorithme deviendrait deterministe, reversible et potentiellementsusceptibles aux attaques differentielles.

13.3.4 Temps moyen

Dans la table suivante, nous donnons la complexite des differents algorithmes, en terme demultiplications.

Tab. 13.1 – Nombre moyen de multiplications modulaires pour calculer une exponentiation delongueur 1024.

S, M, C1, C2Alg. binaire Nos algorithmes

naıf avec masquage ‡ (I) (II) (III)Multiplications 1536 1536 + 96 1536 + 512× ρ 1536 + 10 1536 + 10

Le surcout des Algorithmes II et III (10 multiplications) correspond en fait a une bornesuperieure de log2 log2 d. C’est une tres petite quantite mais elle apporte une entropie suffisante :le nombre possible de facon d’operer les decoupages pour un exposant donne est superieur a(

10512

)> 264.

13.4 Conclusion

Ce chapitre a introduit le concept d’exponentiation intrinsequement aleatoire comme unmoyen efficace de se premunir des attaques differentielles. Trois algorithmes (et leur varianteprotegee egalement contre les attaques simples) ont ete decrits.

Notre methodologie presente les avantages suivants :– elle est flexible, au sens ou elle n’est pas limitee a une methode d’exponentiation particu-

liere ;– elle est ajustable : un parametre de securite permet de definir le meilleur compromis entre

la securite et les performances ;– elle peut etre combinee avec la plupart des autres contre-mesures ;– elle est peu couteuse en memoire, car seul un registre supplementaire est necessaire ;– elle est generique, c’est-a-dire ne repose pas sur des proprietes particulieres du groupe ;– elle ne necessite pas la connaissance prealable de l’ordre du groupe dans lequel les expo-

nentiations sont effectuees.De plus, la notion de reversibilite a ete definie et une construction concrete resistante a ete

proposee.

‡Par “avec masquage”, nous entendons l’utilisation de d comme explique dans l’introduction, avec un alea r2

de 64 bits.

151

Chapitre 13. Exponentiation intrinsequement protegee contre la DPA

152

Conclusion generale

153

Resume et recherches futures

Dans cette these, nous avons expose nos recherches suivant deux axes, representatifs destravaux effectues durant ces trois annees au sein de Gemplus/Gemalto et de l’Ecole normalesuperieure.

Le premier axe de nos recherches a ete la conception de schemas cryptographiques a clepublique avec preuves de securite. Nous avons ainsi rappele le principe des reductions de securite,puis donne un etat de l’art des schemas de signature et de chiffrement. Ensuite, nous avons exposede nouvelles constructions.Concernant les schemas de signature, nous avons propose :

– une heuristique pour concevoir des schemas de signature a coupons, avec reduction finedans le modele de l’oracle aleatoire (Chapitre 5) ;

– un schema de signature a coupons base sur le probleme RSA, avec reduction fine dans lemodele de l’oracle aleatoire (Section 5.2) ;

– un schema de signature a coupons base sur le probleme CDH, avec reduction fine dans lemodele de l’oracle aleatoire (Chapitre 6) ;

– un schema de signature a coupons base sur le probleme FlexibleRSA, avec reduction finedans le modele standard (Chapitre 7).

Concernant les schemas de chiffrement, nous avons decrit :– un schema de chiffrement base sur un nouveau probleme, appele le probleme de la classe

Diffie-Hellman (Chapitre 9) ;– un schema de chiffrement base sur l’identite avec une preuve fine, continuant ainsi le travail

de Jonathan Katz et Nan Wang (Chapitre 10) ;– une fonction de padding universel optimale en bande passante, dans le modele de la per-

mutation aleatoire (Chapitre 11).

Un second axe de recherches a ete la protection des composants cryptographiques (et notam-ment des cartes a puces) contre les attaques physiques. Dans ce manuscrit, nous nous sommesconcentres sur les protections contre les attaques par canaux caches. Nous avons ainsi expose :

– l’atomicite, une methode tres efficace pour se proteger des attaques simples par canauxcaches (Chapitre 12) ;

– le concept des exponentiations intrinsequement aleatoires, comme une protection efficacecontre les attaques differentielles par canaux caches (Chapitre 13).

Ces trois annees de recherches nous ont permis d’avoir une vue plus precise de la crypto-graphie a cle publique, du niveau le plus applique (la protection physique des composants cryp-tographiques) aux concepts memes de la cryptographie asymetrique (la definition de nouveauxschemas cryptographiques et la preuve de leur securite).

Nous esperons que la suite de nos recherches nous permettra d’avoir une vue semblable surla cryptographie symetrique.

155

Resume et recherches futures

156

Bibliographie

[ACF+05] Nuttapong Attrapadung, Benoıt Chevallier-Mames, Jun Furukawa, Ta-keshi Gomi, Goichiro Hanaoka, Hideki Imai et Rui Zhang. Efficient identity-based encryption with tight security reduction. Cryptology ePrint Archive, Re-port 2005/320, 2005.

[BB04] Dan Boneh et Xavier Boyen. Short signatures without random oracles. DansAdvances in Cryptology – EUROCRYPT 2004, volume 3027 de Lecture Notes inComputer Science, pages 56–73. Springer-Verlag, 2004.

[BCCC06] Eric Brier, Benoıt Chevallier-Mames, Mathieu Ciet et Christophe Clavier.Why one should secure its public elements. Dans Cryptographic Hardware andEmbedded Systems – CHES 2006, Lecture Notes in Computer Science. Springer-Verlag, 2006. A paraıtre.

[BD06] Tor E. Bjørstad et Alexander W. Dent. Building better signcryption schemeswith tag-KEMs. Dans Public Key Cryptography – PKC 2006, volume 3958 deLecture Notes in Computer Science, pages 491–507. Springer-Verlag, 2006.

[BDL01] Dan Boneh, Richard A. DeMillo et Richard Lipton. On the importanceof eliminating errors in cryptographic computations. Journal of Cryptology,14(2):101–119, 2001.

[BDL97] Dan Boneh, Richard A. DeMillo et Richard Lipton. On the importance ofchecking cryptographic protocols for faults (extended abstract). Dans Advancesin Cryptology – EUROCRYPT ’97, volume 1233 de Lecture Notes in ComputerScience, pages 37–51. Springer-Verlag, 1997.

[BDPR98] Mihir Bellare, Anand Desai, David Pointcheval et Phillip Rogaway. Re-lations among notions of security for public-key encryption schemes. Dans Ad-vances in Cryptology – CRYPTO ’98, volume 1462 de Lecture Notes in ComputerScience, pages 26–45. Springer-Verlag, 1998.

[BF01] Dan Boneh et Matthew K. Franklin. Identity-based encryption from the Weilpairing. Dans Advances in Cryptology – CRYPTO 2001, volume 2139 de LectureNotes in Computer Science, pages 213–229. Springer-Verlag, 2001.

[BF03] Dan Boneh et Matthew K. Franklin. Identity-based encryption from the Weilpairing. SIAM Journal on Computing, 32(3):586–615, 2003.

[BNPS03] Mihir Bellare, Chanathip Namprempre, David Pointcheval et Michael Se-manko. The one-more-RSA-inversion problems and the security of Chaum’sblind signature scheme. Journal of Cryptology, 16(3):185–215, 2003.

[Bon99] Dan Boneh. Twenty years of attacks on the RSA cryptosystem. Notices of theAMS, 46(2):203–209, 1999.

157

Bibliographie

[BP05] Manuel Barbosa et Dan Page. On the automatic construction of indistingui-shable operations. Dans Cryptography and Coding – IMA 2005, volume 3796 deLecture Notes in Computer Science, pages 233–247. Springer-Verlag, 2005.

[BP97] Niko Baric et Birgit Pfitzmann. Collision-free accumulators and fail-stopsignature schemes without trees. Dans Advances in Cryptology – EURO-CRYPT ’97, volume 1233 de Lecture Notes in Computer Science, pages 480–494.Springer-Verlag, 1997.

[BR93] Mihir Bellare et Phillip Rogaway. Random oracles are practical: a para-digm for designing efficient protocols. Dans ACM Conference on Computer andCommunications Security – ACM CCS 1993, pages 62–73. ACM Press, 1993.

[BR94] Mihir Bellare et Phillip Rogaway. Optimal asymmetric encryption. DansAdvances in Cryptology – EUROCRYPT ’94, volume 839 de Lecture Notes inComputer Science, pages 92–111. Springer-Verlag, 1994.

[BR96] Mihir Bellare et Phillip Rogaway. The exact security of digital signatures- How to sign with RSA and Rabin. Dans Advances in Cryptology – EURO-CRYPT ’96, volume 1070 de Lecture Notes in Computer Science, pages 399–416.Springer-Verlag, 1996.

[BSS99] Ian F. Blake, Gadiel Seroussi et Nigel P. Smart. Elliptic Curves in Crypto-graphy. Cambridge University Press, 1999.

[CCJ04] Benoıt Chevallier-Mames, Mathieu Ciet et Marc Joye. Low-cost solutionsfor preventing simple side-channel analysis: side-channel atomicity. IEEE Tran-sactions on Computers, 53(6):760–768, 2004.

[CD96] Ronald Cramer et Ivan Damgard. New generation of secure and practicalRSA-based signatures. Dans Advances in Cryptology – CRYPTO ’96, volume1109 de Lecture Notes in Computer Science, pages 173–185. Springer-Verlag,1996.

[CFGP06] Olivier Chevassut, Pierre-Alain Fouque, Pierrick Gaudry et David Point-cheval. The twist-augmented technique for key exchange. Dans Public KeyCryptography – PKC 2006, volume 3958 de Lecture Notes in Computer Science,pages 410–426. Springer-Verlag, 2006.

[CG05] Dario Catalano et Rosario Gennaro. Cramer-Damgard signatures revisited:efficient flat-tree signatures based on factoring. Dans Public Key Cryptography –PKC 2005, volume 3386 de Lecture Notes in Computer Science, pages 313–327.Springer-Verlag, 2005.

[CGH98] Ran Canetti, Oded Goldreich et Shai Halevi. The random oracle metho-dology, revisited (preliminary version). Dans ACM Symposium on the Theory ofComputing – STOC ’98, pages 209–218. ACM Press, 1998.

[Che04] Benoıt Chevallier-Mames. Self-randomized exponentiation algorithms. DansTopics in Cryptology – CT-RSA 2004, volume 2964 de Lecture Notes in ComputerScience, pages 236–249. Springer-Verlag, 2004.

[Che05a] Benoıt Chevallier-Mames. An efficient CDH-based signature scheme with atight security reduction. Dans Advances in Cryptology – CRYPTO 2005, volume3621 de Lecture Notes in Computer Science, pages 511–526. Springer-Verlag,2005. Version complete disponible sur le serveur Cryptology ePrint Archive,rapport 2005/035.

158

[Che05b] Benoıt Chevallier-Mames. New signature schemes with coupons and tightreduction. Dans Applied Cryptography and Network Security – ACNS 2005,volume 3531 de Lecture Notes in Computer Science, pages 513–528. Springer-Verlag, 2005.

[Cie03] Mathieu Ciet. Aspects of fast and secure arithmetics for elliptic curve crypto-graphy. PhD thesis, Universite catholique de Louvain, Louvain, 2003.

[CJ01] Christophe Clavier et Marc Joye. Universal exponentiation algorithm. DansCryptographic Hardware and Embedded Systems – CHES 2001, volume 2162 deLecture Notes in Computer Science, pages 300–308. Springer-Verlag, 2001.

[CJ02] Benoıt Chevallier-Mames et Marc Joye. Procede cryptographique protegecontre les attaques de type a canal cache. Demande de brevet francais, FR28 38 210, Avril 2002.

[CJ07] Benoıt Chevallier-Mames et Marc Joye. A practical and tightly secure signa-ture scheme without hash function. Dans Topics in Cryptology – CT-RSA 2007,Lecture Notes in Computer Science. Springer-Verlag, 2007. A paraıtre.

[CJNP02] Jean-Sebastien Coron, Marc Joye, David Naccache et Pascal Paillier. Uni-versal padding schemes for RSA. Dans Advances in Cryptology – CRYPTO 2002,volume 2442 de Lecture Notes in Computer Science, pages 226–241. Springer-Verlag, 2002.

[CJP03] Benoıt Chevallier-Mames, Marc Joye et Pascal Paillier. Faster double-sizemodular multiplication from Euclidean multipliers. Dans Cryptographic Hard-ware and Embedded Systems – CHES 2003, volume 2779 de Lecture Notes inComputer Science, pages 214–227. Springer-Verlag, 2003.

[CJRR99] Suresh Chari, Charanjit S. Jutla, Josyula R. Rao et Pankaj Rohatgi. To-wards sound approaches to counteract power-analysis attacks. Dans Advances inCryptology – CRYPTO ’99, volume 1666 de Lecture Notes in Computer Science,pages 398–412. Springer-Verlag, 1999.

[CL02] Jan Camenisch et Anna Lysyanskaya. A signature scheme with efficient pro-tocols. Dans Security in Communication Networks – SCN 2002, volume 2576 deLecture Notes in Computer Science, pages 268–289. Springer-Verlag, 2002.

[CLP05] Jean-Sebastien Coron, David Lefranc et Guillaume Poupard. A new baby-step giant-step algorithm and some applications to cryptanalysis. Dans Crypto-graphic Hardware and Embedded Systems – CHES 2005, volume 3659 de LectureNotes in Computer Science, pages 47–60. Springer-Verlag, 2005.

[CM04] Jean-Sebastien Coron et Alexander May. Computing the RSA secret key is de-terministic polynomial time equivalent to factoring. Cryptology ePrint Archive,Report 2004/208, 2004.

[CN00] Jean-Sebastien Coron et David Naccache. Security analysis of the Gennaro-Halevi-Rabin signature scheme. Dans Advances in Cryptology – EURO-CRYPT ’2000, volume 1807 de Lecture Notes in Computer Science, pages 91–101.Springer-Verlag, 2000.

[CNPP04] Benoıt Chevallier-Mames, David Naccache, Pascal Paillier et DavidPointcheval. How to disembed a program ? Dans Cryptographic Hardwareand Embedded Systems – CHES 2004, volume 3156 de Lecture Notes in Compu-ter Science, pages 441–454. Springer-Verlag, 2004.

159

Bibliographie

[Cor00] Jean-Sebastien Coron. On the exact security of full domain hash. Dans Advancesin Cryptology – CRYPTO 2000, volume 1880 de Lecture Notes in ComputerScience, pages 229–235. Springer-Verlag, 2000.

[Cor02] Jean-Sebastien Coron. Optimal security proofs for PSS and other signatureschemes. Dans Advances in Cryptology – EUROCRYPT ’2002, volume 2332 deLecture Notes in Computer Science, pages 272–287. Springer-Verlag, 2002.

[Cor99] Jean-Sebastien Coron. Resistance against differential power analysis for ellipticcurve cryptosystems. Dans Cryptographic Hardware and Embedded Systems –CHES ’99, volume 1717 de Lecture Notes in Computer Science, pages 292–302.Springer-Verlag, 1999.

[CP92] David Chaum et Torben P. Pedersen. Wallet databases with observers. DansAdvances in Cryptology – CRYPTO ’92, volume 740 de Lecture Notes in Com-puter Science, pages 89–105. Springer-Verlag, 1992.

[CPP05] Benoıt Chevallier-Mames, Duong Hieu Phan et David Pointcheval. Opti-mal asymmetric encryption and signature paddings. Dans Applied Cryptographyand Network Security – ACNS 2005, volume 3531 de Lecture Notes in ComputerScience, pages 254–268. Springer-Verlag, 2005.

[CPP06] Benoıt Chevallier-Mames, Pascal Paillier et David Pointcheval.Encoding-free ElGamal encryption without random oracles. Dans Public KeyCryptography – PKC 2006, volume 3958 de Lecture Notes in Computer Science,pages 91–104. Springer-Verlag, 2006.

[CS00] Ronald Cramer et Victor Shoup. Signature schemes based on the strong RSAassumption. ACM Transactions on Information and System Security (TISSEC),3(3):161–185, 2000.

[CS98] Ronald Cramer et Victor Shoup. A practical public key cryptosystem provablysecure against adaptive chosen ciphertext attack. Dans Advances in Cryptology –CRYPTO ’98, volume 1462 de Lecture Notes in Computer Science, pages 13–25.Springer-Verlag, 1998.

[CS99] Ronald Cramer et Victor Shoup. Signature schemes based on the strong RSAassumption. Dans ACM Conference on Computer and Communications Security– ACM CCS 1999, pages 46–51. ACM Press, 1999.

[DDN00] Danny Dolev, Cynthia Dwork et Moni Naor. Non-malleable cryptography.SIAM Journal on Computing, 30(2):391–437, 2000.

[DH76] Whitfield Diffie et Martin E. Hellman. New directions in cryptography. IEEETransactions on Information Theory, 22(6):644–654, 1976.

[DIM05] Vassil S. Dimitrov, Laurent Imbert et Pradeep Kumar Mishra. Efficientand secure elliptic curve point multiplication using double-base chains. DansAdvances in Cryptology – ASIACRYPT 2005, volume 3788 de Lecture Notes inComputer Science, pages 59–78. Springer-Verlag, 2005.

[DJ01] Ivan Damgard et Mats Jurik. A generalisation, a simplification and someapplications of Paillier’s probabilistic public-key system. Dans Public Key Cryp-tography – PKC 2001, volume 1992 de Lecture Notes in Computer Science, pages119–136. Springer-Verlag, 2001.

160

[DN94] Cynthia Dwork et Moni Naor. An efficient existentially unforgeable signaturescheme and its applications. Dans Advances in Cryptology – CRYPTO ’94, vo-lume 839 de Lecture Notes in Computer Science, pages 234–246. Springer-Verlag,1994.

[DR02] Yevgeniy Dodis et Leonid Reyzin. On the power of claw-free permutations.Dans Security in Communication Networks – SCN 2002, volume 2576 de LectureNotes in Computer Science, pages 55–73. Springer-Verlag, 2002.

[EGM89] Shimon Even, Oded Goldreich et Silvio Micali. On-line/off-line digitalschemes. Dans Advances in Cryptology – CRYPTO ’89, volume 435 de LectureNotes in Computer Science, pages 263–275. Springer-Verlag, 1989.

[ElG85] Taher ElGamal. A public key cryptosystem and a signature scheme based ondiscrete logarithms. IEEE Transactions on Information Theory, 31(4):469–472,1985.

[Fis03] Marc Fischlin. The Cramer-Shoup strong-RSA signature scheme revisited.Dans Public Key Cryptography – PKC 2003, volume 2567 de Lecture Notes inComputer Science, pages 116–129. Springer-Verlag, 2003.

[FMR99] Gerhard Frey, Michael Muller et Hans-Georg Ruck. The Tate pairing and thediscrete logarithm applied to elliptic curve cryptosystems. IEEE Transactionson Information Theory, 45(5):1717–1719, 1999.

[FO00] Eiichiro Fujisaki et Tatsuaki Okamoto. How to enhance the security of public-key encryption at minimum cost. IEICE Transaction of Fundamentals of Elec-tronic Communications and Computer Science, E83-A(1):24–32, 2000.

[FO97] Eiichiro Fujisaki et Tatsuaki Okamoto. Statistical zero knowledge proto-cols to prove modular polynomial relations. Dans Advances in Cryptology –CRYPTO ’97, volume 1294 de Lecture Notes in Computer Science, pages 16–30.Springer-Verlag, 1997.

[FO99] Eiichiro Fujisaki et Tatsuaki Okamoto. Secure integration of asymmetric andsymmetric encryption schemes. Dans Advances in Cryptology – CRYPTO ’99,volume 1666 de Lecture Notes in Computer Science, pages 537–554. Springer-Verlag, 1999.

[FOPS04] Eiichiro Fujisaki, Tatsuaki Okamoto, David Pointcheval et Jacques Stern.RSA-OAEP is secure under the RSA assumption. Journal of Cryptology,17(2):81–104, 2004.

[FS86] Amos Fiat et Adi Shamir. How to prove yourself: practical solutions to identi-fication and signature problems. Dans Advances in Cryptology – CRYPTO ’86,volume 263 de Lecture Notes in Computer Science, pages 186–184. Springer-Verlag, 1986.

[Gal05] David Galindo. Boneh-Franklin identity based encryption revisited. Dans Au-tomata, Languages and Programming – ICALP 2005, volume 3580 de LectureNotes in Computer Science, pages 791–802. Springer-Verlag, 2005.

[GHR99] Rosario Gennaro, Shai Halevi et Tal Rabin. Secure hash-and-sign signatureswithout the random oracle. Dans Advances in Cryptology – EUROCRYPT ’99,volume 1592 de Lecture Notes in Computer Science, pages 123–139. Springer-Verlag, 1999.

161

Bibliographie

[Gir90] Marc Girault. An identity-based identification scheme based on discrete lo-garithms modulo a composite number. Dans Advances in Cryptology – EURO-CRYPT ’90, volume 473 de Lecture Notes in Computer Science, pages 481–486.Springer-Verlag, 1990.

[Gir91] Marc Girault. Self-certified public keys. Dans Advances in Cryptology – EURO-CRYPT ’91, volume 547 de Lecture Notes in Computer Science, pages 490–497.Springer-Verlag, 1991.

[GJ03] Eu-Jin Goh et Stanislaw Jarecki. A signature scheme as secure as the Diffie-Hellman problem. Dans Advances in Cryptology – EUROCRYPT 2003, volume2656 de Lecture Notes in Computer Science, pages 401–415. Springer-Verlag,2003.

[GJKW06] Eu-Jin Goh, Stanislaw Jarecki, Jonathan Katz et Nan Wang. Efficient signa-ture schemes with tight security reductions to the Diffie-Hellman problems. Aparaitre dans Journal of Cryptology. Version preliminaire disponible a l’adressehttp://www.cs.umd.edu/~jkatz/.

[GM84] Shafi Goldwasser et Silvio Micali. Probabilistic encryption. Journal of Com-puter and System Sciences, 28(2):270–299, 1984.

[GMR84] Shafi Goldwasser, Silvio Micali et Ronald L. Rivest. A“paradoxical”solutionto the signature problem (extended abstract). Dans Symposium on Foundationsof Computer Science – FOCS ’84, pages 441–448. IEEE Press, 1984.

[GMR88] Shafi Goldwasser, Silvio Micali et Ronald L. Rivest. A digital signaturescheme secure against adaptive chosen-message attacks. SIAM Journal on Com-puting, 17(2):281–308, 1988.

[Gol01] Oded Goldreich. Foundations of Cryptography – Basic Tools. CambridgeUniversity Press, 2001.

[Gor98] Daniel M. Gordon. A survey of fast exponentiation methods. Journal of Algo-rithms, 27(1):129–146, 1998.

[GQ88] Louis C. Guillou et Jean-Jacques Quisquater. A practical zero-knowledgeprotocol fitted to security microprocessor minimizing both trasmission and me-mory. Dans Advances in Cryptology – EUROCRYPT ’88, volume 330 de LectureNotes in Computer Science, pages 123–128. Springer-Verlag, 1988.

[Gra02] Louis Granboulan. Short signatures in the random oracle model. Dans Ad-vances in Cryptology – ASIACRYPT 2002, volume 2501 de Lecture Notes inComputer Science, pages 364–378. Springer-Verlag, 2002.

[GS94] Marc Girault et Jacques Stern. On the length of cryptographic hash-valuesused in identification schemes. Dans Advances in Cryptology – CRYPTO ’94,volume 839 de Lecture Notes in Computer Science, pages 202–215. Springer-Verlag, 1994.

[HL94] Lucas Chi Kwong Hui et Kwok-Yan Lam. Fast square-and-multiply exponen-tiation for RSA. Electronics Letters, 30(17):1396–1397, 1994.

[HP01] Stuart Haber et Benny Pinkas. Securely combining public-key cryptosystems.Dans ACM Conference on Computer and Communications Security – ACM CCS2001, pages 215–224. ACM Press, 2001.

162

[IYTT02] Kouichi Itoh, Jun Yajima, Masahiko Takenaka et Naoya Torii. DPA coun-termeasures by improving the window method. Dans Cryptographic Hardwareand Embedded Systems – CHES 2002, volume 2523 de Lecture Notes in ComputerScience, pages 303–317. Springer-Verlag, 2002.

[JLQ99] Marc Joye, Arjen K. Lenstra et Jean-Jacques Quisquater. Chinese remain-dering based cryptosystems in the presence of faults. Journal of Cryptology,12(4):241–245, 1999.

[Jou00] Antoine Joux. A one round protocol for tripartite Diffie-Hellman. Dans Algo-rithmic Number Theory Symposium – ANTS 2000, volume 1838 de Lecture Notesin Computer Science, pages 385–394. Springer-Verlag, 2000.

[Joy02] Marc Joye. Recovering lost efficiency of exponentiation algorithms on smartcards. Electronics Letters, 38(19):1095–1097, 2002.

[JPV00] Marc Joye, Pascal Paillier et Serge Vaudenay. Efficient generation of primenumbers. Dans Cryptographic Hardware and Embedded Systems – CHES 2000,volume 1965 de Lecture Notes in Computer Science, pages 340–354. Springer-Verlag, 2000.

[JS99] Markus Jakobsson et Claus-Peter Schnorr. Efficient oblivious proofs ofcorrect exponentiation. Dans Communications and Multimedia Security –CMS 1999, volume 152 de IFIP Conference Proceedings, pages 71–86. IFIP, 1999.

[KH06] Kaoru Kurosawa et Swee-Huay Heng. The power of identification schemes.Dans Public Key Cryptography – PKC 2006, volume 3958 de Lecture Notes inComputer Science, pages 364–377. Springer-Verlag, 2006.

[KJJ99] Paul C. Kocher, Joshua Jaffe et Benjamin Jun. Differential power analysis.Dans Advances in Cryptology – CRYPTO ’99, volume 1666 de Lecture Notes inComputer Science, pages 388–397. Springer-Verlag, 1999.

[KM04] Neal Koblitz et Alfred Menezes. Another look at “provable security”. Crypto-logy ePrint Archive, Report 2004/152, 2004. A paraıtre au Journal of Cryptology.

[KO03] Yuichi Komano et Kazuo Ohta. Efficient universal padding techniques formultiplicative trapdoor one-way permutation. Dans Advances in Cryptology –CRYPTO 2003, volume 2729 de Lecture Notes in Computer Science, pages 366–382. Springer-Verlag, 2003.

[Kob87] Neal Koblitz. Elliptic curve cryptosystems. Mathematics of Computation,48(177):203–209, 1987.

[Koc96] Paul C. Kocher. Timing attacks on implementations of Diffie-Hellman, RSA,DSS, and other systems. Dans Advances in Cryptology – CRYPTO ’96, volume1109 de Lecture Notes in Computer Science, pages 104–113. Springer-Verlag,1996.

[KR00] Hugo Krawczyk et Tal Rabin. Chameleon signatures. Dans Network andDistributed System Security Symposium – NDSS 2000, pages 143–154, 2000.

[KS04] Francois Koeune et Francois-Xavier Standaert. A tutorial on physical securityand side-channel attacks. Dans Foundations of Security Analysis and Design –FOSAD 2004, volume 3655 de Lecture Notes in Computer Science, pages 78–108.Springer-Verlag, 2004.

163

Bibliographie

[KS06] Kaoru Kurosawa et Katja Schmidt-Samoa. New online/offline signatureschemes without random oracles. Dans Public Key Cryptography – PKC 2006,volume 3958 de Lecture Notes in Computer Science, pages 330–346. Springer-Verlag, 2006.

[Kum04] Pradeep Kumar Mishra. Pipelined computation of scalar multiplication in ellip-tic curve cryptosystems. Dans Cryptographic Hardware and Embedded Systems –CHES 2004, volume 3156 de Lecture Notes in Computer Science, pages 328–342.Springer-Verlag, 2004.

[KW03] Jonathan Katz et Nan Wang. Efficiency improvements for signature schemeswith tight security reductions. Dans ACM Conference on Computer and Com-munications Security – ACM CCS 2003, pages 155–164. ACM Press, 1993.

[LH94] Kwok-Yan Lam et Lucas Chi Kwong Hui. Efficiency of SS(l) square-and-multiply exponentiation algorithms. Electronics Letters, 30(25):2115–2116, 1994.

[LQ05] Benoıt Libert et Jean-Jacques Quisquater. Identity based encryption withoutredundancy. Dans Applied Cryptography and Network Security – ACNS 2005,volume 3531 de Lecture Notes in Computer Science, pages 285–300. Springer-Verlag, 2005.

[LV00] Arjen K. Lenstra et Eric R. Verheul. Selecting cryptographic key sizes. DansPublic Key Cryptography – PKC 2000, volume 1751 de Lecture Notes in Com-puter Science, pages 446–465. Springer-Verlag, 2000.

[May04] Alexander May. Computing the RSA secret key is deterministic polynomial timeequivalent to factoring. Dans Advances in Cryptology – CRYPTO 2004, volume3152 de Lecture Notes in Computer Science, pages 213–219. Springer-Verlag,2004.

[MDS99] Thomas S. Messerges, Ezzy A. Dabbish et Robert H. Sloan. Power analysisattacks of modular exponentiation in smartcards. Dans Cryptographic Hardwareand Embedded Systems – CHES ’99, volume 1717 de Lecture Notes in ComputerScience, pages 144–157. Springer-Verlag, 1999.

[Mil76] Gary L. Miller. Riemann’s hypothesis and tests for primality. Journal ofComputer and System Sciences, 13(3):300–317, 1976.

[Mil85] Victor S. Miller. Use of elliptic curves in cryptography. Dans Advances inCryptology – CRYPTO ’85, volume 218 de Lecture Notes in Computer Science,pages 417–426. Springer-Verlag, 1985.

[MOV93] Alfred Menezes, Tatsuaki Okamoto et Scott A. Vanstone. Reducing ellipticcurve logarithms to logarithms in a finite field. IEEE Transactions on Informa-tion Theory, 39(5):1639–1646, 1993.

[MOV97] Alfred J. Menezes, Paul C. van Oorschot et Scott A. Vanstone. Handbookof Applied Cryptography. CRC Press, 1997.

[NIST94] NIST. Digital signature standard (DSS). Federal Information Processing Stan-dards Publication 186, Novembre 1994.

[NPS01] David Naccache, David Pointcheval et Jacques Stern. Twin signatures: analternative to the hash-and-sign paradigm. Dans ACM Conference on Computerand Communications Security – ACM CCS 2001, pages 20–27. ACM Press, 2001.

164

[NR94] Kaisa Nyberg et Rainer A. Rueppel. Message recovery for signature schemesbased on the discrete logarithm problem. Dans Advances in Cryptology – EURO-CRYPT ’94, volume 950 de Lecture Notes in Computer Science, pages 182–193.Springer-Verlag, 1994.

[NS00] David Naccache et Jacques Stern. Signing on a postcard. Dans FinancialCryptography – FC 2000, volume 1962 de Lecture Notes in Computer Science,pages 121–135. Springer-Verlag, 2000.

[NY90] Moni Naor et Moti Yung. Public-key cryptosystems provably secure againstchosen ciphertext attacks. Dans ACM Symposium on the Theory of Computing– STOC ’90, pages 427–437. ACM Press, 1990.

[OP01a] Tatsuaki Okamoto et David Pointcheval. REACT: rapid enhanced-securityasymmetric cryptosystem transform. Dans Topics in Cryptology – CT-RSA 2001,volume 2020 de Lecture Notes in Computer Science, pages 159–175. Springer-Verlag, 2001.

[OP01b] Tatsuaki Okamoto et David Pointcheval. The gap-problems: a new class ofproblems for the security of cryptographic schemes. Dans Public Key Crypto-graphy – PKC 2001, volume 1992 de Lecture Notes in Computer Science, pages104–118. Springer-Verlag, 2001.

[OTV05a] Katsuyuki Okeya, Tsuyoshi Takagi et Camille Vuillaume. Short memory sca-lar multiplication on Koblitz curves. Dans Cryptographic Hardware and Embed-ded Systems – CHES 2005, volume 3659 de Lecture Notes in Computer Science,pages 91–105. Springer-Verlag, 2005.

[OTV05b] Katsuyuki Okeya, Tsuyoshi Takagi et Camille Vuillaume. Efficient repre-sentations on Koblitz curves with resistance to side channel attacks. Dans In-formation Security and Privacy – ACISP 2005, volume 3574 de Lecture Notes inComputer Science, pages 218–229. Springer-Verlag, 2005.

[OU98] Tatsuaki Okamoto et Shigenori Uchiyama. A new public-key cryptosystem assecure as factoring. Dans Advances in Cryptology – EUROCRYPT ’98, volume1403 de Lecture Notes in Computer Science, pages 308–318. Springer-Verlag,1998.

[P1363] IEEE Std 1363-2000. IEEE standard specifications for public-key cryptography.IEEE Computer Society, Aout 2000.

[Pai99a] Pascal Paillier. Cryptographie a cle publique basee sur la residuosite de degrecomposite. These de Doctorat, Ecole Nationale Superieure des Telecommunica-tions, Paris, 1999.

[Pai99b] Pascal Paillier. Public-key cryptosystems based on composite degree residuo-sity classes. Dans Advances in Cryptology – EUROCRYPT ’99, volume 1592 deLecture Notes in Computer Science, pages 223–238. Springer-Verlag, 1999.

[Pha05] Duong Hieu Phan. Securite et efficacite de schemas cryptographiques. These deDoctorat, Ecole Polytechnique, Palaiseau, 2005.

[PKCS1] RSA Laboratories. PKCS#1 v2.1: RSA cryptography standard, Juin 2002.

[Poi00] David Pointcheval. Chosen-ciphertext security for any one-way cryptosystem.Dans Public Key Cryptography – PKC 2000, volume 1751 de Lecture Notes inComputer Science, pages 129–146. Springer-Verlag, 2000.

165

Bibliographie

[Poi96] David Pointcheval. Les preuves de connaissances et leurs preuves de securite.These de Doctorat, Universite de Caen, Caen, 1996.

[Pou00] Guillaume Poupard. Authentification d’entites, de messages et de clescryptographiques: Theorie et pratique. These de Doctorat, Ecole Polytechnique,Palaiseau, 2000.

[PP03] Duong Hieu Phan et David Pointcheval. Chosen-ciphertext security withoutredundancy. Dans Advances in Cryptology – ASIACRYPT 2003, volume 2894de Lecture Notes in Computer Science, pages 1–18. Springer-Verlag, 2003.

[PP04] Duong Hieu Phan et David Pointcheval. OAEP 3-round: a generic and se-cure asymmetric encryption padding. Dans Advances in Cryptology – ASIA-CRYPT 2004, volume 3329 de Lecture Notes in Computer Science, pages 63–77.Springer-Verlag, 2003.

[PP99] Pascal Paillier et David Pointcheval. Efficient public-key cryptosystems pro-vably secure against active adversaries. Dans Advances in Cryptology – ASIA-CRYPT ’99, volume 1716 de Lecture Notes in Computer Science, pages 165–179.Springer-Verlag, 1999.

[PS96] David Pointcheval et Jacques Stern. Security proofs for signature schemes.Dans Advances in Cryptology – EUROCRYPT ’96, volume 1070 de Lecture Notesin Computer Science, pages 387–398. Springer-Verlag, 1996.

[PS98] Guillaume Poupard et Jacques Stern. Security analysis of a practical ”on thefly” authentication and signature generation. Dans Advances in Cryptology –EUROCRYPT ’98, volume 1403 de Lecture Notes in Computer Science, pages422–436. Springer-Verlag, 1998.

[PS99] Guillaume Poupard et Jacques Stern. On the fly signatures based on factoring.Dans ACM Conference on Computer and Communications Security – ACM CCS1999, pages 37–45. ACM Press, 1999.

[PV05] Pascal Paillier et Damien Vergnaud. Discrete-log-based signatures may notbe equivalent to discrete log. Dans Advances in Cryptology – ASIACRYPT 2005,volume 3788 de Lecture Notes in Computer Science, pages 1–20. Springer-Verlag,2005.

[QC82] Jean-Jacques Quisquater et Chantal Couvreur. Fast decipherment algorithmfor RSA public-key cryptosystem. Electronics Letters, (18):905–907, 1982.

[Rab79] Michael O. Rabin. Digital signatures and public-key functions as intractable asfactorization. Technical Report MIT/LCS/TR-212, MIT Laboratory for Com-puter Science, Janvier 1979.

[RS91] Charles Rackoff et Daniel R. Simon. Non-interactive zero-knowledge proofof knowledge and chosen ciphertext attack. Dans Advances in Cryptology –CRYPTO ’91, volume 576 de Lecture Notes in Computer Science, pages 433–444. Springer-Verlag, 1991.

[RSA78] Ronald L. Rivest, Adi Shamir et Leonard M. Adleman. A method for ob-taining digital signatures and public-key cryptosystems. Communications of theACM, 21(2):120–126, 1978.

[Sch91] Claus-Peter Schnorr. Efficient signature generation by smart cards. Journal ofCryptology, 4(3):161–174, 1991.

166

[Sei05] Jean-Pierre Seifert. On authenticated computing and RSA-based authentica-tion. Dans ACM Conference on Computer and Communications Security – ACMCCS 2005, pages 122–127. ACM Press, 2005.

[Sha84] Adi Shamir. Identity-based cryptosystems and signature schemes. Dans Ad-vances in Cryptology – CRYPTO ’84, volume 196 de Lecture Notes in ComputerScience, pages 47–53. Springer-Verlag, 1984.

[Sho01] Victor Shoup. OAEP reconsidered. Dans Advances in Cryptology –CRYPTO 2001, volume 2139 de Lecture Notes in Computer Science, pages 239–259. Springer-Verlag, 2001.

[ST01] Adi Shamir et Yael Tauman. Improved online/offline signature schemes. DansAdvances in Cryptology – CRYPTO 2001, volume 2139 de Lecture Notes in Com-puter Science, pages 355–367. Springer-Verlag, 2001.

[Sti95] Douglas R. Stinson. Cryptography: Theory and Practice. CRC Press, 1995.

[Wal02] Colin D. Walter. MIST: an efficient, randomized exponentiation algorithm forresisting power analysis. Dans Topics in Cryptology – CT-RSA 2002, volume2271 de Lecture Notes in Computer Science, pages 53–66. Springer-Verlag, 2002.

[Wal98] Colin D. Walter. Exponentiation using division chains. IEEE Transactions onComputers, 47(7):757–765, 1998.

[Wat05] Brent Waters. Efficient identity-based encryption without random oracles. DansAdvances in Cryptology – EUROCRYPT 2005, volume 3494 de Lecture Notes inComputer Science, pages 114–127. Springer-Verlag, 2005.

[WMPW98] Erik De Win, Serge Mister, Bart Preneel et Michael J. Wiener. On theperformance of signature schemes based on elliptic curves. Dans AlgorithmicNumber Theory Symposium – ANTS 1998, volume 1423 de Lecture Notes inComputer Science, pages 252–266. Springer-Verlag, 1998.

[Zhu01] Huafei Zhu. New digital signature scheme attaining immunity against adaptivechosen message attack. Chinese Journal of Electronics, 10(4):484–486, 2001.

[Zhu03] Huafei Zhu. A formal proof of Zhu’s signature scheme. Cryptology ePrint Ar-chive, Report 2003/155, 2003.

167

Bibliographie

168

Index

Σ-protocole, 28, 32, 42GPS, 35GQ, 35PS, 36Schnorr, 34, 38

Algorithme, 7complexite, 7deterministe, 7efficace, 7, 11polynomial, 7, 11probabiliste, 7sous-exponentiel, 7

Atomicite, 129, 130, 147MIST, 138algorithme (M,M3), 134algorithme binaire, 131algorithme d’exponentiation a fenetre glissante, 133algorithme droite-gauche, 134approche explicite, 132, 135approche implicite, 131–134approche matricielle, 132bloc atomique, 130bloc atomique commun, 130hypotheses, 133instructions equivalentes en canal cache, 130, 133methodologie, 132

Attaquea chiffres choisis (CCA), 86, 87a cle seule (KOA), 30a clairs choisis (CPA), 86a clairs et identites choisis (ID-CPA), 91a messages choisis (CMA), 31, 32a messages connus (KMA), 31a messages et identites choisis (ID-CCA), 91sans message (NMA), 30

Attaque par canal cache, 141

169

Index

attaque differentielle (DPA), 127, 128, 142attaque simple (SPA), 127–129, 147

Attaque par fautes, 127, 141

Contre-mesuredecoupage additif de l’exposant, 132, 143donnees rendues aleatoires, 141exponentiations aleatoires, 141masquage de l’exposant, 132

Courbe elliptique, 13, 135, 136equation de Weierstraß, 135, 136double-and-add, 135, 137addition de point, 135, 137coordonnees affines, 137coordonnees Jacobiennes, 135doublement de point, 135, 137multiplication scalaire de point, 135, 137sur un corps binaire, 136sur un corps premier, 135

Cryptologie, 3Authentification, 5Confidentialite, 4Cryptanalyse, 4Cryptographie, 4Cryptographie asymetrique, 4, 155Cryptographie symetrique, 4, 155Identification, 5Integrite, 4

Encodage en elements de groupe, 94, 100Exponentiation, 143

MIST, 138, 142MIST en version atomique, 138square-and-multiply always, 131algorithme (M,M3) atomique, 134algorithme a fenetre glissante atomique, 133algorithme binaire, 143, 144, 147algorithme binaire (square-and-multiply), 130algorithme binaire atomique, 131algorithme binaire droite-gauche atomique, 134algorithme d’exponentiation intrinsequement aleatoire, 142, 144, 146

Fonction bilineaire admissible, 6, 13, 91Fonction de padding, 6, 117

OAEP3, 122OPbP, 119padding universel, 117, 118

Fonction de classe, 96dans Zpk , 102

170

Index

dans Z∗p2 , 96Fonction de hachage, 5

hachage cameleon, 41

Heuristique Fiat-Shamir, 29, 30Hypothese RSA forte, 12

Lemme de bifurcation, 32, 38, 63

Modele de l’oracle aleatoire, 10, 32, 33, 37, 38, 44, 46, 52, 55, 58, 61, 70, 95, 105, 109, 122Modele de la permutation aleatoire, 119, 120Modele standard, 10, 69–71, 75, 79, 93, 95, 100, 101

Notion de securitefalsification existentielle (EUF), 31, 32falsification existentielle faible (EUF), 31falsification existentielle forte (sEUF), 31falsification universelle (UF), 31indistinguabilite (IND), 86, 87, 91non-malleabilite (NM), 86, 87resistance de la cle (UBK), 31, 86securite semantique (IND), 87sens unique (OW), 86, 87

Preuve de securitede OAEP3, 122de OPbP, 120de notre schema d’Acns ’05, 44, 46de notre schema de Crypto ’05, 61de notre schema de Ct-rsa ’07, 75, 79de notre schema de Pkc ’06, 100, 101du schema EDL, 52du schema KW-CDH, 55du schema KW-DDH, 58

Probleme cryptographique, 11q-probleme, 70bases sur les fonctions bilineaires, 13factorisation (FACT), 11, 50logarithme discret (DL), 12, 38logarithme discret dans Z∗n (DLn), 13logarithme discret dans un groupe d’ordre secret (DLx), 13probleme echelon Diffie-Hellman bilineaire (GBDH), 14probleme calculatoire de classe Diffie-Hellman (CCDH), 97probleme calculatoire Diffie-Hellman (CDH), 12, 52, 55, 61probleme calculatoire Diffie-Hellman bilineaire (CBDH), 13probleme calculatoire Diffie-Hellman bilineaire par liste (LBDH), 14probleme decisionnel de classe Diffie-Hellman (DCDH), 97probleme decisionnel Diffie-Hellman (DDH), 12, 58probleme decisionnel Diffie-Hellman bilineaire (DBDH), 13

171

Index

probleme souple, 70probleme souple de la racine e-ieme (FlexibleRSA), 12, 70, 75, 79probleme un-de-plus, 70problemes bases sur la factorisation, 11problemes bases sur le logarithme discret, 12racine e-ieme (RSA), 11, 32, 37, 46

Probleme difficile, 11Protocole d’identification a divulgation nulle de connaissance, 27, 32, 42

FS, 28GPS, 35GQ, 35PS, 36Schnorr, 28, 29, 34, 38

Reduction, 7, 9, 10d’un probleme a un autre, 7finesse, 10reduction fine, 10, 37, 41, 44, 46, 52, 55, 58, 61, 77, 80, 100, 101, 109reduction lache, 10, 32, 39

Securitebuts de l’attaquant, 30, 31, 86, 87d’un schema de chiffrement, 86, 87d’un schema de chiffrement base sur l’identite, 91d’un schema de signature, 30, 31modeles de securite, 10, 30ressources de l’attaquant, 30, 31, 86, 87securite asymptotique, 10securite exacte, 10securite par reduction, 9, 10securite prouvee, 9, 10scenarios d’attaque, 10, 30, 31, 86, 87

Schema de chiffrement, 85, 86ElGamal, 89, 93, 94ElGamal avec fonction de hachage, 95Paillier, 89, 96RSA, 88presente a Pkc ’06, 99, 102securite, 86

Schema de chiffrement base sur l’identite, 90, 114Boneh-Franklin, 91, 105, 106, 114Katz-Wang, 105, 106, 114avec reduction fine, 105, 108

Schema de signature, 25, 26, 33, 42CL, 73, 77CS, 73, 77EDL, 50, 52, 65Fischlin, 74, 77

172

Index

GHR, 71, 77GPS, 35, 65GQ, 35KW-CDH, 55, 65KW-DDH, 57, 65PS, 36, 46RSA, 33, 141RSA mode CRT, 142RSA mode standard, 142RSA-FDH, 33, 37, 46RSA-PSS, 33, 48Rabin-FDH, 50Schnorr, 29, 34, 38, 65TSS, 74, 77, 79Twin-GHR, 72, 77presente a Acns ’05, 42, 46presente a Crypto ’05, 61presente a Ct-rsa ’07, 74primitive RSA, 26, 32securite, 30signatures jumelles, 72

Signature a coupons, 29, 30, 34–36, 41, 42, 46, 54, 57, 63, 79

173

Index

174

Index

175

Resume

Le concept de cryptographie a cle publique, initiee par Whitfield Diffie et Martin Hell-man, a donne naissance a une nouvelle ere de la cryptologie. Apres la description de schemas sursde facon heuristique, la formalisation de modeles et de notions de securite a permis la naissancede la cryptographie a securite prouvee.

Apres un rappel des concepts memes de la cryptographie et des preuves par reduction,nous proposons de nouveaux schemas de signature et de chiffrement, tout en decrivant certainsavantages sur les schemas existants.

Ainsi, nous proposons deux nouveaux schemas de signature surs dans le modele de l’oraclealeatoire, et exposons un nouveau schema de signature sur dans le modele standard. Tous nosschemas possedent une preuve fine et autorisent l’usage de coupons.

Ensuite, nous decrivons un nouveau schema de chiffrement, base sur un nouveau problemealgorithmique. Nous jetons egalement un nouveau regard sur la notion de padding universel, etmontrons comment obtenir, pour un schema de chiffrement base sur l’identite, une preuve finedans le modele de l’oracle aleatoire.

Dans une partie finale de cette these, nous abordons le theme de la securite des mises enœuvre des algorithmes cryptographiques. Nous proposons ainsi des contre-mesures contre lesattaques par canaux caches, qu’elles soient simples (SPA) ou differentielles (DPA).

Mots-cles: Cryptographie, Cle publique, Securite prouvee, Preuve par reduction, Finesse desreductions, Schemas de signature, Schemas de chiffrement, Attaques par canaux caches et pro-tections, Atomicite.

Abstract

The public key cryptography concept, proposed by Whitfield Diffie et Martin Hellman,changed the cryptology world. After the description of first heuristically secure schemes, theformalization of models and security notions has allowed the emergency of provable security.

After some reminds about cryptography and security reduction, we propose new signatureand encryption schemes, with some advantages over the existing systems.

Indeed, we propose two new signature schemes with a security proof in the random oraclemodel, and expose a new signature scheme which features a provable security in the standardmodel. All of these schemes feature both tight security and the possible use of coupons.

Next, we describe a new encryption scheme, based on a new cryptographical problem. Wealso give another look to the universal paddings, and show how to obtain tight security foridentity-based encryption schemes.

In the last part of this thesis, we deal with the physical security of cryptographical software.We propose notably new efficient countermeasures against simple side-channel attacks (SPA)and differential side-channel attacks (DPA).

Keywords: Cryptography, Public key, Provable security, Reductionist security, Reduction tight-ness, Signature schemes, Encryption schemes, Side-channel attacks and protections, Atomicity.

176