Vous êtes sur la page 1sur 32

La Cryptographie de la thorie la pratique

Master IT

4.

Algorithmes clef publique1

4.1. Introduction
On peut comparer un algorithme clef secrte un coffre-fort. La clef est la combinaison du coffre. Celui qui connat la combinaison peut ouvrir le coffre, mettre un document lintrieur et le refermer. Quelquun dautre, qui possde aussi la combinaison, peut ouvrir le coffre et prendre le document. Toute personne qui ne connat pas la clef na dautre ressort que dapprendre lart de percer les coffres-forts. En 1976, W. Diffie et M. Hellman ont chang ce paradigme de la cryptographie. Ils ont dcrit la cryptographie clef publique. Au lieu dune clef, il y a deux clefs diffrentes : une publique et une prive. De plus, il est difficile de calculer la clef prive partir de la clef publique. Toute personne peut laide de la clef publique chiffrer un message mais elle ne peut le dchiffrer. Seule la personne en possession de la clef prive peut dchiffrer le message. Cest comme si quelquun avait chang le coffre-fort de la cryptographie en une bote aux lettres. Mettre une lettre dans la bote revient chiffrer avec la clef publique, tout le monde peut le faire. Il suffit de la glisser dans la fente. Sortir le courrier de la bote revient dchiffrer avec la clef prive. Cest difficile en gnral, il faut un chalumeau. Cependant, celui qui dtient le secret (la clef physique de la bote aux lettres) peut facilement retirer le courrier de la bote. Clef de chiffrement Clef de dchiffrement Texte en clair Original

Texte en clair

Chiffrement

Texte chiffr

Dchiffrement

Figure 6 : Chiffrement et dchiffrement avec deux clefs Mathmatiquement, le procd est bas sur une fonction sens unique brche secrte. Le chiffrement est la direction facile. La clef publique constitue les instructions pour le chiffrement : tout le monde peut chiffrer un message. Le dchiffrement est la direction difficile. Le secret, ou la brche secrte, est la clef prive. Avec ce secret, le dchiffrement est aussi facile que le chiffrement. Voici comment A peut envoyer un message B en utilisant la cryptographie clef publique : 1 A et B choisissent un cryptosystme clef publique. 2 B envoie A sa clef publique. 3 A chiffre son message en utilisant la clef publique de B et lui envoie le rsultat. 4 B dchiffre le message de A en utilisant sa clef prive. Plus gnralement, un groupe dutilisateurs en rseau saccordent pour utiliser un cryptosystme clef publique. Chaque utilisateur a sa ou ses clefs publiques et prives. Toutes les clefs publiques sont disponibles dans une base de donnes quelque part. Ainsi le protocole est plus simple : 1 A obtient la clef publique de B par la base de donnes. 2 A chiffre son message en utilisant la clef publique de B et lui envoie le rsultat. 3 B dchiffre le message de A en utilisant sa clef prive.

Rfrence : Cryptographie Applique de Bruce Schneier

Mohamed El Marraki

51

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

Depuis 1976, de nombreux algorithmes de cryptographie clef publique ont t proposs. Plusieurs dentre eux ne sont pas srs. Parmi ceux qui sont srs, il y a plusieurs qui ne sont pas pratiques (soit ils ont une clef vraiment grande ou le texte chiffr est nettement plus long que le texte en clair). Seuls quelques algorithmes sont la fois srs et pratiques, certains ne sont adapts qu la distribution de clefs. Dautres sont adapts au chiffrement. Dautres ne sont adapts quaux signatures numriques. Seuls deux algorithmes sont adquats la fois pour le chiffrement et les signatures : RSA et ElGamal. Ces algorithmes sont lents. Les vitesses de chiffrement et dchiffrement sont nettement plus faibles que pour les algorithmes clefs secrtes ; habituellement cest trop lent pour le chiffrement de donnes en masse. On les utilisent de la faon suivante : Un algorithme avec une clef secrte alatoire sert chiffrer le message, et un algorithme clef public sert chiffrer la clef.

4.2 Cryptosystmes hybrides


En pratique, les algorithmes clef publique ne se substituent pas aux logarithmes clef secrte. On les utilise pour chiffrer des clefs et non des messages. Il y a deux raisons cela : Les algorithmes clef publique sont lents. Les algorithmes clef secrte sont gnralement au moins 1000 fois plus rapides que les algorithmes clef publique. Les cryptosystmes clef publique sont vulnrables aux attaques texte en clair choisi. Si C=E(M) o M est un texte en clair parmi n textes en clair possibles, alors il suffit un cryptanalyste de chiffrer les n messages et de comparer les textes chiffrs rsultant avec C (La clef de chiffrement est publique). Il ne pourra pas trouver la clef de chiffrement de cette manire, mais il pourra dterminer M. (Si M est un montant en francs infrieur un million, cette attaque marchera ; le cryptanalyste essaye les million de montants possible. ) Dans la plupart des applications pratiques, la cryptographie clef publique est utilise pour protger et distribuer les clefs de session, et ces clefs de session sont utilise dans des algorithmes clef secrte pour protger les messages transmis. Cela est appel un cryptosystme hybride, le protocole devient : 1 B envoie A sa clef publique. 2 A engendre une clef de session alatoire, k, la chiffre avec la clef publique de B et envoie le rsultat B : fB(k) 3 B utilise sa clef prive pou dchiffrer le message dAlice et ainsi retrouver la clef de session : f -1B(fB (k)) = k 4 A et B utilisent alors la mme clef de session pour chiffrer leur conversation.

4.3 Signatures numriques


Les signatures sur des documents ont t longtemps utilises pour prouver lidentit de leur auteur ou du moins laccord du signataire avec le contenu du document.

Mohamed El Marraki

52

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

La signature : a) est authentique : convainc le destinataire que le signataire a dlibrment sign le document. b) est infalsifiable : la signature est la preuve que le signataire a sign le document. c) est inutilisable : la signature fait partie du document, on ne peut pas la faire dplacer sur un autre document. d) est inaltrable : une fois le document sign, il ne peut plus tre modifi. e) ne peut pas tre renie : Le signataire ne peut pas prtendre plus tard ne pas avoir sign le document.

4.3.1 Signature de documents laide dun cryptosystme clef publique


Il existe deux types dalgorithme clef publique qui peuvent tre utiliss pour des signatures numriques : La clef prive (quon utilise pour le chiffrement) peut tre utilise pour obtenir une signature numrique (RSA, ElGamal, etc.) Il y a un algorithme spar pour les signatures numriques qui ne peut pas tre utilis pour le chiffrement ( DSA). Le protocole est simple : 1 A chiffre le document avec sa clef prive, signant ainsi le document. 2 A envoie le rsultat B. 3 B dchiffre le message avec la clef publique de A, vrifiant ainsi la signature.

4.3.2 Signature numriques avec chiffrement


En combinant les signatures numriques avec la cryptographie clef publique, nous pouvons concevoir un protocole qui combine la scurit du chiffrement avec lauthentification des signatures numriques. Pensez une lettre signe dans une enveloppe : la signature numrique donne une preuve de lidentit de son auteur et le chiffrement offre la confidentialit. 1 A signe le message avec sa clef prive :

f -1A(M)
2 A chiffre le message sign avec la clef publique de B et lui envoie le rsultat :

f B(f -1A(M))
3 B utilise sa clef prive pou dchiffrer le message dAlice :

f 1B(f B(f -1A(M))) = f -1A(M)


4 B vrifie avec la clef publique de A at obtient le message initial :

f A(f -1A(M)) = M

Mohamed El Marraki

53

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

Il semble naturel de signer avant de chiffrer. Quand une personne A crit une lettre, elle la signe avant de la mettre dans lenveloppe.

4.3.3 Renvoyer un message comme accus de rception


On reprend le protocole du paragraphe 3.2 avec en plus la possibilit denvoyer des messages de confirmation. Chaque fois que quelquun reoit un message, il ou elle le renvoie lexpditeur comme accus de rception : 1 A signe le message M avec sa clef prive, le chiffre avec la clef publique de B et lui envoie le rsultat :

f B(f -1A(M))
2 B dchiffre le message avec sa clef prive et vrifie la signature avec la clef publique de A, sassurant ainsi que cest bien A qui a sign le message et obtenant galement le message en clair :

f A(f 1B(f B(f -1A(M)))) = M


3 B signe le message avec sa clef prive, le chiffre avec la clef publique de A et envoie le rsultat A :

f A(f 1B(M))
4 A dchiffre le message avec sa clef prive et vrifie la signature avec la clef publique de B. Si le message obtenu est le mme que celui quelle a envoy B, elle sait que celui-ci a reu le message correctement : Pour ce protocole une attaque est possible : Supposons que A, B et C sont trois personnes qui utilise le mme cryptosystme clef publique. Chaque utilisateur A, B ou C a une clef 1 publique f x et une clef prive f x o X = A, B ou C. La personne A envoie un message B avec le protocole prcdent : f B(f A(M)) = M1. Supposons que la personne C arrive rcuprer ce message avant quil arrive la personne B. C utilise le protocole prcdent pour 1 envoyer ce message B prtendant en tre lauteur : f B(f C(M1)) = M2. B reoit le message M2 de C et pense que cest un message lgitime de C, il le dchiffre avec sa clef prive :
-1

