Aller au contenu principal

La cryptologie

Le chiffrement (cryptage) est utilisé pour protéger les données

Le chiffrement (cryptage) est utilisé pour protéger les données (Oleksandr Pupko, iStockphoto)

Le chiffrement (cryptage) est utilisé pour protéger les données

Le chiffrement (cryptage) est utilisé pour protéger les données (Oleksandr Pupko, iStockphoto)

Format
Parlons sciences
Lisibilité
8.79

Renseignez-vous sur le cryptage, un domaine des mathématiques impliqué dans le maintien de la confidentialité des données.

Introduction 

La vérification des théories est au cœur de n’importe quelle démarche scientifique; or, les comparaisons requises ne peuvent se faire qu’en employant un moyen d’expression que tous les chercheurs peuvent décoder. Les mathématiques permettent à des groupes de gens qui ne parlent pas nécessairement la même langue de se pencher ensemble sur un problème donné.

Les mathématiques se divisent en de nombreuses branches plus fascinantes les unes que les autres. Dans ce document d'information, nous examinerons comment on s’en sert pour protéger nos données. C'est ce qu'on appelle la cryptologie. Nous espérons que vous pourrez ainsi voir ce domaine scientifique sous un jour tout à fait nouveau!

La cryptologie

Que vous soyez un agent secret ou un élève qui achète des trucs en ligne, il est important de pouvoir protéger vos données quand vous les transmettez. Par exemple, si vous vouliez envoyer à un ami un courriel au sujet d’une fête-surprise, il serait peut-être plus sage de l’écrire d’une manière que seuls vous et l’ami en question pourriez comprendre. Le cryptage (une manière d’écrire des messages secrets) et le décryptage (une manière de lire des messages secrets) ont été d’une importance vitale en périodes de conflit. Lors de la Deuxième Guerre mondiale, plusieurs pays avaient en effet mis sur pied des centres de cryptologie. Parmi ces centres figurait celui de Bletchley Park, en Angleterre, où des cryptanalystes travaillaient au décryptage des messages codés par leurs ennemis.

Durant cette même guerre, les Allemands ont créé un célèbre modèle de machine de cryptologie appelé Enigma (voir la figure 5). Ces machines employaient un clavier, un jeu de disques rotatifs et des circuits pour encoder des messages. Le trajet électrique entre les lettres du clavier et celles qui sont émises par la machine Enigma changeait tellement souvent qu’il devenait très difficile de déchiffrer le texte. Au bout du compte, des renseignements obtenus au sujet de ces machines, combinés au travail acharné des cryptanalystes, ont permis aux combattants de lire les transmissions allemandes. Le fait de savoir ce que leurs ennemis fabriquaient sans que ceux-ci s’en doutent a aidé les Alliés de la Deuxième Guerre mondiale à remporter la victoire.

An Enigma machine in use, 1943
<p>Machine Enigma utilisée en 1943 (Source : Bundesarchiv, Bild 183-2007-0705-502 / Walther / CC-BY-SA 3.0] via <a href="https://commons.wikimedia.org/wiki/File:Bundesarchiv_Bild_183-2007-0705-502,_Chiffriermaschine_%22Enigma%22.jpg">Wikimedia Commons</a>).</p>

Les codes de substitution

Les machines Enigma chiffraient les messages en substituant les lettres les unes aux autres. Elles utilisaient donc ce qu’on appelle un code de substitution. Ce type de code permet aussi de remplacer des lettres par des symboles. Par exemple, si vous vouliez envoyer votre mot de passe bancaire (hotdog) à une amie de façon sécuritaire, vous pourriez utiliser un code de substitution en écrivant plutôt « ©¢¿£¢> ». Notez toutefois que votre amie aurait alors besoin d’aide pour déchiffrer le mot de passe!

Question 1:

En prenant l’exemple ci-dessus, où le mot « hotdog » s’écrit « ©¢¿£¢> », de quoi votre amie aura-t-elle besoin pour déchiffrer le code? (Indice : il s’agit de ce qu’on appelle la « clé de cryptage ».) La réponse se trouve à la fin du Document d'information.

En guise de code de substitution, on peut également choisir de remplacer chacune des lettres d’un message par celles qui s’en éloignent d’une distance fixe vers le début ou la fin de l’alphabet. Ainsi, le mot « DANGER » pourrait devenir « GDQJHU » si on emploie toujours la lettre située à trois positions plus loin que celle d’origine. On appelle parfois ce genre de cryptage le « chiffre de César », parce que l’empereur romain l’utilisait dans ses transmissions.

Question 2:

Créez un message utilisant un chiffre de César pour l’énoncé « Les troupes se rapprochent », et demandez à un ami de le déchiffrer après lui avoir fourni votre clé de cryptage. La réponse se trouve à la fin du Document d'information.

