Le chiffre Atbash

Le chiffre Atbash consiste simplement à inverser l'ordre des lettres de l'aphabet (a->Z, b->Y, c->X, etc.)

Programmation étape par étape

Ecrivons d'abord un programme étape par étape, avec commentaires et résultats intermédiaires.
On entre tout d'abord dans une "string" (une chaîne de caractères) le texte à coder:

extrait = "Ecrivez un beau texte entre ces deux guillemets";

L'instruction suivante supprime tous les accents, les "ç", et écrit le texte en majuscules.

\(maj = 
      ToUpperCase[
        StringJoin[
          Characters[
              ToLowerCase[
                ToString[
                  extrait]]] /. {"é" -> "e", "è" -> "e", "ê" -> "e", "ë" -> "e", "à" -> "a", "â" -> "a", "î" -> "i", "ï" -> "i", "ö" -> "o", "ô" -> "o", "ü" -> "u", "û" -> "u", \ "ç" -> "c"}]]\)

Dans un ordinateur, les lettres majuscules sont codées en code ASCII, du numéro 65 (A) ou numéro 90 (Z).

ascii = ToCharacterCode[maj]

Pour faciliter le chiffrement, on supprime les espaces et les signes de ponctuation:

continu = Select[ascii,  (# < 91  &&  # > 64)  &]

Il faut maintenant d'inverser l'ordre des lettres. Programmez cette opération. Vous devez obtenir une liste de nombre, liste que vous nommerez "décalage".

Il n'y a plus qu'à retransformer les nombres en caractères et nous obtiendrons le texte chiffré.

FromCharacterCode[décalage]

Programmation du module "Atbash"

Rassemblez dans un seul module toutes les instructions programmées dans la première partie.

Atbash[texte_] := 
  Module[
  ];

Votre module devra produire les résultats suivants:

extrait = "Ecrivez un beau texte entre ces deux guillemets";
code = Atbash[extrait]

clair = Atbash[code]