Andreea Dragut Cours de cryptographie Chapitre IV Fonctions conjecturées à sens unique : Le problème du logarithme

Documents pareils
Q x2 = 1 2. est dans l ensemble plus grand des rationnels Q. Continuons ainsi, l équation x 2 = 1 2

Généralités sur les fonctions 1ES

Remboursement d un emprunt par annuités constantes

Plan. Gestion des stocks. Les opérations de gestions des stocks. Les opérations de gestions des stocks

Mesure avec une règle

Les jeunes économistes

Corrigé du problème de Mathématiques générales Partie I

Montage émetteur commun

Contrats prévoyance des TNS : Clarifier les règles pour sécuriser les prestations

Exercices d Électrocinétique

hal , version 1-14 Aug 2009

Terminal numérique TM 13 raccordé aux installations Integral 33

Editions ENI. Project Collection Référence Bureautique. Extrait

DES EFFETS PERVERS DU MORCELLEMENT DES STOCKS

Fiche n 7 : Vérification du débit et de la vitesse par la méthode de traçage

Assurance maladie et aléa de moralité ex-ante : L incidence de l hétérogénéité de la perte sanitaire

Chapitre 3 : Incertitudes CHAPITRE 3 INCERTITUDES. Lignes directrices 2006 du GIEC pour les inventaires nationaux de gaz à effet de serre 3.

Exercices - Polynômes : corrigé. Opérations sur les polynômes

MÉTHODES DE SONDAGES UTILISÉES DANS LES PROGRAMMES D ÉVALUATIONS DES ÉLÈVES

Grandeur physique, chiffres significatifs

Nombres premiers. Comment reconnaître un nombre premier? Mais...

Économétrie. Annexes : exercices et corrigés. 5 e édition. William Greene New York University

ÉLÉMENTS DE THÉORIE DE L INFORMATION POUR LES COMMUNICATIONS.

Stéganographie Adaptative par Oracle (ASO)

BTS GPN 2EME ANNEE-MATHEMATIQUES-MATHS FINANCIERES MATHEMATIQUES FINANCIERES

Chapitre IV : Inductance propre, inductance mutuelle. Energie électromagnétique

Integral T 3 Compact. raccordé aux installations Integral 5. Notice d utilisation

CREATION DE VALEUR EN ASSURANCE NON VIE : COMMENT FRANCHIR UNE NOUVELLE ETAPE?

INTERNET. Initiation à

CHAPITRE 14 : RAISONNEMENT DES SYSTÈMES DE COMMANDE

STATISTIQUE AVEC EXCEL

Quelques tests de primalité

Dirigeant de SAS : Laisser le choix du statut social

IDEI Report # 18. Transport. December Elasticités de la demande de transport ferroviaire: définitions et mesures

Le Prêt Efficience Fioul

1 Introduction. 2 Définitions des sources de tension et de courant : Cours. Date : A2 Analyser le système Conversion statique de l énergie. 2 h.

1.0 Probabilité vs statistique Expérience aléatoire et espace échantillonnal Événement...2

Pro2030 GUIDE D UTILISATION. Français

RAPPORT DE STAGE. Approcher la frontière d'une sous-partie de l'espace ainsi que la distance à cette frontière. Sujet : Master II : SIAD

Chapitre 7. Sécurité des réseaux. Services, attaques et mécanismes cryptographiques. Hdhili M.H. Cours Administration et sécurité des réseaux

Les déterminants de la détention et de l usage de la carte de débit : une analyse empirique sur données individuelles françaises

Cryptographie et fonctions à sens unique

Ecole Polytechnique de Montréal C.P. 6079, succ. Centre-ville Montréal (QC), Canada H3C3A7

Prêt de groupe et sanction sociale Group lending and social fine

MODÈLE D ISING À UNE ET DEUX DIMENSIONS.

Calculer le coût amorti d une obligation sur chaque exercice et présenter les écritures dans les comptes individuels de la société Plumeria.

REPUBLIQUE ALGERIENNE DEMOCRATIQUE ET POPULAIRE MINISTERE DE L ENSEIGNEMENT SUPERIEUR ET DE LA RECHERCHE SCIENTIFIQUE. MEMOIRE Présentée à

La théorie classique de l information. 1 ère partie : le point de vue de Kolmogorov.

Be inspired. Numéro Vert. Via Caracciolo Milano tel fax

Projet de fin d études

Tests de primalité et cryptographie

Sommaire Introduction Les bases de la cryptographie Introduction aux concepts d infrastructure à clés publiques Conclusions Références

Interface OneNote 2013

Fonction de hachage et signatures électroniques

TD 1. Statistiques à une variable.