Dans l’exemple du mot de passe « hotdog », si quelqu’un avait intercepté votre message, il aurait fallu qu’il ou qu’elle perce le mystère de votre code de substitution. La personne aurait peut-être commencé en tentant de déterminer quelle lettre remplace le premier symbole. Elle aurait pu essayer toutes les combinaisons possibles jusqu’à ce qu’elle trouve la bonne. Il existe pourtant des trucs pour faciliter ce travail. Les plus habiles « intercepteurs » se servent en effet d’indices, comme la fréquence d’apparition des symboles. Comme la lettre « e » est celle qui est la plus couramment utilisée en français, le symbole le plus fréquemment rencontré pourrait être celui qui la remplace. Cette méthode de décryptage porte le nom d’analyse fréquentielle. Elle ne fonctionne toutefois que quand le message est long.

Mais comment pourrions-nous prévenir le décryptage de nos messages secrets par analyse fréquentielle? Une solution possible serait d’utiliser différents codes de substitution pour différentes parties du contenu. Par exemple, le « e » pourrait être remplacé par le « % » dans la première phrase, puis par le « * » dans la deuxième. Si on change de code assez souvent (comme les Allemands le faisaient avec leurs machines Enigma), il devient très difficile de déceler une construction particulière.

Les clés de cryptage

L’information que seuls vous et la personne à qui vous destinez vos messages secrets connaissez porte le nom de « clé de cryptage », parce qu’elle permet d’accéder à leur contenu. Dans le cas d’un code de substitution, cette clé est le mode de remplacement sur lequel vous vous êtes entendus.

La méthode à clé symétrique compte parmi les plus simples. En effet, c’est la même clé qui sert à crypter, puis à décrypter les messages. Mais sa simplicité constitue aussi le désavantage de cette méthode.

Cryptage à clé symétrique
Cryptage à clé symétrique (©2020 Parlons sciences).
Graphique - Version textuelle

Le texte original est présenté en texte en clair. Ensuite, il est crypté avec la clé symétrique qui le converti en texte crypte. Ce texte crypte peut être décrypté avec la clé symétrique. Après ce décryptage, le message peut être lu en texte en clair.

La méthode à clé asymétrique est plus complexe. Ici, on utilise deux clés différentes, soit une pour crypter le message, et une autre pour le décrypter. La première s’appelle la clé publique, et la seconde, la clé privée. Ces clés sont mathématiquement liées, mais d’une manière qu’il est quasiment impossible d’établir (le fait d’en connaître une ne permet pas facilement de déterminer l’autre). Il est préférable d’employer cette méthode, parce qu’elle est plus sûre que celle à clé symétrique; en effet, seul le lecteur visé connaît la clé privée.

Cryptage à clé asymétrique
Cryptage à clé asymétrique (©2020 Parlons sciences).
Graphique - Version textuelle

Le texte original est présenté en texte en clair. Ensuite, il est crypté avec une clé publique qui le converti en texte crypté. Ce texte crypté peut être décrypté avec une clé privée. Après ce décryptage, le message peut être lu en texte en clair.

Les codes de compression

Les cryptanalystes doivent également composer avec ce qu’on appelle des codes de compression. Ceux-ci permettent de réécrire l’information en utilisant moins de caractères, de façon à ce que les messages prennent moins d’espace dans les mémoires d’ordinateurs, ou puissent être transmis plus rapidement. Considérons l’exemple suivant :

Bienvenue au Nouveau-Brunswick!

Même si on retire certaines lettres, le message demeure compréhensible.

Essayons de retirer toutes les voyelles :

Bnvn Nv-Brnswck!

Le message est plus court (il occupe beaucoup moins d’espace mémoire que le message initial), mais est encore assez lisible. Ce type de code, très simple pour le langage, sert aussi à d’autres usages; on en a notamment mis un au point pour comprimer des images. On l’appelle « JPEG », un acronyme de « Joint Photographic Experts Group », soit le groupe responsable de sa création.

Le code Morse 

