Dans un monde de plus en plus connecté, la plupart des transactions financières, des communications, et des contrats se font à travers des applications électroniques à distance. En parallèle, les tentatives d’intrusion dans les serveurs et les systèmes informatiques sont de plus en plus sophistiquées. Pour pallier aux problèmes liés à la sécurité des communications, du stockage des données sensibles, et du renforcement de la cybersécurité, la cryptographie est utilisée pour garantir leur confidentialité, leur intégrité, leur disponibilité, et leur traçabilité. Cet article donne un aperçu de l’histoire de la cryptographie, de ses différents types, de ses services, et de ses applications.
Introduction
Dans la même matinée, Laila a téléphoné à l’école de son enfant, s’est connectée au site de sa banque, a effectué un achat en ligne, a scanné puis envoyé son extrait d’acte de naissance par messagerie électronique à son employeur, a payé des courses avec sa carte bancaire, a consulté son bulletin de paye en ligne, et enfin, a regardé son émission préférée sur sa chaîne payante. Sans le savoir, Laila a utilisé autant de fois un service cryptographique que d’actions électroniques effectuées.
Tout le monde utilise Internet, le téléphone portable, le cloud, les connexions à distance aux banques, aux plateformes, et aux sites de vente en ligne, sans jamais se poser de questions sur les moyens mis en œuvre pour sécuriser tous ces objets connectés. La réponse est toute simple : c’est la cryptologie.
La cryptologie est composée de deux techniques, la cryptographie et la cryptanalyse. La cryptographie est l’ensemble des outils mathématiques, informatiques et techniques mis en œuvre pour sécuriser l’information, et la cryptanalyse est l’ensemble des méthodes algébriques et techniques qui permettent de chercher les vulnérabilités des systèmes cryptographiques.
Dans un monde basé sur les technologies nouvelles, de plus en plus d’informations sont communiquées et enregistrées sous forme électronique. La cryptographie est l’outil adéquat pour garantir la sécurité et l’intégrité des systèmes informatiques. Elle est utilisée dans les communications, dans les transferts bancaires, dans les achats en ligne, dans les connexions aux serveurs distants, dans le cloud, dans le stockage d’informations sensibles, dans la cybersécurité, et dans toute application électronique nécessitant un degré important de sécurité. Ainsi, la cryptographie joue un rôle essentiel dans notre vie quotidienne pour sécuriser les transactions, les communications privées, et les bases de données.
Le but de la cryptographie est l’étude des moyens possibles pour transmettre des messages de façon inintelligible, ou chiffrée. Le mot cryptographie tient sa définition de deux mots grecs : « kryptos » qui signifie cacher, et « graphein » qui signifie écrire. Ainsi, la cryptographie désigne littéralement « l’écriture cachée ». En langue arabe, la cryptographie est souvent désignée par « Attaamya » (التعمية) ou par « Attachfyr » (التشفير). Le processus de rendre un texte inintelligible est appelé chiffrement. Ce mot dérive de l’arabe « cipher » (صفر) [1]. Le processus inverse est désigné par le mot déchiffrement.
Les deux types de la cryptographie
Scientifiquement, la cryptographie est formée de deux grandes familles : la famille des systèmes symétriques, et la famille des systèmes asymétriques.
La cryptographie symétrique. Dans ce type de cryptographie, appelée aussi cryptographie à clé secrète, le chiffrement se fait à l’aide d’une clé numérique, et le déchiffrement se fait à l’aide de la même clé. La clé commune entre la partie qui chiffre et la partie qui déchiffre doit être secrète, et partagée au préalable par un moyen de transmission sécurisé. Le système le plus répandu et le plus utilisé dans cette famille est le système Advanced Encryption Standard (AES), standardisé par l’agence américaine de cryptographie National Institute of Standards and Technology (NIST).
La cryptographie symétrique
La cryptographie asymétrique. Dans cette famille, appelée aussi cryptographie à clé publique, le chiffrement se fait à l’aide d’une clé numérique publique, et le déchiffrement se fait à l’aide d’une clé privée. Les deux clés sont différentes mais liées par une formule mathématique. La clé privée ne doit être connu que par le destinataire du message chiffré. Les systèmes les plus répandus et les plus utilisés dans la cryptographie asymétrique sont les systèmes de Rivest, Shamir et Adleman (RSA, 1978) pour le chiffrement, et Digital Signature Algorithm (DSA, 1991) pour la signature.
La cryptographie asymétrique
Il y a de nombreux avantages à utiliser la cryptographie dans la vie quotidienne. Elle permet d’assurer les services suivants :
La confidentialité :c’est l’action qui consiste à conserver le caractère privé et confidentiel d’une information, qui n’est accessible qu’aux utilisateurs auxquels elle est destinée. Ainsi, un message chiffré ne doit être compréhensible que par son destinataire légitime, même s’il a été intercepté par un adversaire.
L’intégrité : c’est l’action qui consiste à conserver l’intégrité d’une information chiffrée enregistrée ou transmise contre toute tentative de modification. Ainsi, un message chiffré et transmis doit être reçu et déchiffré par le destinataire et être conforme au message original. Le service de l’intégrité assure que toute modification sera détectée.
L’authentification : c’est l’action qui consiste à certifier au destinataire que l’information chiffrée qu’il a reçue provient bien du bon expéditeur. Ainsi, toute falsification d’identité est facilement détectée.
La non-répudiation : c’est l’action qui certifie que l’expéditeur ne peut pas nier être à l’origine du message chiffré reçu par le destinataire. Ainsi, un document signé électroniquement porte bien la signature de son expéditeur, et celui-ci ne pourra pas revenir sur sa signature.
III. L’histoire de la cryptographie
Historiquement, la cryptographie peut être partagée en trois catégories selon les époques : la cryptographie ancienne, la cryptographie moderne, et la cryptographie post-quantique.
La cryptographie ancienne.
L’origine de la cryptographie remonte aux premières écritures, ou seuls un certain nombre de personnes pouvaient lire et écrire. Les caractères hiéroglyphes, parus en Égypte vers 2000 avant JC peuvent être considérés comme les premières utilisations de la cryptographie.
Des tablettes d’argiles découvertes en Mésopotamie datant de 1900 avant J.-C. servaient aussi pour l’écriture.
Vers 600 avant J.-C., les Spartiates utilisaient une scytale, qui a la forme d’un cylindre, sur lequel était enroulé un ruban pour écrire les textes. Une fois déroulé, le ruban représentait un texte chiffré, qui sera déchiffré en l’enroulant sur une scytale de même diamètre.
Vers 60 avant JC, César envoyait ses ordres à ses généraux en utilisant l’alphabet latin, en décalant les lettres de 3 positions vers la droite, comme illustré dans la table ci-dessous.
Caractère
A
B
C
D
…
W
X
Y
Z
Chiffrement
D
E
F
G
…
Z
A
B
C
Le code de César
Pour déchiffrer le code de César, il suffisait de réaliser un décalage de trois positions vers la gauche.
Le code de César est resté le principal outil de chiffrement jusqu’aux années 850 et l’apparition de la méthode de cryptanalyse basée sur l’analyse fréquentielle, formalisée par le mathématicien et philosophe arabe Al-Kindi (أبو يوسف يعقوب بن إسحاق الكندي). En effet, dans toutes les langues, certains caractères sont plus utilisés que d’autres. Ainsi, en français moderne, la lettre la plus fréquente est E, suivie de G, puis de I. Ce principe donne une indication comment déchiffrer la lettre la plus présente dans un texte chiffré, et ainsi déterminer la règle de décalage, ce qui facilite le déchiffrement pour toute personne non autorisée.
Pour contourner la méthode de la cryptanalyse basée sur l’analyse fréquentielle, d’autres systèmes ont été inventés, en particulier le système proposé en 1586 par Vigenère. Le système de Vigenère résista à la cryptanalyse jusqu’à ce que Charles Babbage découvrit un moyen de le casser en 1856.
A partir de 1917, les Allemands inventèrent des machines à rotors, avec comme produit phare la machine Enigma, qui a résisté à des années de cryptanalyse intensive et qui a joué un rôle important dans la transmission des informations pendant la seconde guerre mondiale. Ce n’est qu’en 1944 qu’une équipe Britannique, dirigée par Alan Turing, a réussi à déchiffrer les messages produits par Enigma. L’histoire d’Enigma et d’Alan Turing fût mise en scène dans un film a succès, The imitation game.
La cryptographie moderne.
La cryptographie moderne a réellement commencée en 1970 avec l’invention par IBM du système
de chiffrement symétrique nommé Data Encryption Standard (DES). Ce système a été adopté par le NIST entre 1970 et 2000. Il a été remplacé en 2001 par le système Advanced Encryption Standard (AES), qui est encore la référence de la cryptographie symétrique.
Une grande avancée en cryptographie a été réalisée en 1976 par l’invention du principe de la cryptographie à clé publique, appelée aussi cryptographie asymétrique, par Whitfield Diffie, Martin Hellman et Ralph Merkle. Diffie et Hellman ont présenté un algorithme pratique, connu sous le nom de protocole de Diffie-Hellman, qui permet à deux personnes physiquement éloignées d’échanger une clé secrète de façon sécurisée.
Malgré l’invention de la cryptographie à clé publique, Whitfield Diffie, Martin Hellman et Ralph Merkle n’ont pas présenté de système de chiffrement pratique. Ce n’est qu’en 1978, deux ans plus tard, que Ron Rivest, Adi Shamir and Leonard Adleman ont présenté le système RSA, le premier exemple de système asymétrique. Ce système est basé sur un problème difficile appelé le problème de la factorisation des grands nombres. Il est encore utilisé dans la plupart des applications utilisant la cryptographie, et le restera jusqu’aux années 2030.
En 1985, Neal Koblitz et Victor S. Miller inventèrent, de façon indépendan te, le principe de la cryptographie basée sur l’arithmétique des courbes elliptiques, connue sous le nom de Elliptic Curve Cryptography (ECC). Ce type de cryptographie à clé publique se distingue par sa performance dans les calculs, et par la taille réduite de ses clés. Sa sécurité est basée sur un autre problème difficile, appelé problème du logarithme discret. A l’instar de RSA, ECC est intensivement utilisée dans des applications concrètes de la cryptographie.
La cryptographie post-quantique.
Cette troisième famille de cryptographie, appelé cryptographie post- quantique, représente le futur des systèmes cryptographiques asymétriques. La cryptographie moderne à clé publique telle qu’elle est connue actuellement sera obsolète à cause de l’avènement des ordinateurs quantiques. En effet, en 1990, Peter Shor inventa un algorithme quantique qui permet de résoudre le problème de la factorisation et le problème du logarithme discret, qui sont à la base de la cryptographie asymétrique moderne. Les systèmes post-quantiques sont des systèmes cryptographiques qui ne sont pas encore solvables par un ordinateur quantique.
En 2016, l’agence NIST a initié un appel international pour sélectionner des systèmes post-quantiques. Après plusieurs rounds et six années d’études et de cryptanalyses, quatre candidats ont été sélectionnés en 2022 pour être les systèmes du futur post-quantique. Ce sont Crystals-Kyber [2], sélectionné pour le chiffrement, et Crystals-Dilithiu m [3], Sphinx + [4], et Falcon [5], sélectionnés pour la signature. Ses systèmes sont en licence libre et peuvent être implémentés pour sécuriser l’information future dans un univers avec des ordinateurs quantiques.
Applications de la cryptographie dans la vie quotidienne
La cryptographie est intensément utilisée dans la vie de chacun de nous, que se soit à titre personnelle ou pour notre travail. La liste suivante donne un aperçu de ses aaplications.
Protection de la vie privée. La vie privée des personnes est constamment exposée dans la plupart des actions quotidiennes. En effectuant un achat à l’aide d’une carte bancaire, en présentant une carte d’identité ou un passeport, en tapant un code pin sur un téléphone, en se connectant à une banque, en achetant en ligne, et dans pleins de situations où on doit s’authentifier électroniquement, on risque à tout moment de divulguer des informations personnelles sans une protection adéquate basée sur la cryptographie. L’utilisation de la cryptographie dans les cartes bancaires, les passeports, et les achats entre autres , permet de sécuriser la vie privée des personnes.
La communication sécurisée. La cryptographie est utilisée pour établir des tunnels de communication sécurisés. Un exemple typique de tunnel sécurisé est le TLS (Transport Layer Security) qui permet d’établir des connexions chiffrées entre les navigateurs web et les serveurs. Il utilise des protocoles cryptographiques qui permettent des connexions plus rapides et plus sûres. Lorsqu’un site internet est sécurisé par TLS, son adresse ou url doit commencer par un HTTPS et présenter un cadenas fermé.
La cybersécurité. La cryptographie est utilisée dans la cybersécurité pour garantir la confidentialité des données enregistrées ou transmises par des systèmes de chiffrements symétriques. Elle est aussi utilisée pour garantir l’intégrité des données par des fonctions cryptographiques, appelées fonctions de hachage. Elle est utilisée pour garantir la source des informations reçues par des signatures électroniques, qui garantissent la non-répudiation.
La blockchain. La blockchain est une technique de stockage et de transmission de l’information, chiffré ou non. C’est une base de donnée partagée entre tous ses utilisateurs, qui peuvent y inscrire de nouvelles données, observées par tous les participants de la blockchain. La blockchain a plusieurs applications potentielles, y compris dans les domaines de la banque, des as surances, de la santé, et des cryptomonnaies telles que le Bitcoin et l’Ethereum. La cryptographie est utilisée dans la blockchain pour garantir la sécurité des transactions, pour l’intégrité des données, et dans la gestion des clés.
Echange de clé. La cryptographie est utilisée pour permettre à deux personnes physiquement distantes d’utiliser une clé commune pour établir des communications sécurisées. Le protocole de Diffie-Hellman ou les systèmes asymétriques tels que RSA sont alors utilisés. L’échange de clé est aussi utilisée dans des applications aussi diverses que TLS, qui permet la navigation sécurisée sur internet, les réseaux privés virtuels (VPN) qui permettent d’établir des connexions sécurisées entre les serveurs et les clients, et les Secure Shell (SSH) qui permettent de se connecter à distance à un terminal de façon sécurisée.
Protection des mots de passe. La cryptographie est utilisée pour la protection des mots de passe de plusieurs façons. Les mots de passe sont enregistrés dans un serveur de façon chiffrée à l’aide des fonctions de hachage. Ainsi, lorsqu’un utilisateur tape son mot de passe, c’est la valeur hachée de ce mot de passe qui est comparée aux valeurs hachées déjà enregistrées dans le serveur. Ce principe assure la protection des mots de passe contre toute copie illicite. Aussi, lorsqu’on tape un mot de passe sur un site sécurisé, ce mot de passe est transmis de façon chiffré, ce qui garantit sa sécurité contre les attaques.
Protection des données dans le cloud. Le cloud est l’ensemble des serveurs accessibles depuis internet, ainsi que l’ensemble des facilités de manipulation des données, de leur stockage et des logiciels qui y sont attachés. C’est une solution pratique qui permet aux utilisateurs d’accéder à leur données depuis n’importe quel endroit et à n’importe quel moment. Les données enregistrées dans le cloud sont particulièrement sensibles et la cryptographie est le moyen le plus sûr pour assurer leur sécurité. En effet, la cryptographie offre des solutions pratiques telles que le chiffrement des données, et l’utilisation du chiffrement homomorphe qui permet de manipuler les données chiffrées sans avoir besoin de les déchiffrer. Ainsi, la cryptographie peut rendre le cloud plus sûr, contre tout attaquant, et même contre le fournisseur du cloud et de ses employés mal intentionnés.
Protection plus sensibles. En plus de toutes les applications de la cryptographie dans la vie quotidienne, elle est utilisée dans des domaines beaucoup plus sensibles et même vitaux tels que les secrets médicaux, la conduite automatique dans le transport, les secrets d’états, les communications satellitaires, les communications gouvernementales, les communications aéronautiques, et les domaines militaires.
Conclusion
La cryptographie est au cœur de la plupart des applications électroniques et des objets connectés. Elle joue un rôle essentiel dans la sécurité des connections à distance et des systèmes d’information. Les services de la cryptographie sont nombreux, en particulier elle assure la confidentialité, l’intégrité, l’authentification, la protection des données au repos et en transit, la protection des mots de passe et des connexions à distance, la détection des intrusions, et pleins d’autres services liés à la cybersécurité. La cryptographie fait partie de notre vie quotidienne, et à ce titre, doit être bien maîtrisée et bien appliquée pour notre sécurité.
[1] Wikipedia : Cipher, https://en.wikipedia.org/wiki/Cipher