Mots-clés : Système multicapteurs, Réseau local, Réseaux de neurones, Supervision, Domotique. xigences système d'une nouvelle

Pourquoi LICIEL? Avec LICIEL passez à la vitesse supérieure EPROUVE TECHNICITE CONNECTE STABILITE SUIVIE COMMUNAUTE

Contact SCD Nancy 1 : theses.sciences@scd.uhp-nancy.fr

Calcul de tableaux d amortissement

P R I S E E N M A I N R A P I D E O L I V E 4 H D

Introduction à l étude des Corps Finis

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Page 5 TABLE DES MATIÈRES

En vue de l'obtention du. Présentée et soutenue par Elayeb Bilel Le 26 juin 2009

EH SmartView. Identifiez vos risques et vos opportunités. Pilotez votre assurance-crédit. Services en ligne Euler Hermes

Les déterminants de la détention et de l usage de la carte de débit : une analyse empirique sur données individuelles françaises

MEMOIRE. Présenté au département des sciences de la matière Faculté des sciences

CHAPITRE DEUX : FORMALISME GEOMETRIQUE

GEA I Mathématiques nancières Poly. de révision. Lionel Darondeau

Dynamique du point matériel

Rapport de stage de fin de première année : exemples de groupes, leur traitement par MAGMA, et applications en cryptographie

Le théorème de Thalès et sa réciproque

Pour plus d'informations, veuillez nous contacter au ou à

Triangle de Pascal dans Z/pZ avec p premier

LE RÉGIME DE RETRAITE DU PERSONNEL CANADIEN DE LA CANADA-VIE (le «régime») INFORMATION IMPORTANTE CONCERNANT LE RECOURS COLLECTIF

VIELLE Marc. CEA-IDEI Janvier La nomenclature retenue 3. 2 Vue d ensemble du modèle 4

Gestion des Clés Publiques (PKI)

En vue de l'obtention du. Présentée et soutenue par Meva DODO Le 06 novembre 2008

Faire des régimes TNS les laboratoires de la protection sociale de demain appelle des évolutions à deux niveaux :

Qualité de service 7. Ordonnanceurs de paquets. Contexte. Intégration de services. Plan. Multiplexage. FIFO/DropTail. Priorités

CONSERVATOIRE NATIONAL DES ARTS ET METIERS

Paquets. Paquets nationaux 1. Paquets internationaux 11

CRYPTOGRAPHIE. Signature électronique. E. Bresson. SGDN/DCSSI Laboratoire de cryptographie

LICENCE DE SCIENCES PHYSIQUES UV 3LSPH50. Année MODÉLISATION. Recherche des paramètres d'une représentation analytique J.P.

I. Présentation générale des méthodes d estimation des projets de type «unité industrielle»

Système solaire combiné Estimation des besoins énergétiques

GENESIS - Generalized System for Imputation Simulations (Système généralisé pour simuler l imputation)

UNE ETUDE ECONOMÉTRIQUE DU NOMBRE D ACCIDENTS

METHODE AUTOMATIQUE POUR CORRIGER LA VARIATION LINGUISTIQUE LORS DE L INTERROGATION DE DOCUMENTS XML DE STRUCTURES HETEROGENES

Documents de travail. «La taxe Tobin : une synthèse des travaux basés sur la théorie des jeux et l économétrie» Auteurs

Des solutions globales fi ables et innovantes.

La Quantification du Risque Opérationnel des Institutions Bancaires

Séparation de Sources par lissage cepstral des masques binaires

UNIVERSITÉ DU QUÉBEC À MONTRÉAL L ASSURANCE AUTOMOBILE AU QUÉBEC : UNE PRIME SELON LE COÛT SOCIAL MARGINAL MÉMOIRE PRÉSENTÉ COMME EXIGENCE PARTIELLE

Calculs des convertisseurs en l'electronique de Puissance

Pour l épreuve d algèbre, les calculatrices sont interdites.

Mes Objectifs. De, par, avec Sandrine le Métayer Lumières de Philippe Férat. spectacle produit par la Cie DORE

LE PRINCIPE DU RAISONNEMENT PAR RÉCURRENCE

GATE Groupe d Analyse et de Théorie Économique DOCUMENTS DE TRAVAIL - WORKING PAPERS W.P Préférences temporelles et recherche d emploi

Bibliothèque thermodynamique des logiciels ProSim

Transcription:

