Ce livre est l’ultime ouvrage d’Hervé Lehning, auteur prolifique et à succès d’une œuvre de diffusion de la culture mathématique. Mathématicien passionné de cryptologie, il se fait aussi historien et offre ici une présentation vivante et pédagogique des systèmes de chiffrement à travers les âges : de l’Antiquité, déjà prompte à élaborer des procédés de dissimulation d’informations militaires ou commerciales, au monde moderne où règnent informatique et algorithmes. Autant art que science, quelque part entre culte du secret et mathématiques de la sécurité, la cryptologie est aussi vieille que l’écriture. Eternelle lutte entre chiffreurs et décrypteurs, c’est une incessante course aux armements entre ses deux branches : la cryptographie, qui s’emploie à créer des méthodes de chiffrement et la cryptanalyse, qui s’échine à en venir à bout.

Le sujet se montre volontiers intrigant, voire fascinant, par sa nature secrète, son passé, ses enjeux ; en même temps, il devient rapidement intimidant dès qu’on fait face à sa sophistication technique et à un champ des possibles qui semble sans limites. Destiné à une large audience, richement illustré de dispositifs et documents anciens, l’ouvrage est donc le bienvenu et propose une initiation très réussie à un domaine potentiellement aride. La démarche adoptée permet de rendre accessibles au plus grand nombre des aspects historiques longtemps occultés par les autorités ou réservés aux initiés, et de donner les bases techniques pour comprendre le fonctionnement des codes secrets. Elle évite le piège d’un exposé répétitif et rébarbatif en alternant différents angles et niveaux de présentation :

  • une histoire de la cryptologie à travers les siècles, avec de nombreuses anecdotes, à la fois de succès et d’échecs,
  • l’explication des procédés de base et des fondements théoriques de la cryptologie moderne, du chiffre de César à la cryptographie quantique, en passant par la méthode des fréquences, celles du mot probable et des coïncidences,
  • de petites parenthèses sous forme d’énigmes à résoudre, disséminées tout au long de l’ouvrage (solutions disponibles à la fin !). Un moyen ludique de se confronter au concret et d’assimiler les concepts.

Au fil des âges et usages

Déjà présente dans les hiéroglyphes égyptiens ou les écrits cunéiformes en Mésopotamie, la cryptographie est à l’origine pour une large part au service d’affaires militaires et diplomatiques. Armes de la guerre secrète, mais aussi des joutes amoureuses, les échanges codés n’ont pas été l’apanage des seuls militaires et puissants de ce monde. Par nature, les sociétés secrètes comme les Templiers et les francs-maçons s’en sont évidemment montrées adeptes, mais sans doute autant comme démonstration d’appartenance à un groupe et à une élite, que comme moyen de dissimulation. Le plus souvent basé sur une simple substitution entre l’alphabet et des symboles ésotériques, le procédé ne résiste en effet pas bien longtemps à une basique analyse fréquentielle[1]. Plus ou moins pratiqués selon les époques, les jargons et autres codes d’initiés, argotiques, corporatistes ou générationnels, restent toujours présents, du louchebem au verlan en passant par le javanais.

Beaucoup de codes (le morse, par exemple) n’ont pas davantage vocation à préserver la confidentialité, mais répondent à des besoins ou contraintes de transmission. Claude Shannon (1916-2001) lui-même déclarait que ses idées, durant la guerre, sur la théorie de l’information et la cryptographie se sont développées simultanément et qu’elles sont si proches qu’on ne peut les séparer[2]. Plus généralement, on retiendra que la naissance de l’ordinateur pendant la Seconde Guerre mondiale est indissociable des besoins de décryptage, tout particulièrement de la fameuse machine allemande Enigma. Et bien avant Shannon et Alan Turing (1912-1954), Charles Babbage (1791-1871), l’un des précurseurs de l’informatique avec sa formulation du principe d’un ordinateur, a apporté une contribution importante à la cryptanalyse (notamment en cassant le code de Vigenère[3]).

A l’ère du numérique, la cryptographie est dans notre quotidien à la fois omniprésente et presque invisible, et ne se limite plus à préserver la confidentialité des secrets. Il s’agit également d’assurer d’autres fonctions, comme garantir l’authenticité et l’intégrité d’un message. Selon Jacques Stern, grand nom du domaine, « la cryptologie n’est plus un moyen de donner un avantage stratégique à un Etat ou à une organisation, mais un ensemble de méthodes assurant la protection des échanges de chacun. Elle n’est plus seulement la science du secret, mais la science de la confiance »[4].

Les leçons de lHistoire

