Aller au contenu principal

Protection des données : introduction au cryptage

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)

Parlons sciences

Quels sont les liens avec mon programme d'études?

Partager sur:

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

Il existe de nombreux types différents de mathématiques. Chacun aide les gens à découvrir et à faire différentes choses. Par exemple, l’arithmétique traite des nombres et des opérations de base comme l’addition, la soustraction et la multiplication. L’algèbre nous aide à trouver des quantités inconnues et la géométrie nous aide à comprendre les formes. Mais savais-tu que tu peux utiliser les mathématiques pour cacher des choses? Tu le peux, en utilisant ce qu’on appelle le cryptage. Voyons comment cela fonctionne.

Imagine que tu veuilles envoyer un message secret à un ami ou à une amie. Comment pourrais-tu garder le message secret? Tu peux essayer de le lui donner en demeurant invisible. Mais que faire si l’on te découvrait et qu’une autre personne voyait le message? Pas bon! Une meilleure façon serait d’écrire le message de telle manière que si une autre personne que ton ami ou ton amie le trouve, il ou elle ne serait pas en mesure de le lire. C’est ça le cryptage.

Le savais-tu?

Le cryptage est le terme utilisé pour créer des messages secrets. Le décryptage est le terme utilisé pour lire des messages secrets. 

Les gens veulent envoyer des messages secrets pour de nombreuses raisons. L’une des plus importantes est d’empêcher les autres de savoir ce que tu fais. Par exemple, pendant une guerre, tu ne voudrais pas que l’ennemi sache ce que tu projettes de faire. En cryptant tes messages, tu pourrais les garder en sécurité s’ils tombaient entre des mains ennemies.

Pendant la Seconde Guerre mondiale, des centres de cryptage et de décryptage ont été mis en place dans de nombreux pays. Bletchley Park, en Angleterre, était très célèbre. Là, les cryptologues ont travaillé dur pour décrypter les messages des pays qu’ils combattaient.

Une célèbre machine allemande de cryptographie créée pendant la Seconde Guerre mondiale a été appelée la machine Enigma. Les machines Enigma utilisaient un clavier, un ensemble de disques rotatifs et des circuits électriques pour créer les codes secrets. Le trajet électrique de chaque lettre sur le clavier vers la lettre de sortie était souvent changé. Cela en a fait un code difficile à casser. Finalement, les informations sur les machines et le travail soutenu des cryptologues alliés ont permis aux Alliés de lire les messages codés allemands. Cette capacité à découvrir les intentions des Allemands, à leur insu, a aidé les Alliés à gagner la Deuxième Guerre mondiale.

Le fonctionnement de la machine Enigma (2018) Par Delphine Barant (3 min 34s)

Tu peux créer ta propre machine Enigma en utilisant une boîte de Pringles et cet imprimé (en anglais).

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 tu voulais envoyer ton mot de passe bancaire (hotdog) à une amie de façon sécuritaire, tu pourrais utiliser un code de substitution en écrivant plutôt « ©¢¿£¢> ». Note toutefois que ton 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é ton message, il aurait fallu qu’il ou qu’elle perce le mystère de ton 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. 

L’information que seuls toi et la personne à qui tu destines tes 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).
Image - Version texte

Un diagramme en couleur illustre le processus de cryptage à clé symétrique.
Le diagramme est présenté horizontalement, avec des flèches indiquant les étapes d’un processus de gauche à droite.

La première image sur la gauche est une boîte gris pâle contenant le texte «Bonjour toi». Sous cette boîte se trouve l’étiquette «Texte en clair».

Une flèche bleue pointe de cette boîte vers une illustration d’un cadenas fermé. Celui-ci est étiqueté «Cryptage».

