Module 3I024 - Introduction à la Cryptologie TD1 - Cryptologie Romantique – page 1/9
Bases de l’Arithmétique et Cryptologie Romantique
Version du 11 janvier 2017
TD
1 Quelques bases
Exercice 1 – Rappels d’arithmétique de base
1. Que représente l’expression 31 mod 26 ? Quelle est sa valeur?
2. Que vaut 3 mod 26 ?
3. Rappeler la définition d’un nombre premier. Du pgcd de deux entiers.
4. Donner les tables d’addition et de multiplication modulo 12.
5. Donner l’ensemble des couples (a.b)∈ {0, . . . , 11}2tels que bsoit l’inverse de apour l’addition modulo 12
6. Donner l’ensemble des couples (a.b)∈ {0, . . . , 11}2tels que bsoit l’inverse de apour la multiplication modulo 12
7. Exhiber un élément adans {0, . . . , 11}différent de 0tel qu’il existe un b6= 0 et vérifiant a×b= 0 mod 12.
8. Résoudre l’équation 7x+ 5 = 4 mod 12. Qu’en est-il de l’équation 3x+ 5 = 7 mod 12 ?
Exercice 2 – Structures algébriques
1. Rappeler la définition d’un groupe.
2. Vérifier que l’ensemble des classes modulo un entier nmuni de l’addition forme bien un groupe (on le note généra-
lement Z/nZ.
3. Rappeler la définition d’un groupe cyclique. Montrer que le groupe additif Z/nZest cyclique.
4. Rappeler la définition d’un morphisme de groupe. En faire de même pour un isomorphisme.
5. Montrer que tout groupe fini cyclique de cardinal nest isomorphe à Z/nZ. Ce dernier est donc le groupe cyclique
de cardinal ncanonique.
6. Rappeler la définition d’un groupe commutatif (dit aussi abélien). Donner un groupe de permutation qui n’est pas
commutatif.
Exercice 3 – Python, les listes et les statistiques
1. Étant donnée une liste d’éléments numériques (des entiers ou des flottants) donner un fonction Python permettant
d’en calculer la moyenne.
2. Étant donnée une variable aléatoire discrète Xreprésentée à l’aide de deux listes de même longueur (la première
représentant les valeurs prises par Xet la seconde les probabilités correspondant à chacun de ces valeurs). Donner
une fonction Python permettant de calculer l’espérance de X.
3. Avec les mêmes notations que la question précédente, donner une fonction Python permettant de calculer la variance
et l’écart type de X.
4. Soit `une liste Python. Rappeler comment construire toutes les sous-listes de `que l’on peut extraire à l’aide de la
syntaxe `[a:b:c]a, b, c sont des entiers (pas forcément positifs).
©2016-2017(by UPMC/Licence d’Informatique/3I024 - Introduction à la Cryptologie) 11 janvier 2017
Module 3I024 - Introduction à la Cryptologie TD1 - Cryptologie Romantique – page 2/9
Exercice 4 – Questions introductives de Cryptologie
1. Rappeler la définition de la cryptologie.
2. Quelle est la différence entre cryptographie et cryptanalyse?
3. Quelle est la différence entre la cryptographie et la stéganographie?
4. Quel mathématicien célèbre s’est illustré en participant à la cryptanalyse de la machine à chiffrer utilisée par l’armée
allemande pendant la seconde guerre mondiale?
5. Donner le nom de la machine dont on parle dans la question précédente?
6. L’utilisation des moyens cryptographiques est-elle libre en France? Qu’en est-il du transfert de moyens de crypta-
nalyse?
2 Chiffrement et déchiffrement
Exercice 5 – Mono-alphabétique
1. Rappeler le principe de base de la cryptographie mono-alphabétique. Avec quelle opération mathématique cela peut-
il se définir? Quelle est la clé secrète?
2. (Chiffrement de César) Quelle est la particularité du chiffrement de César dans l’ensemble des chiffrements mono-
alphabétiques? En déduire que la clé secrète peut être définie par le symbole dans l’alphabet d’arrivée correspondant
à une lettre fixée dans l’alphabet de départ (le A par exemple). Rappeler avec quelle opération mathématique le
chiffrement et le déchiffrement de César peut se définir.
3. (Chiffrer, déchiffrer des messages pour César) L’alphabet de départ et d’arrivée est le même : les caractères ma-
juscules non accentués.
Chiffrer le message ATTAQUESURLUTECEDEMAIN avec la clé R.
déchiffrer le message IVIRYNPELCGBYBTVR avec la clé N.
4. En supposant que les alphabets d’entrée et de sortie soient celui des 26 lettres majuscules, estimer la difficulté
de retrouver un texte clair à partir d’un chiffré sans connaître la clé pour un chiffrement par décalage ou plus
généralement un chiffrement mono-alphabétique.
5. Sur quel principe mathématique se base la cryptanalyse d’un chiffrement mono-alphabétique?
Exercice 6 – Poly-alphabétique
1. Le chiffrement de Vigenère peut être vu comme une généralisation du chiffrement de César : au lieu de décaler
chacune des lettres du message clair selon une lettre (la clé secrète), on va décaler des blocs de lettres selon un mot.
Donner un schéma expliquant le chiffrement de Vigenère.
2. À l’aide de la clé CESAR, déchiffrer le message XSMSRXIRDVLEIUVNUMEJRSANKU obtenu en utilisant le
chiffrement de Vigenère.
Avec la clé CIPHER chiffrer le message LATTAQUEESTPREVUEPOURDEMAIN.
3. Expliquer quel principe mathématique permet de modéliser le chiffrement de Vigenère.
3 Indice de coïncidence et de coïncidence mutuelle
©2016-2017(by UPMC/Licence d’Informatique/3I024 - Introduction à la Cryptologie) 11 janvier 2017
Module 3I024 - Introduction à la Cryptologie TD1 - Cryptologie Romantique – page 3/9
Exercice 7 – Indice de Coïncidence
1. (Définition) Rappelez la définition de l’indice de coïncidence.
2. (Caractérisation possible) Caractériser l’indice de coïncidence comme la variance d’une variable aléatoire que
vous expliciterez.
3. (Calcul) D’après le tableau suivant, calculer l’indice de coïncidence d’un texte écrit en anglais.
Langue A B C D E F G H I J K L M
Français 9,42 1,02 2,64 3,39 15,87 0,95 1,04 0,77 8,41 0,89 0,00 5,34 3,24
Anglais 8.08 1.67 3.18 3.99 12.56 2.17 1.80 5.27 7.24 0.14 0.63 4.04 2.60
Langue N O P Q R S T U V W X Y Z
Français 7,15 5,14 2,86 1,06 6,46 7,90 7,26 6,24 2,15 0,00 0,30 0,24 0,32
Anglais 7.38 7.47 1.91 0.09 6.42 6.59 9.15 2.79 1.00 1.89 0.21 1,65 0.07
4. (Propriétés) Montrez que l’indice de coïncidence est invariant par chiffrement par substitution. Qu’en déduisez-
vous sur le principe de distinction?
Exercice 8 – Test de Kasiski vs Indice de Coïncidence
1. (Cours) Rappelez le principe du test de Kasiski.
2. (Utilisation) Le texte suivant est issu d’un chiffrement par Vigenère d’un texte en anglais. Utilisez le test de Kasiski
pour retrouver la longueur de la clé. Peut-on conclure directement à l’aide des indications données dans le texte? Si
non, pour quelle raison? Si oui expliquer comment.
GSRLCVXYEJ TBZKEIPAGP BEAVTBEAVH RCFTGVSSTB PKFQNNNTVJ GUOIWTEHAO
HPWVPVGBEX UQBRYEARRU ENZERYTHUE BKWPAFLFZX LYYEAZWUEU CMNEFWCEAK
LRRIXTEGRR MLGUXUECCH IMRNNLEFVT ONSBTISFYN MJLVSCYOVR GIIYLFVVCB
TGKLRPLZLV XNLYDLVIZE XEHUIFELEA ZQJHYYAVAE ONPOVVFEUY WYMFJOOZDI
ATNZEULVMN STKPBNACHD EATCNIFIZS XPIVRQMICX LTBNCYVZHR NNEARRVNMA
BIEGIIYTEH GHUEMFYGTY CMYICOYEKP SSRIXTEGRL SCBTWJOOWW JYSFCNXYIA
CYSBJXUEIC RTPRALWRWM GTYOMFLVSI HGCMZINLMZ SASNSTKEYO HRIFIZIMLY
CEGCIYMIEQ IWEBFRVNNP KDWGHYNHDT BNYYMJSSTB PKRZRNUCXW IJAHOLZQCL
YLFRRNBCCW RRQTBPIYEA TUDFRPZEGZ KPEGAQZFRR
3. (IC et longueur de clé) Expliquer comment l’indice de coïncidence permet de retrouver la longueur de la clé lors
d’une cryptanalyse de Vigenère.
4. (Application) Le tableau suivant est le résultat pour k= 3, . . . , 20, du calcul de l’indice de coïncidence moyen des
sous-chaînes Si=sisi+ksi+2k· · · pour i[0, k 1].
k IC moyen k IC moyen
3 0.0431208310349463 12 0.0423336353568912
4 0.0429338103756708 13 0.0396449704142012
5 0.0412621359223301 14 0.0701810833389781
6 0.0428238229266580 15 0.0410287751464222
7 0.0683182595511363 16 0.0429611131476051
8 0.0426682692307692 17 0.0427533861152915
9 0.0450287596385600 18 0.0436051815362160
10 0.0414027149321267 19 0.0445558340295182
11 0.0405418663975556 20 0.0412307692307692
En déduire la longueur de la clé du chiffrement de Vigenère utilisé pour chiffrer ce texte en anglais.
5. (Bonus) Vous finirez la cryptanalyse de ce texte chez vous.
©2016-2017(by UPMC/Licence d’Informatique/3I024 - Introduction à la Cryptologie) 11 janvier 2017
Module 3I024 - Introduction à la Cryptologie TD1 - Cryptologie Romantique – page 4/9
Exercice 9 – Indice de Multi-Coïncidence
1. Sachant que le texte suivant
WWWVJRKYTB XFDZHTXAXT PHPACUVABO RFXQTATAWP TDIZSASDTI TACWROXRIZ
IHLMCWREEW VMIWSZPBHF WOXFDIXFTF XTTDSQIFCA UFSYPBGQAM VURGAAJZHE
JTJURSLQCQ ITXGXTTCVK RZIMGZCRXH XQSHSTXGSI CZMYXHEFXC REIVEFPZSZ
VDSQBWWMUZ EFRCRFGOHU RHMACWRFTF QEIVIODATA CSRFHCJFWS VMKSRMGSJQ
LORPHWQBAS EYPBENXFHM CRXTTDLMCH EEBOPYTASD NOXMLCQMC
a été chiffré en utilisant une clé de taille 4 et le cryptosystème de Vigenère, retrouvez le texte clair en utilisant la
table des multi-indices de coïncidence suivante
i j Indice de multi-coïncidence entre siet Dec(sj, d)avec d= 0, . . . , 25
0 1 0.034 0.064 0.038 0.042 0.027 0.041 0.040 0.031 0.031 0.034 0.039 0.029 0.045
0.028 0.041 0.033 0.047 0.035 0.037 0.034 0.044 0.046 0.032 0.052 0.031 0.031
0 2 0.053 0.043 0.044 0.025 0.035 0.050 0.042 0.035 0.027 0.033 0.044 0.063 0.041
0.033 0.027 0.042 0.037 0.033 0.033 0.035 0.036 0.029 0.040 0.032 0.043 0.034
0 3 0.024 0.029 0.039 0.063 0.045 0.028 0.026 0.047 0.034 0.035 0.036 0.038 0.032
0.029 0.045 0.043 0.041 0.034 0.047 0.040 0.031 0.029 0.037 0.054 0.042 0.037
1 2 0.036 0.034 0.028 0.040 0.041 0.041 0.034 0.038 0.044 0.040 0.063 0.043 0.032
0.030 0.044 0.039 0.034 0.038 0.035 0.027 0.027 0.042 0.039 0.037 0.033 0.049
1 3 0.036 0.040 0.065 0.042 0.024 0.029 0.046 0.037 0.029 0.046 0.040 0.021 0.033
0.050 0.046 0.031 0.033 0.049 0.031 0.030 0.037 0.048 0.038 0.034 0.040 0.030
2 3 0.023 0.024 0.043 0.044 0.050 0.039 0.043 0.040 0.025 0.034 0.027 0.045 0.035
0.045 0.041 0.023 0.034 0.043 0.076 0.040 0.025 0.031 0.032 0.045 0.034 0.048
4 Chiffrements polygrammiques
Exercice 10 – Carré de Polybe et chiffrement ADFGVX
Le carré de Polybe (Grèce antique, 200 ans avant J.-C.) permettait de transmettre des messages à l’aide de torches
allumées. Pour cela, on écrit dans un tableau carré 5×5les lettres de l’alphabet (privé de W que l’on pourra remplacer
par V). Pour transmettre une lettre, on transmettra ses coordonnées dans ce tableau en allumant d’un côté le nombre de
torches (<5) correspondant au numéro de la ligne et de l’autre celui des colonnes.
De ce principe de base, un chiffrement utilisé pendant la première guerre mondiale est né. Le colonel allemand Fritz
Nebel a mis au point le chiffrement ADFGVX (ou GEDEFU 18) qui sera utilisé à partir de 1918. Ici on utilise des
tableaux de taille 6permettant de coder l’ensemble des lettres de l’alphabet (non accentuées) et les 10 chiffres. Plutôt
que d’utiliser des nombres pour identifier les lignes et colonnes, on utilise les lettres ADFGVX qui sont très éloignées
dans le code morse et ainsi permet d’éviter les fautes de frappes (ou, au pire, de corriger facilement une telle erreur de
transmission). Une première clé secrète consiste en la disposition des caractères dans le tableau. Une deuxième clé est
représenter par une permutation permettant de mélanger le texte chiffré après application du principe de Polybe.
Par exemple, on suppose que le tableau est donné par :
A D F G V X
A c 1 o f w j
D y m t 5 b 4
F i 7 a 2 8 s
G p 3 0 q h x
V k e u `6 d
X v r g z n 9
©2016-2017(by UPMC/Licence d’Informatique/3I024 - Introduction à la Cryptologie) 11 janvier 2017
Module 3I024 - Introduction à la Cryptologie TD1 - Cryptologie Romantique – page 5/9
Dans une première étape, on codera donc le mot attaque par FF|DF|DF|FF|GG|VF|VD.
Dans une seconde étape, on va transposer les lettres que nous venons d’obtenir (chiffrement par transposition, i.e.
les lettres restent les mêmes, on échange leurs positions). Supposons que la clé de permutation πsoit de longueur n= 4
et donnée par pi = [3,1,2,4] (représentée par un tableau, i.e. l’image de ipar πest donnée par pi[i]). On dispose alors
le texte codé en ligne successives de nlettres et on complète les lignes par des caractère aléatoires (ne modifiant pas le
message, XX ici) :
FFDF
DFFF
GGVF
VDXX
Le texte chiffré sera le résultat de la permutation par πdes colonnes :
FDFF
FFDF
GVGF
DXVX
et la lecture des caractères de haut en bas et de gauche vers la droite. Finalement on obtient le chiffré :
FFGD|DFVX|FDGV|FFFX
1. Quel est le taux d’expansion de ce chiffrement?
2. Chiffrer le texte attaquesurparisle12janvier à l’aide du même tableau et de la permutation [2,1,5,3,6,4].
3. Déchiffrer le texte GFFFV FFDFF DDFXG FVDVV XFVVF GXGAD AXDGV FGVFX FFVAF FVV à l’aide du
même tableau et de la permutation [3,1,6,2,5,4].
L’ancien major de l’école polytechnique Georges-Jean Painvin entré en tant que réserviste au service du chiffre fran-
çais, réussit à cryptanalyser entre avril et mai 1918, le cryptosystème ADFGVX mis en place par les allemands au début
mars de la même année. En particulier, cette analyse lui permit de déchiffrer un message allemand sur l’organisation
d’une attaque au nord de Compiègne. Cette attaque déjouée fût un des tournants pour la victoire des français. Le secret
sur cette attaque fût classé pendant 50 ans (classique concernant le secret militaire) et le colonel allemand Nebel fût fort
désappointé lorsqu’en 1967 il apprit que son cryptosystème était cassé depuis fort longtemps!
Exercice 11 – Inversion modulaire et Chiffrement de Hill
1. (Préliminaires) Rappeler la définition de l’anneau A=Z/7Z. Donner la table d’addition et de multiplication de
A. L’anneau Apossède-t-il des diviseurs de zéro? Est-il intègre? Est-il un corps? Quelle est la différence majeure
entre Z/7Zet Z/26Z?
2. (Chiffrement affine) Donner la définition d’un cryptosystème par chiffrement affine avec P=C=A. Quelle est
la différence principale avec le cas où P=C=Z/26Z?
3. (Chiffrement de Hill) Le cryptosystème poly-alphabétique de Hill que nous allons étudier ici permet de chiffrer
des données de deux caractères de l’alphabet Z/7Z. Une clé Ksera représentée par une matrice 2×2à coefficients
dans Z/7Zet la fonction de chiffrement correspondante sera l’application de Ksur un vecteur de deux caractères.
Donner la représentation formelle de ce cryptosystème comme nous l’avons vu en cours. Quelle caractéristique doit
avoir la matrice Kpour que le cryptosystème soit valide?
4. Montrer que l’ensemble des matrices 2×2sur un anneau Aforme lui-même un anneau et que le sous-ensemble des
matrices inversibles est un groupe pour la multiplication.
©2016-2017(by UPMC/Licence d’Informatique/3I024 - Introduction à la Cryptologie) 11 janvier 2017
1 / 23 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 !