Cryptosystème à clef publique et courbes elliptiques sur l'anneau F

91
UNIVERSITE SIDI MOHAMED BEN ABDELLAH FACULTE DES SCIENCES ET TECHNIQUES FES THÈSE Pour l’obtention du grade de DOCTORAT Discilpine: Mathématiques & Informatique Spécialité: Algèbre, Théorie de nombres, Cryptographie & Sécurité de l’information Présentée par Abdelhakim Chillali Crypto système à clef publique et courbes elliptique sur l’anneau F q [], n =0 Directeur de thèse : Pr. Mohammed Charkani El Hassani Soutenue le 12/10/2013 Devant la Commission d’Examen JURY Pr. Mostapha Azizi UMP, ESTO, Oujda President Pr. M. A. Elomary UMI, FST, Errachidia Rapporteur Pr. Abdelmalek Azizi UMP, FSO, Oujda Rapporteur Pr. Fayçal Lamrini USMBA, FS, Fès Rapporteur Pr. M’hamed Ziane UMP, FSO, Oujda Examinateur Pr. Mustapha Najmeddine ENSAM , Meknès Invité Pr. M’hammed Boulagouaz Invité Pr. Mohammed Charkani USMBA, FS, Fès Directeur

Transcript of Cryptosystème à clef publique et courbes elliptiques sur l'anneau F

UNIVERSITE SIDI MOHAMED BEN ABDELLAHFACULTE DES SCIENCES ET TECHNIQUES FES

THÈSEPour l’obtention du grade de

DOCTORATDiscilpine: Mathématiques & Informatique

Spécialité: Algèbre, Théorie de nombres, Cryptographie & Sécurité de l’information

Présentée par

Abdelhakim Chillali

Crypto système à clef publique et courbes elliptique surl’anneau Fq[ε], εn = 0

Directeur de thèse : Pr. Mohammed Charkani El HassaniSoutenue le 12/10/2013

Devant la Commission d’Examen

JURYPr. Mostapha Azizi UMP, ESTO, Oujda PresidentPr. M. A. Elomary UMI, FST, Errachidia RapporteurPr. Abdelmalek Azizi UMP, FSO, Oujda RapporteurPr. Fayçal Lamrini USMBA, FS, Fès RapporteurPr. M’hamed Ziane UMP, FSO, Oujda ExaminateurPr. Mustapha Najmeddine ENSAM , Meknès InvitéPr. M’hammed Boulagouaz InvitéPr. Mohammed Charkani USMBA, FS, Fès Directeur

Cryptosystème à clé publique etcourbe elliptique sur l’anneau Fq[ε],

εn = 0

i

ii

Remerciement

Dans tout travail de ce type, c’est quasiment un devoir de remercier un tas de monde.Dans le cas présent c’est aussi un plaisir... Je remercie donc d’abord, bien sûr le ProfesseurM’hammed Boulagouaz, qui m’a encadré durant ce travail, ainsi que le Professeur Moham-med Charkani qui m’a guidé et donné de précieux conseils. D’une manière plus générale, jeremercie également tout les membres de de Jury, qui ont acceptés de juger ce travail, ainsi quepour tous mes amis qui ont toujours été disponibles pour répondre à mes questions, qu’ellessoient mathématiques ou non. D’une manière plus générale encore, j’aimerais remercier toutle personnel du laboratoire, pour l’ambiance chaleureuse et amicale qui règne dans leurs locaux.

Merci à tous !

i

Table des matières

ii

Table des matières

Table des figures vii

I Principe de base de la cryptographie 71 Article de Diffie Hellman (1976) . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.1 Cryptographie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2 Mécanismes de la cryptographie . . . . . . . . . . . . . . . . . . . . . . 91.3 Qu’entend-on par clé ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 La Cryptanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 Algorithmes de chiffrement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.1 Sécurité de l’information . . . . . . . . . . . . . . . . . . . . . . . . . . . 113.2 Chiffrement symétrique ou à clef secrète . . . . . . . . . . . . . . . . . . 12

3.2.1 Avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.2.2 Faiblesses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

3.3 Chiffrement asymétrique ou à clef publique . . . . . . . . . . . . . . . . 133.3.1 Algorithmes à empilement . . . . . . . . . . . . . . . . . . . . . 133.3.2 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.3.3 Avantages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.4 Attaques sur les algorithmes asymétriques . . . . . . . . . . . . . . . . 143.4.1 Attaques au niveau des clefs . . . . . . . . . . . . . . . . . . . . 143.4.2 Attaque temporelle . . . . . . . . . . . . . . . . . . . . . . . . . 15

II Courbe Elliptique Sur L’anneau Fq[ε], εn = 0 171 L’anneau An = Fq[ε], εn = 0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

iii

Table des matières

2 Courbe Elliptique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.1 Courbe elliptique sur un corps . . . . . . . . . . . . . . . . . . . . . . . 212.2 Loi de groupe explicite . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.3 Isogénie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.4 Courbes elliptiques sur An, n ≥ 1 . . . . . . . . . . . . . . . . . . . . . . 242.5 Les morphismes πk et θk . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.6 Les applications fondamentales . . . . . . . . . . . . . . . . . . . . . . . 34

IIICrypto système à clef publique 411 Taille d’un entier naturel en base b . . . . . . . . . . . . . . . . . . . . . . . . . 412 Fonction à sens unique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423 Le logarithme discret . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 Groupe Générique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445 Cryptosystème à bases des matrices . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.1 Principe de Diffie-Hellman . . . . . . . . . . . . . . . . . . . . . . . . . . 455.2 Loi du groupe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465.3 Description du MDLP Cryptosystème . . . . . . . . . . . . . . . . . . . . 475.4 Echange de clefs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475.5 Exemple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495.6 Exemple de cryptographie . . . . . . . . . . . . . . . . . . . . . . . . . . 50

6 Fonctions de chiffrement et de déchiffrement . . . . . . . . . . . . . . . . . . . . 54

IVAlgorithmes de Représentation du groupe Ena,b 57

1 Représentation des éléments de An . . . . . . . . . . . . . . . . . . . . . . . . . 571.1 Algorithme(1) : somme(p) . . . . . . . . . . . . . . . . . . . . . . . . . . 571.2 Algorithme(2) : produit(p) . . . . . . . . . . . . . . . . . . . . . . . . . . 571.3 Algorithme(3) : inverse(p) . . . . . . . . . . . . . . . . . . . . . . . . . . 581.4 Algorithme(4) :projection(1) . . . . . . . . . . . . . . . . . . . . . . . . . 591.5 Algorithme(5) :projection(2) . . . . . . . . . . . . . . . . . . . . . . . . . 60

2 Représentation du groupe Ena,b . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

2.1 Algorithme(6) : Neutre . . . . . . . . . . . . . . . . . . . . . . . . . . . . 602.2 Algorithme(7) : projection(a) . . . . . . . . . . . . . . . . . . . . . . . . 612.3 Algorithme(8) : projection(b) . . . . . . . . . . . . . . . . . . . . . . . . 612.4 Algorithme(9) : appartient . . . . . . . . . . . . . . . . . . . . . . . . . . 622.5 Algorithme(10) : Egal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

iv

Table des matières

3 Loi de groupe sur Gna,b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

3.1 Les procedures p1, p2, p3, p4, p5 et p6 . . . . . . . . . . . . . . . . . . . 663.2 Algorithme(11) : Somme . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

4 Structure de (Gna,b,Somme,Neutre,appartient,Egal) . . . . . . . . . . . . . . . . . 70

4.1 Procedure msomme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.2 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

5 Méthodes d’identification sur Eka,b . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.1 Une fonction fortement résistante aux collisions sur Eka,b . . . . . . . . . . 72

5.2 Procédés d’identification sur Eka,b . . . . . . . . . . . . . . . . . . . . . . 73

Conclusion générale et perspectives 75

Références bibliographiques 77

v

Table des matières

vi

Table des figures

I.1 Mécanismes De Cryptographie . . . . . . . . . . . . . . . . . . . . . . . . . . 9I.2 Cryptographie Symétrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12I.3 Cryptographie Asymétrique . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

III.1 Schéma d’un crypto système . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45III.2 Schéma multiplicatif . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

IV.1 Protocole D’identification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

vii

Table des matières

viii

Introduction générale

La louange toute entière est pour Allah, (c-à-d toutes les louanges sont pour Allah), nous lelouons, nous recherchons auprès de Lui l’aide et soutient, et nous lui demandons le pardon etnous recherchons auprès de lui la protection contre le mal contenu dans nos poitrines et le malde nos actions quiconque se voit guidé par Allah nul ne sera en mesure de l’égarer et quiconquese voit égaré par Allah nul ne sera en mesure de le guider puis je témoigne que nul n’est en droitd’être adoré en dehors d’Allah, il n’a aucun aucun associé digne du moindre acte d’adoration.Et je témoigne que Mouhammed salallahou ’alayhi wa sallam est son serviteur et son messager.Et après :

La cryptographie a pour but d’assurer la sécurité des communications et des données sto-ckées en présence d’un adversaire. Elle propose un ensemble de techniques permettant d’offrirdes services de confidentialité, d’authentification et d’intégrité. La cryptologie, appelée aussila science du secret dans [28], regroupe la cryptographie et la cryptanalyse. Alors que le rôledes cryptographes est de construire et prouver, entre autres, des systèmes de chiffrement ou designature, l’objectif des cryptanalystes est de "casser" ces systèmes. L’histoire de la cryptogra-phie a été pendant longtemps l’histoire des codes secrets. En effet, jusque dans les années 70,l’unique objectif de la cryptographie était de construire des systèmes de chiffrement. Grâce àla cryptanalyse, les militaires et les cabinets noirs des diplomates ont pu mener leurs guerresdans l’ombre en découvrant les correspondances de leurs ennemis et en contrôlant les réseauxde communications (voir [6], [17], [28], [47]). La révolution d’Internet et l’utilisation deplus en plus massive d’informations sous forme numérique facilitent les communications etrendent de ce fait plus fragiles les informations que l’on détient. En effet, les réseaux "ouverts"créent des brèches de sécurité et il est plus aisé à un adversaire d’accéder aux informations.

1

Introduction générale

