Arithm´etique et cryptographie
´
Enonc´e
Le but de l’exercice est le cryptage/d´ecryptage d’un message avec le chiffrement `a clef
secr`ete . On utilisera pour cela le codage informatique des lettres avec le code inter-
national ASCII. Le message choisi est une citation de Mignon McLaughlin (journaliste
et ´ecrivain am´ericain, 1913-1983)
I. Exp´erimentation
Pr´eliminaire : En informatique, le code ASCII consiste `a associer `a chaque caract`ere
(lettre de l’alphabet, chiffre, signe de ponctuation, ...) un code num´erique que l’on
appelle son code ASCII.
Par exemple, le code de Aest 65, celui de Best 66, celui de aest 97, celui de l’espace
est 32... Le code utilis´e est un entier ntel que 06n6255.
Syntaxe : Dans la plupart des tableurs, la fonction code renvoie le code ASCII. La
fonction r´eciproque est not´ee car . On entre =code(“A”) pour obtenir le nombre
65 et on entre =car(65) pour obtenir la lettre A.
1. Cryptage
(a) ´
Ecrire un programme code transformant une chaˆıne de caract`eres en la liste
des codes ASCII correspondants.
On appliquera notamment ce programme `a la chaˆıne de caract`eres (qui consti-
tue la premi`ere partie du message de McLaughlin) :
Dans l’arithmetique de l’amour, un plus un egal...
(b) La ligne 3 du tableau ci-dessous consiste `a crypter le code ASCII, en de la
fa¸con suivante : `a tout nentier appartenant `a [0; 255] associe le reste C(n) de
la division de 7npar 256
On note Cla fonction de cryptage qui, `a tout nentier appartenant `a [0; 255]
associe le reste de la division de 7npar 256. Soit C(n) ce reste.
´
Ecrire une fonction crypte r´ealisant la transformation n7→ C(n), pour un
entier n, ou pour une liste Ld’entiers n.
Le tableau ci-dessous donne le d´ebut de la phrase et du codage `a obtenir :
A B C D E F G H I J K L M N
1message D a n s l a r i t h m
2codage ASCII 68 97 110 115 32 108 32 97 114 105 116 104 109
3message cod´e 220 167 2 37 224 244 224 167 30 223 44 216 251
2. D´ecryptage `a l’aide de la clef secr`ete.
La fin de la citation de Mignon McLaughlin est crypt´ee par :
244 224 223 2 202 223 2 223 224 195 44 224 188 195 51 72 224 251 9
223 2 37 224 51 2 224 195 209 167 244 224 86 195 30 9
Pour d´ecrypter la fin de cette citation, on note Dla fonction de d´ecryptage qui, `a
tout entier kappartenant `a [0; 255], associe le reste de la division de 183kpar 256.
´
Ecrire une fonction crypte r´ealisant la transformation n7→ D(n), pour un entier
n, ou pour une liste Ld’entiers n.
En d´eduire un programme carac permettant de lire la fin de la citation de Mignon
McLaughlin.
II- Justifications
1. Justification du codage
Pour le codage ASCII, deux lettres de l’alphabet sont cod´ees par deux nombres
distincts. Il faut s’assurer que le cryptage choisi au I-1.b code deux nombres net p
distincts, compris entre 0 et 255, par deux nombres distincts.
(a) Montrer que, si C(n) = C(p) alors 7(np)0 modulo 256.
(b) En d´eduire que n=p. Justifier alors que le codage est valide.
2. Explication du d´ecodage
(a) V´erifier que 183 ×71 modulo 256.
En d´eduire que 183 ×(7n)nmodulo 256.
(b) Expliquer pourquoi la fonction D, qui associe `a kle reste de la division de 183k
par 256, assure le d´ecryptage attendu.
Corrig´e de l’exercice avec le Fx-CP400
1. Cryptage
Les commandes ChrToNum et NumToChr transforment un caract`ere en son code
num´erique correspondant (par exemple A en 65) ou l’inverse (fig1).
Comme le demande l’´enonc´e, on ´ecrit un programme baptis´e code transformant
une chaˆıne de caract`eres en la liste des codes num´eriques correspondants (fig 2).
Ce programme prend un param`etre nomm´e chn et qui est suppos´e contenir la
chaˆıne de caract`eres `a convertir.
On cr´ee une liste vide (plac´ee dans la variable globale Liste), que l’on compl`ete
successivement par les codes num´eriques de chacun des caract`eres de la chaˆıne.
On utilise pour cela une boucle For, l’indice kvariant de 1 `a la longueur de chn
(calcul´ee au d´ebut par StrLen), et plac´ee dans la variable locale t.
L’instruction ChrToNum chn,n,k place le code de la k-i`eme lettre de chn dans
la variable locale n.`
A la fin, la variable globale Liste contient la liste des codes
num´eriques de la chaˆıne initiale.
fig1: ChrToNum &NumToChr fig2 : le programme code
1 / 3 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !