Plateforme de Cryptographie Par Kaci AMAOUCHE

Chapitre 1: Histoire de la cryptographie

Des méthodes antiques aux techniques modernes

Chapitre 1/5 Durée estimée: 2h

Introduction à la cryptographie

La cryptographie est la science qui étudie les moyens de transformer un message en un code secret, intelligible uniquement pour les personnes autorisées à le lire. Son nom vient du grec "kryptos" (caché) et "graphein" (écrire). Cette discipline, située à l'intersection des mathématiques, de l'informatique et de la sécurité, a évolué au fil des siècles pour répondre à un besoin fondamental : protéger les communications contre les regards indiscrets.

Historiquement, la cryptographie était principalement utilisée pour des communications militaires et diplomatiques. Aujourd'hui, elle est omniprésente dans notre vie quotidienne : transactions bancaires, communications mobiles, achats en ligne, et même dans l'accès à nos appareils personnels.

Définitions fondamentales

  • Cryptographie : Science des communications sécurisées en présence d'adversaires
  • Cryptanalyse : Science qui étudie comment compromettre des mécanismes cryptographiques
  • Cryptologie : Terme englobant à la fois la cryptographie et la cryptanalyse
  • Chiffrement : Processus de conversion d'un message clair en un message codé
  • Déchiffrement : Processus inverse du chiffrement, récupérant le message original
  • Cryptosystème : Ensemble complet d'algorithmes de chiffrement/déchiffrement

Les objectifs principaux de la cryptographie moderne sont souvent résumés par l'acronyme CIAN :

  • Confidentialité : Garantir que seules les personnes autorisées peuvent accéder à l'information. Cet objectif est le plus ancien et le plus connu de la cryptographie. Il s'agit de protéger le contenu des messages contre toute divulgation non autorisée.
  • Intégrité : S'assurer que les données n'ont pas été modifiées accidentellement ou délibérément. Un système d'intégrité permet de détecter toute altération d'un message entre son émission et sa réception.
  • Authentification : Vérifier l'identité de l'expéditeur ou de l'origine d'un message. L'authentification permet d'avoir la certitude que la personne ou l'entité qui communique est bien celle qu'elle prétend être.
  • Non-répudiation : Empêcher qu'un expéditeur nie avoir envoyé un message. Cet objectif, particulièrement important dans les transactions électroniques, garantit qu'une personne ne peut pas nier être l'auteur d'un message qu'elle a envoyé.

1.1. La cryptographie dans l'Antiquité

Les premières traces de cryptographie remontent à plusieurs millénaires et se retrouvent dans diverses civilisations à travers le monde. Ces méthodes primitives, bien que rudimentaires comparées aux standards actuels, reflétaient déjà une compréhension intuitive des principes fondamentaux de substitution et de transposition qui demeurent à la base de nombreux systèmes cryptographiques modernes.

Civilisations anciennes et premières méthodes

  • Égypte ancienne (vers 1900 av. J.-C.) : Des hiéroglyphes non standards ont été découverts dans la tombe d'un noble à Menet Khufu, suggérant une des premières formes de substitution cryptographique.
  • Mésopotamie (1500 av. J.-C.) : Des tablettes d'argile contenant des formules secrètes de fabrication de poteries, utilisant des symboles spéciaux pour masquer les recettes commerciales précieuses.
  • Inde ancienne (400 av. J.-C.) : Le "Kama Sutra" mentionne la cryptographie parmi les 64 arts que les femmes devraient connaître, notamment pour communiquer discrètement avec leurs amants.
  • Hébreux anciens : Utilisation de l'Atbash, un chiffrement par substitution qui remplace chaque lettre par celle située à la position symétrique dans l'alphabet (première par dernière, etc.).

Le Scytale spartiate

