2NDE A AP : CRYPTOLOGIE ET CODAGE SÉANCE N°2
Principe du codage affine
Pour transmettre un message secret, on peut utiliser la procédure suivante :
- A toute lettre de l'alphabet, on associe le nombre lu dans le tableau ci-dessous :
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
- Soit le nombre obtenu à partir de la lettre de départ. On calcule . Le couple d'entiers où s’appelle la clé du codage.
- On calcule ensuite le reste de la division de par 26.
- Enfin, on associe à la lettre correspondante par lecture inverse du tableau.
1. Cas a = 1
Dans ce cas, le codage se résume à un décalage de lettres : .
Si , quel codage vu précédemment retrouve-t-on ?
Application : Quel mathématicien se cache derrière YXKFTM avec la clé (1 ; 19) ?
2. Quelques exemples de clé
➔ On prend la clé (3 ; 2) ; construire un tableau de correspondance entre lettres initiales et lettres finales :
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
x 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Coder alors la phrase suivante : JE SUIS EN SECONDE AU LYCÉE JEAN MONNET
Décoder le message suivant : JOENCICPIOEESPHRAPAOE
➔ Coder votre prénom avec la clé (25 ; 10) puis avec la clé (7 ; 17).
Prénom
Code
Prénom codé
Prénom
Code
Prénom codé
➔ On prend pour clé (2 ; 13). Compléter le tableau suivant :
Mot initial E N T I E R
Code 4
2NDE A AP : CRYPTOLOGIE ET CODAGE SÉANCE N°2
21
21
Mot codé V
Quel problème apparaît dans le codage ci-dessus ?
3. Fonction de décodage
Pour pouvoir décoder un message, il ne faut pas que deux lettres différentes soient codées par la même lettre. On
admet que le décodage est possible lorsque PGCD( a ; 26) = 1.
Notons la clé du décodage correspondant à la clé du codage .
En utilisant le codage de votre prénom obtenu à la question 2.a. ; vérifier que (25 ; 10) est la clé de décodage de la clé
(25 ; 10).
Prénom codé
Code
Décodage
La clé de décodage de la clé (7 ; 17) est-elle (7 ; 17) ?
Prénom codé
Code
Décodage
Vérifier que la clé de décodage de la clé (7 ; 17) est (15 ; 9).
Prénom codé
Code
Décodage
Le tableau suivant donne la valeur de a′ connaissant la valeur de a.
1 3 5 7 9 11 15 17 19 21 23 25
1 9 21 15 3 19 7 23 11 5 17 25
4. Codage sur tableur
On souhaite crypter puis décrypter un message de façon automatique à l’aide du tableur EXCEL. On considère que le
message ne comporte que les lettres de A à Z écrites en majuscules. De plus tous les espaces entre les mots ont été
supprimés.
On commencera à attribuer à chaque caractère un entier compris entre 0 et 25, de telle façon que A soit représenté par
0, B par 1, C par 2, … et Z par 25. On appellera cette étape la numérisation du message. En informatique, les
caractères sont codés à l’aide du code ASCII, consistant à attribuer à chaque caractère un entier entre 0 et 255. Par
2NDE A AP : CRYPTOLOGIE ET CODAGE SÉANCE N°2
exemple, le code ASCII de @ vaut 64, celui de A vaut 65, celui de B vaut 66 etc. Connaissant le code ASCII d’une
lettre, il suffit donc de retirer 65 pour obtenir le numéro de celle-ci dans l’ordre alphabétique.
Dans EXCEL, la fonction qui donne le code ASCII d’un caractère est = CODE(). Dans ces conditions, la formule
=CODE(caractère) – 65 renvoie un entier compris entre 0 et 25 représentant le numéro du caractère dans l’ordre
alphabétique.
En utilisant le principe décrit ci-dessus, numériser le message suivant : BONJOURATOUS.
On écrira le message en ligne, avec une lettre par cellule. Le titre de la ligne sera Message en clair.
Ligne suivante, le titre sera Message numérisé.
On va crypter le message avec la clé de codage (15 ; 21).
Dans EXCEL, la fonction donnant le reste de la division d’un nombre par 26 est =MOD(nombre ; 26).
Mettre pour titre de la ligne suivante : Message numérisé crypté, puis réaliser le cryptage.
Pour revenir à un message alphabétique, on utilise la fonction EXCEL =CAR(codeASCII), qui retourne le caractère
associé à son code ASCII. Il suffira donc d’appliquer à chaque cellule de la ligne du Message numérisé crypté, la
formule =CAR(code + 65).
Mettre pour titre de la ligne suivante : Message crypté, et réaliser le cryptage.
Application :
➔ La clé de décodage est (7 ; 9). Décoder le message suivant :
EVFDVIZDDFUSLILD
➔ Décoder le message suivant sachant qu’il a été codé avec la clé (11 ; 15)
KHFPZFJBHWHRPZCFHUPAZHC
Pour revenir à un message alphabétique, on utilise la fonction EXCEL =CAR(codeASCII), qui retourne le caractère
associé à son code ASCII. Il suffira donc d’appliquer à chaque cellule de la ligne du Message numérisé crypté, la
formule =CAR(code + 65).
Mettre pour titre de la ligne suivante : Message crypté, et réaliser le cryptage.
Application :
➔ La clé de décodage est (7 ; 9). Décoder le message suivant :
EVFDVIZDDFUSLILD
➔ Décoder le message suivant sachant qu’il a été codé avec la clé (11 ; 15)
KHFPZFJBHWHRPZCFHUPAZHC
Pour revenir à un message alphabétique, on utilise la fonction EXCEL =CAR(codeASCII), qui retourne le caractère
associé à son code ASCII. Il suffira donc d’appliquer à chaque cellule de la ligne du Message numérisé crypté, la
formule =CAR(code + 65).
Mettre pour titre de la ligne suivante : Message crypté, et réaliser le cryptage.
Application :
➔ La clé de décodage est (7 ; 9). Décoder le message suivant :
EVFDVIZDDFUSLILD