ELGamal Andreea Dragut (dragut@unvmed.fr) Cours de cryptographe Chaptre IV 4.0.1 Fonctons conjecturées à sens unque : Le problème du logarthme dscret Defnton. Un groupe cyclque G, est un groupe dans lequel l exste un élément g tel que tout élément du groupe pusse s exprmer sous forme d un multple/pussance de g, cet élément g est appelé générateur du groupe et on note G =< g >. En notaton addtve : (G, +) [n]g En notaton multplcatve : (G, ) g n Defnton. Sot G un groupe et g G, alors le groupe sous-groupe H généré par g, noté H =< g >, est le plus pett sous-groupe de G contenant g. Defnton. L ordre d un élément g d un groupe G est l ordre du sous-groupe H =< g > généré par cet élément. L ordre de g est noté ordre(g) ou o(g). S l ordre est fn, l est le plus pett enter m > 0 En notaton addtve : mg = 0 En notaton multplcatve : g m = 1 On peut dre que s l ordre de g est fn ordre(g) = H = < g > la cardnalté sous-groupe H =< g > généré par g. Exemple. Trouver l ordre de l élément 2 dans F 11 = (Z/11Z) = {1, 2,..., 10} le groupe multplcatf de restes modulo 11 F 17 = (Z/17Z) = {1, 2,..., 16} le groupe multplcatf de restes modulo 17 Dans F 11 nous avons 2 0 = 1, 2 1 = 2, 2 2 = 4, 2 3 = 8, 2 4 5, 2 5 10, 2 6 9, 2 7 7, 2 8 3, 2 9 6. Mas 2 10 1 et on commence à répéter les éléments. Donc ordre(2) = 10 et l génère tout le groupe G. Dans F 17 nous avons 2 0 = 1, 2 1 = 2, 2 2 = 4, 2 3 = 8,2 4 = 16, 2 5 15, 2 6 13, 2 7 9. Mas 2 8 1 et on commence à répéter les éléments. Donc 2 n est pas un générateur pour 1

F 17. Il génére que le sous-groupe H =< 2 >= {1, 2, 4, 8, 9, 13, 15, 16} et son ordre est la cardnalté de ce sous-groupe, donc 8. Le problème DLP peut être formulé pour un groupe générque H et < g >= G H. On va étuder après le DLP sur des groupes partculers : le groupe multplcatf (Z/pZ) et le groupe addtf de courbes ellptques. Pour certans groupes le problème du logarthme dscret est dffcle : sot on ne connaît aucun algorthme sous-exponentel qu résout le problème DLP, sot on ne connaît aucun algorthme qu résout le problème DLP pour des talles grandes (dsons de 1024 bts et plus). Defnton. [Le problème du logarthme dscret DLP] Sot H un groupe et g un générateur d ordre p d un sous-groupe G H. Étant donnés A G, trouver x tel que A = g x log g (A) = x. Le système de chffrement El Gamal est basé sur le problème du logarthme dscret, c est à dre d nverser l exponentelle modulare. Il a été créé par Taher Elgamal. Cet algorthme est utlsé par GNU Prvacy Guard et de récentes versons de PGP. La clé prvée de de ElGamal est a. La clé publque de ElGamal est A = g a (mod p), où g H avec un ordre p grand. Décrypter clé publque de ElGamal en partant de sa clé publque revent à résoudre un problème du logarthme dscret pour y = A. Créaton d un paramètre publque Un ters part de confance Trent : H le groupe chos g H avec un ordre p grand Créaton de clé on chost 1 a p 1. on calcule A = g a (mod p) on puble la clé publque (H, p, g, A) Cryptage Input : la clé publque (H, p, g, A) le message m une clé éphémère k calcul : y 1 = g k (mod p) y 2 = m A k (mod p) Output : (y 1, y 2 ) 2

