a1996-40 crypto - Cryptographie classique et cryptographie...

Info iconThis preview shows page 1. Sign up to view the full content.

View Full Document Right Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: Cryptographie classique et cryptographie publique à clé ré vé lé e Dany-Jack Mercier IUFM des Antilles et de la Guyane Université des Antilles et de la Guyane Equipe Applications de l’ è et de l’ Alg bre Arithmé tique septembre 1996 Ré sumé A l’ re des communications é lectroniques, le codage des informations è destiné à en assurer la con… dentialité est devenu une né cessité . Cet article pré cise les enjeux actuels de la cryptographie, é voque quelques systè mes classiques comme le D.E.S. puis dé crit l’ apport dé cisif de l’ arithmé tique dans deux systè mes ré cents. 1 Introduction L’ é e de coder un message dans le but de le rendre inintelligible à toute tierce id personne ne date pas d’ aujourd’ hui. Les ” messages secrets” ont joué un rô le important dans tous les con‡ its depuis que l’ homme sait é crire, et sont habituellement associé s aux guerres ou aux agents secrets... Ce qui est nouveau, c’ le besoin quasi vital de coder toute sorte d’ est information dans notre vie de tous les jours. Ainsi, les cartes bancaires sont devenues nos proches compagnes et utilisent 2 systè mes de cryptage : le systè standard me à clé secrè DES (Data Encryption Standard) et le systè RSA dont nous te me parlerons plus loin. Dans un autre domaine, les transactions qui s’ ¤ ectuaient par lettres, par té lé e phone ou par contact direct entre deux personnes se font de plus en plus par l’ intermé diaire de ré seaux de communications é lectroniques. Les micro-ordinateurs sont connecté s grâ ce aux modems et au ré seau té lé phonique, on s’ envoit des fax et l’ utilise la poste é lectronique. Les informations circulent entre les maon chines sans qu’ y ait né cessairement intervention humaine, et il est de plus en il plus facile d’ mettre un message sous une fausse signature ou de lire un message é sans que son destinataire ne le soupçonne. Ainsi la gé né ralisation de l’ emploi de moyens modernes de communication multiplie les possibilité s d’ indiscré tion et de falsi… cation. Les consé quences de telles falsi… cations peuvent ê graves. tre Ne pas proté ger un message, c’ s’ est exposer : 0 [pcry0001] v 1.00 à [ccry0001] v 1.01 APMEP 406, 1996, pp.568-581. c ° 2002, D.-J. Mercier. Vous pouvez faire une copie de ces notes pour votre usage personnel. 1 – à voir un concurrent connaître les termes exacts d’ contrat signé entre un deux partenaires, – à recevoir des messages sans ê parfaitement sû r de leur provenance tre puisque é tant correctement signé s, – à voir son compte en banque dé bité à la ré ception d’ ordre de virement un é lectronique é mis sous une fausse signature, – à ce que des documents con… dentiels tels des renseignements mé dicaux, … nanciers ou commerciaux soient intercepté s et utilisé s à mauvaises … ns, – à ce qu’ satellite obé isse à un quelconque groupe terroriste et pointe un ses missiles sur son pays... Finalement, qu’ est-ce qu’ bon systè de cryptographie ? C’ un systè un me est me qui permet de rendre un message indé chi¤ rable par toute personne à laquelle il n’ pas destiné tout en pouvant ê facilement traduit par le destinataire est tre o¢ ciel. Dans la mesure du possible, ce systè doit permettre de joindre une me signature inviolable au message pour permettre au destinataire de contrô son ler authenticité . 2 Structure gé né rale d’un cryptosystème Les ingré dients d’ cryptosystè sont : un me - une fonction de codage ( ou ” ’ d encryptage”) CK ; - une fonction de dé codage ( ou ” dé cryptage”) DK ; de - une clé K: L’ metteur dé sire envoyer un message M . Il utilise la clé K pour produire le é message codé CK (M ). Le ré cepteur doit ensuite pouvoir à l’ aide de DK et de CK (M ) reconstituer le message M . En d’ autres termes, on doit avoir DK (CK (M )) = M pour tout message M . Cette é galité entraîne l’ injectivité de CK . CK doit associer des textes distincts à des messages distincts ! La connaissance de DK et de CK ne doit ê possible que si l’ connaît tre on la clé K . Cette clé doit ê tenue secrè par l’ metteur et le ré cepteur. Un tre te é tel systè exigeant une clé unique est appelé cryptosystè me conventionnel ou me cryptosystè me à clé simple et peut se sché matiser dans la diagramme ci-dessous M ¡! EMETTEUR " K CK (M ) ¡! RECEPTEUR " K DK (CK (M ))=M ¡! ” Cryptosystè à clé simple” me Nous allons maintenant voir trois exemples de cryptosystè mes conventionnels. 2 3 Code de Cé sar (101-44 avant JC) Supposons que le message M soit formé avec l’ alphabet usuel A = fA; B; :::; Z g. Soit ¾ une permutation de A. Le codage d’ une lettre x du message M sera ¾ (x) et son dé codage se fera au moyen de ¾ ¡ 1 . Avec la permutation cyclique ¾ = (e; b; h; r; u; q; l; i; x; z; v; f; c; t; a; w; m; n; j; o; g; p; k; y; s; d) on obtient Message : Message crypté : B H O G N J J O O G U Q R U Le cycle ¾ repré sente la clé permettant le codage et le dé codage du message. Evidemment un tel codage est facile à percer, une mé thode possible consistant à calculer les fré quences d’ apparition de chaque lettre dans le message codé puis à les comparer à celles, connues, d’ texte é crit en clair. un Ce mode de cryptage est appelé code de César. Sué tone rapporte en e¤ et que les lettres de Cé sar à Cicé ron é taient codé es en remplaçant chaque lettre par celle situé e 3 places plus loin dans l’ alphabet [2][4]. 4 Code de Vigé nère (1523-1596) Dans les codes de Cé sar, on traduit chaque lettre du message en une autre lettre grâ ce à la permutation ¾ . On peut compliquer ce procé dé en traduisant cette fois-ci globalement le message M , formé d’ une succession de lettres, à l’ aide d’ une application injective de l’ ensemble des mots de longueurs quelconques dans lui-mê me. Prenons la permutation ¾ du paragraphe pré cé dent. Elle est cyclique d’ ordre 26 et l’ peut introduire les 26 permutations ¾ j ; 1 · j · 26. Servons-nous des on lettres de l’ alphabet pour noter chacune de ces permutations : A pour ¾ 1 , B pour ¾ 2 , etc Prenons le mot ACID pour clé . On a A'¾1 C'¾3 I'¾9 D'¾4 et le codage Message : Clé : Message crypté : B A H O C K N I E J D K O A G U C I R I C Ici la clé est le couple (¾ ; ACID) et les transformations sont du type ” addition modulo 26 ”dans Z=26Z. On vient de voir un exemple de code de Vigénè re, ou polyalphabétique par opposition au code monoalphabétique de Cé sar. Le code de Vigé nè largement utilisé durant des siè re, cles, est facile à percer surtout si l’ connaît la longueur du mot-clé . Dans l’ on exemple pré cé dent où le mot-clé ACID comporte 4 lettres, il su¢ t de calculer les fré quences d’ apparition des lettres du message crypté situé es aux 1è 5iè 9iè ... places puis de re, me, me, les comparer à celles des lettres d’ message en clair. [6] un 3 5 Le système D.E.S. Ce mode de cryptage a é té retenu en janvier 1977 par le U.S. National Bureau of Standards pour toutes les organisations fé dé rales en ce qui concerne la protection des donné es informatiques. A l’ heure actuelle, le Data Encryption Standard (D.E.S.) est pré sent dans chacune de nos cartes bancaire et permet leur authenti… cation à chacune de leur utilisation. Ici les mots M sont formé s de 64 bits et la clé secrè en comporte 64 dont 56 te choisis alé atoirement, les 8 restants servant de bits de contrô Cette clé permet le. de procé der à 16 sé ries d’ é rations et le dé cryptage consiste à inverser l’ op ordre de ces opé rations. Il s’ agit d’ algorithme de ” un codage par blocs” On applique d’ . abord une permutation p sur le bloc M , puis on divise le bloc en 2 parties : la moitié gauche G0 et la moitié droite D0 . Une sé rie d’ é rations consiste à passer du bloc op (Gi¡ 1 ; Di¡ 1 ) au suivant (Gi ; Di ) en faisant Gi = Di¡ 1 Di = Gi¡ 1 © f (Di¡ 1 ; Ki ) pour 1 · i · 16. Ki est une sous-clé de 48 bits obtenue à partir de la clé K . f (Di¡ 1 ; Ki ) est obtenu ainsi : Di¡ 1 contient 32 bits. On lui fait subir une expansion (ajout 0 de bits à certaines positions) pour obtenir un mot Di¡ 1 de 48 bits. On forme 0 Di¡ 1 + Ki puis on ré duit le mot de 48 bits obtenu via des tables pour obtenir un mot de 32 bits. On permute en… n une derniè fois pour arriver à f (Di¡ 1 ; Ki ). re A la … n des 16 sé ries d’ é rations, on applique la permutation p¡ 1 pour obop tenir le message crypté . Le tableau en annexe permet de se faire une idé e de l’ algorithme de cryptage, et plus de renseignements sur le D.E.S. pourront ê tre obtenus en [11], en [4] et dans l’ article [10]. 6 La cryptographie àclé ré vé lé e Un cryptosystè conventionnel montre vite ses limites s’ s’ me il adresse à un public trè large. La di¢ culté ré side dé jà à dé terminer su¢ samment de clé s et s à les distribuer con… dentiellement à tous les couples é metteur-ré cepteurs. De plus une socié té dé sirant communiquer avec un millier de correspondants potentiels devra conserver secrè une liste de mille clé s correspondant à chacun te de ses interlocuteurs possible, mais sera dans l’ obligation d’ autoriser plusieurs personnes ” û res”à accé der à cette liste, multipliant dangereusement les risques s d’ indiscré tion. Pour … nir, les besoins en clé s croissent trop vite : des communications crypté es entre n abonné s né cessiteront n2 clé s distinctes Kij correspondant à chaque couple (Ei ; Rj ) formé s d’ é metteur Ei et d’ ré cepteur Rj avec i; j 2 un un f1; :::; ng. C’ pour pallier ces inconvé nients que Di¢ e et Hellman ont introduit les crypest tosystè mes à clés révélées en 1976 ([3], [5]). Le principe en est simple : puisqu’ il s’ agit de limiter le nombre de clé s tenues secrè il su¢ ra d’ tes, attribuer une clé 4 secrè K au ré cepteur puis de constuire, à l’ te aide d’ une fonction judicieuse T , une clé T (K ) qui sera connue de tous les é metteurs. Evidemment, la fonction T devra ê su¢ samment compliqué e pour que l’ tre on ne puisse pas retrouver la clé K de dé codage à partir de T (K ), en un temps raisonnable et malgré l’ utilisation des plus puissants ordinateurs. Un tel systè à clé s ré vé lé es possè au moins deux avantages : me de – le nombre de clé s né cessaires aux communications entre n abonné s devient n au lieu des n2 pré cé dentes, et sont distribué es seulement aux ré cepteurs. Elles continueront à ê gardé es secrè Ce sont les clé s de dé codage. tre tes. – les clé s de codage T (K ), par contre, pourront ê connues du public. Le tre progrè est é norme : ces clé s pourront ê regroupé es dans des annuaires s tre semblables à nos bottins té lé phoniques et accessibles à tous par minitel. Supposons que nous ayons n ré cepteurs potentiels R1 ; R2 ; :::; Rn auxquels ont é té attribué es n clé s K1 ; K2 ; :::; Kn de dé codage, secrè Un é metteur E dé sire tes. envoyer un message M à Rj . Il consulte un annuaire public donnant toutes les clé s de codage T (K1 ); T (K2 ); :::; T (Kn ) des abonné s et obtient la clé T (Kj ) de Rj . Il envoie le message codé CT (Kj ) (M ) et le destinataire le dé codera en calculant DKj CT (Kj ) (M ). On devra é videmment avoir DK CT (K ) (M ) = M pour toute clé K et pour tout message M . Mais il y a mieux. Nous avons vu que, deux pré cautions valant mieux qu’ une, il est recommandé de signer son message de sorte que le destinataire Rj puisse avoir la preuve irré futable que ce message provient bien de Ei . Cette pré caution est inutile lorsqu’ utilise une clé simple conservé e secrè à la fois par on te l’ metteur et le ré cepteur, mais devient importante à partir du moment où n’ é importe quelle personne peut accé der à la clé de codage. Supposons doré navant que l’ metteur E soit un des abonné s Ri pour i convenable. E = Ri possè é de sa propre clé de dé codage Ki dont il va se servir en formant le message codé suivant M = CT (Kj ) (DKi (M )) qu’ envoie à Rj . Ce dernier connaît sa clé secrè de dé codage Kj et peut lire il te la clé T (Ki ) de codage pour tout envoi de donné e vers Ri sur l’ annuaire. Il forme alors CT (Ki ) (DKj (M )) et obtient le message originel M et la certitude qu’ provient bien de Ri . il Ré sumons-nous par deux sché mas : M ¡! EMETTEUR " T (K ) publique CT (K ) (M ) ¡! RECEPTEUR " K secrè te DK (CT (K ) (M ))=M ” Communication à clé ré vé lé e sans signature” 5 ¡! M M =C ¡! EMETTEUR Ri " T (Kj ) publique Ki secrè te ( ) (DKi (M )) ¡! T Kj RECEPTEUR Rj " T (Ki ) publique Kj secrè te ³ ´ CT (K ) DKj (M ) =M i ¡! ” Communication à clé ré vé lé e avec signature” Une telle fonction T qui à une clé K associe une clé T (K ), qui rend impossible le calcul de K à partir de T (K ) malgré l’ utilisation des ordinateurs les plus performants ( et pour un temps de calcul raisonnable ), et qui vé ri… e DK (CT (K ) (M )) = M et CT (K ) (DK (M )) = M pour tout M , sera appelé e fonction trappe ou fonction à sens unique. Les paragraphes suivants donnent deux exemples de fonction trappe arithmé tique parmi les plus usité es. 7 7.1 Le système RSA (Rivest, Shamir & Adleman, 1978) La fonction indicatrice d’Euler Ayant à é crire un message, la premiè question est de savoir quel alphabet re employer. On peut é videmment utiliser l’ alphabet usuel ou bien tout ensemble … ni de symboles. Le problè ré side alors dans la façon de dé … nir les fonctions me T; C et D. L’ é e bien naturelle est de s’ ¤ rir un alphabet muni: d’o structure id o une n: : algé brique, par exemple l’ anneau quotient Z=nZ = 0; 1; :::; n ¡ 1 formé s des restes des divisions euclidiennes des entiers par n. La fonction arithmé tique ' qui à tout entier naturel non nul n associe le nombre d’ entiers naturels premiers avec n et strictement infé rieurs à n, est appelé e fonction indicatrice d’ Euler. On sait que '(n) est aussi le cardinal du sousgroupe multiplicatif U des é lé ments inversibles de l’ anneau Z=nZ. D’ autre part le thé orè de Lagrange é nonce que si G est un groupe multiplime catif … ni de cardinal s et d’ lé ment neutre e, alors tout é lé ment x de G vé ri… e é xs = e. Appliqué au groupe U , ce thé orè montre que me : : '(n) 8 x2 U x : =1 soit x'(n) ´ 1 (n) pour tout entier x premier avec n. Nous aurons aussi besoin de savoir que si p et q sont premiers entre eux, alors '(pq ) = (p ¡ 1)(q ¡ 1): (On pourra se ré fé rer à [9] ou [6] pour ce qui concerne la fonction indicatrice d’ Euler) 6 7.2 Principe du système RSA Donnons-nous 2 entiers premiers p et q , et formons n = pq . Fixons un entier m premier avec '(n) = (p ¡ 1)(q ¡ 1). Le Thé orè de Bezout montre l’ me existence de 2 entiers u et v vé ri… ant um + v'(n) = 1. Donnons-nous un message M formé n o :: : d’ une succession de lettres de l’ alphabet U inclus dans Z=nZ = 0; 1; :::; n ¡ 1 . Notons x une telle lettre. On peut imaginer x comme un entier premier avec n, ie non multiple de p ou q . De xum+v'(n) ´ x et x'(n) ´ 1 (n) on dé duit xum ´ x (n). Il su¢ t de poser C (x) ´ xu (n) D(y ) ´ y m (n) pour que, x é tant quelconque dans f1; :::; n ¡ 1g et premier avec n, l’ ait on D(C (x)) ´ D(xu ) ´ xum ´ x (n) Les fonctions D et C seront nos fonctions de dé codage et de codage. Ce procé dé appelle plusieurs remarques : 1) Pour crypter, on a besoin de C , soit de u et de n, qui seront donc du domaine public et accessibles en consultant un annuaire. 2) Pour dé crypter, il faut connaître m et n. 3) Avec les notations du §6, T (K ) = (u; n) = clé publique de codage, K = (m; n) = clé secrè de dé codage, te T est la fonction trappe. Si n = pq est connu de tout le monde, p et q seront conservé s secrets car leur connaissance entraine celle de '(n) = (p ¡ 1)(q ¡ 1) et celle de m en ré solvant Bezout : um + v'(n) = 1, u é tant donné dans l’ annuaire. Pour rendre le calcul de p et q impossible en un temps raisonnable et en utilisant un ordinateur puissant, il faut que n soit trè grand. s Pour donner un ordre de grandeur de n, disons qu’ 1982 un ordinateur aurait en é té dans l’ obligation de fonctionner pendant un million de milliards d’ é es ann pour obtenir les deux seuls facteurs p et q d’ nombre n à 126 chi¤ res (cf [3]). un Il y a de quoi dé courager les plus tenaces ! Ré ‡ é chissons maintenant au dernier obstacle important : est-il facile d’ obtenir en un temps raisonnable de tels produits de deux nombres premiers d’ environ 63 chi¤ res chacun ? Là , nous avons beaucoup de chance et c’ ce qui rend la est construction RSA si pertinente. Il est en e¤ et beaucoup plus facile, pour un ordinateur, de dé terminer si un nombre est premier que de donner sa dé composition en facteurs premiers. Ainsi, en 1983, le temps moyen né cessaire à un gros ordinateur pour tester la primalité d’ entier dans les cas les plus dé favorables un est donné dans le tableau ci-dessous dû à Pomerance ([8], voir aussi [3] ou [7]). nombre de chi¤ res : 20 50 100 200 1000 temps de calcul : 10 sec 15 sec 40 sec 10 min 1 semaine 7 Ré sumons : on peut ” facilement”obtenir deux nombres premiers p et q de 63 chi¤ res. On e¤ ectue leur produit, en une fraction de seconde sur ordinateur, pour obtenir notre nombre n = pq dont on ne pourra plus retrouver la dé composition. L’ algorithme d’ Euclide permet alors le calcul ” rapide”de u une fois m choisi. L’ application T : (m; n) ¡ ! (u; n) mé rite bien son nom de fonction trappe puisque la connaissance de la clé publique de codage (u; n) ne rend pas possible celle de la clé secrè de dé codage (m; n). Le problè de cryptage à clé ré vé lé e te me est ré solu avec l’ aide de la fonction ' . 7.3 Exemple numé rique Prenons p = 13 et q = 23. On aura n = pq = 299 et '(n) = 12 £22 = 264. Une lettre du message sera un é lé ment x de f0; 1; :::; 298g premier avec 299, et l’ on peut choisir m = 17 qui est bien premier avec '(n). On ré sout l’ quation 17u + 264v = 1 par la technique des divisions euclidiennes é successives : 264 = 17 £15 + 9 17 = 9 £1 + 8 9 = 8 £1 + 1 qui permettent d’ obtenir, en remontant les calculs 1 = 9 ¡ 8 = 9 ¡ (17 ¡ 9) = 2 £9 ¡ 17 1 = 2(264 ¡ 17 £15) ¡ 17 = 17 £(¡ 31) + 264 £2: (u; v) = (¡ 31; 2) est une solution de 17u + 264v = 1. Les fonctions C et D seront ici C (x) = xu = x¡ 31 = x233 car x264 = 1; D(y) = y m = y 17 : Le calcul de C (x) = x233 est inquié tant, mais il ne faut pas oublier que l’ on travaille ” modulo 299” ce qui permet une simpli… cation à chaque pas de calcul. , Prenons par exemple x = 200. x2 = 40000 ´ 233 (299) x3 = x2 :x ´ 233 £200 ´ 255 (299) x4 = x3 :x = 255 £200 ´ 170 (299) etc Un petit programme permet le calcul de C (x) et D(y ). On trouve C (200) ´ 187 et D(187) ´ 18717 ´ 200 pour le dé codage. Passons maintenant à une autre solution mettant en jeu une fonction trappe... 8 8.1 La mé thode des empilements Problème de la pile Donnons-nous n boîtes de hauteurs respectives a1 ; :::; an distinctes deux à deux. Choisissons-en certaines que nous empilons et mesurons la hauteur h de la pile 8 ainsi obtenue. ” é soudre le problè d’ R me empilement pour ces n boîtes”signi… e retrouver les boîtes que nous avons utilisé es pour constituer la pile à partir des seules connaissances de la hauteur h et des hauteurs a1 ; :::; an des boîtes susceptibles d’ tre utilisé es.En d’ ê autres termes, il s’ agit de ré soudre l’ quation é a1 x1 + ::: + an xn = h où les inconnues x1 ; :::; xn ne peuvent prendre que les valeurs 0 ou 1. Un tel problè est di¢ cile à ré soudre dè que n devient su¢ samment grand me s car l’ ne connaît pas de mé thode plus rapide que celle consistant à e¤ ectuer on les 2n essais correspondant aux 2n valeurs possibles de la n-liste (x1 ; :::; xn ). Le problè de la pile posé avec a1 ; :::; an est un problè de taille n qui exige me me n de tests e¤ ectuer. Comme un temps de ré solution proportionnel au nombre 2 2n croît plus vite que toute fonction polynô miale de n, on dira que le problè me de la pile est un problè me de classe NP, i.e. non ré soluble en temps polynô mial. En d’ autres termes, il n’ existe pas de mé thode connue permettant de ré soudre ce problè de taille n en un temps qui soit une fonction polynô me miale de n. La ré solution du problè de la pile est di¢ cile en un temps raisonnable et mê me me si l’ dispose d’ ordinateur extrê on un mement puissant. 8.2 Un cas particulier salvateur Supposons que les hauteurs des n boîtes soient b1 ; :::; bn et vé ri… ent cette fois-ci : 8k 2 f2; :::; ng b1 + b2 + ::: + bk¡ 1 < bk (¤ ) Si h dé signe la hauteur d’ une pile formé e par certaines de ces boîtes, et si h ¸ bn , alors xn = 1. En e¤ et xn = 0 entraînerait h · b1 + ::: + bn¡ 1 < bn , ce qui est absurde. Par contre si h < bn alors xn = 0. On recommence avec bn¡ 1 et ainsi de suite. On obtient l’ algorithme suivant : xk :=1 ¡ ! h :=h-bk oui k :=n ¡! h¸ k b " j ___ % ¡! xk =0 non & ¡! ____ ___________________ ___ non 9 k :=k-1 # k<0 #oui FIN Pile dans le cas g énéral Cas particulier Cet algorithme est pré cieux car utilise seulement n tests successifs au lieu des 2n essais de la mé thode gé né rale. Le problè de la pile muni de cette nouvelle me hypothè sur les bi devient ré soluble en temps polynô se mial. 8.3 Le cryptage Par quel arti… ce peut-on passer du problè facile vu en 8.2 à celui non ré me soluble en temps polynô mial é voqué en 8.1 ? Et bien c’ l’ est arithmé tique des congruences qui fera le travail : partant de b = (b1 ; :::; bn ) satisfaisant la condition (¤ du 8.2, on … xe 2 entiers naturels m et w premiers entre eux et l’ ) on calcule ai ´ bi :w (m) pour tout i. : Cela rend la recherche des bi à partir des seuls ai impossible. Si x dé signe la : classe de x 2 Z dans l’ anneau Z=mZ, on sait que x est inversible ssi x est : w sera donc inversible dans Z=mZ et il existera un entier w¡ 1 premier avec m. : : ¡1 : tel que w : w =1, i.e. w:w¡ 1 ´ 1 (m), de sorte que l’ ait on ai :w¡ 1 ´ bi (m) pour tout i. Supposons que l’ metteur veuille envoyer le message x = (x1 ; :::; xn ) où xi = 0 é ou 1. Il utilise sa clé de codage a = (a1 ; :::; an ) pour former le nombre C (x) = a1 x1 + ::: + an xn = h qu’ transmet au ré cepteur. Ce dernier applique la clé de il dé cryptage (w; m; b) et forme h:w¡ 1 ´ a1 w¡ 1 x1 + ::: + an w¡ 1 xn (m) h:w¡ 1 ´ b1 x1 + ::: + bn xn (m) : 10 Quitte à prendre des repré sentants modulo m de h:w¡ 1 situé s dans l’ intervalle [0; m[ et à supposer que 0 · b1 + ::: + bn < m, on aboutit à h:w¡ 1 = b1 x1 + ::: + bn xn soit au problè de la pile ré soluble selon la mé thode du 8.2. On possè bien me de un systè de cryptographie publique à clé s ré vé lé es puisque se ré sumant à la me donné e : – d’ une clé secrè de dé codage K = (w; m; b), te – d’ une clé publique T (K ) = a pour le codage, – d’ une fonction trappe T fournissant la clé publique T (K ) à partir de la clé secrè K . Il s’ te agit de T (w; m; b) = wb. 8.4 Exemple numé rique b = (b1 ; :::; b12 ) = (1; 3; 5; 10; 23; 45; 88; 180; 357; 715; 1430; 2865) Choisissons un entier m > b1 + ::: + b12 = 5722, par exemple m = 5849 qui est premier. Prenons w = 3903. L’ algorithme d’ Euclide permet de trouver u et v tels que 3903u + 5849v = 1 et d’ dé duire l’ en inverse de w modulo 5849, on trouve w¡ 1 = 532. Calculons a = bw que l’ ré duit modulo m : on a = bw = (3903; 11; 1968; 3936; 2034; 165; 4222; 660; 1309; 672; 1344; 4656) Supposons que 100101110100 soit le message à envoyer. On calcule le message crypté h = 3903 + 3936 + 165 + 4222 + 660 + 672 = 13558 ´ 1860 (5849) que l’ envoie sur un canal non proté gé . Le dé cryptage consiste à ré soudre on l’ quation é hw¡ 1 = b1 x1 + ::: + b12 x12 Calculons hw¡ 1 = 1860 £ 532 = 989520 ´ 1039 (5849). On applique l’ algorithme de la pile simple : 1039 < 1430 donc x11 = x12 = 0; 1039 > 715 donc x10 = 1 et b1 x1 + ::: + b9 x9 = 1039 ¡ 715 = 324; 324 < 357 donc x9 = 0; 324 > 180 donc x8 = 1 et b1 x1 + ::: + b7 x7 = 324 ¡ 180 = 144; 144 > 88 donc x7 = 1 et b1 x1 + ::: + b6 x6 = 144 ¡ 88 = 56; 56 > 45 donc x6 = 1 et b1 x1 + ::: + b5 x5 = 56 ¡ 45 = 11; 11 < 23 donc x5 = 0; 11 > 10 donc x4 = 1 et b1 x1 + ::: + b3 x3 = 11 ¡ 1 = 10; et cela entraîne x1 = 1 et x2 = x3 = 0. 11 Ré fé rences [1] Adleman L.M., Rivest R.L. and Shamir A., ” A method for obtaining digital signatures and public-key cryptosystems ” Communications of the , ACM, vol.21, 1978, pp120-126. [2] Bauer Friedrich L. : ” Cryptology, methods and maxims” article dans [4]. , [3] Bouvier Alain : ” Cryptographie publique” pp77-83 de ” Didactique des , Mathé matiques, le dire et le faire ” Cedic-Nathan, 1986. , [4] Cryptography, Proceedings, Burg Feuerstein 1982, Lecture Notes in Computer Science 149, Springer-Verlag, 1983. [5] Hellman Martin : ” mathé matiques de la cryptographie à clé ré vé lé e” Les , revue ” Pour la Science”numé ro 24 d’ octobre1979, pp114-123. [6] Koblitz Neal, ”A course in number theory and cryptography ” Graduate , Texts in Mathematics, 114, Springer-Verlag, seconde é dition, 1988. [7] Leglu Dominique : ” chasse aux nombres premiers” Sciences et Avenir La , no 422, pp70-76. [8] Pomerance C. : ” Recent Developments in primality testing” The Mathe, o 3, pp47-105, 1981. matical Intelligencer, vol 3, n [9] Querré : ” Cours d’ è ” Masson, 1976. L’ alg bre , indicateur d’ Euler est traité à l’ exemple 8 p61. [10] Ryska, N. et Herda S. : Kryptographische Verfahren in der Datenverarbeitung, Infomatik-Fachberichte 24, Springer-Verlag 1980. [11] Tarnowski Daniel : ” Cartes à puces : le secret du code inviolable” Science , & Vie 917 de fé vrier 94, pp87-93. 12 ANNEXE : Les 16 opé rations successives du D.E.S. (64 bits) MESSAGE EN CLAIR p permutation D0 G0 + f(D ,K1) 0 D1 G1 + K 1 CLE PARTIELLE (48 BITS) f(D ,K2) 1 K 2 CLE PARTIELLE (48 BITS) D2 G2 etc G 16 D 16 p-1 permutation inverse de p MESSAGE CRYPTE 13 ...
View Full Document

This note was uploaded on 10/18/2010 for the course MATH CS 301 taught by Professor Aliulger during the Fall '10 term at Koç University.

Ask a homework question - tutors are online