CRYPTOGRAPHIE. Un système de cryptographie est une technique permettant de protéger une communication au moyen d'un code secret.

Dimension: px
Commencer à balayer dès la page:

Download "CRYPTOGRAPHIE. Un système de cryptographie est une technique permettant de protéger une communication au moyen d'un code secret."

Transcription

1 CRYPTOGRAPHIE Un système e cryptographie est une technique permettant e protéger une communication au moyen 'un coe secret. Il existe eux grans types e cryptographie : - La cryptographie symétrique à clé secrète : la même clé est utilisée pour chiffrer et pour échiffrer l'information. Une ifficulté essentielle est e pouvoir transmettre e façon sécurisée la clé à son corresponant et e la conserver secrète. L'interception e cette clé par un tiers permet en effet e écoer les messages privés et permet aussi 'envoyer e faux messages. Le système utilisé ans l'antiquité par César en est un exemple très simple : les lettres étaient toutes toujours écalées e la même façon, la simple observation e la fréquence 'apparition es lettres permet assez facilement e retrouver le principe qui a servi à chiffrer le message. - La cryptographie issymétrique à clé publique : eux clés ifférentes servent à chiffrer et à échiffrer. L'utilisateur possèe eux clés : une clé publique et une clé privée. La clé publique est publiée (ans un annuaire, elle sert à chiffrer les messages estinés à l'utilisateur, mais l'utilisateur gare secrète sa clé privée qui lui sert à échiffrer les messages qui lui sont envoyés. Ainsi tout le mone peut écrire es messages à l'aie e la clé publique, tout le mone peut les lire (sans les comprenre mais l'utilisateur est le seul à pouvoir les échiffrer à l'aie e sa clé privée. Le système RSA en est un exemple. Il existe 'autres systèmes qui mélangent les techniques à clé symétriques et les techniques à clé publique. Un es plus récent est le système Cayley-Purser pour lequel un prix international a récompensé en 1999 Sarah Flannegan, jeune irlanaise e seize ans. Des très grans chercheurs associés à la naissance e l'informatique étaient aussi es spécialistes e la cryptographie : Charles Babbage (1894, Alan Turing : il a été un es membres les plus importants u groupe e personnes réunies penant la euxième guerre moniale pour comprenre le fonctionnement e la machine Enigma construite par l'armée allemane pour chiffrer ses messages et ont un exemplaire a été envoyé en Angleterre par es résistants ; échiffrer le courrier e l'armée ennemie et lui envoyer es faux messages a joué un rôle important ans le éroulement u conflit. Mais abor un peu e calcul 1. Arithmétique moulaire Si on pren une ivision ans les entiers, comme 23, on obtient un quotient écimal, soit ici 13,31 ont la partie 19 entière est 13. Avec Excel, pour obtenir 13 on tape «=ENT(23/19» et on a 13. Maintenant quan on enlève 13 fois le iviseur 19, on récupère le reste : «=23 19*ENT(23/19», soit 6. Ce résultat peut être obtenu avec la fonction moulo : «=MOD(23 ;19» reonne bien 6. On it que 6 est le reste e 23 moulo Réaliser les opérations précéentes avec Excel en utilisant la isposition suivante : on peut abor compléter ce tableau avec les fonctions Excel. A B C D E 1 Diviene Diviseur Quotient entier Reste Moulo =. =. = =. =. =. 4 Comme éviemment le reste (parfois appelé résiu est inférieur au iviseur (également appelé moule, ce reste peut prenre toutes les valeurs comprises entre 0 et 1 pour n importe quel iviene D. On note F l ensemble es restes moulo, par exemple F = { 0,1, 2,3, 4}. 2. En consiérant tous les restes moulo 7 puis moulo 12 et moulo 17, compléter le tableau u fichier restes1.xls. Cryptographie 1

2 L iée e l arithmétique moulaire est que l on peut calculer avec les restes comme avec les nombres habituels mais avec quelques petites subtilités. Par exemple si on effectue es aitions moulo, on a la table aition suivante : ( = ( = 0 (6 = ( = 0 (6 = 1 (7 = ( = 0 (6 = 1 (7 = 2 (8 = 3 Par exemple = 7 mais le reste moulo e 7 est 2, onc ans la table on a 2. Le même tableau peut se faire pour la multiplication : (6 = 1 (8 = (6 = 1 (9 = 4 (12 = (8 = 3 (12 = 2 (16 = 1 3. Refaire es tableaux similaires pour les moules 7, 12 et 17 en complétant le fichier restes2. On expliquera au préalable la formule e la cellule C4 (pour quelles raisons les $ sont-ils placés e cette manière. Un es aspects fonamentaux e ces questions est que l on peut résoure es équations ans l ensemble es nombres rationnels ou réels. Par exemple on veut résoure l équation 3x+ 4= 0 ans F : F comme ans 3x+ 4= 0 : il faut se ébarasser u 4, je regare ans la table aition et je vois qu en ajoutant 1 es eux côtés j obtiens 3x+ 4+ 1= 1 3x+ = 1 3x= 1 puisqu on calcule moulo. Maintenant il faut que je ivise par 3, ou encore que je multiplie par quelque chose es eux côtés e manière à isoler x. Je regare ans la table e multiplication et je vois qu en multipliant es eux côtés par 2 je fais apparaître 6, soit 1 moulo à gauche : 3x= 1 2 3x= 2 1 6x= 2 x= 2. La solution est onc 2, ce que l on peut vérifier : = 6+ 4= 10= 0 (moulo toujours! 4. Résoure ans F les équations suivantes : 4x+ 2= 0, 2x+ 1= 0, 24x+ 37= 119, 2 x + 1= 0.. Ces résolutions équations sont possibles car chaque nombre a un opposé et un inverse ans F : en regarant ans les tables on a imméiatement Reste Opposé Inverse 0 0 (0+0=0 1 4 (1+4=0 1 (1.1=1 2 3 (2+3=0 3 (2.3=6=1 3 2 (3+2=0 2 (3.2=6=1 4 1 (1+4=0 4 (4.4=16=1 Compléter les colonnes opposé et inverse u fichier restes2.xls en vous servant es réponses u 3. Quel semble être le problème ans F 12? 6. Résoure ans F 7, ans F 12 et ans F 17 les équations suivantes : 6x+ 9= 0, 8x+ 7= 0, 24x+ 37= 119, 2 x + 1= 0. Le problème ans le cas u moule 12 est lié à ce que 12 n est pas un nombre premier : on émontre que si le moule est un nombre premier p, alors tous les éléments e F p ont un inverse comme on le voit pour 7 et 17. Cryptographie 2

3 2. Une première approche La méthoe employée par César telle que rapportée ans la Guerre es Gaules est la suivante : Chaque lettre u message est remplacée par sa suivante ans l alphabet. evient alors AH J AIME TANT LES MATHEMATIQUES BI K BJNF UBOU MFT NBUIFNBUJRVFT qui semble bien protéger notre message alors que ce n est pas u tout le cas : on peut assez facilement retrouver le texte original à partir e la fréquence es lettres ans la langue e épart (le français ici où le E et le A ont es fréquences importantes. La parae est alors e faire un écalage variable : on choisit une «clef» comme le mot FRED et on coe en écalage pour chaque lettre : A H J A I M E T A N T L E S Texte à coer Coage ASCII F R E D F R E D F R E D F R Clef répétée Coage ASCII e la clef Somme es coages moulo 26 F Y N D N D I W F E X O J J Décoage ASCII AH J AIME TANT LES MATHEMATIQUES evient alors FY N DNDI WFEX OJJ QDYYIPFKMTZVW, éviemment bien moins facile à écrypter! Ceci it on peut utiliser le coage affine pour une première approche : on utilise ans un exemple la table e multiplication e F 7 pour simplifier. On onne une valeur aux lettres, on passe à l inverse pour le moule chois (7 ici puis on recoe en lettre. Par exemple [ ] [ ] A 1= A inverse au coage : ; le écoage est alors évient. On peut éviemment mixer avec la méthoe B 2= D [ ] [ ] inverse e César ou un système à clé pour compliquer. 7. a. Quels sont les inconvénients u moule 7? Quel moule a-t-on intérêt à choisir au minimum? b. Coer grâce à cette méthoe et au moule 29 la phrase suivante : AH J AIME TANT LES MATHEMATIQUES c. Décoer, toujours avec le moule 29, la phrase suivante : Q AIBRU PBRCBRUZ Du point e vue cryptographique le système proposé n est pas très fiable car on sait très bien et très facilement ax b p. N importe quel orinateur pourra écrypter votre message en moins e eux résoure l équation [ ] Dommage Ceci it si on repren la question e la clef, c est quan même le moyen le plus sûr e coer un message : on montre qu en prenant une clef aléatoire e longueur égale au message et à conition e l utiliser une seule fois, le message est inécryptable. Seulement il faut transmettre la clef à votre corresponant et c est ici que les ennuis commencent! 3. Le logarithme iscret La multiplication moulaire onne éviemment accès à la notion e puissance moulaire : reprenons le moule 7 et regarons ce que onnent les iverses puissances es restes : reste exposant E E+06 1E E+06 1E+07 6E+07 Cryptographie 3

4 reste exposant Dans le premier tableau le calcul est fait e manière brutale, on voit que les résultats eviennent énormes très vite et qu ils vont épasser rapiement les capacités e calcul e la machine. Dans le euxième tableau les opérations sont faites en arithmétique moulaire et les résultats sont vraiment plus simples. 1. a. Refaire ces eux tableaux avec le tableur e sorte que les calculs soient réalisables même pour e grans moules et e grans exposants. b. Regarer attentivement le euxième tableau et émettre quelques conjectures. c. Reprenre ce euxième tableau en changeant e moule : on prenra es moules premiers et es moules non premiers. Vos conjectures restent-elles valables ans chaque cas? 2. Calculer 32, 21 6, moulo 7 puis moulo 17. On va s intéresser au moule 29 e nouveau. 3. a. Refaire un tableau semblable pour 29. b. Que pouvez-vous ire e la colonne où se trouve l exposant 28? Pensez-vous qu il s agit une propriété générale? c. Vu ce qu on vient e écouvrir en 2.b., il est inutile e consiérer les exposants supérieurs à 28. Pourquoi?. Regarez maintenant les lignes corresponant aux restes 2, 3, 4, 7, 17 et 28. Pouvez vous constater quelque chose? On a ans ces tableaux e nombreux théorèmes arithmétique très importants. Le premier, appelé «petit» théorème e Fermat it que si a et p sont premiers entre eux (a et p n ont pas e p 1 iviseurs communs, alors a 1[ p] : c est ce que vous pouvez observer ans la colonne 6 u tableau ci-essus. Souvent on pren pour p un nombre premier et pour a un nombre inférieur à p ; on est alors sûr que les conitions sont remplies. Eviemment ans le tableau, lorsque l exposant épasse 6 on retrouve les mêmes résultats, il est onc inutile e calculer le tableau exposants au-elà e 6, ou e p 1 ans le cas général un moule p. Voir le fichier exposants1.xls Une euxième constatation est que suivant les lignes, onc suivant les restes consiérés, les résultats coïncient avec tous les restes possibles ou pas : ans la ligne 2 les résultats sont 2, 4 et 1 alors que ans la ligne 3 les résultats sont 3, 2, 6, 4,, 1, soit tous les éléments e F 7 (sauf 0 mais ans le ésorre. Un nombre tel que 3, pour lequel tous les restes sont atteints, est appelé élément générateur ou racine primitive u moule 7. Pour 7 on a onc eux racines primitives, 3 et, pour 11 on a 2, 6 et 8, pour 17 on a 3,, 6, 7, 10, 11, 12, 14, pour 29 on a 2, 3, 8, 10, Voir le fichier exposants2_generateurs. Les générateurs sont éviemment très importants, mais comme vous pouvez le voir ci-essus leur apparition est assez aléatoire : il n existe ailleurs pas e réel moyen e calcul permettant e éterminer les générateurs un moule onné. On pourrait penser qu en général 2, 3 ou pourraient faire l affaire, mais il n y a rien assuré ans ce omaine ; par exemple le premier générateur e 409 est 22. Réciproquement supposons que l on connaisse le moule, isons 29, le résultat, isons 19, et le générateur, isons 3, quel est le reste ont on est parti? La question ici est arriver à résoure l équation inconnue x, Cryptographie 4

5 3 x 19[ 29]. C est ce qu on appelle le problème u logarithme iscret (x est le logarithme cherché, il vaut 13 pour cet exemple car 13 [ ] et à part es méthoes exhaustives (exploration e tous les cas possibles il est impossible à résoure actuellement pour es moules premiers assez grans (300 chiffres et es exposants e l orre e 100 chiffres. 4. Le système Diffie - Hellmann Alors comment va-t-on utiliser cette grane ifficulté pour la cryptographie? On fabrique abor un système e chiffrage à clef comme pour le coe e César : ans ce système on aura eux corresponants Alice et Bob qui peuvent s échanger leurs messages chiffrés. Il suffit onc qu ils aient la clef e chiffrement ; le problème est alors uniquement e transmettre la clef e manière sécurisée. Par exemple ans un système e cartes e créit le commerçant va emaner une autorisation à un central lequel va renvoyer une autorisation chiffrée. Personne ne oit pouvoir échiffrer cette autorisation, sinon cela vourait ire que l on peut la reprouire autant que l on veut Alors ça se passe comme ça : Au épart Alice et Bob sont accor sur un moule p et un générateur g (moule et générateur peuvent ailleurs être connus es attaquants potentiels. Alice choisit a et envoie a g à Bob ; Bob choisit b et envoie a et qui sera ientique sera ( b ab b g = g calculée par Bob et ( g a b g à Alice ; la clef qui pourra alors être calculée par les eux ba = g calculée par Alice. 13 Par exemple, moule 29, générateur 3 : Alice choisit 13, calcule 3 19[ 29] 17 3 = 2[ 29] et envoie Alice calcule ( 2 = 14[ 29], e même Bob calcule ( 19 14[ 29] = et envoie onc 19, Bob choisit 17, calcule =. Nos eux amis ont onc la même clef, 14, mais Bob ne sait pas qu Alice avait choisi 13 e même qu Alice ne sait pas que Bob a choisi 17, et à moins e savoir résoure les équations 3 x = 19[ 29] et 3 y = 2[ 29], il est impossible e trouver la clef finale. C est ce qu on appelle es systèmes à clef publique : Alice peut envoyer 19 en clair, Bob envoyer 2 en clair, on ne peut pas trouver le résultat. Le seul inconvénient e ce système est que le système est vulnérable à l attaque e l homme u milieu (voir mais les avantages sont nombreux, les calculs étant très faciles même avec e très grans nombres.. Le système RSA Le système RSA, qui est utilisé actuellement pour sécuriser environ 8% es échanges moniaux a été publié le 4 avril 1977 par Ronal Rivest, Ai Shamir et Leonar Aleman. Le système RSA est un système e cryptographie issymétrique à clé publique très sûr. La puissance u système RSA repose sur l'iée que tous les systèmes e cryptographie aaptés aux communications e masse peuvent être forcés mais on peut parvenir à une sécurité suffisante en renant totalement irréaliste la quantité e travail qu'il faurait fournir pour cela. Il est foné sur le fait qu'on ne connaît pas 'algorithme, exécutable en un temps raisonnable, capable e écomposer e très grans nombres (ayant plus 'une centaine e chiffres en prouit e facteurs premiers. Ainsi si on fait le prouit e eux nombres premiers e plus e 100 chiffres chacun, personne ne peut écomposer le nombre obtenu sauf celui qui a fait le prouit. Le système RSA assure la confientialité et l'intégrité e la corresponance, il permet e plus 'en établir l'authenticité. La clé publique (qui est un prouit e eux nombres premiers u système RSA utilisé pour les cartes bancaires possèe (posséait? 239 chiffres. En 1998 onze équipes réparties ans le mone entier ont mis trois mois pour factoriser RSA-1 sur 300 orinateurs ifférents (en séparant les calculs ('après Promenaes Mathématiques e F. Laroche éition Ellipses. Pour augmenter la sécurité u système RSA il suffit 'augmenter le nombre e chiffres, mais il faura aapter le matériel et peut-être attenre plus longtemps aux caisses es supermarchés -1 : La méthoe On choisit p et q, eux nombres premiers istincts. On note n leur prouit, appelé «moule e chiffrement» : n= pq. Cryptographie

6 On calcule l'inicatrice 'Euler e n : ( n ( p 1( q 1 ϕ =. On choisit e, un entier premier avec ϕ ( n, appelé «exposant e chiffrement». Comme e est premier avec ϕ ( n, il est, 'après le théorème e Bézout, inversible moϕ ( n entier tel que e 1 ϕ( n. est l' «exposant e échiffrement». Le couple ( n, e est appelé «clef publique», alors que le couple (, -2 : Chiffrement u message n est appelé «clef privée»., c'est-à-ire qu'il existe un e Si m est un entier inférieur à n représentant un message, alors le message chiffré sera représenté par c m [ n] -3 : Déchiffrement u message Pour échiffrer c, on utilise, l'inverse e e moulo ϕ ( n et on calcule [ ] e e On a alors c [ n] ( m [ n] m [ n]. Comme e 1 ϕ( n e= 1+ kϕ( n = 1+ k( p 1( q 1 e [ ] c n., k N, on remplace : ( ( q [ ] [ ] [ ] 1+ k p 1 1. m n m n m p m q car si m est premier avec p alors, 'après le petit théorème e Fermat, q 1 k p 1 p 1 ( p 1( q 1 1+ k( p 1( q 1 m 1 [ p] ( m 1[ p] ( m 1[ p] m m[ p]. Si m n'est pas premier avec p, comme p est un nombre premier, cela signifie que m est multiple e p onc 1+ k( p 1( q 1 m 0 p m p. Un raisonnement analogue prouve la congruence moulo q. [ ] [ ] 1+ k L'entier ( p 1( q 1 m m 0 p 0 q est onc un multiple e p et e q. [ ] [ ] Comme p et q sont premiers (et premiers entre eux, le lemme e Gauss permet 'affirmer que 1+ k( p 1( q 1 m m 0 pq 0 n. [ ] [ ] e On a finalement [ ] ( ( q [ ] [ ] 1+ k p 1 1 c m n m n m n. Pour chiffrer un message, il suffit éviemment e connaître e et n. En revanche pour échiffrer, il faut et n. Pour calculer à l'aie e e et n, il faut trouver l'inverse e e moulo (p 1(q 1 ce qui nécessite e connaitre les entiers p et q, c'est-à-ire la écomposition e n en facteurs premiers. -4 : L utilisation Authentification Tous les éléments u message sont transformés en nombres (par exemple en utilisant le coe ASCII et le message est transformé en blocs e nombres (inférieurs à n. Alice et Bob (prénoms traitionnels pour les personnes A et B veulent communiquer secrètement. Alice utilise le système RSA : elle choisit eux nombres premiers p et q, elle calcule les nombres n, e et, elle fait connaître le couple clé publique (n, e, et elle gare secret la clé secrète qu'elle utilisera pour écoer les messages e Bob. Bob utilise la clé publique (e, n 'Alice pour chiffrer son message : Message envoyé Alice utilise sa clé privée (, n pour échiffrer le message : c m e [ n] c e c m [ n] m[ n] Bob utilise aussi un système RSA et cela va permettre 'authentifier son message. Bob peut le signer en ajoutant à son message initial sa signature coée avec sa propre clé privée et Alice, à la fin u écoage avec sa clé privée, utilisera la clé publique e e Bob pour écoer la signature e Bob. Le message sera authentifié car seul Bob est capable e coer sa signature : Cryptographie 6

7 Signature e Bob Bob utilise sa clé privée s ' s [ n] Bob crypte avec la clé publique 'Alice Alice écrypte avec sa clé privée Alice écrypte avec la clé publique e Bob σ = Σ S s Un achat sur Internet Un exemple trouvé lors 'un achat sur Internet. Il s'agit 'un certificat où apparaît le nombre n e la clé publique écrit en système hexaécimal (base 16 ainsi que l'ientificateur e la clé e l'autorité qui a établi le certificat. Utilisation e certificats ans la pratique 'après : Afin e s'assurer e l'appartenance 'une clé publique on utilisera souvent es certificats X.09v3, bien que PGP et GPG (autres formats, non signés par une Autorité en soient es contre-exemples e pois. Le certificat contient une clé publique, et la signature 'une autorité reconnue par les protagonistes. Cette clé pourra aussi bien être une clé e chiffrement, une clé e vérification ou bien une clé qui remplira les eux fonctions. D'après la revue Tangente (n 107 novembre-écembre 200 : le Haut Comité Européen e lutte contre les coages illicites rappelle que la étention e nombres premiers supérieurs à est ésormais soumise à autorisation. Il emane onc que tout étenteur 'un nombre strictement supérieur le fasse tester. Un test rapie portant sur le ernier chiffre permet 'éliminer 60% es suspects. Les 40% restants oivent impérativement subir un test e Miller- Rabin. Cryptographie 7