Vers le 5ème siècle av. J.-C., les Spartiates ont développé l'un des premiers dispositifs cryptographiques mécaniques connus : le scytale. Il s'agissait d'un bâton de diamètre spécifique autour duquel on enroulait une bande de parchemin. Le message était écrit horizontalement sur le parchemin enroulé. Une fois déroulé, les lettres semblaient désordonnées et sans signification. Seul un bâton de même diamètre permettait de reconstituer le message original. Il s'agit d'un des premiers exemples de chiffrement par transposition, où l'ordre des lettres est modifié plutôt que les lettres elles-mêmes.

Le code de César

L'un des systèmes de chiffrement les plus célèbres de l'Antiquité est le code de César, utilisé par Jules César (100-44 av. J.-C.) pour communiquer avec ses généraux durant les campagnes militaires. Il s'agit d'un chiffrement par substitution monoalphabétique où chaque lettre du message original est remplacée par une autre, décalée d'un nombre fixe de positions dans l'alphabet.

Selon l'historien romain Suétone dans "La Vie des douze Césars", César utilisait généralement un décalage de trois positions vers la droite. Ce choix n'était pas aléatoire : il permettait une mémorisation facile tout en offrant une sécurité suffisante pour l'époque, où l'alphabétisation était limitée et la cryptanalyse peu développée.

Pour un décalage de 3, la formule est :

$$E(x) = (x + 3) \mod 26$$

Où \(x\) est la position de la lettre dans l'alphabet (A=0, B=1, etc.).

Exemple de chiffrement César

Pour le message "ATTAQUER A L'AUBE" avec un décalage de 3 :

Texte clair ATTAQUERALAUBE
Texte chiffré DWWDTXHUDODXEH

Le message chiffré devient "DWWDTXHU D O'DXEH"

1.2. Évolutions pendant la Renaissance et l'Âge classique

Le chiffre de Vigenère

Inventé par Blaise de Vigenère au 16ème siècle, ce chiffrement polyalphabétique utilise plusieurs alphabets de César. Une clé détermine quel alphabet utiliser pour chaque lettre du message.

$$E(m_i) = (m_i + k_{i \mod |k|}) \mod 26$$

Où \(m_i\) est la i-ème lettre du message, \(k\) est la clé, et \(|k|\) est la longueur de la clé.

Ce chiffrement a été considéré comme indéchiffrable pendant près de trois siècles avant que des méthodes d'analyse fréquentielle avancées ne permettent de le casser.

Le chiffre de Playfair