A la lumière de tant de siècles de pratique ressort un contraste flagrant entre une ingéniosité humaine sans bornes et une coupable propension à reproduire les mêmes erreurs. Pour reprendre les termes de l’auteur, « les méthodes changent, les erreurs restent ». L’une des plus communes consiste à ne chiffrer qu’une partie du message, en laissant en clair des passages jugés anodins. En réalité, l’expérience montre que la moindre parcelle d’information, sur le contexte, les mots probables, etc., est susceptible d’être exploitée ; et c’est tout l’édifice qui peut rapidement s’effondrer.

En regard de ce long cheminement, c’est finalement assez tardivement, en 1883, qu’est énoncé par Auguste Kerckhoffs (1835-1903) un principe fondamental de la cryptographie : pour un crypto-système la sécurité ne peut pas reposer sur le seul secret de la méthode de chiffrement (algorithme). Le système et sa sûreté doivent dépendre d’un paramètre secret facilement modifiable (clé). Dit autrement d’après une maxime de Shannon[5], mieux vaut partir de l’hypothèse que l’adversaire connaît le système.

Cela étant posé, comme dans beaucoup d’autres domaines d’application des mathématiques, l’écart entre théorie et pratique n’est pas toujours mince. Un théorème repose parfois sur des hypothèses strictes et l’invoquer en dehors de ces conditions est hasardeux. Le principe du « masque jetable », basé sur une clé de chiffrement aléatoire et à usage unique, a ainsi été régulièrement pris en défaut, bien que démontré inviolable[6]. C’est qu’il est tentant de réutiliser une clé et créer de l’aléatoire n’est pas si simple[7]

Des procédés éprouvés

Deux techniques fondamentales de chiffrement[8], la substitution et la transposition (ou permutation), ont été utilisées sous d’innombrables déclinaisons et superpositions.

Le chiffrement par substitution est pratiqué depuis bien longtemps : le chiffre de César utilisait une simple permutation circulaire des lettres de l’alphabet. Même généralisée à des symboles quelconques, la substitution mono-alphabétique se casse facilement par analyse fréquentielle. Pour brouiller les pistes, on peut adopter une substitution poly-alphabétique, par exemple coder non plus lettre à lettre, mais par groupe de 2, 3 ou plus.

Le chiffrement par transposition est également un procédé très ancien, reposant sur le principe de l’anagramme, c’est-à-dire une permutation des lettres du message. Contrairement au cas de la substitution, la fréquence des lettres n’est pas altérée et l’analyse fréquentielle n’apporte aucune aide pour le décryptage. Une approche plus avancée a émergé pour la cryptanalyse de chiffrements réalisés avec des substitutions et des transpositions : l’indice de coïncidence, établi à partir de la probabilité d’obtenir deux fois la même lettre en tirant au hasard deux lettres dans un texte.

Au-delà de l’analyse statistique, les mathématiques ont fourni de puissants outils, tant pour chiffrer les messages que pour percer leurs mystères. Assez tôt, les mathématiciens s’illustrent dans le domaine, Jérôme Cardan (1501-1576) et François Viète (1540-1603) notamment. Rien de surprenant si l’on songe qu’en mathématiques comme en cryptologie, la capacité à reconnaître des structures est d’une grande vertu.

Aujourd’hui, ces procédés ne présentent plus guère qu’un intérêt historique. Ils illustrent néanmoins le lien avec des concepts toujours plus variés et sophistiqués, en particulier ceux de l’algèbre modulaire (typiquement les entiers modulo 26, pour faire de l’arithmétique sur les lettres de l’alphabet), où se profile déjà la cryptographie moderne à base de groupes et de corps finis.

Lavènement de lordinateur

Dès le 16ème siècle, de nombreuses variantes à sécurité renforcée ont été imaginées dans le sillage du chiffre séminal de Vigenère (1523-1596), mais d’une utilisation contrariée et assez limitée tant qu’ont prévalu les procédés manuels, fastidieux et sources d’erreurs de codage. Si la recherche de moyens d’automatisation apparaît très tôt dans l’Histoire, l’élaboration de multiples dispositifs à base de roues dentées et autres cylindres reste cependant une affaire de mécanique opérée à la main pendant des siècles.

La mise au point de machines électromécaniques automatisées constitue la première rupture majeure dans la science du secret et l’art de la dissimulation savante. L’auteur consacre un chapitre entier à ces prémices de l’ère moderne et de l’avènement de l’ordinateur. Le sujet suscite d’ailleurs un certain attrait auprès du grand public, focalisé au tournant des années 2000 sur la machine Enigma utilisée par les Allemands pendant la Seconde Guerre mondiale. Son histoire défie les scénarios les plus romanesques et a nourri nombre d’œuvres de fiction. En 2014, le succès du film The Imitation Game a permis de populariser le génie et la destinée tragique de Turing, quitte à prendre quelques libertés avec l’Histoire. Passé à la moulinette hollywoodienne, le récit présente un peu rapidement comme seuls grands vainqueurs d’Enigma, l’usine à déchiffrer britannique de Bletchley Park[9] et le talent visionnaire de Turing. Avec une description détaillée du fonctionnement de l’appareil et de son décryptage par les Alliés, le livre ne recule pas devant un peu plus de subtilité : quelques négligences et trahisons du côté allemand, des prises de guerre, trois mathématiciens polonais et une dose de théorie des groupes, ont grandement contribué à venir à bout de l’engin[10].