Décryptage Input : la clé prvée a le message chffré (y 1, y 2 ) calcul : (y a 1) 1 y 2 (mod p) Théorème. [El Gamal fonctonne correctement] Sot H un groupe et g un générateur d ordre p d un sous-groupe G H (donc G a p éléments). Sot la clé prvée a tel que 1 a p = ord(g). Sot le message x et une clé éphémère k. En calculant A = g a (mod p), y 1 = g k (mod p), y 2 = m A k (mod p) selon l algorthme du ElGamal nous avons que (y a 1) 1 y 2 x (mod p) Preuve. On peut calculer (y a 1) 1 parce que avec la clé prvée on peut calculer d abord z = y a 1 (mod p) et après z 1 (mod p). (y a 1) 1 y 2 (g ak ) 1 (m A k ) (g ak ) 1 ( m(g a ) k) parce que A = g a (mod p) donc (y a 1) 1 y 2 m (mod p). Algorthmes générques pour résoudre le problème DLP Proposton. Sot G un groupe et g G un élément d ordre N p = ord(g). Le problème DLP :trouver x tel que g x = A peut être résolu en O(N) = O(S x ) pas. Preuve. On génère par multplcaton successve la lste des valeurs S x pour x = 0, 1,..., N 1. S l exste une soluton g x = A on va la retrouver dans la lste. Le problème DLP et l algorthme de Shanks peuvent être formulés pour un groupe générque H et < g >= G H. Proposton. [Shanks pas de bébé, pas de géant] Sot (G, ) un groupe et g G un élément d ordre N > 2 (pour H = G = Z p, N = p 1. L algorthme suvant résout le problème DLP en O( N log N) pas. 1. sot s = 1 + N > N 2. calculer g s 3. créer deux lstes L 1 e, g, g 2, g 3,..., g s A, A g s, A g 2s, A g 3s,..., A g s2 L 2 4. trouver une occurence commune g r0 = A g k 0 s 5. x = r 0 + k 0 s est une soluton pour g x = A. Complexté d attaque de Shanks : O(s log s) O( N log N) créer les deux lstes : 2s multplcatons 3

s une occurrence commune exste, on peut la trouver en O(log s) Preuve. On utlse le théorème d Euclde. Sot x 0 la soluton du DLP g x = A. Alors, ls exstent k 0, r 0 enters tels que x 0 = sk 0 + r 0, 0 r 0 < s, donc 1 x 0 < N. q 0 = x 0 r 0 s < N s < s, parce que nous avons chos s < N. On peut réécrre g x 0 = A comme L 1 g r 0 = A g k 0 s, L 2, 0 r < s, 0 k < s. Donc chaque lste a au plus s éléments. Réducton à un problème connu Supposons que dans le groupe G on peut résoudre (DLP) g x = A (mod ord(g) = p) faclement (c.à-d. en complexté sous-exponentelle). Alors, dans un groupe plus genéral on essaye de rédure faclement le (DLP) dans le groupe H à pluseurs problèmes (DLP) g x = A (mod ord(g) = p) dans des sous-groupes de type G =< g >, avec ord(g) = p un enter premer. Ce derner problème étant smlare au (DLP) g x = A (mod ord(g) = p). 1. G =< g > avec ord(g) = p k : en construsant g pk 1 qu est un élément d ordre p. 2. G =< g > avec ord(g) = p k 1 1,..., p kn n : en construsant g = g N/pk qu est un élément d ordre ord(g ) = p k et en utlsant le théorème des restes chnos pour assembler les solutons. Proposton. Sot G un groupe, p un nombre premer, g G. Il faut S p pas pour résoudre le problème DLP p : g x = h et ord(g) = p Alors s ord(g) = p k l faut O(kS p ) pour résoudre DLP g x = h. Preuve (ébauche). Sot x la soluton du DLP. x = x 0 + x 1 p + + x pk 1 k 1 ord(g pk 1 ) = p élever à la pussance p k 1, donc h pk 1 = (g x ) pk 1 = (g x 0+x 1 p+ +x k 1 p k 1 ) pk 1 = g0p x k 1 (g pk ) }{{} =1 = (g pk 1) x 0 x 1 +x 2 p+ +x k 1 p k 1 (DLP p facle) :(g pk 1 ) x 0 = h pk 1, g pk 1 G et son ordre est ord(g pk 1 ) = p 4

Pour détermner x 1, l faut élever à la pussance p k 2. Donc h pk 2 = g x 0p k 2 g xpk 1 1 (g pk 1 ) x 1 = (h g x 0 ) pk 2 Proposton. Sot G un groupe et g G, ord(g) = N = p k 1 1 p kt t. Sot un algorthme qu résout DLP k p en O(S p k ) pas, alors DLP g x = h peut être résolu dans O( t =1 S p k +log N) pas. Algorthme Pohlng Hellmann 1. Pour chaque 1 t, g = g N/pk (mod N) et h = h N/pk z sot z la soluton du DLP g = h. (mod N), ord(g ) = p k est 2. on résout le système x z 1 (mod p k 1 1 ). x z t (mod p kt t ) Preuve. Le premer pas prend O( k S p ) et le système du théorème des restes chnos prend O(log N) pas. S x est la soluton du système de congruences pour chaque l exste un w enter et x = z + p k w. (g x ) N/pk = g (z +p k = g Nz p k w ) N p k g Nw = g Nz p k (g N ) w g N 1 (mod N) parce que ord(g) = N ( N ) z p = g k N = g z p = h = h k Donc N x N log p k p k g h (mod N). ( ) N Parce que pgcd = 1 pour tout j, nous avons qu l exste les enters α 1,..., α t donc p k, N p k j j t =1 donc x = log g h (mod N). α N p k α 1 N p k 1 1 x + + α t N p kt t t =1 = 1 N α log p k g (h) (mod N) 5

El Gamal sur ((Z/nZ) = Z/nZ, +), (F p = Z/pZ, ) Le problème du logarthme dscret en (Z/nZ) = Z/nZ, ) est dffcle, mas pas autant que dans un groupe générque. En (Z/nZ), ) on connaît des algorthmes sous-exponentels pour le résoudre, comme l algorthme de calcul d ndex. Dans un groupe générque on dot se contanter des algorthmes de Shanks et Pohlng et d autres, mas qu sont tous exponentels. Cec a des conséquences sur la talle du groupe à utlser pour que le problème DLP reste dffcle. Le nombre premer p dot avor au mnmum 1024 bts pour le (Z/nZ), pour assurer la même sécurté qu un groupe générque d ordre ayant 160 bts. Rappel sur le groupe (F p = Z/pZ, ) Proposton. L anneau Z/nZ est un corps s, et seulement s, n est un nombre premer. Plus, pour tout nombre premer p, F p est le seul corps de cardnal p. La structure du groupe multplcatf de Z/pZ est celle d un groupe abelén fn cyclque d ordre φ(p) = p 1. Théorème. [racne prmtve/générateur] Sot p premer. Alors l exste g F p tel que (F p, ) = {1, g,..., g p 2 }. L ordre de g est ord(g) = F p = p 1. Corollare. (du Th. Lagrange) Sot p un enter premer. Sot G =< g > (F p, ) et ord(g) = G = q. Alors q/p 1. Exemple. F 11 : 2 0 = 1, 2 1 = 2, 2 2 = 4, 2 3 = 8, 2 4 5, 2 5 10, 2 6 9, 2 7 7, 2 8 3, 2 9 6, 2 10 1, mas 2 n est pas un générateur pour Z 17. Exemple. Le groupe multplcatf F 11 a la cardnalté 10, donc les ordres des elements de Z 11 sont : 1, 2, 5, 10. Defnton (DLP Problème du logarthme dscret en (F p = Z/pZ, )). Sot p premer, g un générateur (racne prmtve) de F p, et h F p. DLPp : trouver 1 x p 1 tel que g x = h (mod p). Le nombre x s appelle le logarthme dscret de h en base g. Remarque. log g F p Z p 1 est une foncton ben défne, et log g (ab) = log g (a) + log g (b), a, b F p. Remarque. S DLPp a une soluton, l a a une nfnté. S x 0 est une soluton, on a g x 0 = h. Mas selon le pett théorème de Fermat, g p 1 1 (mod p). Donc x 0 + k(p 1), avec k enter, est auss une soluton. 6