Développé par Charles Wheatstone en 1854 (mais nommé d'après son promoteur, Lord Playfair), ce système utilise une grille 5×5 de lettres construite à partir d'un mot-clé. Il chiffre des paires de lettres (bigrammes) plutôt que des lettres individuelles, ce qui le rend beaucoup plus résistant à l'analyse fréquentielle simple. Ce chiffrement a été utilisé tactiquement pendant la guerre des Boers et la Première Guerre mondiale par les forces britanniques.

La machine Enigma

Développée par l'ingénieur allemand Arthur Scherbius à la fin de la Première Guerre mondiale et commercialisée à partir de 1923, la machine Enigma représente une avancée majeure dans la cryptographie mécanique. Adoptée et perfectionnée par les forces militaires allemandes dans les années 1930, elle est devenue le système de chiffrement principal de la Wehrmacht pendant la Seconde Guerre mondiale.

La machine fonctionnait à l'aide d'un système électromécanique complexe comprenant :

  • Rotors : Généralement 3 à 5 disques rotatifs créant un chiffrement polyalphabétique extrêmement complexe
  • Tableaux de connexions (Steckerbrett) : Permettant d'échanger des paires de lettres avant et après le passage par les rotors
  • Réflecteur : Renvoyant le courant à travers les rotors par un chemin différent, assurant que le chiffrement était réversible

La force d'Enigma résidait dans le nombre astronomique de configurations possibles. Pour une Enigma à 3 rotors avec tableau de connexions, on estime qu'il y avait environ 1023 paramètres possibles. De plus, la position des rotors changeait à chaque frappe, créant un chiffrement polyalphabétique variant constamment.

Le déchiffrement d'Enigma par les Alliés, mené notamment par Alan Turing et son équipe à Bletchley Park au Royaume-Uni, représente l'une des plus grandes réussites cryptanalytiques de l'histoire. Pour y parvenir, ils ont développé des machines électromécaniques appelées "bombes", capables de tester rapidement différentes combinaisons pour trouver les paramètres quotidiens d'Enigma. On estime que ces travaux ont raccourci la guerre de deux à quatre ans et jeté les bases théoriques et pratiques de l'informatique moderne.

1.3. L'ère informatique et la cryptographie moderne

Des années 1950 aux années 1970

L'après-guerre a vu la montée en puissance de l'informatique, transformant radicalement la cryptographie. De science principalement empirique, elle est devenue une discipline mathématique rigoureuse. Cette période a été marquée par plusieurs développements majeurs :

  • Théorie de l'information (Claude Shannon, 1949) : Dans son article fondateur "Communication Theory of Secrecy Systems", Shannon a établi les bases mathématiques de la cryptographie moderne, introduisant les concepts de confusion et de diffusion, et définissant la notion de sécurité parfaite.
  • Cryptographie informatique gouvernementale : Les agences comme la NSA aux États-Unis ont développé des systèmes cryptographiques sophistiqués, largement classifiés jusqu'aux années 1970.
  • Horst Feistel et les chiffrements en réseau : Dans les années 1960-70, Feistel, travaillant pour IBM, a développé une structure de chiffrement par blocs qui porte son nom. Ces travaux ont directement influencé la création du Data Encryption Standard (DES).

Le DES, adopté comme standard par le gouvernement américain en 1977, a été développé par IBM avec l'influence de la NSA. Opérant sur des blocs de 64 bits avec une clé de 56 bits, il a dominé la cryptographie commerciale pendant plus de deux décennies. Cependant, la taille relativement restreinte de sa clé a suscité des controverses dès le début, certains soupçonnant que la NSA avait délibérément affaibli l'algorithme pour pouvoir le décrypter.

La révolution de la cryptographie à clé publique

En 1976, Whitfield Diffie et Martin Hellman ont publié "New Directions in Cryptography", introduisant le concept révolutionnaire de cryptographie à clé publique. Contrairement aux systèmes traditionnels qui utilisaient la même clé pour le chiffrement et le déchiffrement (systèmes symétriques), leur approche proposait d'utiliser une paire de clés mathématiquement liées : une clé publique pour le chiffrement et une clé privée pour le déchiffrement.

Cette innovation a résolu le problème fondamental de la distribution des clés : désormais, des parties pouvaient communiquer de façon sécurisée sans avoir besoin de partager un secret au préalable. Le protocole d'échange de clés Diffie-Hellman permettait à deux parties de générer une clé secrète commune sur un canal non sécurisé, en se basant sur le problème mathématique du logarithme discret.

En 1978, Ron Rivest, Adi Shamir et Leonard Adleman du MIT ont développé le premier algorithme de chiffrement asymétrique pratique, baptisé RSA d'après leurs initiales. La sécurité de RSA repose sur la difficulté de factoriser le produit de deux grands nombres premiers, un problème considéré comme computationnellement difficile. RSA est devenu la pierre angulaire de nombreuses infrastructures cryptographiques et reste largement utilisé aujourd'hui.

Fondement mathématique de RSA :

1. Choisir deux grands nombres premiers distincts p et q

2. Calculer n = p × q

3. Calculer φ(n) = (p-1)(q-1)

4. Choisir un entier e tel que 1 < e < φ(n) et pgcd(e, φ(n)) = 1

5. Calculer d tel que d × e ≡ 1 (mod φ(n))

La clé publique est (n, e), la clé privée est d

Chiffrement : c = me mod n

Déchiffrement : m = cd mod n

1.4. Cryptographie contemporaine

Standards cryptographiques modernes

La cryptographie contemporaine est caractérisée par des algorithmes publiquement examinés et standardisés par des organismes internationaux. Les principaux standards actuels incluent :

  • AES (Advanced Encryption Standard) : Adopté en 2001 après un concours international, AES (basé sur l'algorithme Rijndael) a remplacé DES comme standard de chiffrement symétrique. Il opère sur des blocs de 128 bits et prend en charge des clés de 128, 192 ou 256 bits. Sa conception mathématique élégante allie résistance cryptographique et efficacité d'implémentation.
  • RSA et cryptographie asymétrique : Bien que développé dans les années 1970, RSA reste un pilier de la cryptographie à clé publique. Toutefois, la nécessité de clés très longues (2048-4096 bits) pour maintenir un niveau de sécurité adéquat a conduit à l'adoption de systèmes alternatifs.
  • ECC (Elliptic Curve Cryptography) : Basée sur les propriétés mathématiques des courbes elliptiques, cette approche offre une sécurité équivalente à RSA avec des clés beaucoup plus courtes. Une clé ECC de 256 bits procure approximativement la même sécurité qu'une clé RSA de 3072 bits.
  • Fonctions de hachage SHA-2/SHA-3 : Essentielles pour l'intégrité des données et les signatures numériques, ces fonctions transforment une entrée de taille arbitraire en une empreinte de taille fixe. SHA-2 (développé par la NSA) et SHA-3 (issu du concours international remporté par l'algorithme Keccak) sont actuellement les standards recommandés.

Défis contemporains

La cryptographie du 21ème siècle fait face à plusieurs défis majeurs :

  • Menace quantique : L'avènement potentiel d'ordinateurs quantiques suffisamment puissants représente une menace existentielle pour de nombreux systèmes cryptographiques actuels. L'algorithme quantique de Shor pourrait factoriser efficacement de grands nombres, compromettant RSA et ECC. Cette perspective a conduit au développement de la cryptographie post-quantique, basée sur des problèmes mathématiques supposés résistants même aux ordinateurs quantiques.
  • Équilibre sécurité-vie privée : Les révélations d'Edward Snowden en 2013 ont mis en lumière les programmes de surveillance de masse conduits par diverses agences gouvernementales. Ceci a intensifié le débat sur l'équilibre entre sécurité nationale et respect de la vie privée, avec des implications directes sur les politiques de chiffrement et l'accès gouvernemental aux communications.
  • Cryptographie homomorphe : Cette technologie émergente permet d'effectuer des calculs sur des données chiffrées sans les déchiffrer. Bien que prometteuse pour la confidentialité des données dans le cloud, son coût computationnel reste un obstacle à son adoption généralisée.
  • Blockchain et cryptomonnaies : Ces technologies reposent fondamentalement sur des primitives cryptographiques pour garantir l'intégrité et la non-répudiation des transactions. Leur développement a stimulé l'innovation en cryptographie appliquée et soulevé de nouveaux défis théoriques et pratiques.

La cryptographie moderne s'inscrit ainsi dans un écosystème complexe où enjeux techniques, sociétaux et politiques s'entrecroisent, rendant son étude particulièrement fascinante et pertinente.

1.5. Timeline de la cryptographie

Période Événement Impact
~50 av. J-C Chiffre de César Premier chiffrement par substitution documenté
~500-600 ap. J-C Analyse fréquentielle (Al-Kindi) Première méthode systématique de cryptanalyse
1553 Chiffre de Vigenère Premier chiffrement polyalphabétique efficace
1917-1918 Chiffre ADFGVX Combinaison de substitution et transposition
1940s Déchiffrement d'Enigma Naissance de l'informatique moderne
1976 Diffie-Hellman Premier protocole d'échange de clés public
1977 RSA Premier algorithme de chiffrement asymétrique viable
2001 AES Standard actuel de chiffrement symétrique
2015+ Cryptographie post-quantique Algorithmes résistants aux ordinateurs quantiques

Exercices associés

Mettez en pratique les concepts de ce chapitre avec les exercices dédiés.

Accéder aux exercices

Ressources complémentaires