A lheure dInternet

L’ère numérique a introduit une réalité entièrement nouvelle pour laquelle des techniques cryptographiques spécifiques ont dû être inventées. En particulier, l’arrivée d’Internet a nécessité un nouveau paradigme : comment protéger l’information circulant à travers un réseau composé d’une mosaïque de nœuds mondiaux, avec peu ou pas de prévisibilité sur le chemin suivi.

Au début, le problème a été résolu en chiffrant les données avec un algorithme de cryptage symétrique. De tels procédés ont été conçus dès le début des années 1900, en vue d’une utilisation pour des dispositifs électromécaniques. Même s’il est naturellement impossible de les exécuter manuellement, ces algorithmes, dont le standard DES et son successeur AES[11], restent fondamentalement les héritiers des chiffrements historiques évoqués précédemment. L’héritage véhicule aussi la faiblesse du chiffrement symétrique : c’est la même clé qui chiffre et déchiffre, il faut donc pouvoir la communiquer en toute sécurité au destinataire des messages chiffrés.

C’est au milieu des années 1970 qu’apparaît une rupture conceptuelle avec la mise au point d’un chiffrement asymétrique utilisant deux clés différentes pour chiffrer et déchiffrer. L’une est rendue publique, tandis que l’autre est tenue secrète. L’expéditeur utilise la clé publique du destinataire pour chiffrer son message et le destinataire utilise sa propre clé privée pour le déchiffrer. Le secret de la clé de chiffrement n’a pas lieu d’être préservé, car celle-ci n’est pas utilisée pour décrypter. Comparé à un chiffrement symétrique, le procédé est incomparablement mieux adapté aux opérations en ligne et l’algorithme RSA élaboré par Rivest, Shamir et Adleman reste aujourd’hui encore très utilisé dans de nombreux protocoles sécurisés sur Internet. Il requiert cependant une puissance de calcul beaucoup plus grande, qui augmente considérablement en fonction de la longueur du message. L’algorithme PGP (Pretty Good Privacy, introduit en 1991) évite cet écueil. Le message lui-même est soumis à un chiffrement symétrique et un chiffrement asymétrique est uniquement utilisé pour échanger la clé.

La cryptographie asymétrique est basée sur la notion de fonction à sens unique, c’est-à-dire facile à calculer mais difficile à inverser[12], dans la mesure où les connaissances et la puissance de calcul existantes ne permettent pas le calcul des antécédents d’un nombre en un temps raisonnable. La recherche de procédés encore plus sûrs que le RSA a conduit à identifier de telles fonctions et il est important de noter qu’on ne sait pas en général prouver qu’une fonction est difficile à inverser ; ce n’est pas parce qu’on ne connaît pas d’algorithme efficace qu’il n’en existe pas. Dans un style très didactique, le livre aborde le sujet en donnant un bon aperçu des principes de calcul du RSA et de l’utilisation de courbes elliptiques pour construire des structures algébriques plus abstraites que les nombres entiers, supports d’un chiffrement plus robuste.

Perspectives

Dans les dernières pages, l’ouvrage apporte sur les développements en cours et attendus de la discipline[13], un éclairage axé principalement sur la mise en œuvre de chiffrements « homomorphes » et sur les conséquences de l’arrivée d’une informatique quantique[14].

L’une des motivations premières de la cryptographie homomorphe est de disposer de procédés permettant de confier à un tiers des traitements sur des données confidentielles, sans lui donner à aucun moment accès aux données en clair. Autrement dit, si le client veut effectuer certains calculs sur ces données, il suffit qu’il demande au fournisseur d’effectuer les calculs sur les données chiffrées, le fournisseur transmet le résultat (qui est chiffré), le client le déchiffre et il obtient le résultat voulu (en clair). Généralement, pour effectuer un traitement sur des données chiffrées il faut commencer par les déchiffrer. Ce n’est donc pas le cas avec un chiffrement homomorphe, où il n’est pas besoin de déchiffrer les messages, ni donc de les connaître, pour effectuer des calculs : les algorithmes de traitement de données « passent à travers » la couche de chiffrement.