f 1B et essaie ensuite de vrifier la signature de C en le dchiffrant avec la clef publique de de C : f C. Le message obtenu est du pur charabia est : f C(f 1B(M2)) = f C(f 1B(f B(f 1C(M1)))) = M1= f B(f -1A(M))

Mme ainsi B continue excuter le protocole et envoie un accus de rception C :

f C(f 1B(M1)) = f C(f 1B(f B(f -1A(M)))) = f C(f -1A(M)) 1 Maintenant, il suffit C de dchiffrer le message avec sa clef prive : f C et la clef publique de A : f A pour avoir :
Mohamed El Marraki 54 12/04/2009

La Cryptographie de la thorie la pratique

Master IT

f A (f 1C (f C(f -1A(M)))) = M.
Voil! La personne C a le message M qui a t destin B.

4.4 Algorithmes empilement


4.4.1 Prsentation
Le premier algorithme pour le chiffrement clef publique a t dvelopp par R. Merkle et M. Hellman. Les algorithmes empilement (ou sac dos) tirent leur scurit du problme dempilement, un problme NP-complet. Le problme dempilement est un problme simple : tant donn un tas dobjet, chacun ayant un poids diffrents, est-il possible de faire un nouveau tas avec certains de ces objets de telle manire que le nouveau tas pse un poids donn ? Plus formellement : tant donn un ensemble de valeurs, M1, M2, , Mn et une somme S, calculer les valeurs des bi de telle manire que : S = b1M1 + b2M2 + + bnMn. Les valeurs des bi tant soit 0 soit 1. Un 1 indique que llment est dans le nouveau tas ; un 0 indique quil ny est pas dans le nouveau tas. Exemple : Soient six objets de poids : 1, 5, 6, 11, 14 et 20. Si S = 22, il est possible de crer un tas qui pse 22 : S = b1M1 + b2M2 + b3M3 + b4M4 + b5M5 + b6M6. Avec b1=b5=b6=0 et b2=b3=b4=1. Cest--dire 22 = 5 + 6 + 11. Il est impossible de crer un tas qui pse 24. En gnral, le temps ncessaire pour rsoudre ce problme crot dune faon exponentiellement avec le nombre dobjets dans le nouveau tas. Lide de base de lalgorithme empilement Merkle-Hellman est de coder le message comme une solution dune suite de problmes dempilement. Un bloc de texte en clair de longueur gale au nombre dobjets dans le tas slectionnerait des objets ( les bits du texte en clair correspondraient aux valeurs des bi : un 1 signifierait que lobjet est prsent et un 0 signifierait que lobjet est absent) et le texte chiffr serait la somme rsultante. La Figure 4 illustre un texte en clair chiffr avec lexemple dempilement donn plus haut.

Texte en clair : 1 1 1 0 0 1 Tas : 1 5 6 11 14 20 Texte chiffr : 1 + 5 + 6 + 20 =

0 1 0 1 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 5 6 11 14 20 1 5 6 11 14 20 1 5 6 11 14 20 5 + 11 + 14 = 0= 5+6= 32 30 0 11

Figure 7 : Chiffrement par empilement Il y a en fait deux problmes dempilement, lun soluble en temps linaire, lautre soluble en temps exponentiel seulement. Lempilement facile peut-tre transform pour crer un

Mohamed El Marraki

55

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

empilement difficile. La clef publique est lempilement difficile, qui peut tre facilement utilise pour chiffrer des messages mais qui ne peut pas tre utilise pour dchiffrer des messages. La clef prive est lempilement facile qui donne un moyen simple de dchiffrer les messages. Les personnes qui ne connaissent pas la clef prive sont obliges dessayer de rsoudre le problme dempilement difficile. Cest vrai que la complexit du problme dempilement est exponentiel, mais si la liste des poids est une suite super-croissante, la complexit est seulement linaire, cest--dire facile rsoudre.

4.4.2 Empilement super-croissant


Quest-ce quun problme dempilement facile ? Si la liste des poids est une suite supercroissante, alors le problme dempilement correspondant est facile rsoudre. Une suite est dite super-croissante si chaque terme de la suite est suprieur la somme de tous les termes qui prcdent. Par exemple, la suite {2, 3, 6, 13, 27, 52} est une suite super-croissante (3>2, 6>2+3, 13>2+3+6, 27>2+3+6+13 et 52>2+3+6+13+27) tandis que la suite {1, 3, 4, 9, 15, 25} nest pas une suite super-croissante (puisque par exemple 15<1+3+4+9=17). La solution dun empilement super-croissant est facile trouver. Prenez le poids total est comparez-le avec le plus grand nombre de la suite. Si le poids total est infrieur ce nombre, alors il nest pas dans le tas. Si le poids total est suprieur ou gal au nombre, alors il est dans le tas. Rduisez le poids du tas crer de ce nombre et passez au plus grand nombre suivant de la suite. Rptez cela jusqu ce que ce soit termin. Si le poids total a t ramen 0, alors il y a une solution. Si le poids total na pas t annul, il ny a alors pas de solution. Par exemple, on considre un tas de poids total 70 crer et une suite de poids {2, 3, 6, 13, 27, 52}. Le poids le plus lev est 52, ce qui est infrieur 70, donc 52 est dans le nouveau tas. Retirer 52 70 il reste 18. Le poids suivant est 27 qui est plus grand que 18, donc 27 nest pas dans le nouveau tas. Le poids suivant est 13 qui est infrieur 18, donc 13 est dans le nouveau tas. Retirer 13 de 18 il reste 5. Le poids suivant est 6, qui est plus grand que 5, donc 6 nest pas dans le nouveau tas. Le poids suivant est 3 qui est infrieur 5, donc 3 est dans le nouveau tas. Retirer 3 de 5 il reste 2. Le poids suivant est justement 2 donc il est dans le nouveau tas et le reste est 0, ce qui indique quune solution a t trouve. Si cela avait t un bloc chiffr par empilement Merkle-Hellmann alors le texte en clair correspondant au texte chiffr de valeur 70 aurait t 110101. Avec les suites qui ne sont pas super-croissant il nexiste pas dalgorithme rapide. Les meilleurs algorithmes qui existent, sont exponentiels en fonction du nombre de poids possibles dans le tas. Ajouter un poids la suite des poids et il faut deux fois de temps pour trouver la solution. Pour une suite super-croissant, si vous ajoutez un poids la suite des poids, cela ne fait quune opration de plus. Lalgorithme Merkle-Hellmann est bas sur cette proprit. La clef prive est une suite de poids super-croissant pour un problme dempilement. La clef publique est une suite de poids pour un problme dempilement normal avec la mme solution. Merkle et Hellmann ont dvelopp une technique pour convertir un problme dempilement super-croissant en un problme dempilement normal. Ils ont fait cela en utilisant larithmtique modulaire.

4.4.3 Cration de la clef publique partir de la clef prive


Pour passer dun empilement super-croissant (clef prive) un empilement normale (clef publique) : par exemple on prend la suite {2, 3, 6, 13, 27, 52} qui est super-croissante, et on Mohamed El Marraki 56 12/04/2009

La Cryptographie de la thorie la pratique

Master IT

multiplie toutes les valeurs par un nombre n modulo m. Le modulo (i.e. m) doit tre plus grand que la somme de tous les nombres de la suite, par exemple 105. Le multiplicateur (i.e. n) ne doit pas avoir de facteur en commun avec aucun nombre de la suite, par exemple 31. La suite dempilement normale serait : (2 31) mod 105 = 62 (3 31) mod 105 = 93 (6 31) mod 105 = 81 (13 31) mod 105 = 88 (27 31) mod 105 = 102 (52 31) mod 105 = 37 Lempilement difficile est alors { 62, 93, 81, 88, 102, 37}. La suite pour empilement super-croissant est la clef prive. La suite pour empilement normale est la clef publique.

4.4.4 Chiffrement
Pour chiffrer un message binaire, on coupe le message en morceaux de longueur gale au nombre dobjets dans la suite pour empilement. Ensuite, en prenant la convention quun 1 indique que lobjet figure dans le tas et quun 0 indique que lobjet est absent, on calcule le poids total des tas. Par exemple, si le message est 011000110101101110, le chiffrement en utilisant la suite message = 011000 110101 101110

011000 donne 93 + 81 = 174 110101 donne 62 + 93 + 88 + 37 = 280 101110 donne 62 + 81 + 88 + 102 = 333 Le texte chiffr sera alors : 174, 280, 333

4.4.5 Dchiffrement
Celui qui reoit ce message connat la suite super-croissant dorigine, ainsi que les valeurs n et m utilises pour transformer la suite super-croissante en une suite normale. Pour dchiffrer le message, on doit dabord calculer linverse modulaire de n modulo m, cest--dire n-1 tel que n n-1 1 mod m, et ensuite multiplier chaque valeur du texte chiffr par n-1 mod m pour retrouver les valeurs du texte en clair. Pour notre exemple, la suite super-croissante est {2, 3, 6, 13, 27, 52}, m=105 et n=31. Le message chiffr est 174, 280, 333. Dans ce cas, n-1=61 (3161= 1 mod 105) et les valeurs chiffres doivent donc tre multiplies par 61 mod 105 : 174 61 mod 105 = 9 = 3 + 6, ce qui correspond 011000 280 61 mod 105 = 70 = 2 + 3 + 13 + 52, ce qui correspond 110101 333 61 mod 105 = 48 = 2 + 6 + 13 + 27, ce qui correspond 101110. Le texte en clair correspondant est 011000 110101 101110.

