🧑‍🎤 Chiffrement du Che ✊



Difficulté : ⭐⭐


📜 Historique

Ernesto Rafael Guevara de la Serna alias Che Guevara était un révolutionnaire marxiste d'Amérique latine. Il entretenait une correspondance secrète avec Fidel Castro en utilisant un système de chiffrement. Attention, Che Guevara n'a pas inventé lui-même ce principe mais son utilisation de cette méthode lors de communications clandestines a contribué à la rendre célèbre. Aujourd'hui, ce procédé est souvent désigné sous le nom de « chiffrement du Che ».

Le principe de ce chiffrement repose sur deux étapes avec une clé de chiffrement qui historiquement contient 5 chiffres:

Etape n°1 : Chaque caractère est remplacé par un nombre à 2 chiffres déterminé à l'aide d'un tableau de substitution.

Etape n°2 : Chaque chiffre va être additionné au chiffre associé de la clé en base 10.

Historiquement, les chiffres sont regroupés par blocs de 5 caractères (même espacement que la taille de la clé).



🧮 Exemple

Pour l'exemple, nous allons prendre le message "Hello" avec les substitutions suivantes : (H = 45, e = 89, l = 12, o = 73) et la clé "48226".

Dans un premier temps, chaque lettre est remplacée par les nombres de substitution : "Hello" ➡️ "4589121273"

Dans un second temps, chaque chiffre du message est additionné au chiffre correspondant de la clé (en conservant uniquement le chiffre des unités) :

    Message : 4 5 8 9 1 2 1 2 7 3
    Clé     : 4 8 2 2 6 4 8 2 2 6
              -------------------
    Résultat: 8 3 0 1 7 6 9 4 9 9

Ce qui nous donne le message crypté suivant : 8301769499


Addition en base 10

⚠️ L'addition est réalisée chiffre par chiffre en conservant uniquement le chiffre des unités. Par exemple : 8 + 7 = 15 devient 5.


Notation 📝 

La notation se fait à l'aide des critères suivants :

Fonctionnement (❓/🔟) : Le programme doit être fonctionnel et permettre de chiffrer et déchiffrer un message à l'aide de cette méthode. La clé doit être modifiable par l'utilisateur et pouvoir fonctionner avec au moins 5 chiffres.

Lisibilité (❓/5️⃣) : Le code doit être clair, correctement présenté et accompagné de commentaires permettant de comprendre facilement la démarche utilisée.

Qualité (❓/5️⃣) : L'algorithme doit être pertinent, éviter les répétitions inutiles et utiliser des structures de données adaptées lorsque cela est possible.



🔐 A vous de jouer !

Vous pouvez ci-dessous tester l'algorithme de chiffrement du Che :

Sélectionnez les caractères pouvant être cryptés :

✅ a-z     ✅ Espaces            


Entrez le message à chiffrer :

Entrez la clé de chiffrement :



🗝️ Résultats

Les substitutions sont les suivantes :

{'A': '31', 'B': '70', 'C': '43', 'D': '95', 'E': '54', 'F': '98', 'G': '74', 'H': '18', 'I': '38', 'J': '46', 'K': '93', 'L': '97', 'M': '21', 'N': '79', 'O': '51', 'P': '37', 'Q': '72', 'R': '35', 'S': '07', 'T': '71', 'U': '90', 'V': '99', 'W': '41', 'X': '81', 'Y': '13', 'Z': '01', 'a': '09', 'b': '94', 'c': '89', 'd': '87', 'e': '76', 'f': '64', 'g': '25', 'h': '04', 'i': '17', 'j': '40', 'k': '20', 'l': '77', 'm': '19', 'n': '75', 'o': '03', 'p': '00', 'q': '86', 'r': '06', 's': '62', 't': '08', 'u': '12', 'v': '67', 'w': '47', 'x': '56', 'y': '50', 'z': '63', '0': '73', '1': '36', '2': '58', '3': '14', '4': '53', '5': '48', '6': '24', '7': '44', '8': '42', '9': '29', ' ': '49', '.': '61', ',': '11', ';': '32', ':': '52', '!': '02', '?': '91', "'": '69', '-': '92', 'é': '96', 'è': '39', 'à': '34', 'ç': '66', 'ù': '68', 'ê': '78', 'â': '84', 'î': '16', 'ô': '82', 'û': '59', 'ë': '60', 'ï': '23', 'ü': '26'}


Votre message crypté sera :

82372 66348 24306 26202 15461 36202 15462 89908 51322 78543 88309 014


Le décryptage associé sera :

Bonjour, vous voulez tester ?