• 10 heures
  • Facile

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 27/04/2023

Chiffrez et déchiffrez votre avatar

Bon alors d’accord, nos données sont un peu partout… Outre les différentes réflexions que cela ouvre, et les recours vus dans le chapitre précédent, il existe des moyens pour tenter de protéger ses données : les chiffrer par exemple, pour les rendre incompréhensibles à un tiers qui les intercepterait. Et si on commençait par chiffrer nous-même notre avatar, pour voir ?

Relevez maintenant les 3 derniers défis Scratch de ce module :

  1. Commencez votre projet de chiffrement

  2. Utilisez une clé de chiffrement

  3. Déchiffrez

Chiffrez votre avatar

Pour le moment, lorsque vous lancez l’affichage de votre avatar, les petits carrés de base composant votre image s’estampillent les uns après les autres pour former l’image correctement. Et si vous transmettez l’image encodée à quelqu’un (ce que vous avez dû faire dans les activités précédentes du cours), la personne recevant le fichier peut recréer l’image sans problème… Mais n’importe qui interceptant le fichier également !

Votre objectif ? Opérer une transformation sur votre image pour qu’à l’affichage, elle devienne totalement incompréhensible, autrement dit, chiffrée. Seule la connaissance de la transformation effectuée et de la clé de chiffrement permettra au réel destinataire de déchiffrer l’image pour recomposer le vrai avatar.

Comment faire ? En fait, votre image est stockée sous forme de liste de nombres : en transformant cette liste de nombres en une autre, grâce à une opération mathématique simple, vous pourrez alors afficher une image qui n’a plus rien à voir avec l’image d’origine. Enfin… en apparence.

En somme, votre image “en clair” :

image
image "en clair", c'est à dire non chiffrée

doit devenir une image chiffrée incompréhensible pour n’importe qui interceptant le fichier chiffré et essayant de le lire avec notre algorithme de dessin :

image chiffrée
image chiffrée

Vous ne savez pas comment procéder ? Suivez les étapes !

Étape 1 : Commencez votre projet

Dans ce projet, vous avez besoin d’une image sous forme de liste : vous pourriez par exemple reprendre la liste représentant votre avatar original décompressé.

Vous avez également toujours besoin de votre lutin “Carré” qui permet d’estampiller les costumes associés aux couleurs de la liste.

Enfin, vous vous doutez que pour reparcourir toute la liste, vous aurez aussi besoin d’une variable “compteur”.

Rassemblez donc tous ces éléments dans un nouveau projet, et si vous avez un doute, regardez le pas à pas en vidéo avant de continuer  :

Étape 2 : Utilisez une clé de chiffrement

Maintenant que (presque) tout est en place, vous aurez besoin d’une nouvelle liste, que vous allez appeler “clé”.

Mais qu’est-ce qu’une clé de chiffrement au juste ?

Pour que votre image “en clair” devienne chiffrée et donc incompréhensible, vous allez vous servir d’une clé intermédiaire (ici la clé sera une nouvelle liste de nombres). Grâce à cette clé, votre image en clair sera transformée en une image chiffrée : chacun des carrés constituant votre image sera remplacé par un autre carré, déterminé par une opération mathématique.

Par exemple, si la représentation en liste de votre image ressemble à :

5 - 5 - 5 - 3 - 3 - 3 - 3 - 3 - 7 - 6

et que votre clé ressemble à :

16 - 34 - 4 - 4 - 28 - 56 - 23 - 1 - 1 - 1

eh bien votre image chiffrée pourra simplement être l’addition des deux :

21 - 39 - 9 - 7 -31 - 59 - 26 - 4 - 8 - 7

En transmettant la dernière liste correspondant à votre image chiffrée, toute personne qui n’aurait pas la clé ne pourra afficher que cette image chiffrée incompréhensible.

Ah oui mais il ne pourra même pas l’afficher vu qu’il n’y a pas de costume n°21 ?! ni 39. Ni même 9 !

Vous avez raison : on s’est arrêté à 8 pour le nombre de couleurs utilisables. En l’état notre programme rencontrera donc un bug.

Pour éviter cela, la dernière opération à effectuer sur la liste obtenue est donc d’obtenir le reste de la division par 8 de chacun des éléments de la liste, afin de n’avoir que des valeurs inférieures ou égales à 8 dans votre liste finale.

Vous voyez maintenant comment faire votre programme de chiffrement ? Alors lancez-vous ! Et sinon retrouvez mon propre programme à tester après la vidéo. Mais si vous voulez d’abord voir ma méthode d'utilisation de la clé de chiffrement, voici mon pas à pas en vidéo :

Ça chiffre comme vous voulez ? Alors, passez maintenant au déchiffrement !

Déchiffrez

Eh oui, tout l’intérêt de chiffrer, c’est quand même que quelqu’un puisse déchiffrer… Si et seulement si la personne connaît la clé ! À partir d’une image chiffrée totalement incompréhensible (par exemple votre avatar chiffré avec l’algorithme de chiffrement précédent), et avec la même clé qui a servi au chiffrement de votre avatar, effectuez l’opération inverse et déchiffrez votre avatar ! C’est votre dernier défi avec Scratch, alors cette fois prenez bien le temps nécessaire avant de consulter la solution. ;)

Petit indice : le projet de déchiffrement est quasiment le même que celui de chiffrement, seul change le calcul.

À vous de jouer !

Et si vous n’arrivez pas à reconstituer l’image originale, mon pas à pas en vidéo :

Bien sûr, les techniques de chiffrement que vous avez vues dans ce chapitre sont assez simples (au moins du point de vue des cryptologues... ), mais il en existe bien d’autres : certaines sont même extrêmement complexes ! Et c’est normal, puisqu’on ne veut sûrement pas que quelqu’un puisse lire nos données personnelles sans autorisation (votre code de carte bancaire lors d’un paiement en ligne par exemple ?). Toutes ces techniques sont regroupées dans ce qu’on appelle la cryptographie, ou l’écriture secrète (l’écriture de messages secrets).

Et le secret étant de nature à émoustiller les esprits curieux, pourquoi ne pas passer au chapitre suivant pour en apprendre un peu plus sur cette science à part entière  ? ;)

En résumé

  • L’opération permettant de transformer une information compréhensible par tout le monde en une information non compréhensible par tout le monde s’appelle le chiffrement.

  • Pour chiffrer l’avatar, on a utilisé une clé de chiffrement et un algorithme de chiffrement.

  • L’algorithme de chiffrement consiste ici à additionner (en effectuant une opération appelée “modulo”) chacune des lignes de la liste représentant l’avatar, avec chacune des lignes de la liste représentant la clé : la nouvelle liste obtenue n’a ainsi plus rien à voir, a priori, avec la liste représentant l’avatar, et elle permet d’obtenir et d’afficher l’avatar chiffré.

  • Pour déchiffrer l’avatar chiffré, il est nécessaire d’avoir la même clé qui a servi à le chiffrer, ainsi que l’opération inverse de chiffrement.

Et si vous obteniez un diplôme OpenClassrooms ?
  • Formations jusqu’à 100 % financées
  • Date de début flexible
  • Projets professionnalisants
  • Mentorat individuel
Trouvez la formation et le financement faits pour vous
Exemple de certificat de réussite
Exemple de certificat de réussite