Mohamed El Marraki

57

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

4.4.6 Exemple
On prend la suite {3, 5, 10, 21, 44, 91, 185, 400} qui est super-croissante, et on multiplie toutes les valeurs par le nombre n=19 modulo m=800. Le modulo (i.e. m) doit tre plus grand que la somme de tous les nombres de la suite, ici 800>765. Le multiplicateur (i.e. 19) ne doit pas avoir de facteur en commun avec aucun nombre de la suite. La suite dempilement normale serait : (3 19) mod 800 = 57 (5 19) mod 800 = 95 (10 19) mod 800 = 190 (21 19) mod 800 = 399 (44 19) mod 800 = 36 (91 19) mod 800 = 129 (185 19) mod 800 = 315 (400 19) mod 800 = 400 Lempilement difficile est alors { 57, 95, 190, 399, 36, 129, 315, 400}. La suite pour empilement super-croissant est la clef prive. La suite pour empilement normale est la clef publique.

Chiffrement
Pour chiffrer un message binaire, on coupe le message en morceaux de longueur gale au nombre dobjets dans la suite pour empilement ici cest 8. Ensuite, en prenant la convention quun 1 indique que lobjet figure dans le tas et quun 0 indique que lobjet est absent, on calcule le poids total des tas. Par exemple, si le message est 0100100111001011010110100001011 : message = 01001001 01001001 11001011 00101101 00001011 donne donne donne donne 11001011 00101101 = = = = 531 903 755 751 00001011

95 + 36 + 400 57 + 95 + 36 + 315 + 400 190 + 36 + 129 + 400 36 + 315 + 400

Le texte chiffr sera alors : 531, 903, 755, 751

Dchiffrement
Celui qui reoit ce message connat la suite super-croissant dorigine, ainsi que les valeurs n et m utilises pour transformer la suite super-croissante en une suite normale. Pour dchiffrer le message, on doit dabord calculer linverse modulaire de n modulo m, cest--dire n-1 tel que n n-1 1 mod m, et ensuite multiplier chaque valeur du texte chiffr par n-1 mod m pour retrouver les valeurs du texte en clair.

Mohamed El Marraki

58

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

Pour notre exemple, la suite super-croissante est {3, 5, 10, 21, 44, 91, 185, 400}, m=800 et n=19. Le message chiffr est 531, 903, 755, 751. Dans ce cas, n-1 = 379 (19 379 1 mod 800) et les valeurs chiffres doivent donc tre multiplies par 379 mod 800 : 531 379 903 379 755 379 751 379 mod mod mod mod 800 800 800 800 = = = = 449 = 5 + 44 + 400, ce qui correspond 01001001. 637 = 3 + 5 + 44 + 185 + 400, ce qui correspond 11001011. 545 = 10 + 44 + 91 + 400, ce qui correspond 00101101. 629 = 44 + 185 + 400, ce qui correspond 00001011.

Le texte en clair correspondant est

01001001

11001011

00101101

00001011.

4.4.7 La scurit de lalgorithme empilement


Avec une suite pour empilement de huit lments, il nest pas difficile de rsoudre le problme mme si la suite nest pas super-croissante. Les vrais empilements contiennent au moins 250 lments. La valeur de chaque terme de la suite super-croissante est longue de 200 bits 400 bits. Le module est choisi pour avoir une longueur comprise entre 100 et 200 bits. Les ralisations concrtes de lalgorithme utilisent un gnrateur de squences alatoires pour produire ces valeurs. Si un ordinateur peut essayer un million de possibilits par seconde, essayer tous les empilements possibles prendrait plus de 1046 annes !!!!!!!! Ce nest pas un million de machines qui ont cass le systme empilement mais bien trois cryptographes Herlestam, Shamir et Zippel ( ils ont trouvs des failles dans la transformation qui permettait de reconstruire la suite super-croissante 1978-1982.)

4.5 Algorithme RSA


Peu aprs lalgorithme empilement de Merkle et Hellman, le premier algorithme clef publique grandeur nature apparut. Il fonctionne pour le chiffrement aussi bien que pour les signatures numriques : RSA. Cest un algorithme facile comprendre et raliser. Cest le plus populaire. Il a t invent par les mathmaticiens Ronald Rivest, Adi Shamir et Lonard Adlman. Il a rsist depuis des annes de cryptanalyse. Bien que la la cryptanalyse nait jamais prouv la scurit ou la non-scurit de RSA, cela inspire un certain niveau de confiance dans lalgorithme. La scurit de RSA dpend de la difficult de factoriser des grands nombres. Les clefs publique et prive sont des fonctions dune paire de grands nombres premiers (100 200 chiffres). Retrouver le texte en clair partir dune des clefs et du texte chiffr est suppos quivalent la factorisation du produit des deux nombres premiers.

4.5.1 La gnration des clefs


Pour commencer, il faut choisir deux nombres premiers p et q trs grands (de lordre de 100 200 chiffres), calculez le produit : n = pq.

Mohamed El Marraki

59

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

On choisit ensuite une clef de chiffrement e telle que e et (p-1)(q-1) soient premiers entre eux. Les nombres n et e forment la clef publique du cryptosystme. Finalement, on utilise lalgorithme dEuclide tendu pour calculer la clef de dchiffrement d telle que : ed 1 mod(p-1)(q-1). En dautres termes d est linverse modulaire de e modulo (p-1)(q-1) : d = e-1 mod(p-1)(q-1) Le nombre d est la clef prive. Les deux nombres premiers p et q ne sont plus ncessaires. Ils peuvent tre carts mais jamais rvls. Grce aux algorithmes probabilistes, on sait engendrer des nombres premiers de plusieurs milliers de chiffres de long en peu de temps ; le calcul de p et q est donc rapide. Trouver e et d est aussi une opration rapide car lalgorithme dEuclide qui permet de calculer ces deux nombres est un algorithme peu difficile excuter. En conclusion, la constitution dun quadruplet (p, q, e, d) est donc une opration rapide pour un ordinateur, mme si lon souhaite que p et q aient quelques milliers de chiffres.

4.5.2 Chiffrement
Pour chiffrer un message M, on le dcoupe en blocs numriques tels que chaque bloc ait une reprsentation unique modulo n (avec des donnes binaires, on choisit la plus grande puissance de 2 infrieur n). Ainsi, si p et q sont tous deux des nombres premiers de 100 chiffres, alors n aura tout juste moins de 200 chiffres et chaque bloc de message mi doit avoir juste moins de 200 chiffres. Le message chiffr C sera constitu de manire similaire de blocs ci d peu prs la mme longueur. La formule de chiffrement est simplement :

ci = mi mod n. 4.5.3 Dchiffrement


Pour dchiffrer un message, il faut effectuer lopration inverse, cest dire pour chaque ci on calcule : d mi = ci mod n.

4.5.4 Justification de RSA


Le protocole RSA est fond sur le thorme : Thorme : (RSA) Soient p et q deux nombres premiers. On pose n =pq. Si le nombre e est un entier premier avec le nombre (p-1)(q-1), alors il existe un entiers d positif, tel que ed 1 mod(p-1)(q-1), et, pour cet entier d et un entier m quelconque, on a :

m m mod n.

ed

Mohamed El Marraki

60

12/04/2009

La Cryptographie de la thorie la pratique On a le schma suivant : e d


e d

Master IT

c = m mod n m

m = c mod n = m mod n m

ed

Dmonstration : e e On a : c = m + k n o k est un entier cest dire n divise c - m . On cherche montrer, sachant que ed = 1 mod (p-1)(q-1), p et q premier, que c = m mod n, cest dire n divise m (m + k n) . On dveloppe c avec la formule du binme de Newton ; tous les termes admettent n comme facteur except le terme (me)d, il suffit donc de montrer que n divise :
d e
d

m (m )d = m m = m m
On veut donc montrer que

ed

1+k(p-1)(q-1)

m = m mod p (1) 1 + kpq kq kp + k = m mod q (2) et m


Pour (1) : (1) m (m ) m
kq p -kq

1 + kpq kq kp + k

(m ) m = m mod p
p

-k p

On utilise le petit thorme de Fermat : si p est premier a a mod p, on a :

(m ) = m
On a alors

kq p

kq

mod p et

(m ) = m

-k p

-k

mod p

m (m ) m

kq p

-kq

(m ) m = m m

-k p

kq

-kq

m m mod p = m mod p

-k

dou la dmonstration de (1). De mme : kp q -kp -k q k (2) m (m ) m (m ) m = m mod q or kp q kp -k q -k (m ) = m mod p et (m ) = m mod q On a alors

m (m ) (m ) m

kp q

-k p

-kq

m =mm m m

kp

-k

-kq

m mod q = m mod q

dou la dmonstration de (2).

Mohamed El Marraki

61

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

4.5.5 Rsum
Clef publique : n produit de deux nombres premiers, p et q ( p et q doivent rester secrets). e premier par rapport (p-1)(q-1) Clef prive : d = e-1 mod ((p-1)(q-1)) Chiffrement : c = me mod n Dchiffrement : m = cd mod n.