La cryptographie, ou art de chiffrer les messages, est devenue aujourd’hui une science à partentière. Au croisement des mathématiques, de l’informatique, et parfois même de la physique,elle permet ce dont les civilisations ont besoin depuis qu’elles existent le maintien du secret.L’amalgame est souvent fait entre cryptographie et cryptologie, mais la différence existe belet bien. La cryptologie est la "science du secret", et regroupe deux branches d’une part, lacryptographie, qui permet de crypter les messages, et d’autre part, la cryptanalyse, qui permetde les décrypter. Une courbe elliptique est un objet mathématique étudié particulièrement engéométrie algébrique. On peut en donner plusieurs définitions selon la personne à laquelle ons’adresse. Cryptographie et courbes elliptiques se sont rencontrées sans le savoir,(voir [33]) ily a maintenant un peu plus de trente six ans, avec l’apparition du protocole d’échange de clésDiffie-Hellman (voir [59], [39]) et du cryptosystème ElGamal (voir [51], [14]. Ces protocolescryptographiques utilisent la structure de groupe. En appliquant, ces procédés aux groupesdéfinis par des courbes elliptiques, une nouvelle spécialité voit le jour à la fin des années 80 :ECC, Elliptic Curve Cryptography (voir [33], [34], [35], [56], [57], [58], [45], [30], [26], [9],[44], [32].

L’échange de clé de Diffie-Hellman a été développé par ces deux auteurs en 1976 et publiédans l’article : W. Diffie and M. E. Hellman, New directions in cryptography, IEEE Transac-tions on Information Theory 22 (1976), 644-654.La méthode d’échange de clé de Diffie-Hellman repose sur la difficulté du problème du loga-rithme discret (PLD) (voir [59]).Un groupe cyclique public G est fixé ainsi qu’un générateur public g de ce groupe.Alice et Bob vont construire une clé commune k, pour cela Alice choisit un entier n plus petitque l’ordre de G, de même Bob choisit un entier m.Alice calcule gn et le transmet à Bob qui calcule gm et le transmet a Alice.Enfin, Alice et Bob calculent leur clé secrète k = gnm.

On remarque que si on savait résoudre facilement le (PLD), ce système n’aurait aucune sécurité.Étant donnés les deux nombres x = gn et y = gm calculer le nombre z = gnm.

Ce problème est appelé le problème calculatoire de Diffie-Hellman (CDH).Il est clair que ce problème est réductible au problème du logarithme discret.En revanche on ne sait pas si le problème du logarithme discret est en général réductible auproblème calculatoire de Diffie-Hellman.On peut définir aussi le problème décisionnel de Diffie-Hellman (DDH) qui à partir de troisnombres x = gn, y = gm et z : le nombre z est-il égal à gnm ?Il est claire que le problème DDH est réductible au problème CDH (voir [15]).

2

Introduction générale

Dans un contexte cryptographique, nous nous intéressons à des courbes elliptiques définiessur l’anneau Fq[ε], εn = 0.Le sucé des courbes elliptiques dans les systèmes cryptographiques à clés publiques a donc créeun nouvel intérêt dans l’étude de l’arithmétique d’objets géométriques.Le groupe des points d’une courbe elliptique est un groupe intéressant en cryptographie dansla mesure où on ne connaît aucun algorithme sous-exponentiel pour son (PLD).En général, le PLD est difficile, mais pas autant que dans un groupe générique.On connaît des algorithmes sous-exponentiel pour le résoudre, ceci a des conséquences sur lataille du groupe à utiliser de manière à ce que le PLD soit infaisable.Pour le cryptosystème (RSA), le nombre premier p doit avoir au minimum 1024 bits, ce quiassure à peu prés la même sécurité qu’un groupe générique d’ordre ayant 160 bits.Rappelons qu’un groupe générique pour le PLD est un groupe pour lequel on ne connaît pasd’algorithme spécifique à ce groupe pour résoudre le PLD, et donc pour lequel les seuls algo-rithmes disponibles sont les algorithmes qui marchent pour tous les groupes.Par exemple "pas de bébé pas de géant", (voir [38], [37] ) et qui sont jusqu’à présent exponen-tiels.L’éventail des algorithmes déployés en cryptanalyse a fait apparaître, pour résoudre les pro-blèmes difficiles que sont la factorisation d’entiers ou le logarithme discret, des algorithmessous-exponentiels.Pour une taille n, leur complexité s’exprime par la fonction,

cn = O(exp(t(1 +O(1))nx(log(n)1−x));x 0

Si x=0 alors l’algorithme est polynomial.Si x=1 alors l’algorithme est exponentiel.A ce jour, aucun algorithme sous-exponentiel n’est mentionné dans la littérature avec uneconstante x < 1

3 . Avant de rédiger cette thèse, on a travaillé sur les axes suivants :

1. Axe théorique : Soient p un nombre premier supérieure où égal à 5, q une puissance de pet n un nombre entier supérieure où égal à 1. On a fait une étude des courbes elliptiquessur l’anneau Fq[ε], εn = 0.– Dans le cas n = 3, on a donné des formules d’addition publiées dans " journal ofcommunication and computer " [3].

– Dans le cas n = 4, on a traité un exemple de cryptographie sur ces courbes :Crypto-graphy Over Elliptic Curve Of The Ring Fq[ε], ε4 = 0, publié dans " World Academyof Science, Engineering and Technology "

3

Introduction générale

– Dans le cas n = 5, on a étudié les morphismes : (Question proposé par Marie-Viratdans [33]), ces études sont publiés dans "Int. J. Open Problems Compt. Math., Vol.5 ".

– Dans le cas n > 2, on a généralisé les résultats trouvés au part avant, article : EllipticCurve of the Ring Fq[ε], εn = 0, publiés dans "International Mathematical Forum, Vol.6, 2011, no. 31, 1501 - 1505" [1].

– On a étudie le J−invariant sur ces courbes, cette étude a été publiée dans l’acte dela conférence (ICACM’11) : Recent Advances in Computers, Communications, AppliedSocial Science and Mathematics à Barcelona.

2. Axe cryptographique :– On a introduit un groupe des matrices carrées, dont on a construit un crypto systèmeà bases des matrices. L’intérêt de tel crypto système est que les matrices peuvent êtrevue comme des images, donc on peut crypter les messages par des images. Ce travaila été communiqué dans "RNIOA’2011, 24-25 Mars 2011, Errachidia, Maroc", et publiédans l’acte de cette conférence.

– Sur les courbes elliptiques objet de nos études, on a donné une application cryptogra-phique : Une méthode d’identification, publiée [2]

– Pour la cryptographie arabe, on a participé à la conférence internationale (ICMIS2011)sohag, Egypt, avec un article : Methods of Encryption Keys : Example of Elliptic Curve,publié dans " journal of communication and computer ". C’est le premier article quiexplique comment on peut crypter un longue message arabe en utilisant une courbeelliptique.

3. Axe algorithme :– On a présenté des algorithmes de représentation et des procédures, dans la confé-rence :International conference on applied analysis and algebra, 20-24 June 2012, Is-tanbul, Turkey

– On a pu former des groupes génériques avec ces courbes elliptiques, publiés dans l’actede la conférence JNS2 à IEEE.

Dans cette thèse nous étudions les courbes elliptiques sur l’anneau Fq[ε], εn = 0, c’est unegénéralisation de l’étude faite par Marie Virat, dans sa thèse (voir [33]), de point de vuecryptographie, une méthode d’ identification sur ces courbes sera introduite, (voir [2]) nousdonnons des algorithmes pour représenter ces courbes comme des groupes génériques et nousintroduisons un cryptosystème qu’on appelle cryptosystème à base des matrices(MDPL). Lathèse sera organisée de la manière suivante :

1. Introduction : Introduction.

4

Introduction générale

2. Chapitre(1) : Principes de base de la cryptographie.

3. Chapitre(2) : Courbe elliptique sur l’anneau Fq[ε], εn = 0.

4. Chapitre(3) : Crypto système à clef publique.

5. Chapitre(4) : Algorithmes de Représentation du groupe Ena,b.

6. Chapitre(5) : Conclusion.

5

Introduction générale

6

Chapitre I

Principe de base de la cryptographie

La cryptographie traditionnelle est l’étude des méthodes permettant de transmettre desdonnées de manière confidentielle. Afin de protéger une donnée, on lui applique une transfor-mation qui la rend incompréhensible ; c’est ce qu’on appelle le chiffrement, qui, à partir d’unmessage en clair, donne un message chiffré. Inversement, le déchiffrement est l’action qui permetde reconstruire le message en clair à partir du message chiffré. Dans la cryptographie moderne,les transformations en question sont des fonctions mathématiques, appelées algorithmes crypto-graphiques, qui dépendent d’un paramètre appelé clef. La cryptanalyse, à l’inverse, est l’étudedes procédés cryptographiques dans le but de trouver des faiblesses et, en particulier, de pouvoirdécrypter des messages chiffrés. Le décryptage est l’action consistant à retrouver le message enclair sans connaître la clef de déchiffrement. Un cryptosystème reprend une solution globalede cryptographie. Ce système comprend donc non seulement l’algorithme de chiffrement, maisaussi toutes les clés utilisées et les protocoles nécessaires à son fonctionnement (voir [11], [12],[17], [27], [48]).

1 Article de Diffie Hellman (1976)

On peut dire que la Cryptographie Moderne a trente cinq ans d’existence. Nous nous ac-cordons en effet à identifier sa date de naissance à la parution du célèbre article de WhitfeldDiffie et Martin Hellman : " New Directions in Cryptography ", en 1976. Cet article annonçaitde manière prophétique, les idées fondamentales de chiffrement à clé publique et de signatureélectronique qui ont incontestablement structuré la recherche qui a suivi. Ces trente cinq annéesont été riches en découvertes, innovations et progrès techniques dont certains sont décisifs. L’undes hauts faits de la courte histoire de la cryptographie mathématique dite moderne est la miseau point du premier système à clé publique (RSA), puis la cryptographie elliptique...(voir [19],[20], [22], [23], [24], [34], [35], [49], [56], [60]).

7

Chapitre I. Principe de base de la cryptographie

1.1 Cryptographie

Si le but traditionnel de la cryptographie est d’élaborer des méthodes permettant de trans-mettre des données de manière confidentielle, la cryptographie moderne s’attaque en fait plusgénéralement aux problèmes de sécurité des communications. Le but est d’offrir un certainnombre de services de sécurité comme la confidentialité, l’intégrité, l’authentification des don-nées transmises et la non répudiation. Pour cela, on utilise un certain nombre de mécanismesbasés sur des algorithmes cryptographiques. En 1986, Fiat et Shamir ont classifié les différentescatégories de protocoles de sécurité. Ils distinguèrent alors trois niveaux de protection. Suppo-sons qu’Alice veuille prouver son identité à Bob, les différents niveaux sont alors : (voir [4],[17])

1. protocole d’authentification :Alice peut prouver à Bob qu’elle est véritablement Alice, mais personne d’autre ne peutprouver à Bob qu’elle est Alice.

2. protocole d’identification :Alice peut prouver à Bob qu’elle est véritablement Alice, et Bob ne peut extraire aucuneinformation de cette preuve pour tenter de faire croire à quelqu’un d’autre qu’elle estAlice.

3. protocole de signature (ou non-répudiation) :ce protocole a les mêmes propriétés que le précédent avec, en plus : Alice ne peut pas direqu’elle n’a pas prouvé son identité à Bob, ou que le message qu’elle a signé était différentde celui que Bob prétend avoir reçu (elle ne peut pas répudier sa signature). En d’autrestermes, Bob ne peut pas faire croire qu’Alice lui a prouvé son identité alors qu’elle nel’a pas fait. En fait, le protocole d’authentification au sens de Fiat et Shamir ne serautilisé que lorsque Alice et Bob ont leurs intérêts en communs, pour prévenir une attaquevenue de l’extérieur. Par contre, lorsque Alice et Bob ont des intérêts divergents, l’un desdeux autres types de schéma doit être employé. Avec un protocole d’authentification, Bobpourrait a posteriori se faire passer pour Alice auprès d’un troisième intervenant (voir[2], [34]). Ceci n’est plus possible lorsque l’on a affaire à un schéma d’identification. Enrevanche, dans le chapitre 4, nous proposons une méthode d’identification basé sur ladifficulté du problème du logarithme discret sur les courbes elliptiques définie au cha-pitre 2, cette méthode a été communiquée à la Conférence internationale sur les sciencesinformatiques et mathématiques à Amsterdam est publier dans l’acte du WASTE (voir[2]).

8

I.1 Article de Diffie Hellman (1976)

Nous allons voir dans ce chapitre quelles sont les techniques que la cryptographie fournit pourréaliser ces mécanismes.

1.2 Mécanismes de la cryptographie

Un algorithme de cryptographie ou un chiffrement est une fonction mathématique utiliséelors du processus de cryptage et de décryptage. Cet algorithme est associé à une clé (un mot,un nombre ou une phrase), afin de crypter une donnée. Avec des clés différentes, le résultatdu cryptage variera également. La sécurité des données cryptées repose entièrement sur deuxéléments : l’invulnérabilité de l’algorithme de cryptographie et la confidentialité de la clé. Unsystème de cryptographie est constitué d’un algorithme de cryptographie, ainsi que de toutesles clés et tous les protocoles nécessaires à son fonctionnement.

1.3 Qu’entend-on par clé ?

On appelle clé une valeur utilisée dans un algorithme de cryptographie, afin de chiffrerune donnée. Il s’agit en fait d’un nombre dont la taille se mesure en bits. On peut imaginerque la valeur numérique correspondant à 2048 bits est absolument gigantesque. Plus la cléest grande, plus elle contribue à élever la sécurité à la solution. Toutefois, c’est la combinaisond’algorithmes complexes et de clés importantes qui sera la garantie d’une solution bien sécurisée.Les clés doivent être stockées de manière sécurisée et de manière à ce que seul leur propriétairesoit en mesure de les atteindre et de les utiliser.

Figure I.1 – Mécanismes De Cryptographie

9

Chapitre I. Principe de base de la cryptographie

2 La Cryptanalyse

Les techniques de la cryptanalyse sont basées sur l’hypothèse suivante, connue sous le nom"Le principe de Kerchhoffs"(voir [6]), qui affirme que l’opposant connaît le système crypto-graphique utilisé et que la sécurité de système de protection est basée sur la clé sécrète ou laclé privée. Auguste Kerchhoffs donne les principes de bases de la cryptographie à clef sécrète,pour lui une méthode cryptographique est distingué à régler pour un temps illimité la corres-pondance (qui ne peut être modifiée ni au gré de l’utilisateur ni à un moment donné). Il fautun système cryptographique remplissant certaines conditions exceptionnelles qui peuvent êtrerésumées comme suivants :

1. Le système doit être matériellement, sinon mathématiquement indéchiffrable.

2. Il faut qu’il n’exige pas le secret et qu’il puisse sans aucun inconvénient tomber dans lesmains de l’ennemi.

3. La clef doit pouvoir être communiquée et retenue sans le secret des mots écrits, êtrechangée ou modifiée au gré du correspondant.

4. Il faut que le crypto système soit applicable à la correspondance télégraphique.

5. Il faut qu’il soit portatif et que son fonctionnement n’exige pas le concours de plusieurspersonnes.

6. Enfin, il est nécessaire, vu les circonstances qui en commodes l’application, que le sys-tème cryptographique soit d’un usage facile, nous donnerons ni tension de l’esprit ni laconnaissance d’une longue série de règles à observer.

Remarque 2.1 La leçon principale est que la sécurité du système cryptographique doit reposersur la robustesse de la clef et non pas sur le fait que le système de chiffrement est inconnu del’ennemi.

3 Algorithmes de chiffrement

La confidentialité est historiquement le premier problème posé à la cryptographie. Il se résoutpar la notion de chiffrement, mentionnée plus haut. Il existe deux grandes familles d’algorithmescryptographiques à base de clefs : les algorithmes à clef secrète ou algorithmes symétriques, etles algorithmes à clef publique ou algorithmes asymétriques, que nous étudions dans cette thèse.

10

I.3 Algorithmes de chiffrement

3.1 Sécurité de l’information

1. But :

– Les données doivent rester inintelligibles à toute personne non autorisée.– On doit utiliser le nécessaire pour que les données transmises ne soient pas modifiéesou falsifiées par un adversaire.

– Authentification, qui consiste à vérifier l’identité des différents éléments impliqués dansun dialogue (authentifier une personne ou une machine ou un réseau fermé (VPN,DAP)) DAP : "Distribution Automatique de Billets". Comme on peut authentifieraussi un document, son auteur, le serveur sur lequel on l’a récupéré, ainsi la notiond’authentification rencontre différentes variantes plus au moins similaires.

– Non-répudiation, c’est un mécanisme qui empêche de nier un contrat. Il consiste àprouver par exemple qu’un message a bien été émis par son expéditeur ou a bien étéreçu par son destinataire. L’auteur d’un message ne peut nier l’avoir écrit ou transmis.

– Signature, c’est un mécanisme qui garantit l’authentification des expéditeurs, l’intégritédes données, et la non-répudiation.

– Certification, c’est une entité connue, digne de confiance, valide une certaine informa-tion.

– Contrôle d’accès, l’accès à certaines ressources est limité aux personnes autorisées.– Gestion des clés, en général les systèmes cryptographiques utilisent des clés (secrètes,privées, publiques). La gestion de ces clés (distribution, intégrité,) est un problème trèsdifficile.

– La preuve, plus généralement, une entité appelée prouveur souhaite démontrer à uneautre entité appelée vérificateur qu’elle détient un autre secret (mot de passe parexemple ou clé secrète,) Dans certaines circonstances, on peut de plus exiger que cecise fasse sans que le prouveur dévoile au vérificateur une information qui pourrait per-mettre à celui-ci de reconstituer en pratique tout ou une partie de secret. On peutparler de : preuve à divulgation nulle (voir [17], [18], [19], [27], [28], [48], [49]).

2. Les problèmes de bases :

– Le chiffrement.– La signature.– L’authentification.– L’échange de clés.

11

Chapitre I. Principe de base de la cryptographie

3.2 Chiffrement symétrique ou à clef secrète

Dans la cryptographie conventionnelle, les clefs de chiffrement et de déchiffrement sontidentiques : c’est la clef secrète, qui doit être connue des tiers communiquant et d’eux seuls. Leprocédé de chiffrement est dit symétrique. Les algorithmes symétriques sont de deux types :

– les algorithmes de chiffrement en continu, qui agissent sur le message en clair bit par bità la fois.

– Les algorithmes de chiffrement par blocs, qui opèrent sur le message en clair par groupesde bits appelés blocs.

Figure I.2 – Cryptographie Symétrique

3.2.1 Avantages

Le cryptage conventionnel comporte un avantage majeur : sa rapidité. Il est particulièrementadapté à la transmission de grandes quantités de données.

3.2.2 Faiblesses

Ce système nécessite la connaissance de la clé par l’émetteur et par le destinataire. C’est latransmission de cette clé entre les intervenants qui représente la faiblesse inhérente au système.Toute personne interceptant la clé lors d’un transfert peut ensuite lire, modifier et falsifiertoutes les informations cryptées ou authentifiées avec cette clé. De code secret de Jules Césarà la norme de cryptage de données DES, la distribution des clés reste le problème majeurdu cryptage conventionnel. (Autrement dit, comment faire parvenir la clé à son destinatairesans qu’aucune personne ne l’intercepte ?) Les moyens à déployer pour garantir la distributionsécurisée des clés entre les correspondants sont très onéreux, ce qui constitue un inconvénientsupplémentaire.

12

I.3 Algorithmes de chiffrement

3.3 Chiffrement asymétrique ou à clef publique

Avec les algorithmes asymétriques, les clefs de chiffrement et de déchiffrement sont distincteset ne peuvent se déduire l’une de l’autre (voir [5]). On peut donc rendre l’une des deux publiquetandis que l’autre reste privée. C’est pourquoi on parle de chiffrement à clef publique. Si la clefpublique sert au chiffrement, tout le monde peut chiffrer un message, que seul le propriétairede la clef privée pourra déchiffrer. On assure ainsi la confidentialité. Certains algorithmes per-mettent d’utiliser la clef privée pour chiffrer. Dans ce cas, n’importe qui pourra déchiffrer, maisseul le possesseur de la clef privée peut chiffrer. Le concept de cryptographie à clef publique futinventé par Whitfield Diffie et Martin Hellman en 1976, dans le but de résoudre le problèmede distribution des clefs posé par la cryptographie à clef secrète. De nombreux algorithmespermettant de réaliser un cryptosystème à clef publique ont été proposés depuis. Ils sont leplus souvent basés sur des problèmes mathématiques difficiles à résoudre, donc leur sécuritéest conditionnée par ces problèmes, sur lesquels on a maintenant une vaste expertise. Mais,si quelqu’un trouve un jour le moyen de simplifier la résolution d’un de ces problèmes, l’algo-rithme correspondant s’écroulera. Beaucoup des algorithmes proposés pour la cryptographie àclef publique se sont révélés rapidement non sûrs, ou non réalisables sur le plan pratique. Tousles algorithmes actuels présentent l’inconvénient d’être bien plus lents que les algorithmes à clefsecrète ; de ce fait, ils sont souvent utilisés non pour chiffrer directement des données, mais pourchiffrer une clef de session secrète. Certains algorithmes asymétriques ne sont adaptés qu’auchiffrement, tandis que d’autres ne permettent que la signature. Seuls trois algorithmes sontutilisables à la fois pour le chiffrement et pour la signature : RSA, ElGamal et Rabin (voir [49],[52], [53], [54], [57], [59], [60]).

3.3.1 Algorithmes à empilement

Historiquement, le premier algorithme asymétrique fut proposé par Merkle et Hellman en1978. Il repose sur le problème d’empilement ou problème du sac à dos (knapsack problem enanglais), qui est un problème NP-complet. Cet algorithme fut très vite démontré non sûr, ainsique la plupart des algorithmes à empilement qui virent le jour par la suite.

3.3.2 Exemples

Elgamal (d’après le nom de son inventeur, Taher Elgamal), RSA (d’après le nom de sesinventeurs, Ron Rivest, Adi Shamir et Leonard Adleman), Diffie-Hellman (également d’aprèsle nom de ses inventeurs) et DSA, l’algorithme de signature numérique (élaboré par DavidKravitz), sont des exemples de systèmes de cryptographie à clé publique (voir [48]).

13

Chapitre I. Principe de base de la cryptographie

3.3.3 Avantages

La cryptographie à clé publique présente un avantage majeur : elle permet d’échanger desmessages de manière sécurisée sans aucun dispositif de sécurité annexe. En effet l’expéditeur etle destinataire n’ont plus besoin de partager des clés secrètes via une voie de transmission sécu-risée. Les communications impliquent uniquement l’utilisation de clés publiques et plus aucuneclé privée n’est transmise ou partagée. Le cryptage à clé publique représente une révolutiontechnologique qui offre à tout citoyen la possibilité d’utiliser une cryptographie robuste. Eneffet, la cryptographie conventionnelle était auparavant la seule méthode pour transmettre desinformations secrètes. Les coûts de transmission et de distribution sécurisées des clés avaientcantonné son utilisation aux institutions disposant de moyens suffisants, telles que les gouver-nements et les banques.

Figure I.3 – Cryptographie Asymétrique

3.4 Attaques sur les algorithmes asymétriques

3.4.1 Attaques au niveau des clefs

Avec les algorithmes asymétriques, le problème n’est pas de trouver la bonne clef par at-taque exhaustive, mais de dériver la clef secrète à partir de la clef publique. La plupart desalgorithmes asymétriques reposant sur des problèmes mathématiques difficiles à résoudre, celarevient généralement à résoudre ces problèmes. C’est pourquoi les paramètres qui influencent

14

I.3 Algorithmes de chiffrement

la difficulté de résolution du problème sont les éléments déterminant la sécurité. Généralement,cela se traduit par la nécessité d’utiliser de grands nombres, la taille de ces nombres ayant unerépercussion sur la longueur des clefs. Cela explique que les clefs utilisées par la cryptographieà clef publique soient généralement bien plus longues que celles utilisées par la cryptographieà clef secrète. Par exemple, dans le cas de RSA, La factorisation d’un module de 1024 bits està la portée d’une agence gouvernementale, 2048 bits est considéré comme sûr actuellement, et4096 bits garantit une sécurité à long terme.

3.4.2 Attaque temporelle

Un type d’attaque apparu récemment est l’attaque temporelle, qui utilise la mesure dutemps pris par des opérations cryptographiques pour retrouver les clefs privées utilisées. Cetteattaque a été réalisée avec succès contre des cartes à microcircuits, des calculettes de sécuritéet contre des serveurs de commerce électronique à travers l’Internet. La société "CounterpaneSystems", entre autres, a généralisé ces méthodes pour y inclure des attaques sur des systèmesen mesurant la consommation, les émissions radioélectriques, et autres "canaux latéraux" ; ilsles ont mises en oeuvre contre plusieurs types d’algorithmes à clef publique ou à clef secrèteutilisés dans des calculettes. Une recherche voisine s’est intéressée à l’introduction délibéréed’erreurs dans les processeurs cryptographiques pour tenter d’obtenir des informations sur laclef.

15

Chapitre I. Principe de base de la cryptographie

16

Chapitre II

Courbe Elliptique Sur L’anneau Fq[ε], εn = 0

L’objectif de ce chapitre est d’étudier les courbes elliptiques définies par une équation deWeierstrass à coefficients dans l’anneau An = Fq[ε], εn = 0. Nous en déduisons quelques résultatsgénéraux concernant l’étude des morphismes de type λ, ν, Λ..définis dans la section 2.2 (voir[33]).

1 L’anneau An = Fq[ε], εn = 0

Soit p un nombre premier, q une puissance de p, n un entier supérieur où égal à 1. Onconsidère l’anneau Fq[X](Xn), qu’on note An = Fq[ε] où Fq est le corps fini de cardinal q etε = X. Autrement dit, on a : (voir [1], [33]).

An =n−1∑i=0

aiεi| (ai)0≤i≤n−1 ∈ Fnq

.

Lemme 1.1 Soient X = ∑n−1i=0 xiε

i et Y = ∑n−1i=0 yiε

i deux éléments de An. Alors

XY =n−1∑i=0

ziεi où zj =

j∑i=0

xiyj−i.

Lemme 1.2 Les éléments non inversibles de An sont les éléments de la forme ∑n−1i=1 xiε

i où(xi)1≤i≤n−1 ∈ Fn−1

q .

Preuve: En effet, An est local d’idéal maximal εAn.

17

Chapitre II. Courbe Elliptique Sur L’anneau Fq[ε], εn = 0

Lemme 1.3 Soit Y = ∑n−1i=0 yiε

i l’inverse de X = ∑n−1i=0 xiε

i. Alors y0 = x−1

0

yj = −x−10∑j−1i=0 yixj−i, ∀j > 0

Preuve: Soit Y = ∑n−1i=0 yiε

i l’inverse de X = ∑n−1i=0 xiε

i. Alors XY = 1, d’après le lemme1.1, ona

XY =n−1∑i=0

ziεi où zj =

j∑i=0

xiyj−i.

Donc,z0 = 1 et ∀j > 0, zj = 0.

D’où, y0 = x−10

yj = −x−10∑j−1i=0 yixj−i, ∀j > 0

Corollaire 1.4 Soit X = ∑n−1i=0 xiε

i ∈ An. Alors X2 = ∑n−1i=0 x

′iεi où

∀k ≥ 0,

x′2k = x2

k + 2∑k−1i=0 xix2k−i

x′2k+1 = 2∑k

i=0 xix2k+1−i

Preuve: D’après le lemme1.1, on a

∀j ≥ 0, x′j =j∑i=0

xixj−i.

Pour j = 2k, x′2k =2k∑i=0

xix2k−i,

donc, x′

2k = x2k + 2

k−1∑i=0

xix2k−i.

De mème, pour j = 2k + 1, x′2k+1 =2k+1∑i=0

xix2k+1−i,

donc, x′

2k+1 = 2k∑i=0

xix2k+1−i.

18

II.1 L’anneau An = Fq[ε], εn = 0

Corollaire 1.5 Soit X = ∑n−1i=0 xiε

i ∈ An. Alors X3 = ∑n−1i=0 x

′′i εi où

∀k ≥ 0,

x′′2k = x

′2kx0 +∑k−1

l=0 (x′2lx2k−2l + x′2l+1x2k−1−2l)

x′′2k+1 = ∑k

l=0(x′2lx2k+1−2l + x′2l+1x2k−2l)

Preuve: La démonstration est la même que pour le corollaire précédent.

Corollaire 1.6 L’anneau An est un anneau local de corps résiduel Fq .

Preuve: D’après les lemmes 1.1 et 1.2, on a le résultat du corollaire.

L’anneau An est un Fq-espace vectoriel de dimension n et de base B = (1, ε, ε2, ...., εn−1).On en déduit le corollaire suivant :

Corollaire 1.7 L’anneau An est une Fq-algèbre locale de type finie.

Notation 1.8 Soit k ≥ 2. On note,

1)πk : Ak −→ Ak−1∑k−1

i=0 xiεi 7−→ ∑k−2

i=0 xiδi

la projection de Ak sur Ak−1 où ε = X dans Ak et δ = X

dans Ak−1.

2)kπ : Ak −→ A1∑k−1

i=0 xiεi 7−→ x0

la projection canonique de Ak sur A1 = Fq.

On a πk et kπ sont deux morphismes d’anneaux.

Théorème 1.9 Soit n ≥ 2.Soient a = a + an−1ε

n−1, b = b + bn−1εn−1, X = X + xn−1ε

n−1, Y = Y + yn−1εn−1 et Z =

Z + zn−1εn−1 des éléments de An tels que

Y 2Z = X3 + aXZ2 + bZ3.

AlorsY 2Z = X3 + aXZ2 + bZ3 + [D − (Ayn−1 +Bzn−1 + Cxn−1)]εn−1

oùA = 2y0z0,

B = y20 − 3z2

0b0 − 2z0a0x0,

C = −(3x20 + a0z

20),

D = bn−1z30 + an−1x0z

20 .

19

Chapitre II. Courbe Elliptique Sur L’anneau Fq[ε], εn = 0

Preuve: Soienta = a+ an−1ε

n−1,

b = b+ bn−1εn−1,

X = X + xn−1εn−1,

Y = Y + yn−1εn−1,

etZ = Z + zn−1ε

n−1

des éléments de An. Alors

Y 2Z = (Y + yn−1εn−1)2(Z + zn−1ε

n−1)

= Y 2Z + (y20zn−1 + 2y0z0yn−1)εn−1

X3 = (X + xn−1εn−1)3

= X3 + 3x20xn−1ε

n−1

aXZ2 = aXZ2 + (2zn−1z0a0x0 + a0xn−1z20 + an−1x0z

20)εn−1

bZ3 = bZ3 + (bn−1z30 + 3z2

0zn−1b0)εn−1

SiY 2Z = X3 + aXZ2 + bZ3,

alors, Y 2Z = X3 + aXZ2 + bZ3 + (3x20xn−1 + 2zn−1z0a0x0 + a0xn−1z

20 + an−1x0z

203z2

0zn−1b0 −y2

0zn−1 − 2y0z0yn−1)εn−1 et donc,

Y 2Z = X3 + aXZ2 + bZ3 + [D − (Ayn−1 +Bzn−1 + Cxn−1)]εn−1

oùA = 2y0z0,

B = y20 − 3z2

0b0 − 2z0a0x0,

C = −(3x20 + a0z

20),

D = bn−1z30 + an−1x0z

20 .

20

II.2 Courbe Elliptique

2 Courbe Elliptique

2.1 Courbe elliptique sur un corps

Définition 2.1 Une courbe elliptique E (définie sur un corps K, notée E(K), est une courbeprojective non singulière de genre 1 qui possède un point K-rationnel Ω.

Remarque 2.2 Toute courbe elliptique E(K) est donnée par l’équation de Weierstrass :

(E) : Y 2Z + a1XY Z + a3Y Z2 = X3 + a2X

2Z + a4XZ2 + a6Z

3

où ai ∈ K ; i=1,2,3,4,6 (voir [30].p46).

Notation 2.3 Voir [30].p117.On note :

b2 = a21 + 4a2,

b4 = 2a4 + a1a3,

b6 = a33 + 4a6,

b8 = a21a6 + 4a2a6 − a1a3a4 + a2a

23 − a2

4,

c4 = b22 − 24b4,

4 = −b22b8 − 8b3

4 − 27b26 + 9b2b4b6,

Si 4 6= 0, alors on pose j = c344.

Proposition 2.4 Voir [30].p50.Une courbe E d’équation (E) est non-singulière si et seulement si 4 6= 0, dans ce cas j estappelé le j-invariant de E, on le note j(E).4 est appelé le discriminant de E.

Remarque 2.5 1) Dans le cas où a1 = a3 = a2 = 0 ; on a 4 = −24(27a26 + 4a3

4)2)Voir [30].p324.Si (p = 2où p = 3), alors on a :

