L'aventure des codes secrets
par Paul Loubière

Longtemps réservés aux militaires et aux espions, les codes secrets étaient tenus pour amusettes par les mathématiciens. Aujourd'hui l'art du chiffrement a fait des progrès considérables et les codes sont partout. Au point peut-être de bouleverser la vie sociale.

Dormez tranquille, votre argent est bien gardé... Le chien de garde s'appelle DES, sigle de Data Enscryption standard, un système de chiffrement mis au point par IBM pour le gouvernement fédéral americain et considéré comme totalement inviolable... jusqu'à aujourd'hui. Il est en effet possible d'imaginer qu'un groupe peu scrupuleux arrive à "casser le système de codage utilisé par les banques, et dont les possesseurs de cartes bancaires se servent (la plupart du temps sans le savoir) toutes les fois qu'ils tapent leur code. Qu'une telle éventualité se produise, et le système bancaire international s'effondrerait en l'espace de quelques heures. Les comptes des particuliers seraient allègrement pillés : il suffirait de fabriquer des milliers de fausses cartes bancaires avec de vrais numéros de compte pour se servir dans les différents distributeurs. Les sociétés ne seraient évidemment pas à l'abri : des ordres de virements fantaisistes pourraient passer les barrières électroniques et transvaser des sommes considérables... Plus grave encore, la mise à feu de certaines armes nucléaires repose sur ce fameux DES. Simple vue de l'esprit ? Pas tout à fait. D'ores et déjà, la chasse au code, le sport préféré des hackers, les pirates informatiques, coûte plus de cinquante milliards de francs par an à l'industrie des télécommunications. Côté sécurité, le marché du code secret, selon la Business Software Alliance (BSA), devrait atteindre les 5 millards de francs dès 1997.
Cette frénésie cryptologique n'est évidemment pas sans conséquences sur la vie sociale. "Les développements du chiffrement vont complètement modifier la nature des restrictions imposées par les gouvernements, ils empêcheront la mise en place de taxes et de contrôle sur les échanges économiques, écrit Timothy May's dans The Crypto-Anarchist Manifesto, un texte devenu une référence et publié sur les réseaux. Tout comme l'imprimerie a réduit l'influence des guildes du Moyen Age et modifié la structure du pouvoir, les méthodes du chiffrement bouleverseront la nature des corporations et les interférences du gouvernement avec l'économie."
Pourtant, les spécialistes sont formels : il faudrait des centaines d'années à des centaines d'informaticiens chevronnés travaillant sur des centaines de supercalculateurs pour arriver à casser le DES. A moins d'une chance inouïe, dont la probabilité est inferieure à celle de gagner le gros lot du Loto à chaque tirage pandant un milliard d'années !
Cette assurance des spécialistes de la sécurité s'explique par les gigantesques progrès réalisés dans le codage par chiffres depuis une trentaine d'années. A l'origine, les histoires de codes secrets concernaient surtout les militaires, les agents de renseignements et les diplomates. Aujourd'hui, les consommateurs de codes secrets ont radicalement changé. Ce sont d'abord les informaticiens, les banques, les compagnies de télécommunications et toutes les entreprises qui tiennent à assurer un minimum de confidentialité à leurs données. Depuis quelques années, le grand public, à son tour, est atteint de "cryptomania", surtout depuis que le fameux PGP, un code secret réputé incassable, est disponible gratuitement sur internet. Mais, les aventures des codes secrets concernent aussi des domaines qui n'ont a priori rien à voir avec les exigences habituelles de sécurité. La cryptanalyse (la science du déchiffrement), par exemple, a envahi de nouveaux domaines : la génétique, la reconnaissance des formes, etc.
Sur le plan théorique, les codes secrets ont longtemps été considérés comme une amusette indigne de retenir l'attention des mathématiciens sérieux. Peu à peu, pourtant, les mathématiciens se sont rendu compte que le chiffrement relevait de la théorie des nombres et que les exigences de la cryptanalyse avaient apporté des progrès considérables, notamment dans le calcul des très grands nombres premiers (composés de plus d'une centaine de chiffres!). Le principe d'un code est relativement simple : il s'agit de remplacer un ensemble de signes par un autre. Les enfants, par exemple, changent a par 1, b par 2, etc. Pour rendre le chiffrement plus difficile, on utilise un système de permutation plus complexe, inspiré des fonctions mathématiques. Il suffit alors d'associer une valeur numérique à toutes les lettres de l'alphabet puis de leur appliquer une fonction quelconque, par exemple, le fameux polynôme ax²+bx+c qu'on étudie au collège. Pour chiffrer le message, il faut appliquer la fonction à chacune des lettres. A l'arrivée, on déchiffre en appliquant la fonction réciproque.
Dans ces systèmes, deux éléments sont indispensables pour chiffrer ou déchiffrer, l'algorithme lui-même : ax²+bx+c et, surtout, les valeurs numériques de a, b et c qui constituent les clés de l'algorithme. Avec les moyens informatiques modernes, un algorithme aussi simple serait cassé en un rien de temps. Pour compliquer les choses, on utilise des fonctions très élaborées, mélangeant des logarithmes, des sinus, des très grands nombres, etc.
Les spécialistes du chiffre utilisent la plupart du temps des codes à une seule clé (sauf le fameux PGP de Philipp Zimmermann) fondés sur des algorithmes comme DES, Triple DES, Lucifer, Loki et Skipjack. Ce dernier est l'objet d'une controverse de grande ampleur : le gouvernement américain, inquiet de l'utilisation de plus en plus massive de codes secrets qu'il est impuissant à casser, cherche à imposer une puce baptisée Clipper, qui coderait les messages transitants par les téléphones numériques ou les réseaux informatiques avec Skipjack. Mais la puce transmet en même temps la clé de l'utilisateur, codée par la police fédérale. An cas de besoin, le gouvernement, et, théoriquement, seulement lui, peut "écouter" et déchiffrer les messages...
Ces systèmes sont-ils vraiment fiables ? Pour casser un code, il faut essayer systématiquement toutes les valeurs numériques possibles, lesquelles se comptent en millions de milliards, voire en milliards de milliards : 10^17 pour DES, 10^24 pour Skipjack! "Un supercalculateur, spécialement conçu pour cette tâche, pourrait peut-être y arriver en une année, reconnaît Dorothy denning, une chiffreuse travaillant pour le Pentagone, mais il coûterait près de 10 milliards de francs!". Pour parer à cette éventualité, les chiffreurs ont mis au point un algorithme à clés aléatoires : chaque lettre reçoit une clé différente, distribuée au hasard. Ainsi équipé, le DES est en principe incassable.
Enfin, pour faire voyager ces informations secrètement, il est habituel de les dissimuler dans une image. Concrètement, une image informatique est transformée en une suite de chiffres. Si l'on visionne l'image, la déformation est imperceptible à l'oeil nu. Le message est ainsi invisible. Mieux que l'encre sympathique...

Texte paru dans Sciences et Avenir