Exercce. Coder A = 01,B = 02,...,Z = 26. Un mot devenne une sequence de nombres (AB = 0102 = 102, OB = 1502). Sot p = 150001, g = 7,a = 113 tel que a k = 7 113 66436 (mod p). La clé publque est(p, g, A) = (150001, 7, 66436). La clé prvée est a = 113. Sot le message H Mom : x 1 = 0809 = 809 et x 2 = 131513. Cryptage : Sot la clé éphémère k = 1000. On calcule y 11 = g k 7 1000 90429 (mod 150001). Donc y 1 = 90429. On calcule y 21 = x 1 A k = 809 (7 113 ) 1000, donc y 21 809 66436 1000 809 4654 15061 (mod 150001) et y 2 2 = x 2 A k = 131513 (7 113 ) 1000 57422 (mod 150001). On transmet les deux pares (90429, 15061) et (90429, 57422). Décryptage : On calcule (y a 11) 1 y 21 (90429 113 ) 1 15061 (mod 150001), Donc (y a 11) 1 y 21 4654 1 15061 80802 15061 809 (mod 150001). Exercce. A résoudre en utlsant le logcel de calcul modulare de http ://ptrow.com/perl/calculator.pl (a) Sot p = 541, g = 2, a = 113 et k = 101. Crypter x = 200 and x = 201 en utlsant ElGamal. (b) Sot p = 541, g = 2, a = 101. Décrypter les chffrés ElGamal y = (54, 300) and y = (54, 301). Exercce. Sot F 13 Sot p = 13, g = 2,a = 7. On calcule la clé publque A = a k = 2 7 11 (mod 13). La clé publque est(p, g, A) = (13, 7, 11). La clé prvée est a = 113. Sot le message : x = 3. Cryptage : Sot la clé éphémère k = 5. On calcule y 1 = g k 2 5 6 (mod 13). On calcule y 2 = x A k = 3 (11) 5, donc y 2 3 7 8 (mod 13). On transmet la pare (6, 8). Décryptage : On calcule (y a 1) 1 y 2 (6 7 ) 1 8 7 1 8 2 8 3 Exercce. Calculer log 3 525 en H = Z/(p 1)Z, p = 809. Donc n p + 1 = 29. Pas de bébé : (j, 525 (3 j ) 1 (mod p) pour j = 0,, 28 : L 2 : ( 0, 525 ) ( 1, 175 ) ( 2, 328 ) ( 3, 379 ) ( 4, 396 ) ( 5, 132 ) ( 6, 44 ) ( 7, 554 ) ( 8, 724 ) ( 9, 511 ) ( 10, 440 ) ( 11, 686 ) ( 12, 768 ) ( 13, 256 ) ( 14, 355 ) ( 15, 388 ) ( 16, 399 ) ( 17, 133 ) ( 18, 314 ) ( 19, 644 ) ( 20, 754 ) ( 21, 521 ) ( 22, 713 ) ( 23, 777 ) ( 24, 259 ) ( 25, 356 ) ( 26, 658 ) ( 27, 489 ) ( 28, 163 ) Pas de géant : (j, 3 j s (mod p)) pour j = 0,, 28 : L 1 : ( 0, 1 ) ( 1, 99 ) ( 2, 93 ) ( 3, 308 ) ( 4, 559 ) ( 5, 329 ) ( 6, 211 ) ( 7, 664 ) ( 8, 207 ) ( 9, 268 ) ( 10, 644 ) ( 11, 654 ) ( 12, 26 ) ( 13, 147 ) ( 14, 800 ) ( 15, 727 ) ( 16, 781 ) ( 17, 464 ) ( 18, 632 ) ( 19, 275 ) ( 20, 528 ) ( 21, 496 ) ( 22, 564 ) ( 23, 15 ) ( 24, 676 ) ( 25, 586 ) ( 26, 575 ) ( 27, 295 ) ( 28, 81 ) Donct = 10 p + 1 + 19 = 309 Attaques : El Gamal en (F p) Le problème DLP est facle à résoudre pour F p : un algorthme du type calcul d ndex résout le problème en temps sous-exponentel. 7