p j(E) E 4 j(E)2 0 y2 + cy = x3 + ax+ b c4 02 6=0 y2 + xy = x3 + ax2 + b b 1

b

3 0 y2 = x3 + ax+ b −a3 03 6= 0 y2 = x3 + ax2 + b −a3b −a3

b

21

Chapitre II. Courbe Elliptique Sur L’anneau Fq[ε], εn = 0

2.2 Loi de groupe explicite

Soit la courbe elliptique E d’équation de Weierstrass

(E) : Y 2Z + a1XY Z + a3Y Z2 = X3 + a2X

2Z + a4XZ2 + a6Z

3

Proposition 2.6 Soient M(x1, y1), N(x2, y2) et R(x3, y3) trois points de la courbe (E) tel queR=N+M. Alors :1) R = Ω pour x1 = x2 et y2 = −y1 − a1x1 − a3

2) x3 = t2 + a1t− a2 − x1 − x2 et y3 = −(t+ a1)x3 − s− a3 avec :

t =

y2−y1x2−x1

; si M6=N3x2

1+2a1x1+a4−a1y12y1+a1x1+a3

; si M=N

s =

y1x2−y2x1x2−x1

; si M6=N−x3

1+a4x1+2a6−a3y12y1+a1x1+a3

; si M=N

Preuve: La droite (MN) est d’équation Y = tX + s. Soit R = −S.Si S(x, y) alors R(x,−y − a1x− a3).Il suffit de trouver le troisième point S d’intersection de la droite (MN) avec la courbe E, Svérifie R + S = Ω.Donc R = −S, d’où le résultat (voir [30].p58).

Remarque 2.7 La proposition 2.6 définit une loi additive commutative sur le groupe E(K),dontΩ = [0 : 1 : 0] joue le rôle de l’élément neutre, c’est un point à l’infini. On dit que les courbeselliptiques sont des variétés abéliennes de dimension un .

2.3 Isogénie

En mathématiques, un morphisme est une application entre deux ensembles munis d’unemême espèce de structure, qui respecte cette structure. Cette notion de morphismes est fonda-mentale en mathématique. Elle permet de comparer et de relier les objets mathématiques entreeux.

Définition 2.8 1. (Application rationnelle)Voir [30].p15. Soient V1 et V2 deux variétésprojectives. Une application ϕ : V1 → V2 est dite rationnelle s’il existe f0, ..., fn ∈ K(V1)

22

II.2 Courbe Elliptique

tels que ϕ soit de la forme [f0, ..., fn], où ϕ(P ) = [f0(P ), ..., fn(P )] ∈ V2 pour tout pointP ∈ V1 tel que fi(P ) soit défini pour tout i = 0, ..., n.

2. (Application régulière)Voir [30].p16. Soient V1 et V2 deux variétés projectives. Une ap-plication rationnelle ϕ = [f0, ..., fn] : V1 → V2 est dite régulière ou définie en P s’il existeune fonction g ∈ K(V1) telle que gfi soit régulière en P pour tout i = 0, ..., n et s’il existej = 0, ..., n tel que gfj(P ) 6= 0. Pour un tel g, on pose ϕ(P ) = [gf0(P ), ..., gfn(P )]. Si ϕest régulière en P pour tout P, on dit que c’est un morphisme.

Mon domaine de recherche ne s’intéressant qu’à des courbes elliptiques, il est maintenant ques-tion de définir la notion d’isogénie.

Définition 2.9 (Isogénie)Voir [30].p70.Soit (E,Ω), (E ′ ,Ω′) deux courbes elliptiques. Une isogénie entre E et E ′ est un morphismeφ :E→E ′ tel que φ(Ω) = Ω′ .On dit que E et E ′ sont isogénes, s’il existe une isogénie φ entre eux telle que φ(E) 6= Ω′.

Remarque 2.10 Voir [30].p71.Soit E une courbe elliptique.Pour chaque m ∈ Z− 0; l’application multiplication par m définie par :

[m]: E −→ E

P 7−→ mP

est une isogénie.Si m > 0, alors mP =P + P + ....+ P︸ ︷︷ ︸

m

.

Si m < 0, alors mP = −m(−P ).

Définition 2.11 Soit E(K) une courbe elliptique et soit Q∈E(K).L’application translation par Q se définit par :

τQ : E −→ E

P 7−→ P+Q

Remarque 2.12 L’application τQ est un automorphisme de E d’inverse τ−Q, mais elle n’estpas une isogénie sauf pour Q = Ω.

Théorème 2.13 Voir [30], [34].Soit E(K) une courbe elliptique sur le corps fini K = Fq de caractéristique p . Alors le groupe(E(K),+) est ou bien cyclique, ou bien isomorphe à Z/n1Z× Z/n2Z avec n2 | (n1 ∧ p− 1).

23

Chapitre II. Courbe Elliptique Sur L’anneau Fq[ε], εn = 0

Théorème 2.14 (Hasse)Voir [30].p131, [34].p127Soit p un nombre premier. Si E(Fp) est une courbe elliptique définie sur le corps fini Fp decardinalité p alors :

| p+ 1− ]E(Fp) |≤ 2√p

Remarque 2.15 Deuring a montré que pour tout entier premier p, pour tout entier e comprisentre p + 1 − 2√p et p + 1 + 2√p, il existe une courbe elliptique E(Fp) de cardinal e(voir[34].p138).

2.4 Courbes elliptiques sur An, n ≥ 1

Soit R un anneau commutatif. Soit la courbe (E) sur l’anneau R définie par l’équation deWeierstrass :

(?) : Y 2Z + a1XY Z + a3Y Z2 = X3 + a2X

2Z + a4XZ2 + a6Z

3

où ai ∈ R, i = 1, 2, 3, 4, 6. Soient

b2 = a21 + 4a2,

b4 = 2a4 + a1a3,

b6 = a33 + 4a6,

b8 = a21a6 + 4a2a6 − a1a3a4 + a2a

23 − a2

4,

c4 = b22 − 24b4,

