Le chiffre affine

Le chiffre affine est un chiffre de substitution simple. Il est placé ici dans le cours car on peut le voir comme la version unidimensionnelle du chiffre de Hill.
L'idée est d'utiliser comme fonction de chiffrage une fonction affine du type y = ax + b, où a et b sont des constantes, et où x et y sont des nombres correspondant aux lettres de l'alphabet selon le tableau ci-dessous:

Lettre 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
Nombre 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

Evidemment, pour que la lettre chiffrée (y) soit encore un nombre entre 0 et 25, on travaillera modulo 26.
La vraie formule sera donc y = (ax + b) mod 26.
On peut remarquer que si a=1, alors on retrouve le chiffre de César et b est le décalage.
On remarquera aussi que si b=0, alors "a" est toujours chiffré "A".

Entrez un texte non accentué (au besoin prétraitez le texte).

Message clair

Clef  
a = b =
Message chiffré

Quelle est la formule pour déchiffrer un message, connaissant a et b ?


Exercice

Chiffrement

Chiffrez à la main le texte suivant avec le chiffrement affine en utilisant la clef a=3 et b=2: Sur l'onde calme et noire où dorment les étoiles
La blanche Ophélia flotte comme un grand lys
Conseil: construisez d'abord l'alphabet de chiffrement.
Vérifiez votre cryptogramme avec le programme ci-dessus.

Déchiffrement

Déchiffrez à la main le texte suivant avec le chiffrement affine en utilisant la clef a=3 et b=2: RJSHH OHBOE JOPHO MOPHI SKIXO OOPEO EJSPU ENSAJ OESPO PHOPL LCPEJ OEFSA EJSAP HCAPE LOEXC JJCJA E

Décryptement

Décryptez le message suivant: FUNRZ ERWZD UUFIR MCFNI FURMR ENDUU RURNW MCFNF UNRZE RW


Travail (utilisation d'un tableur)

Prérequis : arithmétique modulo m

Vous avez sans doute remarqué que a ne peut pas prendre n'importe quelle valeur. Essayez de chiffrer et déchiffrer avec les valeurs a=2, 4 et 13 (avec b=0) pour voir les résultats. Pouvez-vous expliquer les étranges phénomènes que vous observez?
Pour vous aider à répondre, téléchargez le fichier ci-dessous qui vous permettra de construire un tableau dans un tableur (Excel de Microsoft Office, ou Calc de OpenOffice) contenant les résultats de y = ax mod 26:

affine.xls

Solution


Référence


Licence Creative Commons Didier Müller, 25.1.21