Introduction
Après avoir exploré le monde des menaces et des vulnérabilités, il est temps de nous plonger dans l'art de la protection des informations : la cryptographie.
La cryptographie est la science du secret. Elle englobe l'ensemble des techniques permettant de chiffrer des informations (les rendre illisibles pour les personnes non autorisées) et de les déchiffrer (retrouver les informations originales).
La cryptographie est un pilier fondamental de la sécurité informatique. Elle est utilisée partout, souvent sans que nous nous en rendions compte : pour sécuriser les communications sur Internet (HTTPS), pour protéger les données stockées sur nos ordinateurs et nos téléphones, pour garantir l'intégrité des transactions bancaires, etc.
Dans ce chapitre, nous allons découvrir :
- L'histoire et les objectifs de la cryptographie.
- La terminologie essentielle (chiffrement, déchiffrement, clé, etc.).
- Les deux grandes familles de chiffrement : symétrique et asymétrique.
- Les algorithmes de chiffrement courants (AES, RSA, etc.).
- Les fonctions de hachage et les signatures numériques.
Préparez-vous à un voyage passionnant dans le monde des codes secrets et des mathématiques appliquées à la sécurité informatique !
Commençons par une introduction à la cryptographie.
Introduction à la cryptographie
La cryptographie, du grec kryptós ("caché") et graphein ("écrire"), est l'art et la science de protéger les informations en les rendant illisibles pour les personnes non autorisées. Elle ne se limite pas au chiffrement (rendre un message incompréhensible) ; elle englobe également des techniques pour garantir l'intégrité des données, l'authentification des interlocuteurs, et la non-répudiation.
Domaines d'application de la cryptographie
Aujourd'hui, la cryptographie est omniprésente :
- Sécurisation des communications : HTTPS (navigation web sécurisée), TLS/SSL (sécurisation des emails, des transactions bancaires, etc.), SSH (connexion sécurisée à un serveur distant), VPN (réseau privé virtuel).
- Protection des données stockées : Chiffrement des disques durs, des clés USB, des bases de données, etc.
- Authentification : Mots de passe, cartes à puce, biométrie, certificats numériques, etc.
- Signature numérique : Signature électronique de documents, authentification de logiciels, etc.
- Cryptomonnaies : Bitcoin, Ethereum, etc., reposent sur des principes cryptographiques pour garantir la sécurité des transactions.
- Dans le domaine de l'IA
- Protection des données (chiffrement homomorphe)
- Preuve de l'origine des données (éviter les deep fakes)
La cryptographie est un domaine complexe, mais passionnant. En comprenant ses principes de base, vous serez mieux armés pour protéger vos données et naviguer en sécurité dans le monde numérique.
Histoire et évolution
La cryptographie, loin d'être une discipline moderne, plonge ses racines dans l'Antiquité. Son histoire est riche et jalonnée d'évolutions techniques et stratégiques.
Antiquité : les premiers codes secrets
-
Hiéroglyphes non standard (Égypte, vers 1900 av. J.-C.) : Les Égyptiens utilisaient des hiéroglyphes non standard pour dissimuler le sens de certaines inscriptions. Il ne s'agissait pas d'un véritable système de chiffrement, mais plutôt d'une forme de stéganographie (dissimulation de l'existence même du message).
-
Scytale lacédémonienne (Sparte, Ve siècle av. J.-C.) : Les Spartiates utilisaient la scytale, un bâton autour duquel on enroulait une bande de cuir ou de parchemin. Le message était écrit sur la bande enroulée, puis déroulé. Seul un bâton de diamètre identique permettait de lire le message. C'est un exemple de chiffrement par transposition (les lettres sont réarrangées, mais pas modifiées).

Scytale - CC BY-SA 3.0, https://commons.wikimedia.org/w/index.php?curid=1698345
- Chiffre de César (Rome, Ier siècle av. J.-C.) : Jules César utilisait un chiffrement par substitution simple : chaque lettre du message était décalée de quelques positions dans l'alphabet (par exemple, A devenait D, B devenait E, etc.). C'est un exemple de chiffrement monoalphabétique (chaque lettre est toujours remplacée par la même autre lettre).