Définition 2.16 On définit le discriminant de E sur R par :

4(E) = −b22b8 − 8b3

4 − 27b26 + 9b2b4b6.

Définition 2.17 On appelle courbe elliptique E sur R, une courbe définie par l’équation deWeierstrass (?) dont le discriminant 4(E) est inversible dans R.

Soient p un nombre premier, q une puissance de p et n un entier supérieur où égal à 1. SoitAn = Fq[ε], εn = 0. Une courbe elliptique En sur l’anneau An est donnée par l’équation deWeierstrass :

Y 2Z + a1XY Z + a3Y Z2 = X3 + a2X

2Z + a4XZ2 + a6Z

3

où ai ∈ An, i = 1, 2, 3, 4, 6. Dans ce cas le discriminant de En sur An sera noté : 4ε,n.

24

II.2 Courbe Elliptique

Définition 2.18 On définit le J-invariant de En par :

Jε,n = c344ε,n

Remarque 2.19 Si p est différent de 2 et 3 alors En est déterminée par l’équation de Weiers-trass de type

(?′) : Y 2Z = X3 + aXZ2 + bZ3

où a, b ∈ An, on la note Ena,b (voir [1], [3], [33]).

Dans toute la suite, on suppose que p est différent de 2 et 3.

Définition 2.20 La courbe elliptique sur Fq d’équation de Weierstrass :

(?′′) : Y 2Z = X3 + a0XZ2 + b0Z

3,

où a0 = nπ(a) et b0 = nπ(b), s’appelle la reduction de Ena,b à Fq.

Lemme 2.21 Le J-invariant de Ena,b est :

Jε,n = 1728 4a3

4a3 + 27b2

Preuve: On aa1 = a2 = a3 = 0

a4 = a et a6 = b.

Donc,b2 = 0,b4 = 2a,b6 = 4b,b8 = −a2,

c4 = −48a,4ε,n = −16(4a3 + 27b2),

d’où,Jε,n = 1728 4a3

4a3 + 27b2 .

25

Chapitre II. Courbe Elliptique Sur L’anneau Fq[ε], εn = 0

Lemme 2.22 Soit Jε,n le J-invariant de Ena,b et soit j le j-invariant de la reduction de En

a,b àFq. Alors :

j = nπ(Jε,n).

Preuve: On aJε,n = 1728 4a3

4a3 + 27b2

etj = 1728 4a3

04a3

0 + 27b20.

Or, a = a0 + (ε) et b = b0 + (ε). Donc,

a3 = a30 + (ε),

4a3 + 27b2 = 4a30 + 27b2

0 + (ε),

(4a3 + 27b2)−1 = (4a30 + 27b2

0)−1 + (ε),

etJε,n = 1728(4a3

0 + (ε))((4a30 + 27b2

0)−1 + (ε)).

Donc,Jε,n = j + T, T ∈ εAn.

D’où,j = nπ(Jε,n).

26

II.2 Courbe Elliptique

Proposition 2.23 Voir [33].p44, , [21].Soient P = [X : Y : Z] et Q = [X ′ : Y ′ : Z ′ ] dans En

a,b, on pose

P +Q = [X ′′ : Y ′′ : Z ′′ ].

1. Si [nπ(X) : nπ(Y ) : nπ(Z)] 6= [nπ(X ′) : nπ(Y ′) : nπ(Z ′)], alors– X

′′ = Y 2X′Z′ −ZXY ′2− a(ZX ′ +XZ

′)(ZX ′ −XZ ′) + (2Y Y ′ − 3bZZ ′)(ZX ′ −XZ ′)– Y

′′ = Y Y′(Z ′Y − ZY ′) − a(XY Z ′2 − Z2X

′Y′) + (−2aZZ ′ − 3XX ′)(X ′Y − XY ′) −

3bZZ ′(Z ′Y − ZY ′)– Z

′′ = (ZY ′ + Z′Y )(Z ′Y − ZY ′) + (3XX ′ + aZZ

′)(ZX ′ −XZ ′)

2. Si [nπ(X) : nπ(Y ) : nπ(Z)] = [nπ(X ′) : nπ(Y ′) : nπ(Z ′)], alors– X

′′ = (Y Y ′ − 6bZZ ′)(X ′Y + XY′) + (a2ZZ

′ − 2aXX ′)(ZY ′ + Z′Y ) − 3b(XY Z ′2 +

Z2X′Y′)− a(Y ZX ′2 +X2Y

′Z′)

– Y′′ = Y 2Y

′2 +3aX2X′2 +(−a3−9b2)Z2Z

′2−a2(ZX ′+XZ ′)2−2a2ZXZ′X′+(9bXX ′−

3abZZ ′)(ZX ′ +XZ′)

– Z′′ = (Y Y ′+3bZZ ′)(ZY ′+Z ′Y )+(3XX ′+2aZZ ′)(X ′Y +XY ′)+a(XY Z ′2+Z2X

′Y′).

Remarque 2.24 La proposition 2.20 définit explicitement une loi additive commutative sur legroupe En

a,b, d’élément neutre Ω = [0 : 1 : 0].

2.5 Les morphismes πk et θkLemme 2.25 Soit a, b ∈ Ak. L’application

πk : Eka,b −→ Ek−1

πk(a),πk(b)

[X : Y : Z] 7−→ [πk(X) : πk(Y ) : πk(Z)]

est un morphisme de groupes surjectif.

Preuve: πk est bien défini, car πk est un morphisme d’anneaux. D’après le théorème 1.9, on aAyk−1 +Bzk−1 + Cxk−1 ∼= L+D mod p, avec

L ∈ Fkq ,A = 2y0z0,

B = y20 − 3z2

0b0 − 2z0a0x0,

C = −(3x20 + a0z

20), et

D = bn−1z30 + an−1x0z

20 .

27

Chapitre II. Courbe Elliptique Sur L’anneau Fq[ε], εn = 0

Les coefficients A, B et C sont les dérivées partielles de la fonction

F (X, Y, Z) = Y 2Z −X3 − a0XZ2 − b0Z

3

calculées en (x0, y0, z0), et ne sont pas tous nuls, car Y 2Z = X3 + a0XZ2 + b0Z

3 est l’équationde la reduction de Ek

a,b à Fq. En effet,

∂F

∂X(x0, y0, z0) = −(3x2

0 + a0z20) = C

∂F

∂Y(x0, y0, z0) = 2y0z0 = A

∂F

∂Z(x0, y0, z0) = y2

0 − 3z20b0 − 2z0a0x0 = B.

Supposons que :

A = 0B = 0C = 0

alors

3x2

0 + a0z20 = 0

2y0z0 = 0y2

0 − 3z20b0 − 2z0a0x0 = 0

Si z0 = 0 alors x0 = y0 = 0, absurde. Donc, z0 = 1 et

3x2

0 + a0 = 02y0 = 0y2

0 − 3b0 − 2a0x0 = 0

Par conséquence,

3x2

0 + a0 = 0y0 = 03b0 + 2a0x0 = 0

D’où, 4 = 4a30 + 27b2

0 = 0, absurde.

Donc, A, B et C ne sont pas tous nuls.

On déduit l’existence de [xk−1 : yk−1 : zk−1]. D’où, πk est surjectif.En utilisant la proposition 2.20, on déduit que πk est un morphisme de groupes.

Lemme 2.26 Pour tout k ≥ 2,

Ker(πk) =

[lεk−1 : 1 : 0] l ∈ Fq.

Preuve: On a :Ker(πk) =

P ∈ Ek

a,b| πk(P ) = [0 : 1 : 0].

Donc, P = [xk−1εk−1 : 1 + yk−1ε

k−1 : zk−1εk−1] = [xk−1ε

k−1 : 1 : zk−1εk−1].

28

II.2 Courbe Elliptique

Comme P ∈ Eka,b, on a

zk−1εk−1 = (xk−1ε

k−1)3 + axk−1εk−1(zk−1ε

k−1)2 + b(zk−1εk−1)3

= 0.

Donc, zk−1 = 0.D’où,

Ker(πk) =

[lεk−1 : 1 : 0] l ∈ Fq.

Lemme 2.27 L’application

θk : Fq −→ Eka,b

l 7−→ [lεk−1 : 1 : 0]

est un morphisme de groupes injectif.

Preuve: Il est clair que l’application θk est injective.Soient [lεk−1 : 1 : 0] et [hεk−1 : 1 : 0] deux éléments de Ek

a,b. On a :

kπ(lεk−1) = kπ(hεk−1)

kπ(1) = kπ(1)

kπ(0) = kπ(0).

Donc, d’après la proposition 2.20, on a :

X′′ = (l + h)εk−1

Y′′ = 1

Z′′ = 0.

D’où,θk(l + h) = θk(l) + θk(h).

Finalement, θk est un morphisme de groupes injectif.

Corollaire 2.28 Soit Gk = Ker(πk). Alors Gk = θk(Fq)

29

Chapitre II. Courbe Elliptique Sur L’anneau Fq[ε], εn = 0

Preuve: Soit [lεk−1 : 1 : 0] ∈ θk(Fq), alors

πk([kεk−1 : 1 : 0]) = [0 : 1 : 0],

on conclut que [kεk−1 : 1 : 0] ∈ Gk.Soit P = [X : Y : Z] ∈ Gk, alors

P = [lεk−1 : 1 : 0]

= θk(l).

Donc, P ∈ θk(Fq). Finalement, Gk = θk(Fq).

Les lemmes 2.22, 2.23 et 2.24, nous permettent d’énoncer le corollaire suivant :

Corollaire 2.29 Le groupe Gk est un p-groupe abélien élémentaire d’ordre q et la suite

0→ Gkj→ Ek

a,bπk→ Ek−1

π(a),π(b) → 0

est une suite exacte courte de groupes abéliens.

Corollaire 2.30 Soit kπ = π2 π3...... πk, alors kπ est un morphisme de groupes surjectif.

Preuve: On akπ : Ek

a,b −→ E1kπ(a),kπ(b)

[X : Y : Z] 7−→ [kπ(X) : kπ(Y ) : kπ(Z)]

et, kπ = π2 π3...... πk.Chaque morphisme

πi : Eia,b −→ Ei−1

πi(a),πi(b) , 2 ≤ i ≤ k

est un morphisme de groupes surjectif, donc, kπ est un morphisme de groupes surjectif.

Théorème 2.31 Soit kG = ker(kπ), alors

kG =

[k−1∑i=1

xiεi : 1 :

k−1∑i=3

ziεi]| (xi)1≤i≤k−1 ∈ Fk−1

q

,

où les (zi)3≤i≤k−1 sont des fonctions de (xj)1≤j≤i.

30

II.2 Courbe Elliptique

Preuve: Si on note zi = (fi(xj))1≤j≤i, alors

kG =

[k−1∑i=1

xiεi : 1 :

k−1∑i=3

ziεi]| (xi)1≤i≤k−1 ∈ Fk−1

q , zi = (fi(xj))1≤j≤i

.

Soit P = [X : Y : Z] ∈ kG, alors kπ(P ) = [0 : 1 : 0]. Donc,

x0 = 0

y0 = 1

z0 = 0,

et par suite,

P = [k−1∑i=1

xiεi : 1 +

k−1∑i=1

yiεi :

k−1∑i=1

ziεi]

= [k−1∑i=1

xiεi : 1 :

k−1∑i=1

ziεi].

Comme P ∈ Eka,b, alors d’après l’équation (∗)′ :

(?)′ :k−1∑i=1

ziεi = (

k−1∑i=1

xiεi)3 + a(

k−1∑i=1

xiεi)(

k−1∑i=1

ziεi)2 + b(

k−1∑i=1

ziεi)3.

Donc,

z1 = 0

z2 = 0

z3 = x31.

Pour i = 3, on az3 = x3

1 = (f3(xj))1≤j≤3.

Suppose quezi−1 = (fi−1(xj))1≤j≤i−1, i ≥ 4

et montrons quezi = (fi(xj))1≤j≤i.

31

Chapitre II. Courbe Elliptique Sur L’anneau Fq[ε], εn = 0

Soient

X =k−1∑i=0

xiεi

Z =k−1∑i=0

ziεi

a =k−1∑i=0

aiεi

b =k−1∑i=0

biεi.

On pose

X2 =k−1∑i=0

x′

iεi

X3 =k−1∑i=0

x′′

i εi

Z2 =k−1∑i=0

z′

iεi

Z3 =k−1∑i=0

z′′

i εi

bZ3 =k−1∑i=0

ciεi

aX =k−1∑i=0

diεi

aXZ2 =k−1∑i=0

d′

iεi.

D’après l’équation (?)′, on azi = x

′′

i + ci + d′

i,

32

II.2 Courbe Elliptique

or

x′

i =i∑

j=0xjxi−j

x′′

i =i∑

j=0x′

jxi−j

z′

i =i∑

j=0zjzi−j

z′′

i =i∑

j=0z′

jzi−j

di =i∑

j=0xjai−j

d′

i =i∑

j=0z′

jdi−j

ci =i∑

j=0z′′

j bi−j.

Donc,

zi =i∑

j=0(x′jxi−j + z

′′

j bi−j + z′

jdi−j).

On pose,

A =i∑

j=0(z′′j bi−j + z

jdi−j).

On aA = z

′′

i b0 + z′

id0 +i−1∑j=0

(z′′j bi−j + z′

jdi−j)

A =i∑

j=0(z′jzi−jb0 + zjzi−jd0) +

i−1∑j=0

(z′′j bi−j + z′

jdi−j)

A = z′

iz0b0 + z0zid0 +i−1∑j=0

(z′jzi−jb0 + zjzi−jd0 + z′′

j bi−j + z′

jdi−j).

Or z0 = 0, donc

A =i−1∑j=0

(z′jzi−jb0 + zjzi−jd0 + z′′

j bi−j + z′

jdi−j).

33

Chapitre II. Courbe Elliptique Sur L’anneau Fq[ε], εn = 0

Par hypothèse A est en fonction de (xj)1≤j≤i−1, d’où

zi = (fi(xj))1≤j≤i.

Corollaire 2.32 Soit N = ]E1kπ(a),kπ(b), alors ∀P ∈ Ek

a,b, NP ∈ kG .

Preuve: On a ∀P ∈ Eka,b,

kπ(NP ) = Nkπ(P ) = [0 : 1 : 0].

Donc, NP ∈ kG.

2.6 Les applications fondamentales

Dans cette section, nous supposons que p ne divise pas N , avec N = ]E1kπ(a),kπ(b).

Corollaire 2.33 Soit P ∈ Eka,b, alors

NP = [0 : 1 : 0]⇐⇒ P ∈ E1kπ(a),kπ(b).

Preuve: SiP ∈ E1

kπ(a),kπ(b), alors NP = [0 : 1 : 0].

SoientP = [x0 +X : y0 + Y : z0 + Z] ∈ Ek

a,b et Q = [x0 : y0 : z0] ∈ E1kπ(a),kπ(b).

SiNP = [0 : 1 : 0] alors N(P −Q) = [0 : 1 : 0].

Donc,

P −Q = [k−1∑i=1

xiεi : 1 :

k−1∑i=3

ziεi].

En en deduit queNxi ≡ 0 [p], i = 1, 2, ..., k − 1,

or pgcd(N, p) = 1, doncxi = 0 et P = Q.

34

II.2 Courbe Elliptique

Corollaire 2.34∀P ∈ Ek

a,b, on a pNP = [0 : 1 : 0].

Preuve:∀P ∈ Ek

a,b, NP ∈ kG.

Donc,pNP = [0 : 1 : 0].

Lemme 2.35 Si p ne divise pas N , alors il existe un unique morphisme

vk : E1a0,b0 → Ek

a,b

qui rend le diagramme (d) suivant commutatif.

Eka,b Ek

a,b

E1a0,b0

[p]

kπ vk

Preuve: Soit P ∈ kG, on a pP = [0 : 1 : 0].Donc kG ⊂ ker([p]).D’où, il existe un unique morphisme

vk : E1a0,b0 → Ek

a,b

qui rend le diagramme (d) commutatif.

Théorème 2.36 Si p ne divise pas N , alors il existe un unique morphisme

sk : E1a0,b0 → Ek

a,b

tel que kπosk = idE1a0,b0

.

35

Chapitre II. Courbe Elliptique Sur L’anneau Fq[ε], εn = 0

Preuve: Soit N ′ ∈ Z tel qu’il existe t ∈ Z vérifiant 1−NN ′ = tp. Donc,

[1−NN ′ ] = [t]o[p].

D’après le lemme 2.34, il existe un unique morphisme

sk : E1a0,b0 → Ek

a,b

qui rend le diagramme (d′) suivant commutatif :

Eka,b Ek

a,b

E1a0,b0

[tp]

kπ sk

Soit P ∈ E1a0,b0 , il existe P

′ ∈ Eka,b tel que kπ(P ′) = P. Donc,

kπosk(P ) = kπoskokπ(P ′)

= kπ([1−NN ′ ](P ′))

= kπ(P ′ −NN ′P ′)

= P −NN ′P

= P.

Théorème 2.37 Si p ne divise pas N , alors

Eka,b∼= E1

a0,b0 × kG.

Preuve: L’isomorphismefk : E1

a0,b0 × kG −→ Eka,b

(P,Q) 7−→ sk(P ) +Q

admet une application réciproque

Fk : Eka,b −→ E1

a0,b0 × kGP 7−→ (kπ(P ), NN ′P )

.

36

II.2 Courbe Elliptique

En effet,

fkoFk(P ) = fk((kπ(P ), NN ′P ))

= skokπ(P ) +NN′P

= (1−NN ′)P +NN′P

= P.

De même,

Fkofk(P,Q) = Fk(sk(P ) +Q)

= (kπ(sk(P ) +Q), NN ′(sk(P ) +Q)).

On a

kπ(sk(P ) +Q) = kπ(sk(P )) + kπ(Q)

= P + [0 : 1 : 0]

= P.

NN′(sk(P ) +Q) = NN

′(sk(P )) +NN′Q

= NN′(1−NN ′)P ′ +NN

′Q

= N′tpNP

′ +NN′Q

= [0 : 1 : 0] +NN′Q

= NN′Q.

Comme, pQ = [0 : 1 : 0] on a,

NN′Q = (1− tp)Q

= Q− tpQ

= Q.

On conclut,Fkofk(P,Q) = (P,Q).

37

Chapitre II. Courbe Elliptique Sur L’anneau Fq[ε], εn = 0

Corollaire 2.38 Si p ne divise pas N , alors

Eka,b∼= E1

a0,b0 × Fk−1q .

Preuve: On akG ∼= Fk−1

q .

Corollaire 2.39 Si p ne divise pas N , alors

Eka,b∼= CN × Fk−1

q , avec CN cyclique

ou

Eka,b∼= Z/n1Z× Z/n2Z× Fk−1

q , où n2 | (n1 ∧ p− 1).

Preuve: On a

E1a0,b0

∼= CN , avec CN cyclique

ou

E1a0,b0

∼= Z/n1Z× Z/n2Z, où n2 | (n1 ∧ p− 1).

EtEka,b∼= E1

a0,b0 × Fk−1q .

Corollaire 2.40 Si p ne divise pas N , alors

(√q − 1)2qk−1 ≤ ](Eka,b) ≤ (√q + 1)2qk−1.

Preuve: D’après le théorème de Hass, on a :

| q + 1− ]E(Fq) |≤ 2√q

donc(√q − 1)2qk−1 ≤ ](Ek

a,b) ≤ (√q + 1)2qk−1.

38

II.2 Courbe Elliptique

Théorème 2.41 Soient Jε,n le J-invariant de Ena,b et J ′ε,n le J-invariant de En

a′,b′ .

Si p ne divise pas N , oùN = card(E1

a0,b0) = card(E1a′0,b

′0),

alors Ena,b et En

a′,b′ sont isomorphes si et seulement si nπ(Jε,n) = nπ(J ′ε,n).

Preuve: On a,Ena,b∼= E1

a0,b0 × Fn−1q

etEna′,b′∼= E1

a′0,b′0× Fn−1

q .

Donc,Ena,b∼= En

a′,b′ ⇔ E1a0,b0 × F

n−1q∼= E1

a′0,b′0× Fn−1

q

⇔ E1a0,b0∼= E1

a′0,b′0

⇔ j = j′

⇔ nπ(Jε,n) = nπ(J ′ε,n).

39

Chapitre II. Courbe Elliptique Sur L’anneau Fq[ε], εn = 0

40

Chapitre III

Crypto système à clef publique

Les systèmes cryptographiques reposant sur des problèmes durs, comme le problème dedécodage par syndrome dans le cas des codes quasi-cycliques, problème de factorisation desentiers dans le cas RSA et le problème du logarithme discret (exemple chiffrement ElGamal)qui est à l’origine de nombreux protocoles cryptographiques que ça soit sur les corps finis ousur les courbes elliptiques (voir [8], [53], [54], [57], [58]).Dans cette partie nous traitons un cryptosystème à bases de matrices basé sur le problème dulogarithme discret qu’on note MPLD.

1 Taille d’un entier naturel en base b

Définition 1.1 Voir [34].p 18Si f et g sont deux fonctions de R dans R+. On dit que

f(x) = O(g(x))

si il existe une constante c, telle que

f(x) ≤ cg(x),∀x 0.

Exemple 1.2logx = O(xl) ; ∀l > 0.

Proposition-Définition 1.3 Voir [34].p 22.

41

Chapitre III. Crypto système à clef publique

Soit b ∈ N∗. Tout entier n admet une unique écriture en base b de la forme

n = at−1bt−1 + at−2b

t−2 + .....+ a1b+ a0

avec at−1 6= 0 et ai ∈ 0, 1, ...., b− 1.L’entier t est appelé la taille de n dans la base b.

Proposition 1.4 Soit b ∈ N∗ et n ∈ N∗. Alors la taille de n dans la base b est

t = [ lognlogb

] + 1

Preuve: Si t est la taille de n dans la base b, alors

bt−1 ≤ at−1bt−1 + at−2b

t−2 + .....+ a1b+ a0 ≤ (b− 1)bt−1 + (b− 1)bt−2 + .....+ (b− 1)b+ (b− 1),

doncbt−1 ≤ n ≤ bt − 1 < bt.

D’oùt− 1 ≤ logbn < t.

C’est à diret = [ logn

logb] + 1.

Définition 1.5 – Un calcul est dit polynomial en n si il nécessite un nombre d’opérationsde la forme O(logαn) pour α ∈ N∗.

– Il est dit exponentiel en n si il nécessite un nombre d’opérations de la forme O(nα).– Il est dit sous exponentiel en n s’il nécessite un nombre d’opérations de la forme O(exp(α

√logn).

2 Fonction à sens unique

– Une fonction f est considérée comme facile à calculer si f(x) se calcule en temps poly-nomial en x pour tout x.

– Une fonction f est considérée comme difficile à inverser si f−1(y) se calcule en tempsexponentiel ou sous exponentiel pour presque tout y.

42

III.3 Le logarithme discret

– Une fonction à sens unique est une fonction qui est facile à calculer mais difficile àinverser (par calcul).

Définition 2.1 Une fonction f : X → Y, est dite à sens unique si :1)∀x ∈ X, f(x) est calculable en temps polynomial.2)Pour presque tout y ∈ Im(f), il est infaisable de façon calculable de trouver x ∈ X tel quef(x) = y.

Une fonction f : X → Y, est dite à sens unique avec trappe si :1)f est à sens unique.2) Connaissant une information supplémentaire appelée trappe, le calcul, pour tout y ∈ Im(f),de x ∈ X tel que f(x) = y est réalisable en temps polynomial.

Remarque 2.2 Mathématiquement, l’infaisabilité est une idée compliquée à mettre en forme.Il faudrait employer les concepts de la théorie de la complexité, ce qui va bien au-delà de laportée de ce texte. Par conséquent, nous n’en donnerons qu’une idée intuitive. Une fonction hest à sens unique quand les algorithmes qui essaient de calculer x tel que h(x)=s, à partir d’unedonnée s, échouent presque toujours (parce qu’il y a besoin de beaucoup trop d’espace ou detemps.)

Exemple 2.3 L’exponentiation modulaire appelée aussi exponentielle discrète est une fonctionà sens unique définit par :

f: Z?p −→ Z?px 7−→ αx

Tous les algorithmes connus pour inverser cette fonction, nécessitent un temps de calcul nonpolynomial en log(p).

3 Le logarithme discret

Le problème du calcul du logarithme discret (que l’on note DLP) est un problème généra-lement difficile (plus ou moins en fonction du groupe G). Dans de nombreuses situations, celapermet de fabriquer des cryptosystèmes, car cette asymétrie entre le problème du calcul du lo-garithme (difficile), et celui du calcul des puissances (facile) est propice pour la cryptographie.Diffie et Hellman ont été les premiers à bâtir un cryptosystème à partir de cette situation (voir[59]).

43

Chapitre III. Crypto système à clef publique

Définition 3.1 On se donne un groupe G noté multiplicativement et g un élément de G.Soit f1 l’homomorphisme de groupe défini par :

f1 : Z −→ G

m 7−→ gm

Cette application induit un isomorphisme f de Z/ord(g)Z dans < g >.Le morphisme réciproque f−1 est appelé logarithme discret en base g.

Notation 3.2s = gm ⇔ m = loggs.

4 Groupe Générique

La sécurité du système Diffie-Hellman est calculable.Elle repose sur deux hypothèses :

1. la puissance du calcul de l’opposant.

2. Il n’est pas possible de résoudre le problème du logarithme discret dans un temps polyno-mial, d’où le choix du groupe générique G, l’un des notions les plus couramment utiliséesdans les crypto systèmes à clés publique.

Définition 4.1 Pour un groupe fini G de cardinal n, on fait les hypothèses minimales sui-vantes. On pose qu’il existe un entier α ≥ 0 tel que :1) Les éléments de G sont représentés de façon unique sur O((logn)α) bits.2) Les opérateurs dans le groupe se calculent en O((logn)α).3) Le cardinal du G est connu.Un tel groupe est dit groupe générique.

5 Cryptosystème à bases des matrices

La Cryptographie moderne est fondée sur les fonctions à sens unique. L’ un des hauts faitsde la courte histoire de la cryptographie est la mise au point du premier système à clé publiqueRSA, puis la cryptographie elliptique, Diffie et Hellman ont proposé une solution élégantepermettant à deux individus d’échanger une information secrète, c’est le cryptosystème deDiffie et Hellman.

44

III.5 Cryptosystème à bases des matrices

Définition 5.1 Un système cryptographique est la donnée d’un 5-uplet (P,C,K,E,D)vérifiant :

1. P est un ensemble fini de blocs de textes clairs possibles.

2. C est un ensemble fini de blocs de textes chiffrés possibles.

3. K que l’on appelle espace des clefs est un ensemble fini de clefs possibles.

4. ∀k ∈ K, ∃ une fonction de chiffrement ek ∈ E et une fonction de déchiffrement dk ∈ Davec :

ek : P −→ C

m 7−→ ek(m)=c

dk : C −→ P

c 7−→ dk(c)=m

Et dk ek(m) = m; ∀m texte claire de P.

Remarque 5.2 L’existence d’un tel cryptosystème est basée sur la possibilité de construire despaires de fonctions réciproques l’une de l’autre et qui sont faciles à calculer et très difficile àinverser. Les systèmes à clé publique reposent sur la difficulté d’effectuer en pratique certaincalcul. Dans un tel système il n’y a pas de clé secrète à échanger, la clé privée ne doit jamais êtreéchangée de A et la clé publique est connue pour tout le monde, toute fois il reste les problèmesde gestion de clé.

Figure III.1 – Schéma d’un crypto système

5.1 Principe de Diffie-Hellman

Soient deux entités A et B qui veulent échanger de l’information entre elles sans qu’aucuned’autre n’ait la possibilité de s’emparer de leur message. Un groupe cyclique public G est fixéainsi qu’un générateur public g de ce groupe.

45

Chapitre III. Crypto système à clef publique

A et B vont construire une clé commune k, pour cela A choisit un entier n plus petit que l’ordrede G, de même B choisit un entier m plus petit que l’ordre de G.A calcule gn et le transmet à B qui calcule gm et le transmet à A.Enfin, A et B calculent leur clé secrète k = gnm.

Figure III.2 – Schéma multiplicatif

5.2 Loi du groupe

Soient p un nombre premier, L un corps de caractéristique p et a, b ∈ L∗.

Notations 5.3 On note :

L∗ le groupe multiplicatif de L.

Mxy = x

a− 1 y

b− 1

yb

+ 1 xa

+ 1

.G = Mx

ydet(Mxy ) = 1

Gq = G mod p.

Mx1y14M

x2y2 = Mx3

y3

avec :

(1) :

x3 = b2x1x2+a2y1y2ab2

y3 = x1y2+x2y1a

46

III.5 Cryptosystème à bases des matrices

Mxy 4Mx

y 4 ....Mxy︸ ︷︷ ︸

lfois

= Mxy4l.

Mk = k2+1

2k − 1 k2−12k − 1

k2−12k + 1 k2+1

2k + 1

, k ∈ L∗.m = |Gq|.

On peut vérifier facilement le théorème suivant :

Théorème 5.4 L’ensemble Gq muni de l’opération 4 définie par (1) est un groupe abélian,dont Ma

0 est l’élément neutre, et l’inverse de Mxy est Mx

−y.

Remarque 5.5 L’inverse de Mk est Mk−1 .

5.3 Description du MDLP Cryptosystème

Soit L = Fq où q = pn.

1. P = Gq espace des clairs.

2. C = Gq espace des chiffrés.

3. K = L∗ espace des clefs.

4. Fonction de chiffrement : ∀α ∈ K,

eα : P −→ C

Mxy 7−→ eα (Mx

y) = Mxy4Mα

5. Fonction de déchiffrement : ∀α ∈ K,

dα : C −→ P

Mxy 7−→ dα(Mx

y) = Mxy4Mα−1

5.4 Echange de clefs

1. Clefs publiques :Espace des clairs P

Espace des chiffrés C

Espace des clefs K

47

Chapitre III. Crypto système à clef publique

Un générateur du groupe P est Mxy

Fonction de chiffrement eα

Fonction de déchiffrement dα

2. Echange la clé privée entre les deux entités :– Alice choisit secrètement un entier l tel que :

1 < l < m− 1.

Calcule :Mxl

yl= Mx

y4l.

Envoie à BobMxl

yl.

Et calcule :Mxtl

ytl= Mxt

yt4l.

– Bob choisit secrètement un entier t tel que :

1 < t < m− 1.

Calcule :Mxt

yt = Mxy4t.

Envoie à Alice :Mxt

yt .

Et calcule :Mxlt

ylt= Mxl

yl4t.

3. Calcul de la clé privée :

α = xlta

+ yltb

= xtla

+ ytlb

mod p

Remarque 5.6 Les Mxlyl, Mxt

yt et m sont publiques et peuvent être connus par un autre per-sonne, mais pour obtenir la clé privée α, il faut résoudre le problème du logarithme discret dans

48

III.5 Cryptosystème à bases des matrices

le groupe Gq, ce qui rend la découverte de la clé α difficile.

Remarque 5.7dαoeα(Mx

y ) = Mxy4Mα4Mα−1 = Mx

y

5.5 Exemple

p = 41, a = 2, b = 5, n = 1,m = 40

G41 =< M2631 >, l’élément neutre est M2

0

1. Echange la clé privée entre Alice et Bob– Alice choisit secrètement un entier :

l = 13 < 39.

Calcule :M13

23 = M2631413.

Envoie à Bob :M13

23 .

Et calcule :M13

18 = M1510413.

– Bob choisit secrètement un entier :

t = 21 < 39.

Calcule :M15

10 = M2631421.

Envoie à Alice :M15

10 .

Et calcule :M13

18 = M1323421.

2. Calcul de la clé privée

49

Chapitre III. Crypto système à clef publique

α = 132 + 18

5 = 6

3. Message à envoyéme = M28

18 ,M04 ,M

2327 ,M

3436

4. ChiffrementMxy e6(Mx

y )

M2818

39 00 0

M0

4

15 3838 17

M23

27

28 1515 30

M34

36

28 2626 30

5. Message reçu

mr = 28 26

26 30

, 28 15

15 30

, 15 38

38 17

, 39 0

0 0

6. Déchiffrement

Mxy d6(Mx

y ) 39 00 0

M2818 15 38

38 17

M04 28 26

26 30

M3436 28 15

15 30

M2327

5.6 Exemple de cryptographie

p = 3, a = b = 1, n = 3,m = 26.

50

III.5 Cryptosystème à bases des matrices

α racine du polynôme X3 + 2X + 1.

