En cryptographie , un chiffrement classique est un type de chiffrement qui a été utilisé historiquement mais qui est tombé en désuétude. Contrairement aux algorithmes cryptographiques modernes, la plupart des chiffrements classiques peuvent être calculés et résolus à la main. Cependant, ils sont aussi généralement très simples à déchiffrer avec la technologie moderne. Le terme inclut les systèmes simples utilisés depuis l'époque grecque et romaine, les chiffrements élaborés de la Renaissance, la cryptographie de la Seconde Guerre mondiale comme la machine Enigma et au-delà.
En revanche, la cryptographie forte moderne s’appuie sur de nouveaux algorithmes et de nouveaux ordinateurs développés depuis les années 1970.
Types de chiffrements classiques
Les chiffrements classiques sont souvent divisés en chiffrements par transposition et chiffrements par substitution , mais il existe également des chiffrements par dissimulation .
Chiffres de substitution
Dans un chiffrement par substitution, des lettres ou des groupes de lettres sont systématiquement remplacés dans tout le message par d'autres lettres, groupes de lettres ou symboles.
Un exemple bien connu de chiffrement par substitution est le chiffrement de César . Pour chiffrer un message avec le chiffrement de César, chaque lettre du message est remplacée par la lettre trois positions plus loin dans l'alphabet. Ainsi, A est remplacé par D, B par E, C par F, etc. Enfin, X, Y et Z sont remplacés respectivement par A, B et C. Ainsi, par exemple, "WIKIPEDIA" est chiffré comme "ZLNLSHGLD". César a fait pivoter l'alphabet de trois lettres, mais n'importe quel nombre fonctionne.
Une autre méthode de chiffrement par substitution est basée sur un mot-clé. Tous les espaces et les lettres répétées sont supprimés d'un mot ou d'une phrase, que l'encodeur utilise ensuite comme début de l'alphabet de chiffrement. La fin de l'alphabet de chiffrement correspond au reste de l'alphabet dans l'ordre sans répétition des lettres du mot-clé. Par exemple, si le mot-clé est CIPHER, l'alphabet de chiffrement ressemblerait à ceci :
Les exemples précédents sont tous des exemples de chiffrements par substitution monoalphabétique, où un seul alphabet de chiffrement est utilisé. Il est également possible d'avoir un chiffrement par substitution polyalphabétique , où plusieurs alphabets de chiffrement sont utilisés. L'encodeur créerait deux ou plusieurs alphabets de chiffrement en utilisant les techniques de son choix, puis coderait son message, en alternant l'alphabet de chiffrement utilisé avec chaque lettre ou mot. Cela rend le message beaucoup plus difficile à décoder car le décrypteur devrait comprendre les deux alphabets de chiffrement.
Un autre exemple de chiffrement par substitution polyalphabétique beaucoup plus difficile à décoder est le carré de Vigenère , une méthode de codage innovante. Avec le carré, 26 alphabets de chiffrement différents sont utilisés pour crypter du texte. Chaque alphabet de chiffrement n'est qu'un autre décalage de César vers la droite de l'alphabet d'origine. Voici à quoi ressemble un carré de Vigenère :
ABCDEFGHIJKLMNOPQRSTU VWXYZ BCDEFGHIJKLMNOPQRSTUV WXYZA CDEFGHIJKLMNOPQRSTUVW XYZAB DEFGHIJKLMNOPQRSTUVWX YZABC EFGHIJKLMNOPQRSTUVWXY ZABCD FGHIJKLMNOPQRSTUVWXYZ ABCDE GHIJKLMNOPQRSTUVWXYZA-BCDEF HIJKLMNOPQRSTUVWXYZAB CDEFG IJKLMNOPQRSTUVWXYZABC DEFGH JKLMNOPQRSTUVWXYZABCDEFGHI KLMNOPQRSTUVWXYZABCDE FGHIJ LMNOPQRSTUVWXYZABCDEF GHIJK MNOPQRSTUVWXYZABCDEFGHIJKL NOPQRSTUVWXYZABCDEFGH IJKLM OPQRSTUVWXYZABCDEFGHI JKLMN PQRSTUVWXYZABCDEFGHIJ KLMNO QRSTUVWXYZABCDEFGHIJK LMNOP RSTUVWXYZABCDEFGHIJKL MNOPQ STUVWXYZABCDEFGHIJKLM NOPQR TUVWXYZABCDEFGHIJKLMN OPQRS UVWXYZABCDEFGHIJKLMNO PQRST VWXYZABCDEFGHIJKLMNOP QRSTU WXYZABCDEFGHIJKLMNOPQ RSTUV XYZABCDEFGHIJKLMNOPQRSTUVW YZABCDEFGHIJKLMNOPQRS TUVWX ZABCDEFGHIJKLMNOPQRST UVWXY
Pour utiliser le carré de Vigenère pour crypter un message, un codeur choisit d'abord un mot-clé à utiliser, puis le répète jusqu'à ce qu'il ait la même longueur que le message à coder. Si le mot-clé est LEMON , chaque lettre du mot-clé répété indiquera quel chiffrement (quelle ligne) utiliser pour chaque lettre du message à coder. L'alphabet de chiffrement de la deuxième ligne utilise B pour A et C pour B, etc. Il s'agit de l'alphabet de chiffrement « B ». Chaque alphabet de chiffrement est nommé par sa première lettre. Par exemple, si le mot-clé est LEMON et que le message à coder est ATTACKATDAWN , alors le codage est :
Certains chiffrements par substitution impliquent l'utilisation de chiffres à la place de lettres. Le Grand Chiffre en est un exemple , où des chiffres ont été utilisés pour représenter des syllabes. Il existe également un autre chiffrement par substitution de nombres qui implique d'avoir quatre options de paires de nombres différentes pour une lettre en fonction d'un mot-clé.
Au lieu de chiffres, des symboles peuvent également être utilisés pour remplacer des lettres ou des syllabes. Un exemple de cela est l'alphabet du zodiaque , où les signes du zodiaque ont été utilisés pour représenter différentes lettres, par exemple, les symboles du soleil représentaient A, Jupiter représentait B et Saturne représentait C. Des points, des lignes ou des tirets pouvaient également être utilisés, un exemple étant le code Morse , qui n'est pas un chiffrement, mais utilise néanmoins des points et des tirets comme lettres. Le chiffrement Pigpen utilise un système de grille ou des lignes et des points pour établir des symboles pour les lettres. Il existe diverses autres méthodes qui impliquent de remplacer les lettres de l'alphabet par des symboles ou des points et des tirets.
Chiffres de transposition
Dans un chiffrement par transposition, les lettres elles-mêmes restent inchangées, mais leur ordre dans le message est brouillé selon un schéma bien défini. De nombreux chiffrements par transposition sont réalisés selon une conception géométrique. Un chiffrement simple (et encore une fois facile à déchiffrer) consisterait à écrire chaque mot à l'envers. Par exemple, « Bonjour, je m'appelle Alice. » deviendrait désormais « olleH ym eman si ecilA. » Une scytale est une machine qui aide à la transposition des méthodes.
Dans un chiffrement en colonnes, le message d'origine est disposé dans un rectangle, de gauche à droite et de haut en bas. Ensuite, une clé est choisie et utilisée pour attribuer un numéro à chaque colonne du rectangle afin de déterminer l'ordre de réorganisation. Le numéro correspondant aux lettres de la clé est déterminé par leur place dans l'alphabet, c'est-à-dire que A est 1, B est 2, C est 3, etc. Par exemple, si le mot clé est CHAT et le message LE CIEL EST BLEU, le message sera organisé ainsi :
CHAT 3 1 20 LE CIEL ISB LUE
Ensuite, les lettres sont prises dans l'ordre numérique et c'est ainsi que le message est transposé. La colonne sous A est prise en premier, puis la colonne sous C, puis la colonne sous T, en conséquence le message « Le ciel est bleu » est devenu : HKSUTSILEYBE
Dans la méthode de transposition du chiffrement chinois, les lettres du message sont écrites de droite à gauche, de haut en bas, pour mélanger les lettres. Ensuite, en commençant par la première ligne, les lettres sont prises afin d'obtenir le nouveau texte chiffré . Par exemple, si le message à chiffrer était LE CHIEN S'EST RETOURNÉ LOIN, le chiffrement chinois ressemblerait à ceci :
RRGT AAOH FNDE
Le texte chiffré se lit alors : RRGT AAOH FNDE
De nombreux chiffrements par transposition sont similaires à ces deux exemples, impliquant généralement de réorganiser les lettres en lignes ou en colonnes, puis de les prendre de manière systématique pour transposer les lettres. D'autres exemples incluent le chiffrement parallèle vertical et le chiffrement à double transposition.
Des algorithmes plus complexes peuvent être formés en mélangeant substitution et transposition dans un chiffrement de produit ; les chiffrements par blocs modernes tels que DES parcourent plusieurs étapes de substitution et de transposition.
Chiffres de dissimulation
En termes simples, un chiffrement caché, ou nul, est un chiffrement qui implique un certain nombre de nullités, ou lettres leurres. Un chiffrement nul peut être constitué de mots en texte clair avec des nullités placées dans des zones désignées ou même d'un message en texte clair divisé en différentes positions avec une nullité à la fin de chaque mot. Cependant, un message avec seulement quelques nullités (par exemple, une au début et une à la fin) n'est pas un chiffrement nul.
Par exemple, pendant la guerre civile anglaise, le royaliste Sir John Trevanian fut aidé dans son évasion d'un château puritain de Colchester par ce message :
Digne sir Jean, j'espère que c'est là votre meilleure consolation pour ceux qui sont dans la détresse. Je crains que cela ne puisse beaucoup vous aider maintenant. Je vous dirai seulement ceci : si jamais je peux vous rembourser ce que je vous dois, ne vous arrêtez pas à me le demander. Je ne peux pas faire grand-chose, mais ce que je peux faire, vous en êtes sûrs, je le ferai. Je sais que si la mort survient, si les hommes ordinaires la craignent, vous n'en aurez pas peur, vous considérant comme un grand honneur d'avoir une telle récompense de votre loyauté. PRIEZ POUR QUE CETTE COUPE SI AMERVEILLEUSE VOUS SOIT ÉPARGNÉE. Je ne crains pas que vous ne gardiez rancune à l'égard de quelque souffrance que ce soit, mais je vous en prie. Tu ne peux les repousser que si tu as des soumissions, c'est le rôle d'un homme sage. Dis-moi, et si tu peux, de faire pour toi tout ce que tu aurais voulu faire. Le général retourne mercredi. Repose ton serviteur aux ordres.
La troisième lettre après chaque ponctuation révèle « Panneau à l'extrémité est des diapositives de la chapelle ».
Un chiffrement nul par point ou par piqûre d'épingle est une méthode de cryptage classique courante dans laquelle un point ou une piqûre d'épingle est placé au-dessus ou au-dessous de certaines lettres dans un texte. Une première référence à ce sujet a été faite lorsqu'Énée le Tactique en a parlé dans son livre Sur la défense des fortifications.
Cryptanalyse des chiffres classiques
Les chiffrements classiques sont généralement assez faciles à casser. De nombreux chiffrements classiques peuvent être cassés même si l'attaquant ne connaît que suffisamment de texte chiffré et sont donc susceptibles d'être attaqués uniquement par texte chiffré . Certains chiffrements classiques (par exemple, le chiffrement de César ) ont un petit espace de clés. Ces chiffrements peuvent être cassés par une attaque par force brute , c'est-à-dire en essayant simplement toutes les clés. Les chiffrements par substitution peuvent avoir un grand espace de clés, mais sont souvent susceptibles d'être soumis à une analyse de fréquence , car par exemple, les lettres fréquentes dans le langage clair correspondent aux lettres fréquentes dans les textes chiffrés. Les chiffrements polyalphabétiques tels que le chiffrement de Vigenère empêchent une analyse de fréquence simple en utilisant des substitutions multiples. Cependant, des techniques plus avancées telles que l' examen de Kasiski peuvent toujours être utilisées pour casser ces chiffrements.
D'un autre côté, les chiffrements modernes sont conçus pour résister à des attaques beaucoup plus puissantes que les attaques par texte chiffré uniquement. Un bon chiffrement moderne doit être sécurisé contre un large éventail d'attaques potentielles, y compris les attaques par texte clair connu et les attaques par texte clair choisi ainsi que les attaques par texte chiffré choisi . Pour ces chiffrements, un attaquant ne devrait pas être en mesure de trouver la clé même s'il connaît une certaine quantité de texte clair et de texte chiffré correspondant et même s'il peut sélectionner lui-même le texte clair ou le texte chiffré. Les chiffrements classiques ne répondent pas à ces critères beaucoup plus stricts et ne présentent donc plus d'intérêt pour les applications sérieuses.
Certaines techniques issues des chiffrements classiques peuvent être utilisées pour renforcer les chiffrements modernes. Par exemple, l' étape MixColumns dans AES est un chiffrement de Hill .