Petite histoire de cryptage

04.02.2017 par Didier Tossé, dans cryptographie

Thibault Rennesson nous présente dans cet article l'évolution du chiffrement à travers l'histoire.

Que cela soit pour crypter des messages en temps de guerre depuis des siècles ou bien pour protéger des données personnelles de nos jours, l’humain utilise les mathématiques et la cryptographie pour coder des données. Au cours de cet article, je vais revenir sur quelques exemples de méthodes qui furent utilisées pour crypter des messages. Cette liste n’est bien évidemment pas exhaustive. Pour chaque méthode de cryptage, je vous propose de tester la résolution avec un petit exemple très simple.

Cryptage Antiquité

Crédits Image : Pierre-Baptiste Harrivelle et Tanguy Chêne, étudiants de l'atelier de Didactique visuelle, Haute école des arts du Rhin, Strasbourg. Plus d'infos : http://www.hear.fr/sites/didactiquevisuelle/des-mots-aux-images/

 

Le code César

L’un des cryptages les plus anciens que nous connaissons est appelé le « Code César » [1]. Il s’agit tout simplement d’une méthode de substitution en utilisant un décalage constant. Si nous prenons par exemple un décalage équivalant à 5, la lettre « a » sera codée par la lettre « f », la lettre « b » par la lettre « g » etc… , Connaissait la valeur de la clef de cryptage (ici 5), la personne recevant le message codé devait prendre chaque lettre dudit message et reculer la valeur de la clé dans l’alphabet.

Code César Cryptage

Code César avec un décalage de 3

Ce code permit à César de remporter quelques victoires. Malgré ceci, il s’agit d’un système de cryptage facilement déchiffrable. Cette facilité est due au fait que le chiffrement de César est un chiffrement mono-alphabétique : une lettre en message clair vaut toujours la même lettre en message codé. Deux méthodes sont extrêmement simples et efficaces :

  • Le décodage brut : il n’existe que 25 possibilités de codage avec cette méthode, il est donc possible de tester toutes les possibilités pour trouver le message clair.
  • Théorie de la fréquence : pour un message codé long, il est possible de déterminer les fréquences d’apparition de chaque lettre. En connaissant l’alphabet du message codé et les fréquences de cet alphabet on peut faire correspondre les lettres les plus fréquentes pour remonter à la clé de décalage.

Essayez de décoder ce premier message :

Ndmha hage hqzql pq pqoaghdud cgq xm oxq pq oq yqeemsq oapq qef qz dqmxufq paglq

Le chiffre de Vigenère

Un second chiffrement connu, qui est une complexification de celui de César, fut créé par un diplomate français : Blaise de Vigenère, au XVIème siècle. Pour coder grâce à ce chiffrement, il faut choisir une clé qui se trouve dans ce cas être un mot. Chaque lettre de cette clé correspond à un nombre : le « a » vaut 0, le « b » vaut 1, le « c » vaut 2 etc… On ajoute ensuite, dans l’ordre, le décalage de chaque lettre de la clé aux lettres correspondantes dans le message à coder. Si la clé est plus courte que le message à coder, on répète cette clé jusqu’à crypter tout le message. Un codage parfait avec cette méthode consiste à avoir une clé aussi grande que le message que nous cryptons.

Cryptage

Crédits Image : Pierre-Baptiste Harrivelle et Tanguy Chêne, étudiants de l'atelier de Didactique visuelle, Haute école des arts du Rhin, Strasbourg. Plus d'infos : http://www.hear.fr/sites/didactiquevisuelle/des-mots-aux-images/

La personne recevant le message codé connaît la clé de cryptage et va effectuer, à chaque lettre, un décalage arrière correspondant aux lettres de la clé. Ceci ressemble au décodage d’un message reçu par César. Malgré cela, il existe une différence majeure : cette méthode de cryptage est dite poly-alphabétique. Pour une lettre, qui apparaîtrait plusieurs fois dans le message clair, on peut obtenir des lettres différentes dans le message crypté. Il est alors impossible d’utiliser la théorie des fréquences pour décrypter un message.

Si l’on ne connaît pas la clé de codage, il devient difficile de découvrir le contenu d’un message. Il fut tellement difficile de trouver une méthode pour casser ce chiffrement, qu’il aura fallu 3 siècles pour déterminer une technique de décryptage d’un message sans la clé [3]. Même si elle permet de casser un message crypté, cette technique est extrêmement complexe et assez longue. Pour l’exemple qui va suivre, je vais vous faciliter la tâche en vous offrant la clé de cryptage : MUSIQUE.

Vif Adia yymzj u pm zav ty pm msqiir ocfy ty kmgw wv nldifmi.

Enigma, la machine à crypter

Le dernier exemple de cryptage que je vais évoquer ici date du XXème siècle, il s’agit de la célèbre machine Enigma [4]. Cette machine fut inventée au début des années 1900, mais la période de « célébrité » que nous retenons tous est la seconde guerre mondiale. L’Allemagne nazie s’en était équipée pour coder tous les messages de guerre.

Pour coder un message, la machine utilise tout d’abord 3 rotors de 26 crans chacun. Le premier rotor avance d’un  pas à chaque lettre tapée sur la machine, le deuxième  avance lorsque le premier a fait un tour complet et le troisième lorsque le deuxième a fait lui aussi son tour. Les allemands choisissaient ces trois rotors parmi 6 qu’ils avaient en possession avec chaque machine. Il faut ajouter à cela un câblage électrique en façade de l’appareil composé de 10 câbles qui reliaient 10 paires de lettres. Ce câblage complexifiait encore un peu plus le cryptage.