4.5.6 Exemples
1. On prend p=3, q=11 (deux nombres premiers) donc n = 3 11 = 33. On prend ensuite e = 7 et on cherche d linverse modulaire de 7 modulo 33. Il est facile de voir que d = 3 puisque : 7 3 = 21 1 mod (3-1)(11-1). On a alors : La clef publique : (33, 7) La clef prive : (33, 3) On veut envoyer le message : FERMAT On utilise le codage standard avec 28 chiffres : 01= A, 02 = B, 03 = C, , 26 = Z, 27 =" ,", 28 = "." 29 ="espace". Avec ce codage le message numris est : M = 060518130120 On dcoupe en paquets de 2 chiffres. Pour chiffrer le message on lev la puissance e = 7 modulo 33 chaque paquets, cest dire : 7 06 = 279936 30 mod 33 7 05 = 78125 14 mod 33 7 18 = 612220032 6 mod 33 7 13 = 62748517 7 mod 33 7 01 = 1 1 mod 33 7 7 = 12810 26 mod 33 20 Le message chiffr est : C = 301406070126 En utilisant la clef prive d = 3 pour retrouver le message initial : 3 30 = 27000 06 mod 33 3 14 = 2744 05 mod 33 3 06 = 216 18 mod 33 3 07 = 343 13 mod 33 3 01 = 1 01 mod 33 3 26 = 17576 20 mod 33 On obtient donc le message M = 060518130120, et avec le codage standard prcdent on obtient le message : FERMAT.

Mohamed El Marraki

62

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

2. On prend p=47, q=79 (deux nombres premiers) donc n = 47 79 = 3713. On prend ensuite e = 37 et on cherche d tel que : e d 1 mod (p-1)(q-1) pgcd(3588,37) = 1 on a : 3588 = 96 37 37 = 1 36 36 = 1 36 i.e. 37 d 1 mod 3588

+ 36 + 1 + 0

On a : 1 = 37 1 36 = 37 1 (3588 96 37) = 37 97 1 3588, donc 37 97 1 mod 3588 donc d = 97. On est en prsence dun cryptosystme clef publique RSA avec : la clef publique : (3713, 37) le clef prive : (3713, 97). On veut envoyer le message : CESSEZ LE FEU. On utilise le codage standard avec 28 chiffres : 00="espace" 01= A, 02 = B, 03 = C, , 26 = Z, 27 =" ,", 28 = !. Avec ce codage le message numris est : M = 0305191905260012050006052100 On dcoupe en paquets de 4 chiffres (on a rajout 00 la fin pour avoir un dernier paquet de 4 chiffres). Pour chiffrer le message on lev la puissance 37 modulo 3713 chaque paquets, cest dire : 37 0305 2496 mod 3713 37 1919 0655 mod 3713 37 0526 2076 mod 3713 37 0012 0965 mod 3713 37 0500 1589 mod 3713 37 0605 2945 mod 3713 37 2100 1882 mod 3713 Le message chiffr est : C = 2496065520760965158929451882 En utilisant la clef prive d = 97 pour retrouver le message initial : 97 2496 0305 mod 3713 97 0655 1919 mod 3713 97 2076 0526 mod 3713 97 0965 0012 mod 3713 97 1589 0500 mod 3713 97 2945 0605 mod 3713 97 1882 2100 mod 3713 On obtient donc le message M = 0305191905260012050006052100, et avec le codage standard prcdent on obtient le message : CESSEZ LE FEU.

Mohamed El Marraki

63

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

Exercice :
En utilisant le cryptosystme clef publique RSA prcdent (Exemple 1), 1. Soit le message chiffr suivant : C = 290601222703. Trouver le message initial. 2. a) Donner le chiffrement C du message M = ARITHMETIQUE. b) Dchiffrer le message C, pour retrouver le message M.

Attaque par module commun contre le RSA


Supposons quon donne le mme n tout le monde. Ils peuvent avoir des valeurs diffrentes pour e et d, mais la mme valeur de n. Malheureusement, cela ne fonctionne pas. Le dfaut le plus vident est que si le me message est chiffr avec deux clefs diffrentes (toutes les deux avec le mme module), et que ces deux clefs sont premires entre elles (ce quelles sont en gnral), alors le texte en clair peut tre retrouv sans aucune des deux clefs de dchiffrement. Soit M le message en clair. Les deux clefs de chiffrement sont e1 et e2. Le module commun est n. Les deux messages chiffrs sont : e C1 = M 1 mod n e C2 = M 2 mod n. Le crypytanalyste connat n, e1, e2, C1, C2. Voici comment il peut retrouver M. Comme e1 et e2 sont premier entre eux, lalgorithme dEuclide permet de trouver r et s tels que : r e1 + s e2 = 1. En faisant lhypothse que r est ngatif (soit r soit s doit ltre), alors lalgorithme dEuclide -1 peut tre utilis nouveau pour calculer C1 . Donc : (C1 1) C2 = M
- -r s re1 + se2

mod n = M mod n.

4.5.8 Scurit de RSA


Il a t conjectur que la scurit de RSA dpend entirement du problme de la factorisation de grands nombres. Il na jamais t prouv mathmatiquement que vous devez factoriser n pour calculer m partir de c et e. Il est aussi possible dattaquer RSA en essayant de deviner la valeur de (p-1)(q-1). Cette attaque nest pas plus facile que la factorisation de n. Factoriser n est lattaque la plus vidente. Les adversaires auront la clef publique e et le nombre n. Pour trouver la clef prive, d, ils doivent factoriser n. Il est certainement possible pour un cryptananlyste dessayer toutes les valeurs possibles de d jusqu tomber sur la bonne. Cette attaque exhaustive est encore moins efficace que dessayer de factoriser n.

4.6 Algorithme ElGamal


4.6.1 Prsentation
Le schma de El Gamal autorise le chiffrement et la signature de messages. Peu utilis en tant que systme de chiffrement, il est nanmoins lorigine de standard de signature digitale DSS Mohamed El Marraki 64 12/04/2009

La Cryptographie de la thorie la pratique

Master IT

(Digital Signature Standard). Il est bas sur le principe du chiffrement rsiduel, que lon peu exposer comme suit : Soient A et N deux nombres entiers premiers entre eux, avec N sans facteurs carrs et soit B tel que : AB 1 mod N Le cryptogramme dun message lmentaire M tel que 0MN-1 est alors : M = AM mod N, et lon retrouve M en calculant M" = BM mod N. Dans cette mthode N doit tre connu de tous, A doit tre connu de lexpditeur et B du destinataire. Le problme est quil est trs facile, si lon connat N et A (resp. B), de dterminer B (resp. A) par un simple calcul dinverse modulaire. Il est donc ncessaire que A et B soient secrets, pour que le chiffrement soit sr. Lintrt du schma de ELGamal est donc de proposer une mthode efficace permettant de rendre A (et B) secrets pour qui ne possde pas la clef de dchiffrement, en se basant sur la difficult de calcul dun logarithme discret. En effet il est actuellement impossible, dans un temps raisonnable de dterminer dans certains cas la valeur dun logarithme discret.

4.6.2 Construction des clefs de chiffrements pour ELGamal


Si on prend p premier, Ep = (Z/pZ) est un groupe cyclique p-1 lments. Si g est un gnrateur de Ep, on a : Ep = { 1, g, g2, , gp-2 } Donc si on prend un lment x de Ep ; on a : Dune part x est compris entre 0 et p-1, Dautre part il existe un entier s dans {1, 2, , p-2} tel que : s x = g mod p Supposons quon dispose dun nombre premier p, on est certain de pouvoir trouver un gnrateur g (1 g p-1), de Ep. On choisit un entier s quelconque dans {1, 2, , p-2}, et on calcule : x = g mod p Le triplet (p, g, x) forme alors la clef publique du chiffrement ELGamal, et lentier s la clef prive. Pour des raisons algorithmiques, on ajoutera lentier p la clef prive qui devient alors le couple (p, s). La fiabilit du systme est assure par le fait que toute personne ayant seulement connaissance de la clef publique ; se trouve dans lincapacit de dterminer s (car cela revient dterminer un logarithme discret).
s

4.6.3 Le chiffrement par ELGamal


Prenons comme message lmentaire, un nombre m compris entre 0 et p-1. Comme nous lavons dj dit, le schma de ELGamal est un chiffrement de type rsiduel. Mohamed El Marraki 65 12/04/2009

La Cryptographie de la thorie la pratique Le chiffrement seffectue par m = am mod p. Le dchiffrement par m" = (1/a) m mod p, avec pgcd(a, p) = 1.

Master IT

Pour chiffrer, il faut dterminer un lment a, premier avec p, qui reste secret aux yeux de tous sauf ceux du destinataire du message. Comme p est un nombre premier, tout nombre entier a, choisi dans lintervalle [1, , p-1], est premier avec p. Soit k un nombre pris au hasard entre 2 et p-2, k peut alors tre considr comme lindice par rapport g, dun lment de Ep. Soit cet lment, on a : = g mod p (logarithme discret). Posons alors
k

a = xk mod p. a est bien premier avec p, et convient donc pour le chiffrement rsiduel. On chiffre alors le message m par : m = m xk mod p. On envoie m ainsi que .
La scurit du chiffrement est assur par le fait que, connaissant et le clef publique, personne ne peut dterminer k, et donc ne peut dchiffrer en calculant : m" = m (1/xk) mod p.

Remarque : Pourquoi k est compris entre 2 et p-2?


Pa dfinition, k tant lindice dun lment de Ep par rapport au gnrateur g, il est compris entre 0 et (p)-1 = p-2 acr p est premier. Nanmoins, si k=0, alors on chiffre le message m par : m = m x0 mod p = m mod p . On a donc m = m : le message chiffr est le mme que le message original ; chiffrer ne sert donc rien. De mme, si k=1, le message chiffr est alors m = m x mod p. Cette fois, le message a subi une transformation, mais toute personne connaissant le clef publique (p, g, x) peut alors dchiffrer en calculant linverse de x modulo p, et en posant : m" = m (1/x) mod p. Le chiffrement nest alors pas efficace, car k est facilement determinable. En prenant k compris entre 2 et p-2, on sassure donc quune personne connaissant , p, g et k x, ne pourra pas dterminer x (ni son inverse).

4.6.4 Le dchiffrement par ELGamal


La connaissance de linverse de x modulo p est ncessaire pour dchiffrer le message. Montrons donc en quoi la connaissance de la clef prive permet de sen sortir.
k

Mohamed El Marraki

66

12/04/2009

La Cryptographie de la thorie la pratique


k k

Master IT

Lors du chiffrement, on avait = g mod p et m = m x mod p. Avec llvation la s ks s k sk puissance s, on obtient : = g mod p. De plus on a : x = g mod p, donc x = g mod p. On a donc xk = s mod p k s Un inverse de x modulo p sera donc un inverse de modulo p. La connaissance de s, secret, k permet donc de dterminer 1/x . On peut donc dchiffrer par

m" = m (1/s) mod p.


Comme on a choisit 0mp-1, on a bien

m" = m. 4.6.5 Rsum


Clef publique : p premier (peut tre partag par un groupe dutilisateurs). g < p (peut tre partag par un groupe dutilisateurs). s x = g mod p. Clef prive : s < p. Chiffrement : k choisi alatoirement et premier avec p-1. k = g mod p. c = xk m mod p. Dchiffrement : m = c / s mod p.

4.6.6 Exemples
Prenons le nombre premier p = 181. Un gnrateur de E181 = (Z/181Z) est 23. On prend s 7 s=7. On a alors et x = g mod p = 23 mod 181, donc x = 57. On obtient : La clef publique : (181, 23, 57). La clef prive : (181, 7). Suposons que le message chiffrer est une date de naissance : 07 12 90 Chiffrement : Comme p est de longueur 3, il nous faut prendre des blocs de longueur 2 : [ 07, 12, 90 ], qui pour lordinateur devient : [ 7, 12, 90 ]. On prend alors un nombre k au hasard compris entre 2 et p-2, par exemple k = 6, on dtermine alors k 7 = g mod p = 23 mod 181 = 152 mod p. Puis on chiffre chaque lment de ce tableau en multipliant par x mod p = 57 mod 181 : 7 57 mod 181 6 12 57 mod 181 6 90 57 mod 181
6 k 6

= 146 mod 181 = 121 mod 181 = 93 mod 181

Mohamed El Marraki

67

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

Ce qui donne : [ 146, 121, 93 ], p tant de longueur 3, on rajoute des 0, si ncessaire, afin de navoir que des lments de 3 chiffres. [ 146, 121, 093 ] On envoie alors le message : 146121093, ainsi que : 152. Dchiffrement : On reoit le message prcdent que lon dcompose en bloc de 3 chiffres (car p est longueur s 3), ce qui donne, pour l-ordinateur : [ 146, 121, 93 ]. On calcule alors linverse de mod p = s 176 mod 181, et on obtient 1/ mod p = 36 mod 181 (car 36 176 mod 181 = 1 mod 181). On applique chaque lment a du tableau la formule :

a (1/s) mod 181.


146 36 mod 181 121 36 mod 181 93 36 mod 181 = 7 mod 181 = 12 mod 181 = 90 mod 181

Et on obtient le tableau : [ 7, 12, 90 ]. Il ne reste plus qu complter chaque bloc par des 0, si ncessaire, afin davoir des lments de longueur p-1, cest dire 2. On obtient [ 07, 12, 90 ]. Ce qui correspond bien, aprs concatnation, notre message original : 07 12 90.

4.6.7 Signatures ElGamal


Pour engendrer une paire de clefs, choisissez dabord un nombre premier p et deux nombres g et s avec g < p un gnrateur de Ep et s < p un nombre alatoire. Ensuite on calcule : s x = g mod p La clef publique est Le triplet (p, g, x). La clef prive est le couple (p, s). Pour signer un message m, choissez dabord un nombre alatoire k, tel que k et p-1 soient premier entre eux. Ensuite calculez : k = g mod p et utilisez lalgorithme dEuclide tendu pour trouver la valeur de qui satisfait lquation suivante : m = (s + k) mod (p-1). La signature est la paire : et . La valeur alatoire k doit tre tenue secrte. Pour vrifier une signature, il faut confirmer que : m x mod p = g mod p. On a le rsum suivant : Clef publique : p premier (peut tre partag par un groupe dutilisateurs). g < p (peut tre partag par un groupe dutilisateurs). s x = g mod p.

Mohamed El Marraki

68

12/04/2009

La Cryptographie de la thorie la pratique Clef prive : s < p. Signature : k choisi alatoirement et premier avec p-1. k (signature) = g mod p. (signature) tel que m = s + k mod (p-1). Vrification : m La signature est valide si x mod p = g mod p.

Master IT

Il faut prendre une nouvelle valeur de k chaque chiffrement et chaque signature, et cette valeur doit tre choisie alatoirement. Si une troisime personne C rcupre une valeur de k que A a utilis, elle peut retrouver la clef prive. Si jamais C rcupre deux messages signes ou chiffrs avec la mme valeur k, elle peut retrouver x.

Exemple :
On prend p =11 et g=2 (on a dj vu que 2 est un gnrateur de E11). La clef prive est s = 8. On calcule : s 8 x = g mod p = 2 mod 11 = 3. La clef publique est : (3, 2, 11) La clef prive est : (8, 11). Pour authentifier M = 5, choisissez dabord un nombre alatoire k=9. On vrifie que pgcd(9, 10)=1. On calcule : k 9 = g mod p = 2 mod 11 = 6 et on utilise lalgorithme dEuclide tendu pour rsoudre : m = (s + k) mod 10 5= (86 + 9) mod 10. La solution est = 3 et la signature est la paire =6 et =3. Pour vrifier la signature :
6 3

x mod p = g mod p 3 6 mod 11 = 2 mod 11.


5

Mohamed El Marraki

69

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

4.7

Exercices

Exercice 1 : 1. Une personne A dsire effectuer des correspondances avec le systme cryptographique empilements ; pour cela il construit une suite de nombres super croissante : 8, 13, 25, 51, 101, 200, ensuite il prend d = 19 et n = 420 pour fabriquer une clef publique. a. Calculer linverse de d modulo n. b. Donner les clefs publiques/prives de A. 2. Une personne B dsire envoyer le message M = 101001101110100011 A. a. Donner le message C que B doit envoyer. b. Dchiffrer le message C que A reu et retrouver le message initial M. Dans les exercices 3 et 4 suivants on utilisera le codage standard de lalphabet : A = 01, B = 02, C = 03, , Z = 26. Exercice 2 : Deux personnes A et B effectuent leur correspondance par la mthode RSA avec pour : A: Clef publique : n=33 et e=3 Clef prive : p=3, q=11 et d.

B:

Clef publique : n=35 et e=5 Clef prive : p=5, q=7 et d.

On dsire effectuer une correspondance entre A et B qui assure lauthentification du message dans les deux sens (A est sr que cest B qui a reu le message et B est sr que cest A qui lui a envoy le message). 1- Calculer d et d et vrifier que les clefs publiques/prives RSA de A et B sont bien des clefs publiques/prives du schma RSA. 2- Expliquer la mthode que A doit utiliser pour envoyer un message M pour B, et celle que B doit utiliser pour recevoir ce message (indication : utiliser un schma). 3- Effectuer le chiffrement du message CLEF , et donner le code C que A doit envoyer B. 4- Effectuer le dchiffrement et retrouver le message CLEF que B doit recevoir. Exercice 3 : 1. Soit le message M = CLEF, on dsire coder le message M par la mthode ELGamal avec : Clef publique : p=47, g=23, x = ? et k=3 Clef prive : p=47 et s=5. a. Calculer x et vrifier que les clefs prcdentes sont bien des clefs publiques/prives dElGamal. b. Chiffrer le message M (donner le message cod C et ) 2. On dsire vrifier quon obtient bien le message initial en dchiffrant le message C , pour cela : Mohamed El Marraki 70 12/04/2009

La Cryptographie de la thorie la pratique a. Calculer linverse modulaire de . b. Dchiffrer le message C et retrouver le message initial M.
s

Master IT

Exercice 4 : 1- Soit le systme RSA suivant : n=119=717, p=7, q=17 et e=11. a- Trouver d (lexposant qui permet de dcrypter). b- Donner la clef publique et la clef prive de ce systme, vrifier quil sagit bien, dun systme RSA. c- Cod le message M=2 par ce systme. On obtient le message cod C. d- Dcod le message C obtenu en 1.c et retrouver le message M. 2- Soit le systme ELGamal suivant : p=31 et g=3. On prend s=7. a- Donner la clef publique et la clef prive de ce systme, vrifier quil sagit bien dun systme ELGamal. b- On prend k=6, calculer . Ensuite cod le message M=4 avec ce systme. On obtient le message cod C. s c- Calculer linverse modulaire de . Ensuite dcod le message C obtenu en 2.b et retrouv le message M.

Mohamed El Marraki

71

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

4.8 Les courbes elliptiques 4.8.1 Introduction


Les spcialistes en cryptographie font de plus en plus appel une technique qui s'appuie sur des courbes elliptiques, propose indpendamment par Victor Miller et Neal Koblitz en 1985. La thorie des courbes elliptiques en gnral est un domaine riche et a donn de nombreux rsultats, dont la preuve du dernier thorme de Fermat par Andrew Wiles. Une courbe elliptique est un objet trs simple mais qui a des proprits tout fait surprenantes. Elles ont normalement la forme suivante:

y2+a1xy+a3y = x3+a2x2+a4x+a6
Pour leur usage en cryptographie, a1, a2 et a3 doivent tre gaux 0. Comme les cryptographes ont l'habitude de renommer a4=a et a6=b, on obtient E(a,b):

y2 = x3 + ax + b 4.8.2 Dfinition
On appelle courbe elliptique E(a,b) sur R toute courbe plane d'quation y2=x3+ax+b, o le discriminant -(4a3+27b2) de x3+ax+b est non nul, afin d'viter que ce polynme ait des racines multiples. On rajoute cette courbe un point l'infini not O.

Exemple
Un exemple typique de courbe elliptique E(-5,3) (discriminant=2570) est donn sur la figure ci-dessous. Son quation est y
2

= x3 - 5x + 3.

4.8.3 Addition de deux points


L'intrt de ces courbes elliptiques est qu'on peut les munir d'une opration de groupe commutatif. Prenons A et B deux points distincts de la courbe elliptique (et diffrents du point l'infini O). On trace la droite (AB). Deux cas peuvent se produire :

Mohamed El Marraki

72

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

La droite coupe la courbe en un 3me point de coordonnes (x,y) (on dmontre qu'il y a au plus 3 points d'intersection entre une droite et la courbe). Le symtrique de ce 3me point par rapport l'axe des abscisses (x,-y) est lui aussi sur la courbe et on le dsigne par A+B pour signifier qu'il est construit l'aide de A et B. La droite ne coupe la courbe qu'en A et B. Ceci n'est possible que si (AB) est parallle l'axe des ordonnes. On dfinit alors A+B=O (point l'infini). La chose surprenante est que cette opration "+" possde toutes les proprits de l'addition des nombres. C'est--dire que l'on peut faire tous les calculs de type addition, soustraction et division avec un reste entier que nous faisons sur la droite des nombres rels sur cet objet tordu que constitue une courbe elliptique. On peut montrer que cette addition est associative, c'est dire que (A+B)+C=A+(B+C) et que, par consquent, on obtient un groupe commutatif. Rsumons les rgles: 1) -A est le symtrique de A par rapport Ox. 2) Si A -B (c'est dire qu'ils n'ont pas la mme abscisse), alors A+B=C, conformment au dessin. 3) Si A = B, l'on prend la tangente pour trouver C puis C. 4) Si A = -B, alors A + B = O (car O est l'lment neutre du groupe). 5) Si A = O, alors C = B car la droite (OA) recoupe la courbe en -B.

Rgles de l'addition
Soit la courbe elliptique cryptographique E(a,b,p) : y2 mod p = (x3 + ax + b) mod p. On reconnat l'quation dj vue ci-dessus, sauf que lon travaille modulo p. Le nombre p doit tre un nombre premier. Lors des calculs, il arrive parfois que l'on doive faire une division par 0. Quand cela arrive, le point rsultat sera appel "infini". 1. infini + infini = infini

2. (x1,y1) + infini = (x1,y1) 3. (x1,y1) + (x1,-y1) = infini 4. Si x1 x2, (x1,y1)+(x2,y2)=(x3,y3), avec x3=(k2-x1-x2)mod p, y3 = (k(x1-x3)-y1) mod p o k = (y2-y1)(x2-x1)-1 mod p 5. Si y1 0, (x1,y1) + (x1,y1) = 2(x1,y1) = (x3,y3), avec x3 = (k2-2x1) mod p et y3 = (k(x1-x3)-y1) mod p o k = (3x12+a)(2y1)-1 mod p On remarque que pour calculer k, on doit trouver l'inverse d'un nombre modulo p. Pour trouver cet inverse, on utilise lalgorithme dEuclide tendu. Il est possible, comme l'ont dmontr Miller et Koblitz, de coder avec cette opration bizarre au lieu de travailler avec l'addition usuelle. Il en rsulte une plus grande complexit des calculs qui fait dire aux spcialistes que le chiffrement par la mthode des courbes elliptiques avec une clef de 192 bits assure le mme niveau de scurit qu'une clef de 1024 bits pour la mthode RSA. Il est donc probable que cette mthode sera de plus en plus utilise pour transmettre les clefs.

Mohamed El Marraki

73

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

Exemple: comment additionner deux points dune courbe elliptique sur Z/23Z?
Considrons la courbe elliptique E(7,2,23) d'quation:

y2 = x3 + 7x + 2 mod 23
Les points A(7,7) et B(9, 14) appartiennent E(7,2,23) car : 72=3 mod 23 et 73+77+2=3 mod 23, donc Le point A(7,7) E(7,2,23) 142=12 mod 23 et 93+79+2=12 mod 23, donc Le point B(9,14) E(7,2,23). On pose C = A + B. Appliquons les formules donnes plus haut: k=(7-14)(7-9)-1=-7(-2)-1=1611=15 mod 23, car 2111=1 mod 23 (algorithme d' Euclide tendu). De plus, xC=k2xAxB=225-7-9=2 mod 23, yC=k(xA-xC)-yA=155-7= 22 mod 23, donc C(2, 22). Vrifions que ce point appartient bien E(7,2,23) : 2221 mod 23 et 23+72+2=1 mod 23, donc C E(7,2,23).

4.8.4 Multiplication d'un point par un nombre entier


On remplace la multiplication par une srie d'additions. Prenons un exemple. Soit la courbe y2 mod 11 = (x3 + x + 2) mod 11. Calculons dP, avec d=3 et P=(4, 2). On peut vrifier que le point P appartient bien la courbe elliptique. On peut remplacer 3P par P+P+P. Calculons d'abord P+P : D'aprs la rgle 5, P+P=(4, 2)+(4, 2)=(x3, y3)=2P, avec k = (342+1)(22)-1 mod 11 = 147 mod 11 = 4 x3 = (42-24) mod 11 = 8 et y3 = (4(4-8)-2) mod 11 = -7 mod 11 = 4 do 2.P = (8, 4). Calculons maintenant 3P : d'aprs la rgle 4, 2P+P=(8,4)+(4,2)=(x3,y3)=3P, avec k = (2-4)(4-8)-1 mod 11 = -28 mod 11 = 6 x3 = (62-8-4) mod 11 = 2 et y3 = (6(8-2)-4) mod 11 = 32 mod 11 = 10 do 3.P = (2, 10). Pour continuer, il faut prciser comment procder pour multiplier un point P par un entier k: une mthode vidente consisterais calculer 2P, puis 2P + P = 3P, et ainsi de suite jusqu' kP. Pour des raisons de performances dveloppes, cette mthode est inutilisable en pratique. Il est beaucoup plus rapide de doubler successivement un point : on peut aisment calculer 2nP, il suffit de doubler n fois P. On commence donc par crire k sous la forme d'une somme de puissance de 2 (dcomposition de k en binaire) : k=a20+b21+...+c2n, donc kP=a20P+b21P+...+c2nP, avec a,b,c {0,1}

Algorithme: Tout d'abord, on a : n=E[(ln k)/(ln 2)], avec E(x) la partie entire
de x. Ensuite, on calcule le reste r de la division euclidienne de k par 2n. On a donc k=2n+r. On calcule le quotient q et le reste r' de la division de r par 2n-1, et si q=1, on a : k = 2n + 2n-1 + r', et ainsi de suite jusqu' n = 0. Ensuite, on calcule distinctement a20P, b21P, ..., c2nP, et l'on ajoute les points obtenus pour trouver kP. Exercice : calculer 5A avec A(79, 69) sur E(5, 3, 211).

Mohamed El Marraki

74

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

4.8.5 change de clefs


Acha et Brahim se mettent d'accord (publiquement) sur une courbe elliptique E(a,b,p), c'est--dire qu'ils choisissent une courbe elliptique y2 mod p = (x3+ax+b) mod p. Ils se mettent aussi d'accord, publiquement, sur un point P situ sur la courbe. Secrtement, Acha choisit un entier dA, et Brahim un entier dB. Acha envoie Brahim le point dAP, et Brahim envoie Acha dBP. Chacun de leur ct, ils sont capables de calculer dA(dBP)=dB(dAP)=(dAdB)P qui est un point de la courbe, et constitue leur clef secrte commune.

4.8.6 Transmission de messages


On suppose que Acha et Brahim ont suivi le protocole d'change de cls expliqu ci-dessus. Acha veut envoyer Brahim un message: ils se sont mis d'accord sur la faon de transformer un texte en suite de points de la courbe elliptique. Acha doit donc transmettre, de faon secrte, un point M de la courbe E(a,b,K). Elle choisit (secrtement) un nombre d, et envoie Brahim le couple (dP, M+dkBP). Brahim, lui, multiplie dP par kB (sa cl secrte), puis retranche dkBP M+dkBP : il retrouve M. Si quelqu'un espionne les changes, il lui faut absolument connatre kB pour retrouver M : c'est encore une fois le problme du logarithme discret rsoudre : cest le mme type de problmes, avec des notations additives, que de retrouver n dans une quation y=xn dans Z/pZ, y et x connus. Nous avons pass sous silence une des difficults majeures : l'algorithme pour transformer un texte en points de la courbe elliptique est loin d'tre trivial; il n'est pas toujours facile de trouver un point sur la courbe elliptique.

4.8.7 Scurit
Si Chihab a espionn leurs changes, elle connat E(a,b,p), P, dAP et dBP. Pour pouvoir calculer dAdBP, il faut pouvoir calculer dA connaissant P et dAP. C'est ce que l'on appelle rsoudre le logarithme discret sur une courbe elliptique. Or, actuellement, si les nombres sont suffisamment grands, on ne connat pas de mthode efficace pour rsoudre ce problme en un temps raisonnable.

4.8.8 Inconvnients
La thorie des fonctions elliptiques est complexe, et encore relativement rcente. Il n'est pas exclu que des trappes permettent de contourner le problme du logarithme discret. La technologie de cryptographie par courbe elliptique a fait l'objet du dpt de nombreux brevets travers le monde. Cela peut rendre son utilisation trs coteuse!

Mohamed El Marraki

75

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

4.9 Factorisation d'entiers


4.9.1 Introduction
Le nombre (129 chiffres) 114 381 625 757 888 867 669 235 779 976 146 612 010 218 296 721 242 362 562 561 842 935 706 935 245 733 897 830 597 132 563 958 705 058 989 075 147 599 290 026 879 535 541 est le produit de deux nombres premiers; lesquels? Ce dfi a t lanc aux lecteurs de Pour La Science de 1977 par les concepteurs de RSA. L'article avait pour titre "A new kind of cipher that would take millions of years to break" ("Un nouveau type de chiffrement dont le dcryptage prendrait des millions d'annes"). En fait de millions d'annes, on ne mettra que seize ans raliser les progrs ncessaires la factorisation de ce nombre. Le fait que la scurit de RSA repose sur la factorisation d'entiers a normment dynamis les recherches dans ce domaine, et a permit de gros progrs. Cependant, cela reste un problme extrmement difficile, et factoriser un nombre de plus de 170 chiffres reste du domaine du rve actuellement.

4.9.2 Pour comprendre le problme, la mthode d'Eratosthne


C'est la plus ancienne mthode de factorisation, remontant -200 ans. Elle consiste diviser n par tous les nombres premiers infrieurs n. D'aprs Tchebychev, si (x) dsigne le nombre de premiers infrieurs x, on a:
(x) > x * 0,921/ln(x)

On en dduit que la mthode d'Eratostne, pour factoriser un nombre de 100 chiffres produit de deux nombres de 50 chiffres, ncessiterait plus de:
1050 * 0,921 / ln(1050) = 8.1047 oprations

A raison de mille divisions par nanoseconde sur un super ordinateur hyperparallle, quantique et extra-terrestre, il faudrait donc la bagatelle de 2.1028 annes, ce qui est bien plus que l'ge de l'univers (mme en prenant une bonne marge suite aux querelles des cosmologistes).

4.9.3 Factorisation par les courbes elliptiques Description


Le principe est que, si l'on considre une courbe elliptique E(a, b, n), certains entier ne seront pas inversibles modulo n. La somme de certains points provoquera alors une erreur. Ces "erreurs" sont particulirement intressantes, puisqu'elles permettent de donner un diviseur de n. En effet, cela veut dire que PGCD du nombre dont on a tent de prendre l'inverse et de n n'est pas gal 1, et donne donc un diviseur de n. Le but est donc de rechercher des lments non inversibles de Z/nZ. Exemple: trouver un diviseur de 35
Choisissons une courbe elliptique E(a, b, 35) en prenant par exemple a = 1 et b = - 1. Choisissons P(13, 23), et un rel k = 9 (nous expliquerons comment choisir k par la suite). Calculons 9P = 8P + P : on a 8P = (23, 17). De plus lorsque l'on veut calculer 9P, on doit trouver l'inverse de 23 - 13 = 10. Seulement, 10 n'est pas premier avec 35, donc l'inversion donne une erreur. Il n'y a plus qu calculer PGCD(10, 35) = 5 pour trouver un diviseur de 35.

Pourquoi a marche?
Nous aurons besoin de deux rsultats admis: Tout d'abord, le thorme de Lagrange, lorsque l'on additionne un lment autant de fois qu'il y a d'lments dans le groupe, on obtient

Mohamed El Marraki

76

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

l'lment neutre (en notation additive, c'est dire 0). Autrement dit, pour tout lment P d'un groupe fini G:
Card(G)P = 0

Nous pouvons facilement vrifier ce rsultat : prenons E'(1,-1,5), on a Card(E')=9 (il y a huit lments, et on ajoute O), prenons P(2,2) et calculons 9P=8P+P=(2,3)+(2,2) =O, car ces points ont la mme abscisse. Nous avons aussi besoin de la relation entre E(a,b,n) et E'(a,b,p) o p est un diviseur premier de n: on constate facilement que si (X,Y) est un point de E, alors (X mod p,Y mod p) est un point de E'. Par exemple, (27,23) E(1,-1,35) et (2,3) E'(1,-1,5). En fait, les calculs choue pour k=9 (ils aurait aussi chous pour tout multiples de k) parce que 5 est un diviseur de 35, et que Card(E'(1,-1,5)=9. Pour comprendre pourquoi, faisons le raisonnement suivant : soit P1 E(1,-1,35), si l'on pouvait calculer 9P1 dans E, c'est dire que 9P1 O, alors on pourrait calculer sa projection P2 dans E'(1,-1,5), et elle serait finie (diffrente de O), ce qui est impossible car 9P2=O, d'aprs le thorme de Lagrange. On en dduit qu'il est impossible de calculer kP pour tout P de E.

Dterminer k
Tout le problme est maintenant de dterminer k, qui doit tre un multiple de Card(E'(a,b,p)), que l'on ne connat pas. Pour cela, nous avons besoins du rsultat suivant (admis): p - p + 1 < Card(E') < p + p +1 Cest dire que Card(E') est du mme ordre que p, mais rien ne dit qu'il est premier, d'un point de vue statistique, il admet le plus souvent des facteurs petits. Donc en prenant k comme le produit de tout les nombres premiers jusqu' un nombre B qui dpend de l'ordre de grandeur estim de p, on a de grandes chances que k soit un multiple de Card(E'). Par exemple, pour chercher des facteurs au plus 6 chiffres, on choisit B = 147, et on prend p=27.34.53.72.11.13.17...139. Le plus souvent, cette mthode ne donne pas de rsultats avec la premire courbe : il faut essayer plusieurs valeurs de a et b. Plus B est grand, plus le nombre de courbes essayer est grand. Des donnes statistiques sont rpertories dans le tableau suivant:
Nombre de chiffre de p Valeur de B Nombre de courbes 6 147 10 9 682 24 12 2162 52 15 8318 111 18 23162 251 21 68502 445 23 162730 883 27 295808 1501 30 915922 2591

Performances
Cette mthode a un gros avantage par rapport aux autres: le temps de factorisation ne dpend que trs peu de la taille du nombre factoriser mais entirement de la taille du facteur premier, c'est dire que l'on pourra trouver facilement un facteur de 20 chiffres d'un nombre en comportant 1000. Par contre, le temps de calcul crot trs vite avec la taille du diviseur : on peut actuellement factoriser des nombres comportant un facteur de 30 chiffres dans un temps raisonnable. Le record tant un facteur de 47 chiffres. Cette mthode ne convient pas pour factoriser les clefs des concours RSA de plus de 120 chiffres, pour cela, on utilise une autre mthode: le crible quadratique.

Mohamed El Marraki

77

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

4.9.4 Crible quadratique et autres cribles algbriques


A) Mthode de Fermat
Le principe de base d'un grand nombre des algorithmes modernes repose sur le constat suivant: si on trouve deux entiers x et y, non gaux, non opposs, tels que x2 y2 [n], alors (x-y)(x+y) 0 [n], et PGCD(x+y,n) ou PGCD(x-y,n) donne le plus souvent un diviseur non trivial de n (admis). Le problme est maintenant de dterminer x et y. Posons X un nombre lgrement infrieur n. On a donc X2 a [n] avec a petit, et avec un peu de chance, a est un carr... et c'est fini!

Exemple: factoriser n = 3337


Sa racine vaut environ 57, on teste: 582 27 [n], ne convient pas. 592 144 122 [n], fonctionne! Il n'y a plus qu' calculer PGCD(59+12, 3337) = 71, pour trouver un diviseur de 3337, effectivement, 3337 = 71 * 49.

B) Cas plus gnral Il est vident que cette mthode doit tre amlior, en effet, il n'est pas sr du tout que l'on tombe sur un carr directement, c'est mme trs peu probable pour de grands nombres. Pour comprendre le principe, commenons par un exemple:
Exemple: factoriser n = 2117 Lon commence par choisir certains nombres X proches de n, et l'on factorise les restes de X2 par la division Euclidienne par n: X1 = 65, r1 = 2108 -9 = -32 X2 = 74, r2 = 1242 -875 = -53.7 X3 = 75, r3 = 1391 -726 = -2.3.112 X4 = 79, r4 = 2007 -110 = -2.5.11 X5 = 81, r5 = 210 = 2.3.5.7 X6 = 92, r6 = 2113 -4 = -22 X7 = 99, r7 = 1333 -784 = -24.72 On ralise le produit de certains restes, ajust pour former un carr:

