cryptographie
Ensemble des techniques de chiffrement qui assurent l'inviolabilité de textes et, en informatique, de données.
Principes généraux
Un système de cryptographie adopte des règles qui définissent la manière dont les données sont encryptées ou décryptées. On distingue les techniques sans clé et celle à une ou deux clés. Une clé est une suite de bits qui sert au chiffrement et au déchiffrement des données. La clé est souvent produite à partir d'un mot (ou d'une phrase) de passe. Un algorithme qui n'utilise pas de clé n'offre une sécurité que tant qu'il demeure secret. Dans une méthode à base de clé, la protection ne dépend pas de l'algorithme de chiffrement, qui peut être largement divulgué, mais de la confidentialité de la clé. Les systèmes n'ayant qu'une seule clé s'en servent pour les deux sens, tandis que ceux qui en ont deux utilisent l'une, dite clé publique, au chiffrement et l'autre, dite clé révélée, au déchiffrement.
Historique
La cryptographie était déjà utilisée dans l'Antiquité romaine : Jules César la pratiquait dans certains messages en décalant chaque lettre de quatre rangs par rapport à sa place dans l'alphabet. Les premiers traités de chiffrement combinatoire remontent au ixe s. et sont l'œuvre du philosophe et savant arabe al-Kindi. Après lui, les hommes de la Renaissance ont poursuivi l'étude de cet art du message secret, dont l'intérêt politique ne leur avait pas échappé. Mais il a fallu attendre la Seconde Guerre mondiale pour que la cryptographie accède à une autre dimension. Pour garantir le secret des messages signalant la position de ses sous-marins, l'Allemagne nazie avait mis au point la machine de cryptage Enigma. Dans un message codé, le chiffrement d'une lettre n'était pas fixe, mais suivait une loi de fluctuation dont les combinaisons étaient si nombreuses qu'elle décourageait toute tentative de décryptage. Pour pallier cet obstacle, les Alliés firent appel à des mathématiciens (dont Alan Turing) pour construire des machines capables de suivre automatiquement les variations de ces codes. Ce travail eut pour conséquence inattendue de contribuer à la naissance de l'ordinateur.
Plus récemment, l'expansion considérable des réseaux a conduit la cryptographie à sortir du champ strictement militaire ou diplomatique. Afin de garantir la confidentialité des messages et de conditionner l'accès à certaines informations circulant sur les réseaux, les informaticiens ont développé des techniques de cryptage utilisant des théories mathématiques sophistiquées. Aujourd'hui, le développement du commerce électronique conduit même à une légalisation de la cryptographie privée.
Les principales techniques
Selon le concept et le mode de fonctionnement mis en œuvre, les systèmes de cryptographie modernes relèvent de deux grandes techniques : la cryptographie à clé secrète (ou privée) et la cryptographie à clé publique (ou à double clé). Il faut y ajouter la cryptographie quantique, à la pointe des recherches menées pour accroître encore la sécurité.
La cryptographie à clé secrète
Dans cette technique, la clé qui sert au cryptage des informations par l'expéditeur d'un message est identique à celle qui permet leur décryptage par le destinataire. L'algorithme de chiffrement à clé secrète le plus répandu est le DES (sigle de l'anglais Data Encryption Standard). Développé en 1976, par une équipe d'IBM, pour le National Bureau of Standards, il a été adopté à cette époque comme standard de chiffrement aux États-Unis et certaines de ses variantes restent largement utilisées, notamment dans le secteur bancaire (cartes de crédit). Son principal avantage est une vitesse de chiffrement et de déchiffrement très élevée. Mais le fait que l'expéditeur et le destinataire utilisent la même clé n'est pas sans risque ; ils doivent en effet se la communiquer à un moment ou à un autre, et son interception par un tiers est toujours possible.
La cryptographie à clé publique
Dans cette technique, la clé qui sert à chiffrer le message diffère de celle utilisée pour son déchiffrement. Le logiciel de cryptage d'un utilisateur génère ainsi deux clés distinctes. La première, dite clé publique, est publiée dans un annuaire accessible à tous sur Internet. La seconde, dite clé privée, est gardée secrète. L'expéditeur d'un message doit au préalable consulter l'annuaire en ligne pour y trouver la clé publique associée au destinataire. Il l'utilise ensuite pour crypter son message. Le destinataire ne peut décrypter le message qu'à l'aide de la clé qu'il a tenue secrète. Le cryptage est dit asymétrique, car l'expéditeur lui-même n'est pas en mesure de décrypter son message, une fois celui-ci codé.
L'algorithme de chiffrement à clé publique le plus répandu est RSA, ainsi nommé d'après les initiales des noms des trois chercheurs du Massachusetts Institute of Technology qui l'ont mis au point en 1977, Ronald Rivest, Adi Shamir et Len Adleman. Sa fiabilité tient à la difficulté qu'éprouvent les mathématiciens à factoriser les très grands nombres premiers : s'il est facile, à l'aide d'un ordinateur, de faire le produit de deux nombres premiers de plus de cent chiffres, il est en revanche extrêmement compliqué, à partir du résultat du produit, de trouver les deux facteurs qui en sont à l'origine. RSA tire parti de cette difficulté : un texte est codé en fonction d'un certain nombre n, connu de tous (clé publique), composé de deux entiers premiers p et q que tout le monde ignore à l'exception du destinataire (clé privée), et qui lui permettent de décoder le message. Si n est un nombre assez grand, le système est pratiquement inviolable, compte tenu du temps nécessaire aux machines les plus puissantes pour retrouver p et q. À l'heure actuelle, lorsque la clé a une longueur d'au moins 1 024 bits, le système est considéré comme sûr.
L'algorithme RSA est utilisé aujourd'hui dans une large variété d'appareils pour le chiffrement des communications et dans le cadre de la signature numérique, car il dispose d'une fonction d'authentification de l'émetteur du message. Il a toutefois l'inconvénient d'être 500 fois plus lent que le système DES. Aussi, pour l'envoi de messages confidentiels longs, recourt-on fréquemment à une méthode mixte alliant la sécurité de la cryptographie à clé publique à la rapidité de la cryptographie à clé secrète. La plus connue de ces méthodes est PGP (sigle de l'anglais Pretty Good Privacy), inventée en 1992 par l'Américain Phil Zimmermann.
La cryptographie quantique
Sur le réseau Internet, ni la cryptographie à clé publique, ni celle à clé secrète ne permettent de savoir si le message chiffré émis n'a pas été intercepté par une personne autre que le destinataire. Cet inconvénient disparaît avec la cryptographie quantique. Celle-ci s'appuie sur la physique quantique, d'où son nom. Plus précisément, elle tire parti du principe d'incertitude de Heisenberg, selon lequel le seul fait de mesurer un système quantique suffit à perturber ce dernier.
Dans la cryptographie quantique, on transmet des impulsions lumineuses, par l'intermédiaire de fibres optiques. Le texte du message codé sous forme de bits est représenté par un ensemble de photons dont l'état quantique correspond à la valeur de ses bits. Si, lors de la transmission, un intrus agit sur l'un des photons, il en détruit la polarisation, de sorte que l'expéditeur et le destinataire s'en aperçoivent immédiatement.
Cette technique permet donc l'échange d'informations confidentielles, notamment celui de la clé de codage employée dans un système à clé publique. Elle se heurte toutefois à un problème important, celui de l'atténuation progressive du flux de photons le long des fibres optiques par lesquelles ils transitent. Au-delà de quelques kilomètres, la cryptographie quantique devient inopérante.