Remarque. Parce que F p = p 1 pour p premer l est donc toujours pare. Donc c est meux de chosr p = 2q + 1 avec q un nombre premer large. Exemple. On résout 5448 x = 6909 dans Z 11251 Le nombre premer p = 11251 a la proprété que p 1 est dvsle par 5 4, et l est facle de vérfer que 5448 a l ordre exactement 5 4 dans Z 11251. Le premer pas est la résoluton de ( 5448 53) x 0 = 6909 5 3, ce qu se rédut à 11089 x 0 = 11089. Cette équaton est facle la soluton est x 0 = 1, donc notre valeur ntale pour x est x = 1. Le pas suvant est la résoluton de ( 5448 53) x 1 = (6909 5448 x 0 ) 52 = (6909 5448 1 ) 52, ce qu se rédut à 11089 x 1 = 3742. Remarquons qu l sufft de vérfer seulement des valeurs de x 1 entre 1 et 4, même s dans le cas où q serat grand, l serat plus convenable d utlser un algorthme plus rapde comme celu de Shanks avec les pas de bébé-pas de géant pour résoudre ce problème de logarthme dscret. De toutes manères, la soluton est x 1 = 2, donc la valeur de x est mantenant x = 11 = 1 + 2 5. Contnuant, nous résolvons mantenant ( 5448 53) x 2 = (6909 5448 x 0 x 1 5 ) 5 = (6909 5448 11 ) 5, ce qu se rédut à 11089 x 2 = 1. Donc x 2 = 0, ce qu veut dre que la valeur de x reste à x = 11. Le pas fnal est la résoluton de ( 5448 53) x 3 = 6909 5448 x 0 x 1 5 x 2 5 2 = 6909 5448 11. Cec se rédut à résoudre 11089 x 3 = 6320, ce qu a la soluton x 3 = 4. Donc notre réponse fnale est x = 511 = 1 + 2 5 + 4 5 3. Pour vérfer le résultat, on peut calculer 5448 5 11 = 6909 dans Z 11251. Exemple. Consdérons le problème de logarthme dscret 23 x = 9689 dans Z 11251. 8

