Parcours
/
Odin
Odin
/
Exercices
/
Chiffrement simple
Chiffrement simple

Chiffrement simple

Facile

Instructions

Crée une implémentation du chiffre de Vigenère. Le chiffre de Vigenère est un chiffre de substitution simple.

Terminologie du chiffre

Un chiffre est un algorithme qui sert à chiffrer, ou encoder, une string. La string non chiffrée s'appelle le texte en clair et la string chiffrée s'appelle le texte chiffré. Convertir du texte en clair en texte chiffré s'appelle l'encodage, tandis que l'opération inverse s'appelle le décodage.

Dans un chiffre de substitution, chaque lettre du texte en clair est remplacée par une lettre du texte chiffré, calculée à l'aide d'une clé. (À noter qu'une lettre de remplacement peut être identique à la lettre d'origine.)

Détails de l'encodage

Dans ce chiffre, la clé est une suite de lettres minuscules, comme "abcd". Chaque lettre du texte en clair subit un décalage ou une rotation d'une distance calculée à partir de la lettre correspondante de la clé. Un "a" dans la clé correspond à un décalage de 0 (c'est-à-dire aucun décalage). Un "b" dans la clé correspond à un décalage de 1. Un "c" dans la clé correspond à un décalage de 2, et ainsi de suite.

La première lettre du texte en clair utilise la première lettre de la clé, la deuxième lettre du texte en clair utilise la deuxième lettre de la clé, et ainsi de suite. Si tu épuises les lettres de la clé avant d'épuiser celles du texte en clair, reprends depuis le début de la clé.

Si la clé ne contient qu'une seule lettre, comme "dddddd", toutes les lettres du texte en clair sont alors décalées de la même distance (trois dans cet exemple), ce qui en fait l'équivalent d'un chiffre par rotation ou par décalage (parfois appelé chiffre de César). Par exemple, le texte en clair "iamapandabear" deviendrait "ldpdsdqgdehdu".

Si la clé ne contient que la lettre "a" (une ou plusieurs fois), la distance de décalage est nulle et le texte chiffré est identique au texte en clair.

En général, la clé est quand même plus compliquée que ça !

Si la clé est "abcd", les lettres du texte en clair sont décalées d'une distance de 0, 1, 2 et 3. Si le texte en clair est "hello", il faut 5 décalages, donc la clé recommence depuis le début, ce qui donne des distances de décalage de 0, 1, 2, 3 et 0. En appliquant ces décalages aux lettres de "hello", on obtient "hfnoo".

Clés aléatoires

Si aucune clé n'est fournie, génère une clé composée d'au moins 100 lettres minuscules aléatoires de l'alphabet latin.

Modifie via GitHub Le lien s'ouvre dans une nouvelle fenêtre ou un nouvel onglet
Odin Exercism

Prêt à commencer Chiffrement simple ?

Inscris-toi sur Exercism pour apprendre et maîtriser Odin avec 73 exercices, et un vrai mentorat humain, le tout gratuitement.