loader

Kit cyber - Chapitre 6 : Chiffrement des messages par clé de César

Troisième chapitre parcours Ecoute des communications du kit cyber

Le chiffrement par substitution est une technique ancienne, popularisée par Jules César. Le général romain protégeait ses messages militaires en décalant chaque lettre d’un certain nombre de positions dans l’alphabet. Par exemple, « ATTACK » devient « DWWDFN » avec un décalage de +3.
Cette méthode permettait de rendre ses ordres incompréhensibles pour l’ennemi, tout en restant très simple à appliquer et à décoder pour ses propres troupes, à condition de connaître la clé (la valeur du décalage).
Aujourd’hui, ce procédé est utilisé à des fins pédagogiques : il illustre les premières idées de chiffrement et montre le rôle central joué par la clé pour préserver la confidentialité d’un message.

Le code de César repose sur une idée simple : appliquer un décalage fixe aux lettres de l’alphabet, défini par une clé partagée entre l’émetteur et le récepteur. Sans cette clé, le message intercepté reste difficile à lire.
Mais ce type de chiffrement présente plusieurs limites :
  • le nombre de clés possibles est très faible (25 décalages dans l’alphabet latin)
  • un attaquant peut facilement tester toutes les clés ou utiliser l’analyse de fréquence des lettres
  • il n’offre donc pas une protection suffisante face à un adversaire déterminé

Dans le monde numérique actuel, les systèmes de chiffrement modernes (AES, RSA, etc.) utilisent des clés beaucoup plus longues et des calculs mathématiques complexes, ce qui rend le déchiffrement par simple essai systématique pratiquement impossible.

Il est conseillé de reprendre le programme effectué lors du premier chapitre. Il va falloir chiffrer la clé et la valeur de chaque message envoyé et reçu en utilisant les blocs suivants, qui permettent de chiffrer / déchiffrer des chaînes de caractères par code de César :

bloc chiffrement césar

À chaque envoi, il faudra chiffrer la clé et la valeur. À chaque réception, il faudra déchiffrer la clé et la valeur.


Si tu es bloqué :
  • Il est nécessaire d’encapsuler les valeurs envoyées / reçues dans le bloc de chiffrement et de mettre le bon mode (chiffrer / déchiffrer).

De la même façon que la carte client, la carte serveur devra chiffrer les messages envoyés et déchiffrer les messages entrants, grâce au même bloc. Attention, faites bien en sorte que les deux cartes possèdent la même valeur de décalage.


Attention - Le chiffrement par code de césar ne fonctionne que pour les lettres. Si les données chiffrées contiennent des caractères qui ne sont pas des lettres (tirets, chiffres, etc.), ces derniers ne seront pas chiffrés. Pensez donc par exemple à écrire les valeurs des soldes en toutes lettres, par exemple pour 1235 :mille deux cent trente cinq.

Si tu es bloqué :
  • Il est nécessaire d’encapsuler les valeurs envoyées / reçues dans le bloc de chiffrement et de mettre le bon mode (chiffrer / déchiffrer).

Connecte les trois micro:bit (client, serveur et carte malveillante) sur le même canal radio, puis lance les programmes. Depuis la carte client, envoie plusieurs demandes de solde avec différents identifiants. Vérifie que le client affiche toujours le bon solde en clair.
Ouvre ensuite la console de la carte malveillante : tu ne vois plus les soldes en clair, car la carte ne reconnaît plus les messages chiffrés. Affiche alors tous les messages reçus (sans filtrage ni mise en forme) : tu verras passer des textes chiffrés, illisibles sans la clé (le décalage). Compare avec l’activité précédente, où le solde apparaissait directement.

Dans cette activité, nous avons protégé les échanges entre le client et le serveur en appliquant un chiffrement simple (code de César) sur les clés et les valeurs des messages. Résultats et points à retenir :
  • Le chiffrement empêche un écouteur non autorisé de lire directement le contenu intercepté : les messages captés apparaissent sous forme illisible tant que l’on ne connaît pas la clé de décalage.
  • Cependant, le code de César reste une méthode faible : il est utile pour comprendre le principe du chiffrement et le rôle d’une clé partagée, mais il peut être cassé rapidement par un adversaire déterminé (essai de toutes les clés ou analyse de fréquence).
  • Protéger la confidentialité des messages nécessite donc deux éléments complémentaires : un algorithme de chiffrement adapté et une gestion sûre des clés (qui doit empêcher la fuite ou la réutilisation non autorisée de la clé).

Pour aller plus loin :
  • Chercher les mots-clés « chiffrement par substitution » pour voir d’autres variantes historiques de ce type de code.
  • Se renseigner sur le chiffrement symétrique (clé secrète partagée entre l’émetteur et le récepteur) et sur la notion d’attaque par force brute, qui consiste à essayer toutes les clés possibles jusqu’à trouver la bonne.

رخصة الاستخدام