q e g (p 1/qe ) h (p 1/qe ) Résoltn ( g ) (p 1/qe ) x = h (p 1/q e) pour x 2 1 11250 11250 1 3 2 5029 10724 4 5 4 5448 6909 511 Table 4.1 Tros sous-problèmes du logarthme dscret La base 23 est une racne prmtve dans Z 11251, c est-à-dre elle a l ordre 11250. Comme 11250 = 2 3 2 5 4 est un produt de nombres premers petts, l algorthme de Pohlg-Hellman devrat fonctonner ben. Dans la notaton de sa descrpton, on pose p = 11251, g = 23, h = 9689, N = p 1 = 2 3 2 5 4. Le premer pas est la résoluton de tros sous-problèmes de logarthme dscret, comme ndqué dans la table 4.1. Remarquons que le premer problème est trval, tands que le trosème problème est le problème qu on vent de résoudre dans l exemple 4.0.1. De toutes manères, les problèmes ndvduels dans ce pas de l algorthme peuvent être résolus avec Shanks. Le second pas est l utlsaton du théorème des restes chnos pour résoudre les congruences smultanées x 1 (mod 2), x 4 (mod 3 2 ), x = 511 (mod 5 4 ) La plus pette soluton est x = 4261. On vérfe notre réponse en calculant 23 4261 = 9689 dans Z 11251. Exemple. Illustrer la méthode pas-de-bébé-pas-de-géant (babystep-gantstep) en l utlsant pour résoudre le problème du logarthme dscret g x = h dans Z p avec g = 9704, h = 13896, et p = 17389. Le nombre 9704 a l ordre 1242 dans Z 17389. Sot n = 1242 + 1 = 36 et u = g n = 9704 36 = 2494. La table 4.2 donne les valeurs de g k et h u k pour k = 1, 2,...,. Depus la table on trouve la collson 9704 7 = 14567 = 13896 2494 32 dans Z 17389. Utlsant le fat que 2494 = 9704 36, on calcule 13896 = 9704 7 2494 32 = 9704 7 (9704 36 ) 32 = 9704 1159 dans Z 17389. Par conséquent, x = 1159 résout le problème 9704 x = 13896 dans Z 17389. 9

k g k h u k 1 9704 347 2 6181 13357 3 5763 12423 4 1128 13153 5 8431 7928 6 16568 1139 7 14567 6259 8 2987 12013 k g k h u k 9 15774 16564 10 12918 11741 11 16360 16367 12 13259 7315 13 4125 2549 14 16911 10221 15 4351 16289 16 1612 4062 k g k h u k 17 10137 10230 18 17264 3957 19 4230 9195 20 9880 13628 21 9963 10126 22 15501 5416 23 6854 13640 24 15680 5276 k g k h u k 25 4970 12260 26 9183 6578 27 10596 7705 28 2427 1425 29 6902 6594 30 11969 12831 31 6045 4754 32 7583 14567 Table 4.2 Pas-de-bébé-pas-de-géant pour résoudre 9704 x 13896 (mod 17389) El Gamal Courbes ellptques On s nteresse aux courbes ellptques élémentares en forme d équaton de Weerstrass. Defnton. Sot a, b R. Une courbe ellptque E(a,b) est une courbe algébrque du trosème degré (cubque) (c.à-d l ensemble des ponts (x, y) R R et un pont à l nfn) vérfant l équaton : y 2 = x 3 + ax + b (mod p) où a, b R tels que δ := 16(4a 3 + 27b 2 ) 0, c.à-d où le second membre, polynôme du 3ème degré en x, n a pas de soluton double. La quantté δ s appelle le dscrmnant de la courbe. Le graphe d une courbe ellptque depend du sgne du dscrmnant : postf : l présente deux composantes (Ex : y 2 = x 3 x, δ := 64, le polynôme cubque x 3 + ax + b a exactement tros racnes réelles dstnctes) négatf :l présente deux composantes (Ex : y 2 = x 3 x + 1, δ := 368, le polynôme cubque x 3 + ax + b a exactement une racne réelle) 10

Fgure 4.1 Courbes ellptques Addton sur les courbes ellptques : Théorème (Bézout). Deux courbes algébrques projectves planes C,D de degrés m et n, défnes sur un corps algébrquement clos et sans composante rréductble commune, ont exactement mn ponts d ntersectons, comptés avec multplctés. Par deux ponts dstncts P, Q stués sur une courbe ellptque passe une drote ben défne. Comme consequence une drote sécante passant par deux ponts d une courbe ellptque recoupe la courbe en un trosème pont (dstnct ou non). Ce pont est consderé la somme P+Q.(vor fgure 4.2). Lemme 1. Sot a, b R. Les ponts ratonnels d une courbe ellptque E(a,b) forment un groupe abélen E(a, b) avec l operaton d addton suvante : Sot P = (x 1, y 1 ), Q = (x 2, y 2 ) E(a, b). S P = O alors P + Q = P S Q = O alors P + Q = Q S x 2 = x 1 et y 2 = y 1 alors P + Q = O Autrement P +Q = (x 3, y 3 ) avec x 3 = λ 2 x 1 x 2, y 3 = λ(x 1 x 3 ) y 1, où λ = 3x 2 1+a 2y 1 s P = Q et λ = y 2 y 1 x 2 x 1 snon. Donc Le pont à l nfn O est l élément neutre : P + O = O + P = P L nverse de P = (x 1, y 1 ) est Q(x 1, y 1 ), P + Q = Q + P = O 11