P = G27, C = G27, K = F∗27.

Un générateur du groupe P est M2α+2α2

1. Echange la clé privée entre Alice et Bob– Alice choisit secrètement un entier :

l = 12 < 25

Calcule :Mα+1

α2 = M2α+2α2

4l

Envoie à Bob :Mα+1

α2

Reçoit de Bob :M2α2+2

2α2+α+1

Calcule :M2α2+2

α2+2α+2 = M2α2+22α2+α+1

4l

– Bob choisit secrètement un entier :

t = 20 < 25

Calcule :M2α2+2

2α2+α+1 = M2α+2α2

4t

Envoie à Alice :M2α2+2

2α2+α+1

Reçoit de Alice :Mα+1

α2

Calcule :M2α2+2

α2+2α+2 = Mα+1α2

4t.

2. Alice et Bob calculent leur clé privée

β = 2α2 + 2 + α2 + 2α + 2 = 2α + 1

51

Chapitre III. Crypto système à clef publique

3. Fonction de chiffrement

eβ(Mxy ) = Mx

y4

2α2 + 1 α2 + 2αα2 + 2α + 2 2α2

4. Fonction de déchiffrement

dβ(Mxy ) = Mx

y4M2α2+22α2+α+2

5. Cryptographie basée sur un mot de passeSoit à crypter le message suivant : "bonjour ali vient vite".

(a) On supprime l’espace blanc, le message devient "bonjouralivientvite".

(b) On choisit un mot de passe par exemple fes.

(c) On partage le message en bloc de trois lettres, et j’ajoute des z à la fin du messagepour équilibrer. "bon/jou/ral/ivi/ent/vit/ezz"

(d) On construit un tableau de symbole.(voir tableau)

52

III.5 Cryptosystème à bases des matrices

Soient x = iα2 + jα + k et y = lα2 +mα + n, on note Mxy par ijklmn.

Tableau des symboles et leurs cryptes

Mxy Symbole eβ(Mx

y ) Symbole cryptés001000 a 202120 h010112 b 010220 c010220 c 012210 d012210 d 211110 s012122 e 010112 b122110 f 021210 q122222 g 112102 m202120 h 011101 j202212 i 001000 a011101 j 221102 z011201 k 202212 i112200 l 122110 f112102 m 022101 w002001 n 101212 v020112 o 021122 r020220 p 020112 o021210 q 020220 p021122 r 122222 g211110 s 221200 y211222 t 012122 e101120 u 002001 n101212 v 022201 x022101 w 101120 u022201 x 112200 l221200 y 011201 k221102 z 211222 t

53

Chapitre III. Crypto système à clef publique

6 Fonctions de chiffrement et de déchiffrement

Les fonctions de chiffrement et de déchiffrement ont étés implementées de la manière sui-vante :

1. Procedure de chiffrement :– chiffrement := proc(message)– local taille,resultat,i,num ;– num := table(["a"="001000","b"="010112","c"="010220","d"="012210","e"="012122","f"="122110","g"="122222","h"="202120","i"="202212","j"="011101","k"="011201","l"="112200","m"="112102","n"="002001","o"="020112","p"="020220","q"="021210","r"="021122","s"="211110","t"="211222","u"="101120","v"="101212","w"="022101","x"="022201","y"="221200","z"="221102"]) :

– if not type(message,string) then ERROR("le message doit etre une chaine de caracteres") fi ;– taille := length(message) ;– resultat :="" ;– if taille = 0 then RETURN("") fi ;– for i from 1 to taille do– resultat := cat(resultat,num[substring(message,i..i)]) ;– od ;– end :

2. Procedure de déchiffrement :– dechiffrement := proc(message)– local taille,resultat,i,num ;– num :=table(["001000"="a","010112"="b","010220"="c","012210"="d","012122"="e","122110"="f","122222"="g","202120"="h","202212"="i","011101"="j","011201"="k","112200"="l","112102"="m","002001"="n","020112"="o","020220"="p","021210"="q","021122"="r","211110"="s","211222"="t","101120"="u","101212"="v","022101"="w","022201"="x","221200"="y","221102"="z"]) :

– if not type(message,string) then ERROR("le message doit etre une chaine de caracteres") fi ;– taille := length(message)/6 ;– resultat :="" ;– if taille = 0 then RETURN("") fi ;– for i from 1 to taille do

54

III.6 Fonctions de chiffrement et de déchiffrement

– resultat :=– cat(resultat,num[substring(message,((i-1)*6)+1..((i-1)*6)+6)]) ;– od ;– end :

Remarque 6.1 Le chiffrement du message "bonjour ali vient vite" est,010112020112002001011101020112101120021122001000112200202212101212202212012122002001211222101212202212211222012122221102221102.

55

Chapitre III. Crypto système à clef publique

56

Chapitre IV

Algorithmes de Représentation du groupe Ena,b

Dans ce chapitre, nous étudions les propriétés algorithmes du groupe Ena,b pour q = p, et nous

introduisons une méthode d’identification sur Eka,b, dont la sécurité est basée sur la difficulté de

DLP sur ces groupes. Les implémentations des algorithmes sont faites par Maple.

1 Représentation des éléments de An

Soit X = ∑n−1i=0 xiε

i un élément de An. Alors, nous choisirons de représenter X par

X = [x0, x1, ..., xn−1].

1.1 Algorithme(1) : somme(p)

L’algorithme(1) est un algorithme qui calcule la somme de deux éléments de An.

1. somme(p)– Entrées : X,Y– Sortie : X + Y

(a) retourner [x0 + y0, x1 + y1, ..., xn−1 + yn−1] mod p

2. La procedure sommep– sommep := proc(P,Q, p)– return(P +Q mod p);– end :

1.2 Algorithme(2) : produit(p)

L’algorithme(2) est un algorithme qui calcule le produit de deux éléments de An.

57

Chapitre IV. Algorithmes de Représentation du groupe Ena,b

1. produit(p)– Entrées : X,Y– Sortie : X × Y

(a) z0 := x0y0 mod p

(b) pour j de 1 jusque à n− 1 faire– pour i de 1 jusque à j faire– zj = z0 +∑j

i=1 xiyj−i mod p– fin pour– fin pour

(c) retourner [z0, z1, ..., zn−1].

2. La procedure produitp– produitp := proc(P,Q, p)– local n, i, j, x ;– n := nops(P ) ;– for j from 1 to n do– for i from 1 to j do– x[j] := add(P [i] ∗Q[j − i+ 1], i = 1..j) mod p ;– end do ;– end do ;– return([seq(x[i], i = 1..n)]) ;– end :

1.3 Algorithme(3) : inverse(p)

L’algorithme(3) est un algorithme qui calcule l’inverse d’un élément de An.

1. inverse(p)– Entrée : X– Sortie : inversep

(a) Si x0 = 0 alors retourner "non inversible"

(b) Si non

(c) y0 := x−10 mod p

(d) pour i de 0 jusque à n− 1 faire

58

IV.1 Représentation des éléments de An

(e) pour j de 1 jusque à i faire

yj := −y0

j−1∑i=0

yixj−i mod p

(f) fin pour

(g) fin pour

(h) retourner [y0, y1, ..., yn−1].

(i) fin si

2. Procedure inversep– inversep := proc(P, p)– local i, j, x, n ;– n := nops(P ) ;– if (P [1] = 0) then print("Non inversible") else– x[1] :=expand((P [1])(−1) mod p) ;– for i from 1 to n do– for j from 2 to i do– x[j] :=expand((−x[1] ∗ add(x[i] ∗ P [j − i+ 1], i = 1..j − 1) mod p)) ;– end do ;– end do ;– return([seq(x[i], i = 1..n)]) ;– end if ;– end :

1.4 Algorithme(4) :projection(1)

L’algorithme(4) est un algorithme qui donne la projection d’un élément de An. sur A1.

1. projection(1)– Entrées : X– Sortie : x0

(a) retourner x0

2. La procedure projection1– projection1:=proc(P )– return(P [1]);– end :

59

Chapitre IV. Algorithmes de Représentation du groupe Ena,b

1.5 Algorithme(5) :projection(2)

L’algorithme(5) est un algorithme qui donne la projection d’un élément de An. sur An−1.

1. projection(2)– Entrées : X– Sortie : [x0, x1, ..., xn−2]

(a) retourner [x0, x1, ..., xn−2]

2. La procedure projection2– projection2:=proc(P )– local n;– return([seq(P [i], i = 1..n− 1)]);– end :

Remarque 1.1 Ces algorithmes définis sur An ont un temps d’exécution i(p) pour l’inverse,m(p) pour la multiplication et s(p) pour la somme. Ces temps d’exécution dépendent de n et dep et on a

s(p) ≤ m(p) ≤ i(p) ≤ c log(p).

Donc, ces algorithmes sont polynômiaux en logp.

2 Représentation du groupe Ena,b

Soit [X : Y : Z] ∈ Ena,b. Si X = ∑n−1

i=0 xiεi, Y = ∑n−1

i=0 yiεi et Z = ∑n−1

i=0 ziεi

alors nous représentons [X : Y : Z] par : [x0, x1, ..., xn−1, y0, y1, ..., yn−1, z0, z1, ..., zn−1].On note Gn

a,b l’ensemble de tous les représentants [x0, x1, ..., xn−1, y0, y1, ..., yn−1, z0, z1, ..., zn−1]des éléments [X : Y : Z] ∈ En

a,b.

2.1 Algorithme(6) : Neutre

Cet algorithme permet de représenter l’élément neutre de Ena,b.

1. Neutre– Entrée :n– Sortie : [0, 0, ..., 0︸ ︷︷ ︸

n

, 1, 0, ..., 0︸ ︷︷ ︸n

, 0, 0, ..., 0︸ ︷︷ ︸n

]

(a) [0, 0, ..., 0, 1, 0, ..., 0, 0, 0, ..., 0]

2. Procedure Neut

60

IV.2 Représentation du groupe Ena,b

– Neut :=proc(a, b, p)– local n;– return([seq(0, i = 1..n), 1, seq(0, i = n+ 2..3 ∗ n)])– end :

2.2 Algorithme(7) : projection(a)

C’est un algorithme qui représente la projection πn.

1. projection(a)– Entrée : [x0, x1, ..., xn−1, y0, y1, ..., yn−1, z0, z1, ..., zn−1]– Sortie : [x0, x1, ..., xn−2, y0, y1, ..., yn−2, z0, z1, ..., zn−2]

(a) retourner [x0, x1, ..., xn−2, y0, y1, ..., yn−2, z0, z1, ..., zn−2]

2. Procedure proj– proj :=proc(P )– local S, T,R, n, L,M,N, i ;– n :=nops(P )/3 ;– S := [seq(P [i], i = 1..n)];– T := [seq(P [i], i = n+ 1..2 ∗ n)] ;– R := [seq(P [i], i = 2 ∗ n+ 1..3 ∗ n)] ;– L :=projection2(S) ;– M :=projection2(T ) ;– N :=projection2(R) ;– return([seq(L[i], i = 1..n− 1), seq(M [i], i = 1..n− 1), seq(N [i], i = 1..n− 1)]) ;– end :

2.3 Algorithme(8) : projection(b)

C’est un algorithme qui représente la projection nπ.

1. projection(b)– Entrée : [x0, x1, ..., xn−1, y0, y1, ..., yn−1, z0, z1, ..., zn−1]– Sortie : [x0, y0, , z0]

(a) retourner [x0, y0, , z0]

2. Procedure projection– projection :=proc(P )

61

Chapitre IV. Algorithmes de Représentation du groupe Ena,b

– local S, T,R, n, i ;– n :=nops(P )/3 ;– S := [seq(P [i], i = 1..n)];– T := [seq(P [i], i = n+ 1..2 ∗ n)] ;– R := [seq(P [i], i = 2 ∗ n+ 1..3 ∗ n)] ;– return([projection1(S), projection1(T ), projection1(R)]) ;– end :

2.4 Algorithme(9) : appartient

C’est un algorithme qui vérifie qu’un point appartient ou non à Ena,b.

1. appartient– Entrée : [x0, x1, ..., xn−1, y0, y1, ..., yn−1, z0, z1, ..., zn−1]– Sortie : 1 ou 0

(a) X = [x0, x1, ..., xn−1]

(b) Y = [y0, y1, ..., yn−1]

(c) Z = [z0, z1, ..., zn−1]

(d) r = produitp(produitp(Y, Y, p), Z, p)

(e) s = produitp(produitp(S, S, p), S, p)

(f) t = produitp(produitp(a, S, p), produitp(R,R, p), p)

(g) l := produitp(produitp(b, R, p), produitp(R,R, p), p)

(h) Si (r = sommep(s, sommep(t, l, p), p)) alors retourne 1

(i) si non retourne 0

(j) fin si

2. Procedure app– app:=proc(P, a, b, p)– local S,Q,R,X, Y, Z, T, n;– n := nops(P )/3;– S := [seq(P [i], i = 1..n)];– Q := [seq(P [i], i = n+ 1..2 ∗ n)];– R := [seq(P [i], i = 2 ∗ n+ 1..3 ∗ n)];– X := produitp(produitp(Q,Q, p), R, p);– Y := produitp(produitp(S, S, p), S, p);

62

IV.2 Représentation du groupe Ena,b

– Z := produitp(produitp(a, S, p), produitp(R,R, p), p);– T := produitp(produitp(b, R, p), produitp(R,R, p), p);– if (X = sommep(Y, sommep(Z, T, p), p)) then return(1) else return(0)– end if :– end :

2.5 Algorithme(10) : Egal

C’est un algorithme qui vérifie l’égalité de deux éléments du groupe Ena,b.

– Egal– Entrées :

[x0, x1, ..., xn−1, y0, y1, ..., yn−1, z0, z1, ..., zn−1]

[x′0, x′

1, ..., x′

n−1, y′

0, y′

1, ..., y′

n−1, z′

0, z′

1, ..., z′

n−1]

– Sortie : 1 ou 0– Sortie :=0

1. Si z0 = 0 et z′0 = 0 alors

r = produitp([x0, x1, ..., xn−1], inversep([y0, y1, ..., yn−1], p), p)

s = produitp([x′0, x′

1, ..., x′

n−1], inversep([y′0, y′

1, ..., y′

n−1], p), p)

l = produitp([z0, z1, ..., zn−1], inversep([y0, y1, ..., yn−1], p), p)

t = produitp([z′0, z′

1, ..., z′

n−1], inversep([y′0, y′

1, ..., y′

n−1], p), p)

2. Si r = s et l = t

3. faire Sortie :=1

4. fin si

5. si nonr = produitp([x0, x1, ..., xn−1], inversep([z0, z1, ..., zn−1], p), p)

s = produitp([x′0, x′

1, ..., x′

n−1], inversep([z′0, z′

1, ..., z′

n−1], p), p)

l = produitp([z0, z1, ..., zn−1], inversep([y0, y1, ..., yn−1], p), p)

t = produitp([z′0, z′

1, ..., z′

n−1], inversep([y′0, y′

1, ..., y′

n−1], p), p)

6. si r = s et l = t

63

Chapitre IV. Algorithmes de Représentation du groupe Ena,b

7. faire Sortie :=1

8. fin si

9. fin si

10. retourner Sortie

Pour implementer cet algorithme, on va implementer quatre procédures puis la procédure Egal.

1. Procedure Egal1– Egal1 :=proc(P,Q, a, b, p)– local S, sortie, T, R,E, F,G,X, Y, Z, n, i;– sortie:= 0;– n := nops(P )/3;– S := [seq(P [i], i = 1..n)];– T := [seq(P [i], i = n+ 1..2 ∗ n)];– R := [seq(P [i], i = 2 ∗ n+ 1..3 ∗ n)];– E := [seq(Q[i], i = 1..n)];– F := [seq(Q[i], i = n+ 1..2 ∗ n)];– G := [seq(Q[i], i = 2 ∗ n+ 1..3 ∗ n)];– X :=produitp(S,inversep(T, p), p)−produitp(E,inversep(F, p), p) mod p;– Y := produitp(R, inversep(T, p), p)− produitp(G, inversep(F, p), p)modp;– Z := [seq(X[i], i = 1..n), seq(Y [i], i = 1..n)];– if(Z = [seq(0, i = 1..2 ∗ n)]) then sortie :=1 ;– end if ;– return(sortie)– end :