Naturellement, la difficulté est de mettre au jour de nouveaux principes de chiffrement qui non seulement commutent avec les traitements de données, mais conservent également un niveau d’inviolabilité acceptable. Aujourd’hui[15], le surcoût en temps de calcul reste encore d’un facteur mille, avec un niveau de sécurité comparable à celui des protocoles de cryptographie post-quantique en cours de déploiement pour prévenir la menace inhérente aux processeurs quantiques émergents.

A nouveau, la cryptologie se trouve en effet mêlée aux premiers pas d’une rupture technologique qui se profile dans les moyens de calcul et de communication. L’élaboration des premiers algorithmes quantiques a conduit en particulier aux résultats spectaculaires agencés dès 1994 par Peter Shor sur la factorisation des grands nombres entiers et le logarithme discret. Problèmes ardus sur lesquels reposent actuellement la majeure partie de la cryptographie asymétrique et la sécurité de nos infrastructures informatiques (sites web sécurisés, gestion des identités, blockchains, etc.). L’algorithme de Shor nécessite un ordinateur quantique d’environ 8 000 qubits pour factoriser une clé RSA de 4 096 bits et ne présente probablement pas un grand danger à court terme. Cependant, la menace d’avancées rapides dans la construction de machines quantiques a poussé les cryptographes à développer des crypto-systèmes asymétriques résistants[16].

La cryptographie quantique, quant à elle, a peu à voir avec l’ordinateur quantique proprement dit. A la différence de la cryptographie classique, il ne s’agit pas de baser la sécurité sur la résolution réputée difficile de problèmes mathématiques, mais d’exploiter les lois physiques de la mécanique quantique. Le recours à ces propriétés est par exemple utilisé au moment de l’échange de clés : ce n’est pas le chiffrement qui est quantique, mais le partage des clés. La perspective d’échanges de clés sans violation possible redonne ainsi un second souffle au chiffrement symétrique, peu exposé aux attaques quantiques.

Comme l’auteur le disait lui-même, l’histoire de la cryptologie est « celle du combat sans merci entre ceux qui ont quelque chose à cacher et ceux qui aimeraient bien découvrir ce quon leur cache ». La lutte continue de plus belle.

 

Mots-clés : Cryptologie – Cryptographie – Cryptanalyse – Codes secrets – Histoire des sciences et techniques

 

Cet article a été initialement publié le 6 novembre 2023.

 

* « La bible des codes secrets » d’Hervé Lehning, aux éditions Flammarion


[1] Rapprochement entre les fréquences d’apparition des symboles dans un texte suffisamment long et celles des lettres dans la langue du message. En français, si la lettre C est par exemple la plus fréquente dans le message chiffré, il y a de fortes chances qu’elle se substitue au E.

[2] Voir l’article de Jon D. Paul paru sur www.variances.eu le 10/4/2017.

[3] Consiste à changer de substitution selon la position de la lettre dans le message, en suivant un mot-clé.

[4] Dans le journal Le Monde du 12/9/2000.

[5] Voir l’article de Claude Shannon,  Communication Theory of Secrecy SystemsBell System Technical Journal 28 (1949).

[6] Ibid.

[7] Pour illustrer ce point, on peut se référer à l’article publié dans Le Monde le 4/6/2014 : « Le hasard, arme contre les pirates numériques ».

[8] Il existe aussi un procédé très ancien d’un esprit un peu différent, la stéganographie. On y cache le message dans un décorum, sans le chiffrer à proprement parler, de façon à ne pas éveiller les soupçons lors de sa transmission.

[9] Une lecture hautement recommandée pour les matheux cinéphiles (et réciproquement) : Jérôme Cottanceau, Les maths font leur cinéma, Dunod 2021.

[10] Voir « Des mathématiciens polonais à l’assaut de la machine Enigma », article très documenté de Philippe Guillot dans les numéros 98 et 99 de la revue Quadrature.

[11] Respectivement Data et Advanced Encryption Standard.

[12] Les deux exemples typiques des protocoles modernes sont la factorisation des grands nombres et le logarithme discret. Dans le premier cas, il s’agit de retrouver les nombres premiers p et q en ne connaissant que leur produit n=pq. Le second est l’inverse d’une exponentielle dans un groupe fini comme (\mathbb{Z}/p\mathbb{Z}, x).

[13] Cf. par exemple : https://variances.eu/?p=3942 et https://variances.eu/?p=1984.

[14] Pour une introduction : https://variances.eu/?p=6980 et https://variances.eu/?p=6905.

[15] Voir dernièrement dans le journal Le Monde du 4/1/2023 : « Les promesses du chiffrement homomorphe pour traiter les données privées ».

[16] Aussi, certaines données peuvent rester sensibles pendant des décennies et être détournées et stockées aujourd’hui en vue de la disponibilité de moyens de décryptage dans le futur (risque de « Harvest now and decrypt later »).

Olivier Thöni