Fgure 4.2 Addton courbes ellptques P + Q = (x 3, y 3 ) avec x 3 = λ 2 x 1 x 2, y 3 = λ(x 1 x 3 ) y 1, où λ = 3x2 1 +a 2y 1 s P = Q et λ = y 2 y 1 x 2 x 1 snon. La proprété d assocatvté peut être drectement vérfe. Pour la multplcaton scalare sur E(a, b) on utlse la notaton suvante : P, [2]P = P + P, [3]P = [2]P + P,..., [n]p = [n 1]P + P. Les résultats précédents sont encore valables lorsque le corps de défnton de la courbe ellptque est F k p avec p > 3. On denote le groupe correspondant par E(a, b, p). Pour les applcatons en cryptographe les asymetrque l nous faut : une manère effcace de calculer [n]p, un sous-groupe cyclque de E(a, b, p), connaître/approxmer l ordre du groupe E(a, b, p) et les ponts ratonnels, évaluer la dffculté du problème du logarthme dscret/factorsaton. Pour calculer np l y a l algorthme Double and Add qu est très smlare à celu de l exponentaton pour RSA avec addtons à la place des multplcatons. Pour calculer On decompose [k]p d abord en bnare k = t k 2, où k 0, 1 et t = [log 2 k], k t = 1. Après [2](...([2]([2]([2]([2]([2]P + [k (l 1) ]P ) + [k (l 2) ]P ) + [k (l 3) ]P ) +... ) + [k 1 ]P ) + [k 0 ]P La ordre du groupe pour K = F p k = Z p k Z = [2 l ]P + [k (l 1) 2 l 1 ]P + + [k 1 2]P + [k 0 ]P avec p > 3 est donnée par le résulta suvant : Théorème (Hasse). Sot q = p k alors q + 1 2 q E(a, b, p) q + 1 + 2 q et l algorthme de Schoof permet de détermner le nombre de ponts sur une courbe ellptque. Théorème ( Tsfasman-Voloch-Ruck Théorème de structure). Sot q = p k. Le groupe E(a, b, p) est sot un groupe cyclque sot somorphe avec un produt de deux groupes cyclques Z/uZ/ Z/vZ où u pgcd(v, q 1) 12

Système de cryptage ellptque à clé publque ElGamal sur E(a, b, p) Créaton de paramètre publque Une entté de confance chost et puble un nombre premer p (large), une courbe ellptque E sur Z p k et un pont P dans E(a, b, p) Créaton de clé Chosr une clé prvée n A. Calculer Q A = n A P dans E(a, b, p) Publer la clé publque Q A Cryptage Chosr le texte en clar x E(a, b, p). Chosr une clé éphémère k Utlser la clé publque d Alce Q A pour calculer y 1 = kp E(a, b, p) et y 2 = x + kq A E(a, b, p). Envoyer le texte chffré (y 1, y 2 ). Décryptage Calculer y 2 n A y 1 E(a, b, p). Cette valeur est égale à x Le système de cryptage ellptque à clé publque El Gamal fonctonne très ben, mas l présente quelques dffcultés d ordre pratque : 1. Il n ya pas de manère évdente pour attacher des messages en clar à des ponts de E(F p ). 2. Le système de cryptage ellptque El Gamal a un taux d expanson de message de 4- pour-1, tands que le système de cryptage sur F p El Gamal a un taux d expanson de message de 2-pour-1. Les avantages de l utlsaton du problème du logarthme dscret sur des courbes ellptques sont gue DLP est dffcle sur le groupe assocé à une courbe ellptque (c.à.d. qu l n y a pas d attaque connue de complexté sous-exponentelle) et que les clés peuvent être plus pettes pour assurer un nveau de sécurté équvalent : RSA 1024bts versus ECC 160bts. Pour le problème de factorsaton (c.à-d. la décomposton en produt de facteurs enters premers) sur les courbes ellptques l y a parm d autres l algorthme probablste de Lenstra qu a une complexté sous-exponentelle. 13

Class Talle typque de clé Exemples Clé publque 1024-2048 bts (non courbe-ellptque) 163-233 bts (courbe ellptque) Dffe-Hellman, ElGamal, DSA Clé symétrque 128-256 bts DES, AES Hash N/A SHA, MD5 Table 4.3 Types d algorthmes et leur talles de clé actuelles 14