2. Procedure Egal2– Egal2 :=proc(P,Q, a, b, p)– local S, sortie, T, R,E, F,G,X, Y, Z, n, i;– sortie:= 0;– n := nops(P )/3;– S := [seq(P [i], i = 1..n)];– T := [seq(P [i], i = n+ 1..2 ∗ n)];– R := [seq(P [i], i = 2 ∗ n+ 1..3 ∗ n)];– E := [seq(Q[i], i = 1..n)];– F := [seq(Q[i], i = n+ 1..2 ∗ n)];– G := [seq(Q[i], i = 2 ∗ n+ 1..3 ∗ n)];

64

IV.2 Représentation du groupe Ena,b

– X :=produitp(S,inversep(R, p), p)−produitp(E,inversep(G, p), p) mod p;– Y := produitp(T, inversep(R, p), p)− produitp(F, inversep(G, p), p)modp;– Z := [seq(X[i], i = 1..n), seq(Y [i], i = 1..n)];– if(Z = [seq(0, i = 1..2 ∗ n)]) then sortie :=1 ;– end if ;– return(sortie)– end :

3. Procedure Egal3– Egal3 :=proc(P,Q, a, b, p)– local S, T,R,E, F,G, n, i;– n := nops(P )/3;– S := [seq(P [i], i = 1..n)];– T := [seq(P [i], i = n+ 1..2 ∗ n)];– R := [seq(P [i], i = 2 ∗ n+ 1..3 ∗ n)];– E := [seq(Q[i], i = 1..n)];– F := [seq(Q[i], i = n+ 1..2 ∗ n)];– G := [seq(Q[i], i = 2 ∗ n+ 1..3 ∗ n)];– if (R[1] ∗G[1] = 0 mod p) then return(0) end if ;– end :

4. Procedure Egal4– Egal4 :=proc(P,Q, a, b, p)– local S, T,R,E, F,G, n, i;– n := nops(P )/3;– S := [seq(P [i], i = 1..n)];– T := [seq(P [i], i = n+ 1..2 ∗ n)];– R := [seq(P [i], i = 2 ∗ n+ 1..3 ∗ n)];– E := [seq(Q[i], i = 1..n)];– F := [seq(Q[i], i = n+ 1..2 ∗ n)];– G := [seq(Q[i], i = 2 ∗ n+ 1..3 ∗ n)];– if (R[1] ∗G[1] = 0 mod p) then Egal3(P,Q,R,E, F,G, a, b, p) elseEgal2(P,Q,R,E, F,G, a, b, p) end if ;

– end :

5. Procedure Egal– Egal :=proc(P,Q, a, b, p)

65

Chapitre IV. Algorithmes de Représentation du groupe Ena,b

– local S, T,R,E, F,G, n, i;– n := nops(P )/3;– S := [seq(P [i], i = 1..n)];– T := [seq(P [i], i = n+ 1..2 ∗ n)];– R := [seq(P [i], i = 2 ∗ n+ 1..3 ∗ n)];– E := [seq(Q[i], i = 1..n)];– F := [seq(Q[i], i = n+ 1..2 ∗ n)];– G := [seq(Q[i], i = 2 ∗ n+ 1..3 ∗ n)];– if (T [1] ∗ F [1] = 0 mod p) then Egal4(P,Q, a, b, p) else Egal1(P,Q, a, b, p) end if ;– end :

3 Loi de groupe sur Gna,b

On va vérifier que Gna,b est un groupe générique.

3.1 Les procedures p1, p2, p3, p4, p5 et p6

1. Procedure p1– p1 := proc(X, Y, a, b, p)– local P,Q,R,E, F,G, x, y, z, t, n;– n := nops(X)/3;– P := [seq(X[i], i = 1..n)];– Q := [seq(X[i], i = n+ 1..2 ∗ n)];– R := [seq(X[i], i = 2 ∗ n+ 1..3 ∗ n)];– E := [seq(Y [i], i = 1..n)];– F := [seq(Y [i], i = n+ 1..2 ∗ n)];– G :=[seq(Y[i],i=2*n+1..3*n)] ;– x := produitp(produitp(Q,Q, p), produitp(E,G, p), p) mod p;– y := −produitp(produitp(F, F, p), produitp(P,R, p), p) mod p;– z := −produitp(a, produitp(sommep(produitp(R,E, p), produitp(P,G, p), p),sommep(produitp(R,E, p),−produitp(P,G, p), p), p), p) mod p;

– t := produitp(sommep(2 ∗ produitp(Q,F, p),−3 ∗ produitp(produitp(b, R, p), G, p), p),sommep(produitp(R,E, p),−produitp(P,G, p), p), p) mod p;

– sommep(sommep(x,y,p),sommep(z,t,p),p) ;– end :

66

IV.3 Loi de groupe sur Gna,b

2. Procedure p2– p2 := proc(X, Y, a, b, p)– local P,Q,R,E, F,G, x, y, z, t, n;– n := nops(X)/3;– P := [seq(X[i], i = 1..n)];– Q := [seq(X[i], i = n+ 1..2 ∗ n)];– R := [seq(X[i], i = 2 ∗ n+ 1..3 ∗ n)];– E := [seq(Y [i], i = 1..n)];– F := [seq(Y [i], i = n+ 1..2 ∗ n)];– G :=[seq(Y[i],i=2*n+1..3*n)] ;– x := produitp(produitp(Q,F, p), sommep(produitp(G,Q, p),−produitp(R,F, p), p), p) mod p;– y := −produitp(a, sommep(produitp(produitp(Q,P, p), produitp(G,G, p), p),− produitp(produitp(E,F, p), produitp(R,R, p), p), p), p) mod p;

– z := produitp(sommep(−2 ∗ produitp(a, produitp(R,G, p), p),−3 ∗ produitp(P,E, p), p),sommep(produitp(E,Q, p),−produitp(P, F, p), p), p) mod p;

– t := −3 ∗ produitp(produitp(b, produitp(G,R, p), p), sommep(produitp(G,Q, p),− produitp(R,F, p), p), p) mod p;

– sommep(sommep(x,y,p),sommep(z,t,p),p) ;– end :

3. Procedure p3– p3 := proc(X, Y, a, b, p)– local P,Q,R,E, F,G, x, y, z, t, n;– n := nops(X)/3;– P := [seq(X[i], i = 1..n)];– Q := [seq(X[i], i = n+ 1..2 ∗ n)];– R := [seq(X[i], i = 2 ∗ n+ 1..3 ∗ n)];– E := [seq(Y [i], i = 1..n)];– F := [seq(Y [i], i = n+ 1..2 ∗ n)];– G :=[seq(Y[i],i=2*n+1..3*n)] ;– x := produitp(sommep(produitp(R,F, p), produitp(G,Q, p), p),sommep(produitp(G,Q, p),−produitp(R,F, p), p), p) mod p;

– y := produitp(sommep(3 ∗ produitp(P,E, p), produitp(produitp(G, a, p), R, p), p),sommep(produitp(E,R, p),−produitp(P,G, p), p), p) mod p;

– sommep(x,y,p) ;– end :

67

Chapitre IV. Algorithmes de Représentation du groupe Ena,b

4. Procedure p4– p4 := proc(X, Y, a, b, p)– local P,Q,R,E, F,G, x, y, z, t, n;– n := nops(X)/3;– P := [seq(X[i], i = 1..n)];– Q := [seq(X[i], i = n+ 1..2 ∗ n)];– R := [seq(X[i], i = 2 ∗ n+ 1..3 ∗ n)];– E := [seq(Y [i], i = 1..n)];– F := [seq(Y [i], i = n+ 1..2 ∗ n)];– G :=[seq(Y[i],i=2*n+1..3*n)] ;– x := produitp(sommep(produitp(F,Q, p),−6 ∗ produitp(produitp(R, b, p), G, p), p),sommep(produitp(E,Q, p), produitp(P, F, p), p), p) mod p;

– y := produitp(sommep(produitp(produitp(a, a, p), produitp(R,G, p), p),− 2 ∗ produitp(produitp(a, P, p), E, p), p), sommep(produitp(R,F, p),produitp(G,Q, p), p), p) mod p;

– z := −produitp(3 ∗ b, sommep(produitp(produitp(P,Q, p), produitp(G,G, p), p),produitp(produitp(R,R, p), produitp(F,E, p), p), p), p) mod p;

– t := −produitp(a, sommep(produitp(produitp(R,Q, p), produitp(E,E, p), p),produitp(produitp(P, P, p), produitp(F,G, p), p), p), p) mod p;

– sommep(sommep(x,y,p),sommep(z,t,p),p) ;– end :

5. Procedure p5– p5 := proc(X, Y, a, b, p)– local P,Q,R,E, F,G, x, y, z, t, n;– n := nops(X)/3;– P := [seq(X[i], i = 1..n)];– Q := [seq(X[i], i = n+ 1..2 ∗ n)];– R := [seq(X[i], i = 2 ∗ n+ 1..3 ∗ n)];– E := [seq(Y [i], i = 1..n)];– F := [seq(Y [i], i = n+ 1..2 ∗ n)];– G :=[seq(Y[i],i=2*n+1..3*n)] ;– x := sommep(sommep(produitp(produitp(Q,Q, p), produitp(F, F, p), p), produitp(

3∗produitp(a, produitp(P, P, p), p), produitp(E,E, p), p), p), produitp(sommep(−produitp(a,produitp(a, a, p), p),−9 ∗ produitp(b, b, p), p), produitp(produitp(R,R, p),produitp(G,G, p), p), p), p) mod p;

68

IV.3 Loi de groupe sur Gna,b

– y := produitp(−produitp(a, a, p), produitp(sommep(produitp(R,E, p),produitp(P,G, p), p), sommep(produitp(R,E, p), produitp(P,G, p), p), p), p) mod p;

– z := produitp(−2 ∗ produitp(produitp(a, a, p), produitp(produitp(R,P, p), E, p), p), G, p) modp;

– t := produitp(sommep(9 ∗ produitp(produitp(b, P, p), E, p),−3 ∗ produitp(produitp(a, b, p),produitp(R,G, p), p), p), sommep(produitp(R,E, p), produitp(P,G, p), p), p) mod p;

– sommep(sommep(x,y,p),sommep(z,t,p),p) ;– end :

6. Procedure p6– p6 := proc(X, Y, a, b, p)– local P,Q,R,E, F,G, x, y, z, t, n;– n := nops(X)/3;– P := [seq(X[i], i = 1..n)];– Q := [seq(X[i], i = n+ 1..2 ∗ n)];– R := [seq(X[i], i = 2 ∗ n+ 1..3 ∗ n)];– E := [seq(Y [i], i = 1..n)];– F := [seq(Y [i], i = n+ 1..2 ∗ n)];– G :=[seq(Y[i],i=2*n+1..3*n)] ;– x := produitp(sommep(produitp(Q,F, p), 3 ∗ produitp(produitp(b, R, p), G, p), p), sommep(produitp(R,F, p), produitp(G,Q, p), p), p) mod p;

– y := produitp(sommep(3 ∗ produitp(P,E, p), produitp(2 ∗ produitp(a,R, p), G, p), p), sommep(produitp(Q,E, p), produitp(P, F, p), p), p) mod p;

– z := produitp(a, sommep(produitp(produitp(P,Q, p), produitp(G,G, p), p),produitp(produitp(R,R, p), produitp(F,E, p), p), p), p) mod p;

– sommep(sommep(x,y,p),z,p) ;– end :

3.2 Algorithme(11) : Somme

Dans cette section, on va implementer la somme définie par la proposition 3(chapitre 2).

1. Procedure som1– som1 := proc(X, Y, a, b, p)– local P,Q,R, n;– P := p1(X, Y, a, b, p);– Q := p2(X, Y, a, b, p);

69

Chapitre IV. Algorithmes de Représentation du groupe Ena,b

– R := p3(X, Y, a, b, p);– n := nops(P );– if (R[1] = 0) then P := produitp(P, inversep(Q, p), p);Q := produitp(Q, inversep(Q, p), p); R := produitp(R, inversep(Q, p), p);elseP := produitp(P, inversep(R, p), p);Q := produitp(Q, inversep(R, p), p);R := produitp(R, inversep(R, p), p);end if ;

– return([seq(P [i], i = 1..n), seq(Q[i], i = 1..n), seq(R[i], i = 1..n)])– end :

2. Procedure som2– som2 := proc(X, Y, a, b, p)– local P,Q,R, n;– P := p4(X, Y, a, b, p);– Q := p5(X, Y, a, b, p);– R := p6(X, Y, a, b, p);– n := nops(P );– if (R[1] = 0) then P := produitp(P, inversep(Q, p), p);Q := produitp(Q, inversep(Q, p), p);R := produitp(R, inversep(Q, p), p);else P := produitp(P, inversep(R, p), p);Q := produitp(Q, inversep(R, p), p);R := produitp(R, inversep(R, p), p);end if ;

– return([seq(P [i], i = 1..n), seq(Q[i], i = 1..n), seq(R[i], i = 1..n)])– end :

3. Procedure Somme– somme :=proc(X, Y, a, b, p)– local P ;– if (projection(X)=projection(Y)) then P :=som2(X,Y,a,b,p)– else P :=som1(X,Y,a,b,p) end if ;– end :

4 Structure de (Gna,b,Somme,Neutre,appartient,Egal)

4.1 Procedure msomme

La fonction [m] définie la multiplication d’un point par un entier m est implemantée grâceà la procedure msomme suivante :

1. msomme :=proc(P,l,a,b,p)

70

IV.4 Structure de (Gna,b,Somme,Neutre,appartient,Egal)

2. local i,point ;

3. point :=P ;

4. for i from 1 to l-1 do

5. point :=somme(P,point,a,b,p) :

6. end do :

7. return(point) :

8. end :

Théorème 4.1 L’ensemble (Gna,b,Somme,Neutre,appartient,Egal) est un groupe générique.

Preuve:1) Les éléments de Gn

a,b sont représentés de façon unique sur O((logn)α) bits.2) Les opérateurs Somme, Neutre, appartient et Egal dans le groupe se calculent en O((logn)α).3) Le cardinal du Gn

a,b est connu.

Remarque 4.2 Grâce à la difficulté du problème du logarithme discret sur le groupe Ena,b, il

est difficile d’inverser La fonction [m], la résolution de ce problème nécessite un temps nonpolynomial.

4.2 Exemples

Exemple 4.3 Soitq = 5,

a = 3 + ε,

b = 2 + 2ε

etG = G2

a,b.

AlorsG = [0, 0, 1, 0, 0, 0], [0, 1, 1, 0, 0, 0], [0, 2, 1, 0, 0, 0], [0, 3, 1, 0, 0, 0], [0, 4, 1, 0, 0, 0], [1, 0, 1, 4, 1, 0],[1, 0, 4, 1, 1, 0], [1, 1, 1, 2, 1, 0], [1, 1, 4, 3, 1, 0], [1, 2, 1, 0, 1, 0], [1, 2, 4, 0, 1, 0], [1, 3, 1, 3, 1, 0],[1, 3, 4, 2, 1, 0], [1, 4, 1, 1, 1, 0], [1, 4, 4, 4, 1, 0], [2, 0, 1, 1, 1, 0], [2, 0, 4, 4, 1, 0], [2, 1, 1, 1, 1, 0],[2, 1, 4, 4, 1, 0], [2, 2, 1, 1, 1, 0], [2, 2, 4, 4, 1, 0], [2, 3, 1, 1, 1, 0], [2, 3, 4, 4, 1, 0], [2, 4, 1, 1, 1, 0],[2, 4, 4, 4, 1, 0] est un groupe qui représente le groupe E2

3+ε,2+2ε.

C’est un groupe cyclique de générateur [1, 4, 1, 1, 1, 0] et d’ordre 25.

71

Chapitre IV. Algorithmes de Représentation du groupe Ena,b

Exemple 4.4 Soitq = 991,

a = 291 + 213ε+ 514ε2,

b = 637 + 341ε+ 729ε2,

P = [919, 110, 981, 726, 433, 470, 1, 0, 0]

etG =< P > .

Alors G est un groupe cyclique d’ordre 1020730.Soit

Q = [395, 706, 113, 692, 506, 128, 1, 0, 0].

Alors,logPQ = 108322.

5 Méthodes d’identification sur Eka,b

Nous introduisons une méthode d’identification sur Eka,b. La sécurité de cette méthode est

assuré grâce à la difficulté de logarithme discret sur Eka,b.

5.1 Une fonction fortement résistante aux collisions sur Eka,b

Soit m un nombre premier tel que s = m−12 soit également premier. Soit P et Q deux