Une autre flèche bleue pointe du cadenas fermé vers une boîte gris pâle contenant une série de caractères. Il s’agit d’un signe de dollar, d’un signe de cent, d’une lettre majuscule X, d’un signe de pourcentage, d’un autre signe de cent, d’un astérisque, d’une esperluète, d’une lettre majuscule A, d’un autre signe de cent et d’un symbole arobase. La boîte est étiquetée «Texte crypté».

Une autre flèche bleue pointe de cette boîte vers une illustration d’un cadenas ouvert. Celui-ci est étiqueté «Décryptage».

La dernière flèche bleue mène du cadenas ouvert vers une troisième boîte grise. Elle est identique à la première image. Elle contient les mots «Bonjour toi» et est étiquetée «Texte en clair».

Au-dessus de ces images, un ensemble de flèches rouges indique un autre processus. Une flèche rouge mène du cadenas fermé à une illustration rouge d’une clé. Une deuxième flèche rouge mène de la clé au cadenas ouvert.

Dans le cryptage à clé symétrique, le message original est dans ce qu’on appelle le texte en clair. Le message est ensuite crypté avec la clé symétrique qui le convertit en texte crypté. Le texte crypté est déchiffré avec la clé symétrique. Le message peut maintenant être lu en clair.

Le cryptage à clé symétrique est une méthode relativement simple, ce qui signifie qu’il est assez facile de casser les codes créés de cette façon.

Le savais-tu?

Un ou une cryptologue est une personne qui étudie les codes.

Une méthode plus délicate est le cryptage à clé asymétrique. Dans cette méthode, deux clés différentes sont utilisées. Une clé est utilisée pour crypter le message. Une clé différente est utilisée pour décrypter le message. La clé utilisée pour crypter le message est désignée sous le nom de clé publique. La clé utilisée pour décrypter le message porte le nom de clé privée. Ces clés sont mathématiquement liées de telle façon qu’il est pratiquement impossible de deviner la clé privée à partir de la clé publique. Le cryptage à clé asymétrique est une méthode de cryptage plus sûre que le cryptage à clé symétrique, car seul le lecteur visé connaît la clé privée.

Cryptage à clé asymétrique
Cryptage à clé asymétrique (©2020 Parlons sciences). 
Image - Version texte

Un diagramme en couleur illustre le processus de cryptage à clé asymétrique.
Le diagramme est présenté horizontalement, avec des flèches indiquant les étapes d’un processus de gauche à droite.

La première image sur la gauche est une boîte gris pâle contenant le texte «Bonjour toi». Sous cette boîte se trouve l’étiquette «Texte en clair».

Une flèche bleue pointe de cette boîte vers une illustration d’un cadenas fermé. Celui-ci est étiqueté «Cryptage». Au-dessus, une illustration rouge d’une clé est étiquetée « Clé publique » en lettres rouges.

Une autre flèche bleue pointe du cadenas fermé vers une boîte gris pâle contenant une série de caractères. Il s’agit d’un signe de dollar, d’un signe de cent, d’une lettre majuscule X, d’un signe de pourcentage, d’un autre signe de cent, d’un astérisque, d’une esperluète, d’une lettre majuscule A, d’un autre signe de cent et d’un symbole arobase. Le tout est étiqueté «Texte crypté».

Une autre flèche bleue pointe de cette boîte vers une illustration d’un cadenas ouvert. Celui-ci est étiqueté «Décryptage». Au-dessus, une illustration verte d’une clé est étiquetée «Clé privée» en lettres vertes.

La dernière flèche bleue mène du cadenas ouvert à une troisième boîte grise. Elle est identique à la première image. Elle contient les mots «Bonjour toi» et est étiquetée «Texte en clair».

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. 

D’autres types de codes de compression ont été développés pour d’autres types de données. Par exemple, JPEG est une méthode de compression d’images. 

Le savais-tu?

JPEG signifie Joint Photographic Experts Group. C’est le groupe qui a créé ce code.

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, 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 »).

Le savais-tu?

Le code morse international est une variante moderne du code morse original.

Code morse international

Code morse international (Source: domaine public via Wikimedia Commons).