Le code Morse permet d’envoyer des textes par impulsions. Son fonctionnement a été démontré pour la première fois en 1844 par Samuel Morse, son inventeur, qui s’était alors servi de son télégraphe électrique pour transmettre de l’information par lignes télégraphiques (des fils de transmission de signaux électriques). Dans le code Morse international (une variation moderne du code original), chacune des lettres de l’alphabet s’exprime par un agencement de points et de tirets. Les séquences les plus courtes ont été attribuées aux lettres les plus couramment utilisées en anglais (le « e » par exemple est représenté par un seul point). Les séquences les plus longues correspondent aux lettres moins courantes (le « q » par exemple est représenté par la séquence « tiret-tiret-point-tiret ».

Code morse international
<p>Code morse international (Source : domaine public via <a href="https://commons.wikimedia.org/wiki/File:International_Morse_Code-fr.svg">Wikimedia Commons</a>).</p>

Cela permet de réduire la longueur des transmissions au maximum, puisque les séquences les plus courtes sont celles qui seront le plus souvent employées, alors que les séquences les plus longues ne le seront que rarement. Le code Morse est donc un type de code de compression.

Question 3: 

Décodez ce mot écrit en code Morse international. La réponse se trouve à la fin du Document d'information.

     - •-•• •-•• ---

Le codage RLC

Avez-vous déjà vu un télécopieur (aussi appelé « fax » de l’anglais « facsimile machine », voir la figure 9)?

A fax machine from the 1990s/Un télécopieur des années 1990
<p>Un télécopieur des années 1990 (Source : Jonnyt [domaine public] via <a href="https://commons.wikimedia.org/wiki/File:Samfax.jpg">Wikimedia Commons</a>).</p>

Il y en a probablement un dans les bureaux administratifs de votre école ou d’une autre entreprise que vous connaissez. Un télécopieur est une machine qui numérise des textes et des images, pour ensuite envoyer les données ainsi captées par l’intermédiaire d’une ligne téléphonique. L’appareil découpe ces textes et images en fines grilles, en envoyant des données qui indiquent quels petits carrés sont noirs ou blancs.

Supposons que vous vouliez envoyer l’image qui apparaît à la figure 10. Cette image fait partie de ce qu’on appelle le message d’Arecibo, envoyé dans l’espace au moyen d’un radiotélescope.

Une partie du message d’Arecibo
Une partie du message d’Arecibo (©2020 Parlons sciences).

Disons que le zéro (« 0 ») représente un carré blanc, et que le un (« 1 ») représente un carré noir. Pour envoyer la première ligne de l’image de la figure 10, il faudrait transmettre la séquence suivante, qui compte 21 caractères : 000000001111100000000. Disons aussi que la transmission d’un caractère prend une seconde. La description de cette première ligne exigerait donc un temps de transmission de 21 secondes. Existerait-il une manière plus rapide de transmettre cette description? Comme les images envoyées par télécopieur contiennent souvent des successions de longs blocs noirs ou blancs, on pourrait décrire ces blocs au lieu des carrés qui les composent. C’est ce qu’on appelle le codage RLC, de l’anglais run-length coding, aussi appelé « codage par plages ». Pour l’image de la figure 10, nous n’aurions besoin de transmettre que « 8 », « 5 » et « 8 », soit trois caractères descriptifs au lieu de 21. Présumez qu’on commence toujours par le blanc.

Question 4: 

Encodez le reste de l’image de la figure 9 de manière ordinaire (avec des « 0 » et des « 1 ») et suivant la méthode RLC. La réponse se trouve à la fin du Document d'information.

Solutionnaire

Question 1: En prenant l’exemple ci-dessus, où le mot « hotdog » s’écrit « ©¢¿£¢> », de quoi votre amie aura-t-elle besoin pour déchiffrer le code? (Indice : il s’agit de ce qu’on appelle la « clé de cryptage ».)

Solutionnaire : 

Votre amie aura besoin de savoir que h = ©, o = ¢, t = ¿, d = £ et g = >.

Question 2: Créez un message utilisant un chiffre de César pour l’énoncé « Les troupes se rapprochent », et demandez à un ami de le déchiffrer après lui avoir fourni votre clé de cryptage.

Solutionnaire : 

Si par exemple la clé de cryptage est un décalage de trois lettres vers la droite (la fin de l’alphabet), le texte crypté serait : « Ohv wurxshv vh uassurfkhqw ».

Question 3: Décodez ce mot écrit en code Morse international - •-•• •-•• ---

Solutionnaire : 

   - = a, •-•• = l, --- = o; le mot est donc « allo»

Question 4: Encodez le reste de l’image de la figure 10 de manière ordinaire (avec des « 0 » et des « 1 ») et suivant la méthode RLC.

Codage ordinaire                                   Codage RLC

Ligne 2 : 000000111111111000000         6, 9, 6

Ligne 3 : 000011100000001110000        4, 3, 7, 3, 4

Ligne 4 :  000110000000000011000       3, 2, 11, 2, 3

Ligne 5 :  001101000000000101100       2, 2, 1, 1, 9, 1, 1, 2, 2

Ligne 6 :  011001100000001100110       1, 2, 2, 2, 7, 2, 2, 2, 1

Ligne 7 :  010001010000010100010      1, 1, 3, 1, 1, 1, 5, 1, 1, 1, 3, 1, 1

Ligne 8 :  010001001000100100010      1, 1, 3, 1, 2, 1, 3, 1, 2, 1, 3, 1, 1

Ligne 9 : 000001000101000100000       5, 1, 3, 1, 1, 1, 3, 1, 5

Ligne 10 :  000001000010000100000    5, 1, 4, 1, 4, 1, 5

Ligne 11 :  000001000000000100000    5, 1, 9, 1, 5

 

Références

MathWorks. (n.d.). RunLength.

History.com. (2009, November 9). Morse code & the telegraph.

Jones, D. W. (n.d.). Data compression and encryption algorithms. University of Iowa.

Practical Cryptography. (n.d.). Simple substitution cipher.

The Editors of Encyclopaedia Britannica. (n.d.). Enigma.

Tyson, J. (n.d.). How encryption works. HowStuffWorks.

Sujets connexes