éléments d’ordre m tel que Q ∈< P >. On suppose qu’il est difficile de calculer r = logPQ. Ondéfinit la fonction h par :

h: 0, 1, 2, ....., s− 12 −→ Eka,b

(x, y) 7−→ xP + yQ

Théorème 5.1 Toute collision dans la fonction h permet de calculer r.

Preuve: Supposons que l’on a une collision c’est à dire, il existe deux couples distincts (x, y) et(x′ , y′) tels que

xP + yQ = x′P + y

′Q

72

IV.5 Méthodes d’identification sur Eka,b

On obtient(x− x′)P = (y′ − y)Q

donc(x− x′)P = r(y′ − y)P

c’est à dire(x− x′) = r(y′ − y)[m]

Soit d = pgcd(2s, y′ − y).On a s est premier et y′ − y < s, donc d = 1 ou d = 2.

– Si d = 1 alors on calcul z l’inverse de y′ − y modulo m − 1, et par suite r = (x − x′)zmodulo m− 1.– Si d = 2 alors on calcul z′ l’inverse de y′ − y modulo s, et par suiter = (x− x′)z′ modulo m− 1 ou r = (x− x′)z′ + s modulo m− 1.

Remarque 5.2 La fonction h est fortement résistante aux collisions.

5.2 Procédés d’identification sur Eka,b

Soit m un nombre premier tel que s = m−12 soit également premier. Soit P et Q deux

éléments d’ordre m. Une autorité de confiance forme un couple (xA, yA) à partir de l’identitéde Alice. Elle choisit un nombre aléatoire 0 ≤ d ≤ m−1 et calcule PA = dh(xA, yA) est l’envoieà Alice.

1. Alice choisit aléatoirement un nombre 0 ≤ a ≤ m− 1 et calcule K = aPA.

2. Alice envoie (xA, yA) et K à Bob.

3. Bob choisit aléatoirement un nombre 0 ≤ r ≤ m−1, calcule B = rh(xA, yA) et l’envoie à Alice.

4. Alice calcule C = h(xA, yA) + aB et l’envoie à Bob.

5. Bob calcule D = r−1C et l’envoie à l’autorité de confiance.

6. L’autorité de confiance calcule E = dD est l’envoie à Bob.

7. Bob vérifie que K = r(E −K).

Remarque 5.3 Suivant ce protocole, Bob identifie Alice sans divulgation d’informations.

73

Chapitre IV. Algorithmes de Représentation du groupe Ena,b

Figure IV.1 – Protocole D’identification

74

Conclusion générale et perspectives

D’une manière générale, étudier la sécurité d’un protocole cryptographique suppose le choixd’un modèle de sécurité. Les modèles calculatoires (ou cryptographiques) procurent les meilleuresgaranties de sécurité, mais nécessitent a priori une preuve manuelle pour chaque protocole.Partant de ce constat, nous avons abordé dans cette thèse des axes de recherche importantspour les protocoles cryptographiques, a savoir, d’une manière générale :

1. Groupe générique

2. Crypto système

3. Méthode d’identification

Dans le chapitre 2, on a généralisé de nombreuses propriétés sur les courbes elliptiques surl’anneau Fq[ε], εn = 0. Dans le chapitre 3, nous avons ainsi proposé un crypto système à base desmatrices. Et enfin dans le chapitre 4, nous avons présenté des algorithmes de représentation,des procédures pour montrer que ces courbes peuvent former des groupes génériques, et uneméthode d’identification sur ces courbes. Il reste beaucoup de choses à étudier sur ce sujet et ilouvre d’autres voies d’étude.

1. Les sous groupe cyclique sur ces courbes,

2. l’attaque du logarithme discret,

3. d’autres crypto systèmes, plus particulièrement des systèmes de signature, peuvent être construitsà partir de ces courbes et l’étude de celles-ci pourrait permettre d’en obtenir de plus solides,

4. les courbes elliptiques sur l’anneau Fq[ε], εn = 0, où q est puissance de 2 ou 3.

75

Cryptosystème à clé publique etcourbe elliptique sur l’anneau Fq[ε],

εn = 0

Résumé

Nous avons aborde dans cette thèse des axes de recherche importants pour les protocoles cryptographiques, asavoir, d’une manière générale :

1. Groupe générique

2. Crypto système

3. Méthode d’identification

Dans le chapitre 2, on a généralisé de nombreuses propriétés sur les courbes elliptiques sur l’anneau Fq[ε],εn = 0. Dans le chapitre 3, nous avons ainsi proposé un crypto système à base des matrices et une méthoded’identification sur ces courbes. Et enfin dans le chapitre 4, nous avons présenté des algorithmes de représenta-tion et des procédures pour montrer que ces courbes peuvent former des groupes génériques.

Mots clés : Courbes elliptique, Anneau local, Corps fini, Cryptosystème, Algorithme, Logarithme discret..

Abstract

We have addressed in this thesis axes research important for cryptographic protocols, namely, in general :

1. Generic group

2. Crypto System

3. method of identifying

In chapter 2, we have generalized many properties on elliptic curves over the ring mathbbFq[ epsilon],epsilonn = 0. In chapter 3, we thus proposed a cryptosystem based matrices and a method of identifying onthese curves. . And, in Chapter 4, we presented representation of algorithms and procedures to show that thesecurves can form generic groups.

Keywords : Elliptic Curve, Local Ring, Finite Field, Cryptosystem, Algorithm, Discret Logarithm..

Références bibliographiques

[1] A. Chillali. Elliptic Curve of the ring Fq[ε]. International Mathematical Forum. vol 6,no 31, 1501–1505 (2011). 17, 25

[2] A. Chillali. Identification Methods Over Ena,b. RECENT ADVANCES in COMPUTERS,

COMMUNICATIONS, APPLIED SOCIAL SCIENCE and MATHEMATICS. , 133–137(2011). 4, 8

[3] A. Chillali and M. Charkani. Explicit Formulas Describing : The Binary OperationsCalculus In Ea,b. Journal of Communications and Computer Engineering. Vol 2, No 3,13–17 (2012). 25

[4] A. Fiat and A. Shamir. How to Prove Yourself : practical solutions of identification andsignature problems. In Crypto ’86, LNCS. 263. Springer-Verlag, 186–194 (1987). 8

[5] A. K. Lenstra E. R. Verheul. The XTR Public Key System. Advances in Cryptology- CRYPTO’2000 (Mihir Bellare, ed.). Lecture Notes in Computer Science. vol. 1880, 1–19(2000). 13

[6] A. Kerckhos . La cryptologie militaire. Journal des sciences militaires. IX ,janvier 5–83,et février 161–191 (1883). 1, 10

[7] A. Lenstra and E. Verheul. Selecting cryptographic key size. Public Key Cryptography., 446–465 (2000).

[8] A. Menezes, T. Okamoto, and S. A. Vanstone . Reducing elliptic curves logarithmsto logarithms in a finite field. In ACM Press, editor, 23rd Annual ACM Symposium onTheory of Computing. , 80–89 (1991). 41

[9] A.O.L. Atkin . The number of points an an elliptic curve modulo a prime. Manuscript,Chicago , 331–336 (1988). 2

[10] B. den Boer and A. Bosselaers . Collisions for the Compression Function of MD5.In Eurocrypt ’93, LNCS. 765. Springer-Verlag, 293–304 (1994).

[11] C. E. Shannon . A Mathematical Theory of Communication. Bell system technicaljournal. 27(4), 379–423, 623–656 (1948). 7

[12] C. E. Shannon . Communication Theory of Secrecy Systems. Bell system technicaljournal. 28(4), 656–715 (1949). 7

77

[13] C. H. Papadimitriou . Computational complexity. Addison-Wesley Publishing Com-pany. , (1994).

[14] C. P. Schnorr and M. Jakobsson. Security of Signed ElGamal Encryption. InAsiacrypt , LNCS 1976. 2000, Springer-Verlag, Berlin, 458–469 (2000).

[15] D. Boneh. The decision diffie-hellman problem. In Proc. of the Third Algorithmic NumberTheory Symposium, LNCS. 1423, Springer-Verlag, 48–63 (1998). 2

[16] F. Amounas, E. H. El Kinani and A. Chillali . An Application of Discrete Algo-rithms in Asymmetric Cryptography. International Mathematical Forum. Vol 6, no 49,2409 - 2418 (2011). 2

[17] G. Dubertret. Initiation à la cryptographie. Vuibert, 2 edition. (2000).

[18] G. Poupard. Authentification d’Entité, de Messages et de Clés Cryptographiques :Théorie et Pratique. PhD thesis, École Polytechnique. May (2000). 1, 7, 8, 11

[19] G. Zémor . Cours de cryptographie. Mathematicas Subject Classification. (2000). 11

[20] H. Cohen, A. Miyaji, and T. Ono . Efficient elliptic curve exponentiation using mixedcoordinates. In K. Ohta and D. Pei, editors, Advances in Cryptology, ASIACRYPT 98,volume LNCS. 1514, Springer-Verlag, 51–65 (1998). 7, 117

[21] H. Lange and W. Ruppert. Complete systems of addition laws on abelian varieties.In Springer-Verlag, editor, Inventiones mathematicae. volume 79, 603–610 ( 1985). 27

[22] H. W. Lenstra Jr. Elliptic curves and number theoretic algorithms. In Proceedingsof the international congress of mathematicians, Berkeley,California,USA. volume 1, août(1986). 7

[23] I. A. Semaev. Evaluation of discrete logarithms in a group of p-torsion points of anelliptic curve in characteristic p. In American Mathematical Society, editor, Mathematicsof computation. volume 67, 353–356, january (1998). 7

[24] I. Blake, G. Seroussi, and N. Smart. Advances in Elliptic Curves in Cryptography.Number 317 in London Mathematic Society Lecture Notes Series. Cambridge UniversityPress. (2005). 7

[25] I. Blake, G. Seroussi, and N. Smart. Elliptic Curves in Cryptography. Number 265in London Mathematic Society Lecture Notes Series. Cambridge University Press. (1999).

[26] J. Cohen and M. Fisher. A robust and verifiable cryptographically secure electionscheme. In Symposium on Foundations of Computer Science. IEEE. (1985). 2

[27] J. Katz and Y. Lindell. Introduction to Modern Cryptography. CRC Press. (2007).7, 11

[28] J. Stern. La science du secret. Sciences. Odile Jacob. (1998). 1, 11

[29] J.H. Silverman. Advanced Topics in the Arithmetic of Elliptic Curves. Graduate Textsin Mathematics. Volume 151, Springer,( 1994).

78

[30] J.H. Silverman. The Arithmetic of Elliptic Curves. Graduate Texts in Mathematics.Springer. Volume 106 (1985). 2, 21, 22, 23, 24

[31] J. M. Couveignes R. Lercier. Elliptic Periods for Finite Fields. Finite Fields andtheir Applications. vol 15, no 1, 1–22 (1985).

[32] M. Fouquet. Anneau d’endomorphismes et cardinalité des courbes elliptiques : aspectsalgorithmiques. PhD thesis, Ecole Polytechnique. Dec, (2001). 2

[33] M. Virat. Courbe elliptique sur un anneau et applications cryptographiques. ThèseDocteur en Sciences, Nice-Sophia Antipolis. (2009). 2, 4, 17, 25, 27

[34] N. Koblitz. Elliptic Curve Cryptosystems. Mathematics of Computation. 48, 203–209(1987). 2, 7, 8, 23, 24, 41

[35] N. Koblitz. Algebraic Aspects of Cryptography. Algorithms and Computation in Ma-thematics. volume 3, Springer, (1997). 2, 7

[36] N. P. Smart. The discrete logarithm problem on elliptic curves of trace one. Journal ofCryptology. 12, 193–196 (1999).

[37] O. Baudron, D. Pointcheval, and J. Stern. Extended Notions of Security forMulticast Public Key Cryptosystems. In Proc. of the 27th ICALP, LNCS. 1853, Springer-Verlag, Berlin , 499–511 (2000). 3

[38] P. Gaudry. Algorithmes de comptage de points d’une courbe définie sur un corps fini.Article de survol, suite à un cours donné à l’Institut Henri Poincarré, pour le trimestre.Méthodes explicites en théorie des nombres. (2004). 3

[39] P.C. Kocher. Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, andOthers Systems. In Crypto ’96, LNCS. 1109, Springer-Verlag, 104–113 (1996). 2

[40] R. Granger and F. Vercauteren. On the Discrete Logarithm Problem on AlgebraicTori. Advances in Cryptology-CRYPTO 2005, Lecture Notes in Computer Science. vol3621, Springer, 66–85 (2005).

[41] R. Lercier. Algorithmique de courbes elliptiques dans les corps finis. PhD thesis, Ecolepolytechnique. , juin (1997).

[42] R. Rivest, A. Shamir, and L. Adleman. A Method for Obtaining Digital Signaturesand Public Key Cryptosystems. Communications of the ACM. 21(2), 120–126, february(1978).

[43] R. Schoof. Counting points on elliptic curves over finite fields. Journal de Théorie desNombres de Bordeaux. 7, 219–254 (1995).

[44] R. Schoof. Elliptic curves over finite fields and computation of square roots mod p.Mathematics of Computation. 44(170), 483–494, April (1985). 2

[45] S. C. Pohlig and M. E. Hellman. An Improved Algorithm for Computing Logarithmsover GF(p) and its Cryptographic Significance. IEEE Transactions on Information Theory.IT-24(1), 106–110, january (1978).

79

[46] S. D. Galbraith . Mathematics of Public-Key Cryptography. http ://www.isg.rhul.ac.uk/ sdg/crypto− book/crypto− book.html. . 2

[47] S. Goldwasser, S. Micali, and R. Rivest. A Digital Signature Scheme SecureAgainst Adaptative Chosen-Message Attacks. SIAM journal of computing. 17(2), 281–308, april (1988).

[48] S. Singh. Histoire des codes secrets, De l’égypte des pharaons à l’ordinateur quantique.LGF Livre de poche. (1999). 1

[49] S. Vanstone and R. Zuccherato. Elliptic Curve Cryptosystem Using Curves ofSmooth Order Over the Ring Zn. IEEE Transaction on Information Theory. IT-43 (1997).7, 11, 13

[50] T. Cormen, C. Leiserson, and R. Rivest. Introduction à l’algorithmique. 2e CycleUniversitaire / Ecoles d’ingénieurs. DUNOD. (1994). 7, 11, 13

[51] T. El Gamal. A Public Key Cryptosystem and a Signature Scheme Based on DiscreteLogarithms. In IEEE Transactions on Information Theory, volume IT-31. no 4, 469–472,july (1985).

[52] T. Okamoto and S. Uchiyama. A New Public-Key Cryptosystem as Secure as Facto-ring. In Eurocrypt ’98, LNCS. 1403, Springer-Verlag, 308–318 (1998). 213

[53] U. M. Maurer and S. Wolf. The Relationship Between Breaking the Diffie-HellmanProtocol and Computing Discrete Logarithms. SIAM J. Comput. vol 28, 1698–1721(1999). 13, 41

[54] U. M. Maurer and S. Wolf. Diffie Hellman Oracles. In Crypto ’96, LNCS. 1109,Springer-Verlag, 268–282 (1996). 13, 41

[55] U. M. Maurer. Towards the equivalence of breaking the diffie-hellman protocol andcomputing discrete logarithms. In Crypto ’94, LNCS. 839,Springer-Verlag , 271–281(1994).

[56] V. Miller. Use of elliptic curves in cryptography in Advances in cryptography-CRYPTO85. Lecture Notes In Computer Science Springer-Verlag. vol 218, 417–426 (1989). 2, 7

[57] V. Miller. Use of elliptic curves in cryptography. In H.C. Williams, editor, Advancesin Cryptology, volume LNCS 218 of CRYPTO. 85, Springer-Verlag, 417–426 (1986). 2,13, 41

[58] V. Shoup. Lower Bounds for Discrete Logarithms and Related Problems. In Eurocrypt’97, LNCS. 1233,Springer-Verlag , 256–266 (1997). 2, 41

[59] W. Diffie and M. E. Hellman . New Directions in Cryptography. In IEEE Tran-sactions on Information Theory, volume IT-22. no 6, 644–654, november (1976). 2, 13,43

[60] Y. Desmedt and Y. Frankel . Threshold Cryptosystems. In Crypto ’89, LNCS.435,Springer-Verlag , 307–315 (1989). 7, 13

80