-
Exemple avec un décalage de 3 : Bonjour Helmo -> Erqmrxu Khopr
-
Exemple intéractif du chiffre de César :
Moyen Âge et Renaissance : l'essor de la cryptanalyse
-
Al-Kindi (IXe siècle) : Le savant arabe Al-Kindi rédige le premier traité connu sur la cryptanalyse, "Manuscrit sur le déchiffrement des messages cryptographiques". Il y décrit la technique de l'analyse fréquentielle, qui permet de casser les chiffres monoalphabétiques en étudiant la fréquence d'apparition des lettres dans le texte chiffré.
-
Chiffre de Vigenère (XVIe siècle) : Blaise de Vigenère développe un chiffre polyalphabétique (chaque lettre peut être remplacée par différentes lettres, en fonction d'une clé). Ce chiffre est beaucoup plus résistant à l'analyse fréquentielle que le chiffre de César.
XIXe siècle : la mécanisation de la cryptographie
-
Principe de Kerckhoffs (1883) : Auguste Kerckhoffs formule un principe fondamental de la cryptographie : la sécurité d'un système cryptographique ne doit pas dépendre du secret de l'algorithme, mais uniquement du secret de la clé.
-
Machine à chiffrer de Wheatstone (1854) et disque de Jefferson (1795) : Invention de machines à chiffrer.
XXe siècle : l'ère des machines et de l'informatique
- Enigma (entre-deux-guerres et Seconde Guerre mondiale) : La machine Enigma, utilisée par l'armée allemande, est l'exemple le plus célèbre de machine à chiffrer électromécanique. Le déchiffrement d'Enigma par les Alliés (notamment grâce aux travaux d'Alan Turing) a eu un impact majeur sur l'issue de la guerre.

