Histoire de la cryptologieCet article résume l’histoire de la cryptologie de l’Antiquité à aujourd'hui. La cryptologie regroupe à la fois la cryptographie, associée aux techniques de chiffrement d’un message clair, et la cryptanalyse qui concerne l’analyse et le déchiffrement du message codé. Les premières méthodes de chiffrement de l'AntiquitéLe plus vieux document chiffréLe premier « document » chiffré connu remonte à l'Antiquité. Il s'agit d'une tablette d'argile, retrouvée en Irak, et datant du XVIe siècle av. J.-C. Un potier y avait gravé sa recette secrète en supprimant des consonnes et en modifiant l'orthographe des mots[1]. La technique grecqueLa première grande compilation des procédés cryptographique et stéganographique pratiqués durant l'Antiquité est celle du chapitre 31 de la Poliorcétique d'Énée le Tacticien, datant du IVe siècle av. J.-C. Entre le Xe et le VIIe siècle av. J.-C. semble attestée une technique de chiffrement par transposition, c'est-à-dire reposant sur le changement de position des lettres dans le message, en utilisant un bâton de diamètre déterminé appelé scytale. On enroulait en hélice une bande de cuir autour de la scytale avant d'y inscrire un message. Une fois déroulé, le message était envoyé au destinataire qui possédait un bâton identique, nécessaire au déchiffrement. Cependant, l'utilisation de la scytale lacédémonienne comme procédé cryptographique n'est explicitement affirmée que par Plutarque et Aulu-Gelle, auteurs de la fin de l'Antiquité, et n'est pas mentionnée par Énée le Tacticien : dès lors, la scytale a-t-elle véritablement été un procédé cryptographique ? Histiée et la révolte de l'IonieDans le Tome V des Histoires d'Hérodote, est reportée une technique de stéganographie qu'aurait employée le souverain de Milet durant La Révolte de l'Ionie. Histiée aurait sélectionné son plus fidèle esclave, lui ayant ensuite fait raser la tête et tatouer (imprimé) un ordre de révolte sur le crâne ; Dès que les cheveux eurent repoussé, il l'envoya à Aristagoras qui lui rasa de nouveau la tête afin de lire le message.
— Hérodote, L'Enquête - Livre V (Terpsichore[2]) Une technique des anciens Hébreux?À partir de l'an mil, une technique de chiffrement par substitution (temura) est évoquée dans le Sefer HaZohar[3] : il s’agit d'interpréter certains passages équivoques du livre de Jérémie (Jr 25 26, Jr 51 1 et Jr 51 41, Ve siècle av. J.-C.) comme une façon de nommer secrètement certains lieux. Le chiffre le plus cité, appelé atbash, est une méthode de substitution alphabétique inversée. Son nom est formé par les initiales des premières et dernières lettres de l'alphabet hébreu aleph, tav, beth, shin[4]. Elle consiste à remplacer chaque lettre du texte en clair par une autre lettre de l'alphabet choisie de la manière suivante : A devient Z, B devient Y, etc. Les premiers « vrais » systèmes de cryptographieIl faut attendre -200[réf. souhaitée] pour voir apparaître les premiers « vrais » systèmes de cryptographie. Ce sont essentiellement des chiffrements par substitution. Il existe trois types de substitutions :
Le code de CésarLe code de César est la méthode cryptographique, par substitution monoalphabétique, la plus ancienne (Ier siècle av. J.-C.). Cette méthode est utilisée dans l'armée romaine, et bien qu'elle soit beaucoup moins robuste que la technique Atbash, la faible alphabétisation de la population[réf. nécessaire] la rend suffisamment efficace. Méthode de chiffrementSon système est simple, il consiste à décaler les lettres de l'alphabet d'un nombre n. Par exemple, si on remplace A par D (n=3), on remplace B par E, C par F… Le texte que nous souhaitons chiffrer étant le suivant : « décaler les lettres de l'alphabet ». Le texte chiffré est alors : « ghfdohu ohv ohwwuhv gh o'doskdehw ». Limites du procédéMalheureusement, on comprendra que ce système est très peu sûr, puisqu'il n'y a que 26 lettres dans l'alphabet donc seulement 25 façons de chiffrer un message avec le code de César (on ne peut substituer une lettre par elle-même). Pourtant, sa simplicité conduisit les officiers sudistes à le réemployer durant la guerre de Sécession. L'armée russe fit de même en 1915. Un système connu et pourtantLe code de César a été utilisé sur des forums Internet sous le nom de ROT13 (rotation de 13 lettres ou A → N…). Le ROT13 n'a pas pour but de rendre du texte confidentiel, mais plutôt d'empêcher la lecture involontaire (d'une réponse à une devinette, ou de l'intrigue d'un film, etc.). Son utilisation est simple : il suffit de rechiffrer un texte, codé en ROT13, une deuxième fois pour obtenir le texte en clair. Le carré de PolybeL'historien grec Polybe est à l'origine du premier procédé de chiffrement par substitution homophonique. Méthode de chiffrementC'est un système de transmission basé sur un carré de 25 cases (on peut agrandir ce carré à 36 cases, afin de pouvoir ajouter les chiffres ou pour chiffrer des alphabets comportant davantage de lettres, comme l'alphabet cyrillique). En français, on supprime le W, qui sera remplacé par V. Il existe une variante où ce sont I et J qui se partagent la même case. Chaque lettre peut être ainsi représentée par un groupe de deux chiffres : celui de sa ligne et celui de sa colonne. Ainsi e=(1;5), u=(5;1), n=(3;4)… Un moyen de transmission originalPolybe proposait de transmettre ces nombres au moyen de torches. Une torche à droite et cinq à gauche pour transmettre la lettre e par exemple. Ce procédé permettait donc de transmettre des messages sur de longues distances. Son originalitéLes cryptologues modernes ont vu dans le « carré de 25 » plusieurs caractéristiques extrêmement intéressantes :
Ce système de chiffrement peut être compliqué avec un mot de passe. Par exemple, si le mot de passe est « DIFFICILE », on commencera à remplir le carré avec les lettres de ce mot, après avoir supprimé les lettres identiques, puis on complétera le tableau avec les lettres inutilisées. Du Moyen Âge à la Première Guerre mondiale
XVe siècle
XVIe siècle
Le chiffre de VigenèreEn 1586, le diplomate français Blaise de Vigenère présente dans son livre Traité des chiffres, ou Secrètes manières d'écrire[8] une technique de chiffrement par substitution polyalphabétique inspirée de celle de Trithème. Le chiffrement de Vigenère ne sera cassé qu'en 1854. Méthode de chiffrementLe chiffrement utilise une clé littérale ou mot de passe, dont chaque lettre indique le décalage alphabétique à appliquer sur le texte en clair. On reporte les lettres de l'alphabet sur une grille de 26 × 26 cases ; la première rangée contenant A, B,… les colonnes suivantes sont chacune décalées d'une position par rapport à la précédente. Le texte chiffré s'obtient en prenant l'intersection de la ligne qui commence par la lettre à coder, avec la colonne qui commence par la première lettre du mot de passe, et ainsi de suite. Dès que l'on atteint la fin du mot de passe, on recommence à la première lettre. Pour décoder, il suffit de faire la même chose dans l'autre sens. Les points forts de cette méthodeCet algorithme de cryptographie comporte beaucoup de points forts. Il est très facile d'utilisation, et le déchiffrement est tout aussi facile si on connaît la clé. La grande caractéristique du chiffre de Vigenère est qu'il est impossible par une analyse statistique simple de retrouver où sont certaines lettres. Un autre avantage réside dans le fait que l'on peut produire une infinité de clés. Il fallut attendre près de trois siècles pour qu'il soit cryptanalysé au milieu du XIXe siècle. Voir Cryptanalyse du chiffre de Vigenère. XVIIe siècle
XIXe siècle
Le chiffre de DelastelleL'inventeur de ce système est Félix-Marie Delastelle. Il utilise une grille de chiffrement/déchiffrement analogue à celle du chiffre de Polybe. Méthode de chiffrementTout d'abord, il faut regrouper les lettres du message clair par groupes de 5 par 5 (au besoin, on rajoute des nulles pour arriver à un multiple de 5). Pour déchiffrer, on effectue l'opération dans le sens inverse. Une simple adaptationCe chiffre diffère peu de celui de Polybe. Il est présenté ici pour montrer la diversité des méthodes de chiffrement : la plupart de ces méthodes sont de simples adaptations de méthodes déjà existantes. La Première Guerre mondialeLa Première Guerre mondiale marque la victoire tant attendue de la cryptanalyse face à la cryptographie, empêtrée dans des impératifs d'efficacité. Pendant la guerre de 14-18, la maîtrise cryptanalytique des Français les aide considérablement à déchiffrer les messages ennemis. En 1914, le premier déchiffrement est fait par le commandant Louis Thévenin qui donne aux alliés un avantage important dès le début du conflit (association du chiffre et de la sécurité de l'information n°28/2000)[pas clair]. L'État-major met en place un service spécial appelé le « cabinet noir » et chargé de déchiffrer les messages allemands. Le déchiffrement, le , d'un radio télégramme allemand par le lieutenant Georges Painvin[11] s'est ainsi révélé déterminant pour contrer une des dernières offensives allemandes. Évoquant ce lieutenant, Georges Clemenceau aurait prétendu qu'à lui tout seul, il valait un corps d'armée[12]. Le télégramme Zimmermann, intercepté en 1917 par le Royaume-Uni qui cryptanalysa son contenu, a accéléré l'entrée en guerre des États-Unis. La rapidité des transmissions a bénéficié des progrès du XIXe siècle, et est désormais instantanée, mais le déchiffrage des messages chiffrés, réalisé à la main, reste très lent, nécessitant souvent plusieurs heures. Le chiffrement-déchiffrement entièrement manuel est donc susceptible d'être erroné. Il doit être relativement simple et rapide à appliquer (une heure environ) pour transmettre les informations à temps et éviter les erreurs de codage dues au stress du champ de bataille. Les chiffres utilisés n'assurent ainsi pas un niveau satisfaisant de sécurité, mais aujourd'hui avec l'informatique, le recours aux machines permet de dire qu'on est entré, avec la cryptologie, dans l'ère de la science. Lors de la Seconde Guerre mondialeLa cryptologie a joué un rôle décisif pendant la Seconde Guerre mondiale. Les exploits des alliés en matière de cryptanalyse auraient permis d'écourter la guerre (de un à deux ans, selon certains spécialistes). Churchill citait la cryptologie comme l'un des facteurs clés de la victoire[13]. La machine EnigmaInventée pour les civilsL'histoire de la machine Enigma commence en 1919, quand un ingénieur hollandais, Hugo Alexander Koch, dépose un brevet de machine à chiffrer électromécanique. Ses idées sont reprises par le Dr Arthur Scherbius, qui crée à Berlin une société destinée à fabriquer et à commercialiser une machine à chiffrer civile : l'Enigma. Cette société fait un fiasco, mais la machine Enigma a attiré l'attention des militaires. Le fonctionnement d'EnigmaLe chiffrement effectué par la machine Enigma est à la fois simple et astucieux. Chaque lettre est remplacée par une autre, l'astuce est que la substitution change d'une lettre à l'autre. La machine est alimentée par une pile électrique. Quand on appuie sur une touche du clavier, un circuit électrique est fermé, et une lettre d'un tableau d'affichage s'allume qui indique par quelle substitution le chiffrement a été effectué. Concrètement, le circuit électrique est constitué de plusieurs éléments en chaîne :
On peut composer les rotors, c'est-à-dire les mettre les uns à la suite des autres. La machine Enigma disposera, au gré de ses évolutions successives, de 3 à 6 rotors. Parmi ces rotors, seuls 3 sont en place dans la machine, et on a le choix de les placer dans l'ordre que l'on souhaite (ce qui constituera une partie de la clé). Surtout, les rotors sont cylindriques, et ils peuvent tourner autour de leur axe. Ainsi, à chaque fois qu'on a tapé une lettre, le premier rotor tourne d'un cran, et la permutation qu'il engendre est changée. Observons ce changement sur la figure suivante : le rotor transforme initialement D en B. Lorsqu'il tourne d'un cran, cette liaison électrique D → B se retrouve remontée en C → A. Chaque rotor possède donc 26 positions. À chaque fois qu'une lettre est tapée, le premier rotor tourne d'un cran. Après 26 lettres, il est revenu à sa position initiale, et le second rotor tourne alors d'un cran. On recommence à tourner le premier rotor, et ainsi de suite… Quand le second rotor a retrouvé sa position initiale, c'est le troisième rotor qui tourne d'un cran.
Résumons sur la machine simplifiée suivante (6 lettres, 2 rotors) comment est chiffrée la lettre A :
Remarquons que si on avait tapé C, le courant aurait circulé dans l'autre sens et on aurait obtenu A. Nombre de clés possiblesIl y a trois éléments à connaître pour pouvoir déchiffrer un message chiffré au moyen d'une machine Enigma :
On multiplie tout cela, et on obtient plus de 1016 possibilités, ce qui est énorme pour l'époque. Les circuits du courant électrique à l'intérieur de la machine ne peuvent pas être considérés comme faisant partie du secret. En effet, toutes les machines d'un même modèle utilisent les mêmes, et il suffit donc d'en avoir une à disposition. Les Britanniques, par exemple, en ont récupéré plusieurs qu'ils ont copiées en nombre. D'ailleurs, le principe d'Enigma est connu, les Britanniques en fabriquent une version très améliorée, la machine Typex. Ceci est une illustration d'un principe général en cryptographie, dit principe de Kerckhoffs, qui veut que tout le secret doit résider dans la clé de chiffrement et de déchiffrement, et non pas dans une quelconque confidentialité de l'algorithme (ici de la machine) qui ne peut être raisonnablement garantie. Points forts et faiblessesNous avons déjà décrit les points forts de la machine Enigma. Pour l'essentiel, c'est le nombre presque infini de clés, et la réversibilité : si, avec la même clé, on tape le message clair, on obtient le message chiffré, et avec le message chiffré, on obtient le message clair. L'une des failles de la machine Enigma est que jamais la lettre A ne sera codée par un A. Autre caractéristique, deux lettres différentes frappées à la suite (ex. AB) ne donnent jamais, deux fois de suite, la même lettre chiffrée (ex. CC). Cela élimine un certain nombre de combinaisons. Autre faiblesse, les fautes des chiffreurs : certains chiffreurs envoient des messages du même format avec des mots récurrents. C'est le cas des messages météo qui circulent par Enigma, mais aussi dans des réseaux moins protégés. Les Britanniques connaissent alors, pour une partie du message, à la fois le texte clair et le texte chiffré. Et comme la même clé sert à toutes les machines Enigma d'un même réseau, pour un jour donné, une erreur de protocole dans un message compromet tous les messages de ce réseau, ce jour-là ! Le déchiffrement des messages EnigmaLe service de renseignements polonais fut le premier à attaquer le chiffre Enigma, dans les années 1930. Les Polonais travaillèrent ensuite en collaboration avec le service cryptographique du 2e bureau français, dirigé par le colonel Gustave Bertrand, aidé par les informations de la taupe Hans-Thilo Schmidt (« Asche » pour les services français, était aussi nommée « Source T » par les services du Contre-Espionnage français). Finalement, une collaboration s'instaura avec les services britanniques, qui rassemblèrent leurs spécialistes (en particulier Alan Turing) cryptographes à Bletchley Park. L'Enigma navale est sensiblement différente des autres versions. La position initiale est indiquée par des combinaisons de lettres manipulées à partir de tables de bigrammes. Les chiffreurs de la Kriegsmarine ne font pas de fautes. Codés avant d'être chiffrés, les messages sont trop courts pour donner prise au déchiffrement. Le trafic des U-Boot est illisible. Les bombes électromécaniques utilisées pour reconstituer la clé des messages Enigma sont réglées par des Wrens (marinettes) d'après les instructions des cryptanalystes. Une fois découverte la clé quotidienne d'un réseau, les messages sont déchiffrés par les équipes de déchiffrement. Le rôle des bombes est juste de trouver la clé. Trois à quatre mille messages étaient déchiffrés chaque jour par les 9 000 hôtes de Bletchley Park[14]. Enigma et UNIXUn étudiant s'amusa un jour à programmer en langage C la simulation du fonctionnement d'une machine Enigma. Ce programme fut inclus dans les distributions Unix sous le nom de crypt (utilisable comme une commande UNIX). Jusqu'à la déclassification des travaux du groupe de Bletchley Park, les bureaux d'études d'ingénierie estimaient ce chiffrement très sûr et l'utilisaient pour échanger leurs informations confidentielles, pour la plus grande joie de la National Security Agency qui voyait son travail considérablement facilité[réf. nécessaire]. Le chiffre LorenzLe chiffre des hauts dirigeants allemandsSi la machine Enigma est la plus connue, l'attaque de la machine de Lorenz, utilisée par le haut commandement ennemi pour chiffrer ses téléimpressions, est à l'origine d'immenses progrès des sciences et des techniques. Casser du code ?Le chiffre Enigma n'a jamais été « cassé ». Les fautes des chiffreurs et la puissance des bombes (plusieurs centaines à la fin de la guerre) ont permis de trouver, certains jours, la clé quotidienne de certains réseaux. Il s'agit d'une attaque par force brute.
L'analyse du chiffre LorenzLe chiffre Lorenz pratiquait le chiffrement par flot (stream cipher). Ce type de chiffrement a une faiblesse : il devient trivial à inverser lorsque deux messages sont chiffrés avec la même clé. En considérant qu'A est le texte clair, que B est la clé, et que le message chiffré est A + B ou A', si deux messages sont chiffrés avec la même clé, A' = A + B et C' = C + B, il suffit de faire l'addition des deux textes chiffrés pour éliminer la clé. A' + C' = (A + B) + (C + B) = (A + C) + (B + B) = A + C puisque B + B = 0. Puisque tous les effets de la clé sont maintenant retirés, il ne reste qu'à faire une analyse statistique pour séparer les deux textes A et C et retrouver ainsi chacun d'eux. La clé devient aussi triviale à calculer (elle est égale à A' + A). C'est la plus grande faiblesse de ce chiffre. Un chiffreur a transmis un long message pour recevoir en réponse un NACK (message non reçu). Plutôt que de respecter les règles et produire une nouvelle clé, il a repris la même clé et a renvoyé son message. S'il avait renvoyé exactement le même texte lettre par lettre, l'attaque n'aurait pas été possible. Par contre, en utilisant un diminutif ici et un synonyme là, il a techniquement envoyé ce second message chiffré avec la même clé. Après avoir retrouvé les deux messages et la clé unique, celle-ci a révélé ses secrets. La technique utilisée chiffrait les lettres sur cinq bits où chaque bit traversait un canal de chiffrement différent. La clé a montré certaines répétitions. De celles-ci a été déduit tout le principe de la génération de la clé et celui de la machine Lorenz. Une autre distinction entre Enigma et Lorenz est que les Alliés avaient mis la main sur plusieurs Enigma qu'ils ont copiées en nombre. Au contraire, les Alliés ne virent une authentique machine Lorenz qu'après la fin de la guerre. La faiblesse du chiffre LorenzSi le mécanisme de génération de clé de Lorenz était maintenant connu, il ne suffisait pas à déchiffrer les autres messages chiffrés. De plus, l'analyse statistique de la clé montrait que celle-ci resterait aléatoire sur chaque canal même si elle était contrôlée par des paramètres non aléatoires comme la prépondérance de certaines lettres dans une langue. Une faiblesse dans le code Lorenz a malgré tout été trouvée. Deux lettres consécutives identiques produisaient un résultat constant sur chacun des cinq canaux dans le texte chiffré. Un exemple est le doublon « SS », en plus de ceux imposés par la langue. Retombées de la guerre du chiffre LorenzTrouver une faille est une chose, l'exploiter en est une autre. En effet, l'analyse statistique nécessaire pour retrouver ces doublons demandait une puissance indisponible par les moyens connus. Or, c'est à cette époque que fut développée l'arme ultime du déchiffrement, l'ordinateur Colossus. C'est donc grâce à Colossus que le chiffre Lorenz a pu être cassé. Le détail de ses algorithmes déborde toutefois les objectifs de cette section. Le plus grand hommage est prononcé par un Allemand qui compare l'effort massif des Alliés aux attaques nucléaires contre le Japon[réf. souhaitée]. Le code navajoBien que les moyens de chiffrements électromécaniques, telle la machine Enigma, aient prouvé leur efficacité en matière de sécurité, ils n'en restent pas moins encombrants et lents. Un chiffre transmis en morse est quasiment inexploitable en première ligne. Les Américains cherchaient un moyen de codage qui protège les échanges de phonie à la radio, sur le terrain, lors de la guerre qui les opposa aux Japonais. L'ingénieur américain Philip Johnston, qui avait grandi dans les réserves navajos, eut l'idée d'utiliser leur langue comme code. Pratiquement inconnue, cette langue, d'une construction grammaticale très particulière, est impénétrable. Cependant, un problème existait : les mots usuels de l'armée n'existaient pas dans la langue navajo. Il fut donc décidé d'inventer des équivalents entre des mots navajos et le dialecte militaire. Ce lexique fut établi par associations d'idées afin de le rendre plus facilement mémorisable. Le terme « bombardier » fut par exemple traduit par « buse » alors que les « bombes » larguées par ces engins devenaient des « œufs » dans la langue navajo. Voilà comment les Parleurs-de-code (Windtalkers) navajos prirent part à la guerre du Pacifique. Leur bravoure au combat fut reconnue de manière officielle par le gouvernement américain lorsqu'il leur dédia, en 1982, la journée du Cryptologie moderneClaude ShannonClaude Shannon est considéré par plusieurs comme le père de la cryptographie mathématique. Il a travaillé pendant plusieurs années dans les Laboratoires Bell où il a produit un article intitulé A Mathematical Theory of Cryptography (Une théorie mathématique de la cryptographie). Cet article a été écrit en 1945 et a été publié dans le Bell System Technical Journal en 1949. Shannon a continué son travail en produisant un autre article intitulé A Mathematical Theory of Communication. La guerre avait poussé Shannon à s'intéresser à la cryptographie parce que les messages secrets sont une application intéressante de la théorie de la communication. Il est communément admis que son premier article, publié en 1949, a été le point de départ du développement de la cryptologie moderne. Shannon a défini les deux principaux objectifs de la cryptologie : le secret et l'authentification. Il a mis l'accent sur l'exploration du secret et, trente-cinq ans plus tard, G. J. Simmons aborderait la question de l'authentification. L'article A Mathematical Theory of Communication souligne l'un des aspects les plus significatifs de l'œuvre de Shannon : la transition de la cryptologie de l'art à la science. Dans ses articles, Shannon a décrit les deux types de secrets. Les premiers sont ceux conçus avec l'intention de protéger un message contre des adversaires disposant de ressources infinies pour décoder un message (le secret théorique), et les seconds sont ceux qui visent à protéger un message contre des adversaires ayant des ressources limitées pour décoder un message (le secret pratique). La plupart des travaux de Shannon concernent le secret théorique. Shannon a introduit une définition de l'invulnérabilité d'un chiffrement. Un chiffrement invulnérable est considéré comme « un secret parfait ». Shannon a démontré que le secret parfait ne pouvait être obtenu qu'avec une clé secrète dont la longueur est égale la longueur de l'information à chiffrer. Le travail de Shannon a influencé la recherche sur la cryptographie jusque dans les années 1970 comme le démontre le fait que les développeurs de la cryptographie à clé publique, Martin Hellman et Whitfield Diffie, ont mentionné les articles de Shannon comme une de leurs influences principales. Son travail a également influencé les conceptions modernes de chiffrement à clé secrète. À la fin des travaux de Shannon, les progrès de la cryptographie ont ralenti jusqu'à ce que Hellman et Diffie présentent leur document sur la cryptographie à clé publique. Les années 1970Dans les années 1970, l'utilisation des ordinateurs a permis trois avancées majeures publiques (c'est-à-dire non secrètes et non contrôlées par les services de renseignement) :
Le développement d'un standard public de chiffrementLa première de ces avancées fut la publication du projet Data Encryption Standard (DES) dans le Federal Register (en) le . Le chiffrement DES avait été proposé par un groupe de recherche d'IBM, à l'invitation du National Bureau of Standards (maintenant National Institute of Standards and Technology ou NIST), dans le but de développer des moyens de communication électroniques sécurisés pour les entreprises telles que les banques et d'autres grandes organisations financières. Après des conseils et des modifications par la National Security Agency (NSA), le chiffrement a été adopté et publié en tant que Federal Information Processing Standard Publication (FIPS ; en français, publication d'un standard fédéral de traitement d'information) en 1977 (actuellement le FIPS 46-3). DES était basé sur une clé secrète de 56 bits. DES a été le chiffrement accessible au public et béni par une agence nationale, telle que la NSA. La publication des spécifications de ce chiffrement par le NBS a grandement stimulé l'intérêt public et universitaire pour la cryptographie. En 1984, le chiffrement DES à 56 bits est renforcé et devient la variante DESX basée sur une clé de 119 bits. Le chiffrement est renforcé une seconde fois pour devenir la variante Triple DES basée sur une clé de 168 bits en 1998. Le chiffrement DES vieillissant a été officiellement remplacé par le chiffrement Advanced Encryption Standard (AES) en 2001, lorsque le National Institute of Standards and Technology (NIST) a annoncé le Federal Information Processing Standard (FIPS) 197. Après un concours ouvert, NIST a sélectionné un chiffrement présenté par deux cryptographes belges comme le nouveau standard nommé AES. Bien que le standard AES soit, en 2016, largement implanté, des variantes de DES qui avaient été incorporées dans de nombreuses normes nationales et organisationnelles (comme le Triple DES) subsistent encore dans certaines applications. À cause des avancées de la cryptanalyse et de l'augmentation de la puissance des ordinateurs, le standard original DES avec sa clé de 56 bits est clairement inadéquat pour protéger un message contre des attaques par force brute. Une telle attaque, menée par l'association Electronic Frontier Foundation en 1997, a réussi à briser ce chiffrement en 56 heures[15]. Le développement de l'échange de clés Diffie-HellmanLe deuxième développement, en 1976, était peut-être encore plus important, car il a fondamentalement changé le fonctionnement des systèmes cryptographiques. Ce fut la publication de l'article New Directions in Cryptography[16] (Nouvelles directions en cryptographie) par Whitfield Diffie et Martin Hellman. Cet article a introduit une méthode radicalement nouvelle de distribuer les clés cryptographiques, ce qui a résolu un des problèmes fondamentaux de la cryptographie : la distribution des clés. Ce mode de distribution des clés est appelé l'échange de clés Diffie-Hellman. L'article a également stimulé le développement presque immédiat d'une nouvelle classe d'algorithmes de chiffrement, les algorithmes de chiffrement asymétrique. Avant cette date, tous les algorithmes de chiffrement (anciens et modernes) avaient été des algorithmes de chiffrement symétrique dans lesquels la même clé cryptographique est utilisée avec l'algorithme sous-jacent à la fois par l'expéditeur et le destinataire, qui doivent tous les deux connaître la clé et la garder secrète. Toutes les machines électromécaniques utilisées dans la Seconde Guerre mondiale utilisaient ce type d'algorithme, tout comme le code de César et le code Atbash des Hébreux et tous les systèmes de chiffrement à travers l'histoire. En pratique, la distribution des clés et leur protection posent de grands défis et réduisent considérablement la possibilité d'utiliser ce type de chiffrement et sa sécurité, surtout lorsqu'un grand nombre de personnes doivent connaître la clé. Dans de tels systèmes, la clé devait être échangée entre les parties qui communiquent d'une façon sécuritaire avant toute utilisation (le terme généralement utilisé est « via un canal sécurisé ») comme un courrier fiable avec une mallette menottée à son poignet, un contact en face à face ou un pigeon fidèle. Cette exigence n'est jamais anodine et elle devient très rapidement ingérable lorsque le nombre de participants augmente ou lorsque des canaux sécurisés ne sont pas disponibles pour l'échange de clés ou lorsque les clés doivent être fréquemment changées. De plus, si un émetteur envoie des messages à plusieurs personnes d'un groupe et que chaque destinataire d'un message doit être le seul à pouvoir le déchiffrer, l'émetteur doit échanger une clé via un canal sécurisé avec chaque personne du groupe. Un système de ce type est connu comme un chiffrement à clé secrète ou à clés symétriques. L'échange de clés Diffie-Hellman (et les améliorations et les variantes suivantes) a simplifié l'opération de tels systèmes et les a rendus plus sûrs que ce qui avait été possible auparavant dans toute l'histoire. Le développement du chiffrement asymétriqueLe chiffrement asymétrique utilise une paire de clés mathématiquement liées, dont chacune déchiffre le chiffrement effectué par l'autre. Ces algorithmes ont la propriété supplémentaire que l'une des clés appariées ne peut être déduite de l'autre par tout procédé connu autre que de très nombreux essais et erreurs. Un algorithme de ce type est appelé algorithme de chiffrement à clé publique ou algorithme à clé asymétrique. Avec un tel algorithme, une seule paire de clés suffit pour permettre à une personne de communiquer avec plusieurs destinataires. En désignant une clé de la paire comme privée (toujours secrète), et l'autre comme publique (souvent largement disponible), aucun canal sécurisé n'est nécessaire pour l'échange de clés. Tant que la clé privée reste secrète, la clé publique peut être largement connue durant une longue période sans compromettre la sécurité, permettant de réutiliser la même paire de clés indéfiniment. Pour que deux utilisateurs d'un algorithme à clés asymétriques puissent communiquer en toute sécurité sur un canal non sécurisé, chaque utilisateur doit connaître sa clé publique et sa clé privée ainsi que la clé publique de l'autre utilisateur. Voici un scénario de base : Alice et Bob ont chacun une paire de clés qu'ils ont possiblement utilisées pendant des années avec de nombreux autres utilisateurs. Au début de leur conversation, ils échangent leurs clés publiques en clair sur un canal non sécurisé. Alice chiffre ensuite un message en utilisant sa clé privée, puis chiffre à nouveau le résultat en utilisant la clé publique de Bob. Le message doublement chiffré est ensuite envoyé d'Alice à Bob sur un canal non sécurisé. Bob reçoit le flux de bits et le déchiffre en utilisant sa propre clé privée, puis le déchiffre de nouveau en utilisant la clé publique d'Alice. Si le résultat final est reconnaissable comme un message, Bob est certain que le message provient de quelqu'un qui connaît la clé privée d'Alice (probablement Alice elle-même si elle a bien protégé sa clé privée), et que quiconque a écouté le message sur le canal non sécurisé n'a pu déchiffrer le message parce qu'il n'avait pas la clé privée de Bob. Les algorithmes de chiffrement asymétrique dépendent pour leur efficacité d'une classe de fonctions mathématiques appelées fonctions à sens unique, qui nécessitent relativement peu de puissance de calcul à exécuter, mais de vastes quantités de calcul pour inverser, si l'inversion est possible. Un exemple classique d'une fonction à sens unique est la multiplication de très grands nombres premiers. Il est facile de multiplier deux grands nombres premiers, mais très difficile de trouver les facteurs du produit de deux grands nombres premiers. En raison des caractéristiques des fonctions à sens unique, la plupart des clés possibles sont de mauvais choix comme clés de chiffrement ; seule une petite fraction des clés possibles est acceptable. Conséquemment, les algorithmes de chiffrement asymétrique nécessitent des clés très longues pour atteindre le même niveau de sécurité que les clés de chiffrement symétrique qui sont relativement plus courtes. La nécessité de générer des paires de clés très longues et d'effectuer les opérations de chiffrement et de déchiffrement en utilisant ces longues clés rendent les algorithmes de chiffrement asymétrique coûteux en calcul comparativement à la plupart des algorithmes de chiffrement symétrique. Étant donné que ceux-ci peuvent utiliser comme clé secrète n'importe quelle suite de bits (au hasard, ou du moins imprévisibles), une clé secrète jetable peut être rapidement générée pour utilisation à court terme dans une seule session. Par conséquent, il est de pratique courante d'utiliser de longues clés asymétriques pour échanger une clé symétrique jetable beaucoup plus courte (mais tout aussi forte). L'algorithme de chiffrement asymétrique lent envoie, en toute sécurité, une clé de session symétrique ; l'algorithme de chiffrement symétrique, plus rapide, prend ensuite le relais pour le reste de la communication. Découvertes gardées secrètes par le service de renseignements du Royaume-UniLa cryptographie asymétrique, l'échange de clés Diffie-Hellman et le plus connu des algorithmes de cryptographie asymétrique (appelé habituellement le chiffrement RSA) semblent avoir été développés indépendamment par le Government Communications Headquarters (GCHQ), le service de renseignements électroniques du gouvernement du Royaume-Uni, avant le premier article sur cette branche de la cryptographie, publié par Diffie et Hellman en 1976. En effet, le GCHQ a publié des documents affirmant qu'il avait développé la cryptographie à clé publique avant la publication de l'article de Diffie et Hellman. Divers articles classifiés secrets ont été rédigés au GCHQ pendant les années 1960 et 1970 et ont finalement conduit à des algorithmes essentiellement identiques au chiffrement RSA et à l'échange de clés Diffie-Hellman en 1973 et 1974, soit quelques années avant la publication de ces algorithmes par des universitaires américains. Certains de ces articles ont maintenant été publiés et les inventeurs (James Ellis, Clifford Cocks et Malcolm Williamson) ont rendu publics leurs travaux. Le hachageEn plus de permettre les trois avancées majeures mentionnées précédemment, les ordinateurs ont permis de développer des fonctions de hachage cryptographiques et de les utiliser dans divers contextes. Le hachage est une fonction appliquée à une chaîne de caractères ou de bits pour produire une valeur de hachage (une suite de bits). La valeur de hachage est une empreinte numérique du message. La valeur de hachage est également appelée message digest ou somme de contrôle. La fonction de hachage fournit une sortie de longueur fixe : quelle que soit la longueur du message qu'on lui soumet, la fonction de hachage produit toujours une valeur de hachage contenant le même nombre de bits. Une fonction de hachage cryptographique est une fonction de hachage qui possède certaines caractéristiques. En particulier, une fonction de hachage cryptographique est une fonction à sens unique, c'est-à-dire une fonction dont l'inverse est impossible à calculer, même en utilisant une grande puissance de calcul durant une longue période de temps. Utilisations des fonctions de hachage cryptographiquesVérification de l'intégrité d'un messageLe hachage permet de déterminer si un message a été changé dans la transmission. Si la valeur de hachage du message reçu est différente de celle produite avant l'envoi du message, le message a été modifié. Il est important de noter que le hachage est différent du chiffrement. Le hachage est une opération à sens unique (non réversible) qui est utilisé pour transformer un message en une valeur de hachage (une suite de bits). En comparant la valeur de hachage d'un message avant et après la transmission, on peut voir si le message a été altéré durant la transmission. Il est impossible de recréer un message à partir de sa valeur de hachage parce qu'il y a perte d'information. Le chiffrement est une opération réversible (donc sans perte d'information) qui est utilisée pour transformer un texte clair en texte chiffré incompréhensible par un adversaire. Arrivé à destination, le message chiffré peut être déchiffré pour être compréhensible par le destinataire[17]. Signature de documentsLes algorithmes de cryptographie qui permettent de vérifier l'authenticité d'une signature numérique sur un document ne fonctionnent pas de façon efficace sur des documents volumineux. On utilise donc le hachage pour produire une empreinte d'un document qui peut être traitée plus facilement par un algorithme de vérification de signature. Validation de mot de passeLe hachage cryptographique est utilisé par les systèmes informatiques pour valider un mot de passe sans en garder une copie. Il serait imprudent pour un système informatique de conserver une copie des mots de passe de ses utilisateurs, car ces mots de passe pourraient être volés par des employés responsables de l'entretien du système ou des pirates informatiques. Plutôt que de conserver les mots de passe, les systèmes informatiques hachent les mots de passe immédiatement après leur création et ne conservent que leur valeur de hachage. Lors de la validation d'un mot de passe, le système hache le mot de passe fourni par l'utilisateur et compare la valeur de hachage obtenue avec la valeur de hachage enregistrée lors de la création du mot de passe. Comme les fonctions de hachage cryptographiques sont des fonctions à sens unique, un intrus qui aurait accès à la table des valeurs de hachage des mots de passe ne pourrait utiliser cette information pour calculer les mots de passe[18]. Cryptographie et gouvernementsLes développements publics de la cryptographie des années 1970 ont brisé le quasi-monopole détenu par les organismes gouvernementaux sur la cryptographie de haute qualité[19]. Pour la première fois, les organismes non gouvernementaux ont eu accès à une cryptographie de qualité dont les codes sont incassables — même par les gouvernements. Des controverses et des conflits, à la fois publics et privés, ont commencé plus ou moins immédiatement. Ces conflits ont reçu le nom de Crypto Wars en français : « guerres de la cryptographie ». Ces guerres se poursuivent aujourd’hui, même dans les pays occidentaux démocratiques. Dans de nombreux pays, par exemple, l’exportation de la cryptographie est soumise à des restrictions. Jusqu’en 1996, l’exportation d'algorithmes cryptographiques utilisant des clés de plus de 40 bits était fortement limitée aux États-Unis[note 1]. En 2004, l’ancien directeur du FBI, Louis Freeh, témoignant devant la Commission nationale sur les attaques terroristes contre les États-Unis, a appelé à de nouvelles lois contre l’utilisation publique du chiffrement. L’une des personnes les plus militantes en faveur de cryptage fort pour l’usage public a été Phil Zimmermann. Il a développé, puis distribué Pretty Good Privacy (PGP), un système de cryptographie de très haute qualité. Il a distribué une version gratuiciel de PGP quand il s’est senti menacé par une législation alors en cours d’examen par le gouvernement américain qui exigerait l’inclusion de portes dérobées dans tous les produits cryptographiques développés aux États-Unis. Son système a été distribué dans le monde entier peu de temps après sa distribution aux États-Unis. Le département de la Justice des États-Unis a mené une longue enquête criminelle sur Phil Zimmermann pour violation alléguée de restrictions à l’exportation. Le département de la Justice a finalement abandonné son enquête et la distribution gratuite de PGP a continué dans le monde entier. PGP a même fini par devenir un standard Internet ouvert (RFC 2440[20] ou OpenPGP). Cryptanalyse moderneBien que le chiffrement AES et les chiffrements asymétriques de bonne qualité soient largement considérés comme incassables, des conceptions et des implantations déficientes de chiffrements sont encore parfois mises en production, ce qui a conduit à des bris de chiffrement au cours des dernières années. Des exemples notables de systèmes cryptographiques cassés sont :
Tous les chiffrements mentionnés au paragraphe précédent sont des chiffrements symétriques. Jusqu'à présent[Quand ?], aucun des algorithmes mathématiques utilisés dans la cryptographie à clés publiques n'a été prouvé comme incassable. Conséquemment, des découvertes mathématiques ou l'augmentation de la puissance des ordinateurs pourraient les rendre non sécuritaires. Cependant, peu de cryptologues prévoient de telles percées dans un futur prévisible. En revanche, des avancées mathématiques et l'augmentation graduelle de la puissance et de la disponibilité des ordinateurs affaiblissent les algorithmes de chiffrement et forcent les cryptographes à utiliser des clés de plus en plus longues. Cryptographie post-quantiqueEn cryptographie, la cryptographie post-quantique (parfois appelée quantum-proof, quantum-safe ou quantum-resistant) fait référence à des algorithmes cryptographiques (généralement des algorithmes à clé publique) qui sont censés être protégés contre une attaque cryptanalytique par un ordinateur quantique. Le problème avec les algorithmes actuellement populaires est que leur sécurité repose sur l'un des trois problèmes mathématiques difficiles : le problème de la factorisation d'entiers, le problème du logarithme discret ou le problème du logarithme discret à courbe elliptique. Tous ces problèmes pourraient être facilement résolus sur un ordinateur quantique suffisamment puissant exécutant l'algorithme de Shor[21]. Même si les ordinateurs quantiques actuels manquent de puissance de traitement pour casser tout algorithme cryptographique réel[22], de nombreux cryptographes conçoivent de nouveaux algorithmes pour se préparer à une époque où l'informatique quantique deviendra une menace. Ce travail a suscité une plus grande attention de la part des universitaires et de l'industrie grâce à la série de conférences PQCrypto depuis 2006 et plus récemment par plusieurs ateliers sur la cryptographie quantique sûre organisés par l'Institut européen des normes de télécommunications (ETSI) et l'Institute for Quantum Computing (en)[23],[24]. Contrairement à la menace que représente l'informatique quantique pour les algorithmes à clé publique actuels[Quand ?], la plupart des algorithmes cryptographiques symétriques actuels et des fonctions de hachage sont considérés comme relativement sûrs contre les attaques des ordinateurs quantiques. Bien que l'algorithme quantique de Grover accélère les attaques contre les chiffrements symétriques, doubler la taille de la clé peut bloquer efficacement ces attaques[25]. Ainsi, la cryptographie symétrique post-quantique n'a pas besoin de différer significativement de la cryptographie symétrique actuelle[Quand ?]. AlgorithmesLa recherche en cryptographie post-quantique se concentre principalement sur cinq approches différentes : Cryptographie basée sur les réseauxCette approche comprend des systèmes cryptographiques tels que Ring learning with errors (ring-LWE)[26], les anciens schémas de chiffrement NTRU et la nouvelle signature NTRU et signatures BLISS[26]. Certains de ces schémas, comme le chiffrement NTRU, ont été étudiés pendant de nombreuses années sans que personne trouve d'attaque réalisable. D'autres, comme les algorithmes ring-LWE, ont des preuves que leur sécurité se réduit à un problème dans le pire des cas. Le groupe d'étude sur la cryptographie post-quantique parrainé par la Commission européenne a suggéré que la variante Stehle – Steinfeld de NTRU soit étudiée pour la normalisation plutôt que l'algorithme NTRU. À cette époque, NTRU était encore breveté. Des études ont indiqué que NTRU peut avoir des propriétés plus sûres que d'autres algorithmes basés sur les réseaux. Cryptographie multivariéeCela inclut les systèmes cryptographiques tels que le schéma Rainbow (Unbalanced Oil and Vinegar) qui est basé sur la difficulté de résoudre des systèmes d'équations multivariées. Diverses tentatives pour construire des schémas de chiffrement d'équations multivariées sécurisés ont échoué. Cependant, des schémas de signature multivariés comme Rainbow pourraient fournir la base d'une signature numérique sécurisée quantique. De nos jours, il existe de nouveaux types d'attaques de récupération de clé contre le schéma de signature Rainbow. Les nouvelles attaques surpassent les attaques précédemment connues pour tous les ensembles de paramètres soumis au NIST et rendent pratique la récupération de clé pour les paramètres SL 1. Concrètement, étant donné une clé publique Rainbow pour les paramètres SL 1 de la soumission du second tour. Elle renvoie la clé secrète correspondante après en moyenne 53 heures (un week-end) de temps de calcul sur un ordinateur portable standard[27]. Cryptographie basée sur le hachageCela inclut les systèmes cryptographiques tels que les signatures Lamport, le schéma de signature Merkle, XMSS[28], SPHINCS[29] et les schémas WOTS. Les signatures numériques basées sur le hachage ont été inventées à la fin des années 1970 par Ralph Merkle et ont été étudiées depuis comme une alternative intéressante aux signatures numériques basées sur la théorie des nombres comme RSA et DSA. Leur principal inconvénient est que pour toute clé publique basée sur le hachage, il existe une limite au nombre de signatures pouvant être signées à l'aide de l'ensemble de clés privées correspondant. Ce fait avait réduit l'intérêt pour ces signatures jusqu'à ce que l'intérêt soit ravivé en raison du désir d'une cryptographie résistante aux attaques des ordinateurs quantiques. Il ne semble pas y avoir de brevets sur le schéma de signature Merkle et il existe de nombreuses fonctions de hachage non brevetées qui pourraient être utilisées avec ces schémas. Le schéma de signature basé sur le hachage avec état XMSS développé par une équipe de chercheurs sous la direction de Johannes Buchmann est décrit dans la RFC 8391[30]. Notez que tous les schémas ci-dessus sont des signatures uniques ou limitées dans le temps, Moni Naor et Moti Yung ont inventé le hachage UOWHF en 1989 et a conçu une signature basée sur le hachage (le schéma Naor-Yung)[31] qui peut être utilisée pour une durée illimitée (la première signature de ce type qui ne nécessite pas de propriétés de trappe). Cryptographie basée sur les codesCela inclut les systèmes cryptographiques qui reposent sur des codes correcteur d'erreurs, tels que les algorithmes de chiffrement McEliece et Niederreiter et le schéma de signature Courtois, Finiasz et Sendrier associé. La signature McEliece originale utilisant des codes Goppa aléatoires a résisté à un examen minutieux pendant plus de 40 ans. Cependant, de nombreuses variantes du schéma McEliece, qui cherchent à introduire plus de structure dans le code utilisé afin de réduire la taille des clés, se sont révélées peu sûres[32]. Le groupe d'étude sur la cryptographie post-quantique parrainé par la Commission européenne a recommandé le système de chiffrement à clé publique McEliece comme candidat pour une protection à long terme contre les attaques des ordinateurs quantiques. Cryptographie basée sur les isogéniesLa cryptographie basée sur les isogénies ou sur les courbes elliptiques (en anglais, elliptic curve cryptography ou ECC) regroupe un ensemble de techniques cryptographiques qui utilisent une ou plusieurs propriétés des courbes elliptiques, ou plus généralement d'une variété abélienne. L'usage des courbes elliptiques en cryptographie a été suggéré, de manière indépendante, par Neal Koblitz et Victor S. Miller en 1985. L'utilisation de ces propriétés permet d'améliorer les primitives cryptographiques existantes, par exemple en réduisant la taille des clés cryptographiques, ou de construire de nouvelles primitives cryptographiques qui n'étaient pas connues auparavant. Notes et référencesNotes(en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « History of cryptography » (voir la liste des auteurs).
Références
AnnexesBibliographie
Articles connexesLiens externes
Des articles publiés par Bletchley Park sur Enigma et Lorenz
|