code utilisé: String.fromCharCode(), charCodeAt()

Cryptage avec des congruences

Sur une idée de Philippe Bouquet

Vous pouvez télécharger une feuille de tableur qui fait le même travail.

télécharger la feuille de tableur associée .

Nous allons encoder un message avec des congruences. On commence par regarder l'ensemble E des restes de la division par 26. C'est un ensemble de 26 éléments allant de 0 à 25. À 0 corrrespond a, à 1 correspond b, à 25 correspond z. À tout élément n de E on associe le reste de la division de 3×n+2 par 26. Par exemple le nombre associé à 5 est 17, le nombre associé à 10 est 6 (reste de la division de 32 par 26)

Faites un essai avec le formulaire suivant.

nombre nombre crypté


On peut vérifier que deux éléments différents de E ont deux images différentes.

Cliquer sur Afficher



Pour décrypter, on utilise la fonction qui à n associe le reste de 9n+8 dans la division par 26. Pourquoi cette fonction? Demandez à vos camarades de spé…

Code Javascript

On a utilisé la fonction :
  1. String.fromCharCode() qui transforme un nombre en son code ASCII par exemple le code ASCII de a est 97
  2. charCodeAt() qui donne le code ASCII d'un élément d'une chaîne de caractères.

fait le 27 janvier 2009