Image - Version texte

Une illustration en couleur montre des chiffres et des lettres en français à côté de leurs équivalents en code morse.
L’illustration comporte du texte noir et des symboles sur un fond jaune pâle. Le titre, Code morse international, apparaît en haut au centre. Sous le titre se trouve une liste de quatre phrases :
1. Un tiret est égal à trois points.
2. L’espacement entre deux éléments d’une même lettre est égal à un point.
3. L’espacement entre deux lettres est égal à trois points.
4. L’espace entre deux mots est égal à sept points.
La partie principale de l’illustration comprend l’alphabet ainsi que les nombres de 0-9, avec leurs équivalents en points et en tirets. Ils sont disposés en deux colonnes.

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.

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

As-tu déjà vu un télécopieur (aussi appelé «fax» de l’anglais «facsimile machine»)? 

Il y en a probablement un dans les bureaux administratifs de ton école ou d’une autre entreprise que tu connais. 

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.

A fax machine from the 1990s/Un télécopieur des années 1990
Un télécopieur des années 1990 (Source : Jonnyt [domaine public] via Wikimedia Commons).
Image - Version texte

Une photographie en couleur montre une machine gris pâle avec 31 boutons, un combiné téléphonique et deux plateaux à papier.

La machine a une face avant rectangulaire avec une surface légèrement incurvée. Le premier plateau à papier s’étend à l’arrière du bord supérieur. Le deuxième est dans une longue ouverture horizontale sous le bord supérieur. Un combiné téléphonique avec un cordon enroulé est déposé dans la partie gauche de la face avant. Un long autocollant bleu imprimé avec les mots «Inkjet Fax» est apposé le long du côté droit. Au centre, il y a un petit écran LCD mince. En dessous se trouvent les boutons numérotés d’un clavier téléphonique, avec des boutons argentés supplémentaires sur les deux côtés. En bas à droite se trouvent de plus grands boutons ronds de couleur rose, verte et beige.

Les images et le texte envoyés par télécopieur sont d’abord convertis en parties en noir et blanc. La machine crée une grille fine et remplit tous les carrés qui sont noirs. Elle envoie ensuite des informations indiquant si chaque carré de la grille est noir ou blanc.

Supposons que tu veuilles envoyer l’image à droite. 

Cette image fait partie de ce qu’on appelle le message d’Arecibo, envoyé dans l’espace au moyen d’un radiotélescope.

Certaines parties de la grille seraient remplies en blanc et d’autres parties en noir. Ces carrés sont appelés pixels.

Section of the Arecibo Message/Une partie du message d’Arecibo
Une partie du message d’Arecibo (©2020 Parlons sciences).
Image - Version texte

On voit ici une grille en noir et blanc avec quelques carrés remplis en noir pour former une image.

L’image est une grille de lignes noires sur un fond blanc. Certains petits carrés de la grille sont remplis de noir. Ceux-ci forment une lettre majuscule M avec une ligne courbe sur le dessus.

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 au-dessus, nous n’aurions besoin de transmettre que « 8 », « 5 » et « 8 », soit trois caractères descriptifs au lieu de 21. 

En présumant qu’on commence toujours par le blanc.

Question 4: 

Encodez le reste de l’image 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.

Maintenant, tu connais quelques façons de cacher des messages en utilisant les mathématiques!

Question 1:

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:

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: 

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

Solutionnaire : 

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

Question 4:

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

La "bombe" de Turing : vers le décryptage industriel (2017)

Cette vidéo (8 min) par Le blob, l’extra-média, explique l'histoire de la machine à énigmes et le fonctionnement de la cryptage.

[Comment ça marche ?] La cryptographie (2018)

Cette vidéo ( 2min 14s) de CEA Recherche offre une introduction à l'histoire de la cryptographie. 

Codes secrets

Ce site web propose des jeux amusants pour pratiquer différents types de cryptage. 

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.