-
Machine de Lorenz (Seconde Guerre mondiale) : Machine de chiffrement allemande encore plus complexe qu'Enigma.
-
L'après-guerre et l'ère de l'informatique :
- Théorie de l'information (Claude Shannon, 1948) : Claude Shannon publie "A Mathematical Theory of Communication", qui pose les bases mathématiques de la cryptographie moderne. Il introduit notamment le concept d'entropie, qui mesure l'incertitude d'un message.
- DES (Data Encryption Standard, 1977) : Le gouvernement américain adopte DES comme standard de chiffrement symétrique. DES sera largement utilisé pendant plus de 20 ans, mais sa clé de 56 bits est devenue trop courte face à la puissance croissante des ordinateurs.
- Cryptographie à clé publique (Diffie-Hellman, 1976 ; RSA, 1977) : L'invention de la cryptographie à clé publique (ou asymétrique) révolutionne la cryptographie. Elle permet à deux personnes de communiquer de manière sécurisée sans avoir à échanger de clé secrète au préalable.
- AES (Advanced Encryption Standard, 2001) : Le gouvernement américain adopte AES comme nouveau standard de chiffrement symétrique, pour remplacer DES. AES est beaucoup plus sûr que DES et est aujourd'hui l'un des algorithmes de chiffrement les plus utilisés au monde.
XXIe siècle : la cryptographie omniprésente
- Développement d'Internet et du commerce en ligne : La cryptographie devient indispensable pour sécuriser les communications et les transactions sur Internet (HTTPS, TLS/SSL, etc.).
- Cryptomonnaies : L'émergence des cryptomonnaies (Bitcoin, Ethereum, etc.) repose sur des principes cryptographiques avancés (signatures numériques, fonctions de hachage, preuves de travail, etc.).
- Cryptographie post-quantique : La perspective de l'arrivée d'ordinateurs quantiques, capables de casser les algorithmes de chiffrement actuels (RSA, ECC), pousse les chercheurs à développer de nouveaux algorithmes résistants aux attaques quantiques.
L'histoire de la cryptographie est une course permanente entre les concepteurs de codes secrets et les "casseurs" de codes. C'est une histoire fascinante, qui mêle mathématiques, informatique, technologie, stratégie et enjeux de pouvoir.
Objectifs de la cryptographie
La cryptographie moderne vise à atteindre plusieurs objectifs fondamentaux pour assurer la sécurité des informations. Ces objectifs sont souvent résumés par les quatre piliers que nous avons déjà évoqués : confidentialité, intégrité, authentification et non-répudiation.
Confidentialité
La confidentialité garantit que seules les personnes autorisées peuvent accéder à l'information. C'est l'objectif le plus connu de la cryptographie : rendre un message incompréhensible pour toute personne qui n'est pas le destinataire légitime.
- Moyen : Le chiffrement (ou cryptage). Le message original (le texte clair) est transformé en un texte illisible (le texte chiffré) à l'aide d'un algorithme de chiffrement et d'une clé secrète. Seul le destinataire, qui possède la clé de déchiffrement, peut retrouver le message original.
Intégrité
L'intégrité garantit que les données n'ont pas été modifiées (altérées, supprimées, ajoutées) de manière non autorisée, que ce soit accidentellement ou intentionnellement.
- Moyens :
- Fonctions de hachage : Une fonction de hachage calcule une empreinte numérique (un "haché") unique à partir d'un message ou d'un fichier. Toute modification, même minime, du message original entraînera une modification du haché.
- Codes d'authentification de message (MAC) : Un MAC est une empreinte numérique calculée à partir d'un message et d'une clé secrète. Il permet de vérifier à la fois l'intégrité et l'authenticité du message (seule une personne connaissant la clé secrète a pu générer le MAC).
- Signatures numériques : Une signature numérique est un mécanisme plus avancé qui permet de garantir l'intégrité d'un message et d'authentifier son auteur (voir section dédiée).
Authentification
L'authentification permet de vérifier l'identité d'une personne, d'un appareil, d'un site web ou d'un logiciel.
- Moyens :
- Mots de passe : Bien que ce ne soit pas la méthode la plus sûre, les mots de passe (combinés à des techniques de hachage et de salage) sont encore largement utilisés pour l'authentification.
- Certificats numériques : Un certificat numérique est un document électronique qui atteste de l'identité d'une personne, d'une organisation ou d'un site web. Il est délivré par une autorité de certification (AC) et contient des informations sur le titulaire du certificat, ainsi que sa clé publique.
- Authentification à deux facteurs (2FA) ou multifacteur (MFA) : Combine plusieurs méthodes d'authentification (par exemple, un mot de passe et un code envoyé par SMS) pour renforcer la sécurité.
- Protocoles d'authentification : Kerberos, OAuth, OpenID Connect, etc.
Non-répudiation
La non-répudiation empêche une personne de nier avoir effectué une action (envoyé un message, signé un document, effectué une transaction, etc.).
- Moyen : La signature numérique. Une signature numérique est liée de manière unique à un document et à son signataire. Elle garantit l'intégrité du document et l'identité du signataire, et empêche ce dernier de nier avoir signé le document.
Ces quatre objectifs (confidentialité, intégrité, authentification, non-répudiation) sont complémentaires et souvent combinés dans les systèmes de sécurité modernes. Par exemple, lorsque vous vous connectez à votre compte bancaire en ligne, le protocole HTTPS assure la confidentialité de vos échanges (chiffrement), l'intégrité des données transmises (pour éviter qu'elles ne soient modifiées en cours de route), et l'authentification du site web de votre banque (grâce à un certificat numérique).
Terminologie
La cryptographie, comme toute discipline technique, possède son propre vocabulaire. Il est essentiel de maîtriser les termes clés pour comprendre les concepts et les mécanismes cryptographiques.
Concepts fondamentaux
- Texte clair (plaintext) : Le message original, en langage compréhensible.
- Texte chiffré (ciphertext) : Le message transformé, rendu incompréhensible par le chiffrement.
- Chiffrement (encryption) : Le processus qui transforme le texte clair en texte chiffré.
Le verbe correct à utiliser est "chiffrer". "Crypter" est un barbarisme (un mot mal formé) qui n'a pas de sens en français. On dit "chiffrer un message", "déchiffrer un message", mais jamais "crypter un message". De même, on parle de "cryptographie" (la science du secret), mais de "chiffrement" (l'action de chiffrer).
- Déchiffrement (decryption) : Le processus inverse du chiffrement, qui permet de retrouver le texte clair à partir du texte chiffré.
- Algorithme de chiffrement (cipher) : La méthode mathématique utilisée pour chiffrer et déchiffrer les données. Exemples : AES, RSA, DES, etc.
- Clé (key) : Une information secrète (une chaîne de caractères, un nombre, etc.) utilisée par l'algorithme de chiffrement pour chiffrer et déchiffrer les données. La sécurité du chiffrement repose sur le secret de la clé.
- Clé secrète (secret key) : Une clé utilisée à la fois pour le chiffrement et le déchiffrement (cryptographie symétrique).
- Clé publique (public key) : Une clé utilisée pour chiffrer les données, mais pas pour les déchiffrer (cryptographie asymétrique). Elle peut être diffusée publiquement.
- Clé privée (private key) : Une clé utilisée pour déchiffrer les données chiffrées avec la clé publique correspondante (cryptographie asymétrique). Elle doit rester secrète.
- Cryptosystème (cryptosystem) : Un ensemble d'algorithmes, de protocoles et de clés permettant de chiffrer et de déchiffrer des données.
Concepts avancés
- Cryptanalyse (cryptanalysis) : L'étude des méthodes pour casser les codes secrets, c'est-à-dire pour déchiffrer des messages sans connaître la clé.
- Attaque cryptographique (cryptographic attack) : Une tentative de casser un cryptosystème ou de contourner les mesures de sécurité cryptographiques.
- Force brute (brute force) : Une technique d'attaque qui consiste à essayer toutes les combinaisons possibles de clés jusqu'à trouver la bonne.
- Fonction de hachage (hash function) : Une fonction mathématique qui prend en entrée une donnée de taille variable et produit en sortie une empreinte numérique (un haché) de taille fixe. Les fonctions de hachage sont utilisées pour vérifier l'intégrité des données et pour stocker les mots de passe de manière sécurisée.
- Collision (collision) : Deux entrées différentes qui produisent le même haché. Les bonnes fonctions de hachage doivent rendre les collisions extrêmement difficiles à trouver.
- Salage (salting) : Une technique utilisée pour renforcer la sécurité des mots de passe hachés. Un "sel" (une chaîne de caractères aléatoire) est ajouté au mot de passe avant de le hacher, ce qui rend les attaques par dictionnaire et par tables arc-en-ciel plus difficiles.
- Signature numérique (digital signature) : Un mécanisme cryptographique qui permet de garantir l'intégrité d'un document et d'authentifier son auteur. Elle est basée sur la cryptographie à clé publique.
- Certificat numérique (digital certificate) : Un document électronique qui atteste de l'identité d'une personne, d'une organisation ou d'un site web. Il contient des informations sur le titulaire du certificat, sa clé publique, et la signature numérique d'une autorité de certification (AC) qui a vérifié ces informations.
- Autorité de certification (AC) (certificate authority, CA) : Une organisation de confiance qui délivre et gère les certificats numériques.
- Infrastructure à clé publique (ICP) (Public Key Infrastructure, PKI) : Un ensemble de composants (autorités de certification, certificats, logiciels, etc.) qui permettent de gérer les clés publiques et les certificats numériques, et d'assurer la confiance dans les échanges électroniques.
- Nonce:
- Nombre aléatoire (usage unique).
- Utilisé dans les protocoles d'authentification et les fonctions cryptographiques.
Cette terminologie peut sembler complexe au premier abord, mais elle est essentielle pour comprendre les concepts et les mécanismes de la cryptographie. N'hésitez pas à vous y référer régulièrement au fur et à mesure de votre apprentissage.