Lorsque l’utilisateur entrait une lettre sur Enigma, les rotors encodaient cette lettre qui ensuite était modifiée si elle correspondait à une paire câblée, puis renvoyée dans le système de rotors une seconde fois. L’utilisateur pouvait voir la lettre obtenue avec le codage grâce à un système de diode. Le cryptage effectué par cette machine est absolument extraordinaire, il existe plus de 1020 possibilités de codage que l’on peut réaliser. Le génie aussi de cette machine est qu’elle est réversible. Lorsque l’on connaît son paramétrage, il suffit de taper le message crypté pour obtenir le message en clair. Pour complexifier un peu plus la tâche des Alliés qui cherchaient à comprendre les messages allemands, ces derniers modifiaient le paramétrage (rotors et câblage) tous les jours à minuit.

Cryptage Enigma

Crédits Image : Pierre-Baptiste Harrivelle et Tanguy Chêne, étudiants de l'atelier de Didactique visuelle, Haute école des arts du Rhin, Strasbourg. Plus d'infos : http://www.hear.fr/sites/didactiquevisuelle/des-mots-aux-images/

Les Alliés ont réussi à déchiffrer les messages codés par cette machine grâce à un homme considéré comme l’un des fondateurs de l’ordinateur : Alan Turing. Il avait repéré que les rapports météo commençaient tous par «Wetterbericht » (rapport météo en allemand) et finissait par «heil Hitler». Connaissant ces informations et grâce à une machine nommée « Bombe », il pouvait découvrir le paramétrage du jour en 20 minutes. Pour beaucoup d’historiens, cette découverte aurait raccourci la durée de la guerre de 2 ans [5].

Allez, amusons-nous un peu avec un dernier message à déchiffrer (je vous invite à aller sur le site Dcode [6] pour vous aider). Prenons la machine à trois rotors de la Luftwaffe (aussi celle de la  Wehrmacht), les rotors I II et III, le réflecteur B, les positions initiales des rotors à A B et C, celles des roues alphabet à A A A et un câblage simple A-B C-D E-F G-H (paramètres du site Dcode). Maintenant vous pouvez décoder ce message :

Jkpa Ucjat vhz ow rlng ey Qwnv Wqiawvzxa

De nos jours, ce ne sont plus des messages mais des données entières qui sont cryptées via des méthodes encore plus complexes que celles dont je viens de parler. Les clefs utilisées pour crypter les données sont elles-mêmes la plupart du temps souvent codées. Malgré tout, il est important de rester vigilant sur ce que vous pouvez faire avec vos données, car il existe de plus en plus de génies de l’informatique prêts à vous les subtiliser.

L'auteur :

Photo Thibault Rennesson Article du blog

Après l’obtention d’un Master en Physique à l’Université de Reims, Thibault Rennesson intègre le Master Communication Scientifique de l’Université de Strasbourg.  Musicien à ses heures perdues et adepte de la culture « geek », il a pour objectif de diffuser le trésor que représente la science au plus grand nombre.

 

Bibliographie

[1] : Outil en ligne, « Chiffre de César » version 2015 sur : http://www.dcode.fr/chiffre-cesar consulté le 2 Novembre 2015.

[2] : Müller, Didier, outil en ligne, « Le chiffre de Vigenère » crée le 14 Mars 2001 sur : http://www.nymphomath.ch/crypto/vigenere/index.html consulté le 2 Novembre 2015.

[3] : Müller, Didier, « Décryptement du chiffre de Vigenère (théorie) » écrit le 4 Avril 2001 sur : http://www.apprendre-en-ligne.net/crypto/vigenere/decodevig.html  consulté le 3 Novembre 2015.

[4] : « Histoire de la machine Enigma » sur : http://www.bibmath.net/crypto/index.php?action=affiche&quoi=debvingt/enigmaguerre consulté le 3 Novembre 2015.

[5] : Cofflard, Maureen, « Alan Turing, génie informatique et homosexuel, porté à l'écran » écrit le 6 Février 2015 sur : http://www.lepoint.fr/culture/alan-turing-genie-informatique-et-homosexuel-porte-a-l-ecran-06-02-2015-1902826_3.php consulté le 3 Novembre 2015.

[6] : Outil en ligne, « Machine Énigma » version 2015 sur : http://www.dcode.fr/chiffre-machine-enigma consulté le 11 Novembre 2015


Un commentaire pour “Petite histoire de cryptage”

  1. Vianney | Permalink

    Merci pour ce résumé historique mais une petite mise au point de vocabulaire cryptographique s'impose.
    En français, on utilise :
    - « chiffrer » pour rendre une information illisible par quelqu'un qui ne possède pas la clé. »
    - « déchiffrer » pour effectuer l'opération inverse en connaissant la clé
    - « décrypter » pour casser un chiffrement sans en connaître la clé.

    « crypter » est un anglicisme qui ne devrait pas être utilisé.

    On doit donc dire que les Allemands ont chiffré les messages grâce à Enigma et que les alliés ont réussi à les décrypter (et non déchiffrer). 😉

    Plus d'infos : https://chiffrer.info/

    Sources :
    - ANSSI : https://www.ssi.gouv.fr/uploads/2014/11/RGS_v-2-0_B1.pdf (§ A.1.1)
    - http://www.bortzmeyer.org/cryptage-n-existe-pas.html

Publier un commentaire

Vous devez être connecté pour ajouter un commentaire.