X22. X32. X52 r2.r3.r5 <=> 742.752.812 (2.3.52.7.11)2 <=> 7462 9652 Il n'y a plus qu'a calculer le PGCD de 965 - 746 = 219 et de 2117 pour avoir un diviseur non trivial de n. On trouve 73, et effectivement, 2117 = 73 * 29. En fait, le point majeur de cet exemple est que pour certains nombres, le reste na que de petits facteurs premiers. Nous pouvons maintenant prsenter la mthode gnrale de construction de X et de Y. Soit m = E(n) avec E(x) la partie entire de x, et P(X) = (X + m)2 - n. On a donc: (X + m)2 P(X) [n] On choisit un entier B positif, et on tente de dterminer les entiers s tels que P(s) n'ai que des facteurs premiers petits appartenant une base de factorisation F(B): F(B) = {p premier; p B} De telles valeurs de P (s) sont appeles B-lisses. Il faut maintenant trouver autant de valeurs s que F(B) a d'lments (disons l). On a alors l lments s1, ..., sl tels que P(s1), ... , P(sl) soient B-lisses, et F(B) = {p1, ... , pl}. Pour tout i de {1, ..., l}, comme P(si) est B-lisse, les facteurs premiers de P(si) sont les lments de F(B) dont P(si) s'crit:

Mohamed El Marraki

78

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

Il faut maintenant chercher un produit de ces lments qui soient un carr, il s'crit donc ( N):

On sait dj que ce produit est congru modulo n un carr, il faut maintenant trouver les valeurs des pour que ce produit soit un carr, c'est dire que les exposants des p soient pairs (ou congrus 0 modulos 2). Il faut donc rsoudre le systme linaire suivant:

Il existe des algorithmes efficaces pour rsoudre des quations linaires sur Z/2Z. Une fois les trouvs, il n'y a plus qu' calculer X2 = P(s1)1... P(sl)l et Y2 = (s1 + m)21... (sl + m)2l pour trouver un diviseur non trivial de n en calculant PGCD(X +- Y, n). Il subsiste encore un problme: comment trouver des valeurs s de manire ce que P(s) soit B-lisse? On dfini pour a un entier C et un intervalle de criblage S de la manire suivante:
S = {-C, -C + 1, ..., 0, ..., C - 1, C}

Ensuite, pour tout s de S, on calcule la valeur P(s), puis successivement, pour chaque p de F(B), on divise P(s) par la plus grande puissance possible de p. Les nombres B-lisses sont ceux pour lesquels il reste 1 ou -1 la fin du processus. Il existe de nombreuses mthodes permettant de rendre tout ceci moins gourmand en calculs, mais elles ne seront pas dveloppes ici. Ce qui a t dit prcdemment est valable pour touts les algorithmes rapides de factorisation (sauf celui utilisant les courbes elliptiques) actuels. La seule chose qui les distinguent est la manire de cribler (dterminer les valeurs s tels que P(s) soit B-lisse: la plus simple, celle expliqu (crible quadratique), les slectionnent autour de n, les autres de manire plus complexe, ce qui les rend plus efficaces.

4.10 Perspectives futures et conclusion


Le document ci contre montre la progression des diffrents algorithmes depuis l'apparition des ordinateurs:

Mohamed El Marraki

79

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

La course aux records de factorisation commence avec l'apparition des ordinateurs. Le premier algorithme de factorisation, CFRAC(Continued Fraction), invent en 70 rgne sans partage pendant dix ans. Au dbut des annes 80 apparaissent les mthodes congruences avec QS(Quadratic Sieves, crible quadratique) suivi par un algorithme qui se rvlera plus rapide pour les grands nombres: NFS(Number Field Sieve, crible corps de nombres). Deux variantes existent pour ce dernier: SNFS(S pour Special) est spcialis dans les nombres rk + s avec s petit, ce qui permet d'atteindre de trs grands nombres, mais ne conviens pas pour les clef RSA; l'autre, GNFS(G pour General) convient pour les nombres quelconques. L'ensemble des rsultats suit grossirement la loi de Moore - le doublement tous les dix-huit mois de la puissance des ordinateurs. Source: Dossier Pour La Science n36: L'art du secret, page 63. Peut-on prvoir au bout de combien de temps une clef de taille donne sera factorisable? Effectivement, l'on connat les formules donnant la complexit des algorithmes (elles ne seront pas dtailler ici car trop complexes), c'est dire qui donnent le nombre de calculs ncessaires en fonction de la taille du nombre a factoriser. De plus, la loi empirique de Moore permet d'estimer la puissance des ordinateurs dans les annes venir. La dure (2 mois) mise dernirement pour factoriser un nombre N de 158 chiffres couple la formule permet de dire qu'il faudrait seulement le triple de temps pour factoriser un nombre N2 de taille double. Le problme est que tout ceci ne tient pas compte des moyens techniques ncessaire la factorisation de tels chiffres. En effet, les donnes auxiliaires engendres par les algorithmes demanderaient des espaces de stockage de l'ordre du traoctet, sans compter le temps de calcul consomm par leur lecture. Il est donc en principe trs difficile de faire des prdiction sur la dure de vie d'une clef RSA, tout au plus peut-on conjecturer que la clef actuellement en scurit basse (768 bits) devrait tre factorise dans les dix ans venir. Il est donc ncessaire de suivre de prs les amliorations dans le domaine de la factorisation.

Mohamed El Marraki

80

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

5.

PGP - Pretty Good Privacy

PGP est un cryptosystme (systme de chiffrement) invent par Philip Zimmermann, un analyste informaticien. Philip Zimmermann a travaill de 1984 1991 sur un programme permettant de faire fonctionner RSA sur des ordinateurs personnels (PGP). Cependant, tant donn que celui-ci utilisait RSA sans l'accord de ses auteurs, cela lui a valu des procs pendant 3 ans, il est donc vendu environ 150$ depuis 1993... Il est trs rapide et sr ce qui le rend quasiment impossible cryptanalyser.

5.1 Le principe de PGP


PGP est un cryptosystme hybride, c'est--dire qu'il combine des fonctionnalits de la cryptographie de clef publique et de la cryptographie conventionnelle. Lorsqu'un utilisateur chiffre du texte en clair avec PGP, ces donnes sont tout d'abord compresses l'aide d'une fonction de hachage, afin de rduire le temps de transmission par modem, d'conomiser l'espace disque et surtout de renforcer la scurit cryptographique. La plupart des cryptanalystes exploitent les modles trouvs dans le texte en clair pour casser le chiffrement. La fonction de hachage rduit ces modles dans le texte en clair, amliorant par consquent considrablement la rsistance la cryptanalyse. Cette mthode de chiffrement associe la facilit d'utilisation du chiffrement clef publique la vitesse du chiffrement symtrique. Les cryptosystmes conventionnels sont environ 1 000 fois plus rapides que les systmes de chiffrement clef publique. De plus, le chiffrement clef publique rsout non seulement le problme de la distribution des cls, mais galement de la transmission des donnes. Utilises conjointement, ces deux mthodes amliorent la performance et la distribution des clefs, sans pour autant compromettre la scurit.

5.2 Les tapes du chiffrement


L'opration de chiffrement se fait en deux tapes principales : PGP cre une cl secrte IDEA de manire alatoire, et chiffe les donnes avec cette cl. PGP chiffre la cl secrte IDEA prcdemment cre au moyen de la cl RSA publique du destinataire. De mme, l'opration de dchiffrement se fait elle aussi en deux tapes : PGP dchiffre la cl secrte IDEA au moyen de la cl RSA prive. PGP dchiffre les donnes avec la cl secrte IDEA prcdemment obtenue.

5.3 Les fonctionnalits de PGP


PGP offre les fonctionnalits suivantes : Signature lectronique et vrification d'intgrit de messages : fonction base sur l'emploi simultan d'une fonction de hachage (MD5) et du systme RSA. MD5 hache le message et fournit un rsultat de 128 bits qui est ensuite chiffr, grce RSA, par la clef prive de l'expditeur.

Mohamed El Marraki

81

12/04/2009

La Cryptographie de la thorie la pratique

Master IT

Chiffrement des fichiers locaux : fonction utilisant IDEA. Gnration de clefs publiques et prives : chaque utilisateur chiffre ses messages l'aide de clefs prives IDEA. Le transfert de clefs lectroniques IDEA utilise le systme RSA; PGP offre donc des mcanismes de gnration de clefs adapts ce systme. La taille des clefs RSA est propose suivant plusieurs niveaux de scurit : 512, 768, 1024 ou 1280 bits. Gestion des clefs : fonction s'assurant de distribuer la clef publique de l'utilisateur aux correspondants qui souhaiteraient lui envoyer des messages chiffrs. Certification de clefs : cette fonction permet d'ajouter un sceau numrique garantissant l'authenticit des clefs publiques. Il s'agit d'une originalit de PGP, qui base sa confiance sur une notion de proximit sociale plutt que sur celle d'autorit centrale de certification. Rvocation, dsactivation, enregistrement de clefs : fonction qui permet de produire des certificats de rvocation.

Mohamed El Marraki

82

12/04/2009