Telechargé par HSM ATH

Crypto TD1

publicité
SCI 460 – Cryptographie – TD 1
IUT d’Arles – DUT SRC – 2010-2011
Objectifs : Comprendre les trois types de chiffrement : simple, symétrique et asymétrique. Être capable d’utiliser
quelques algorithmes de cryptographie : chiffre de César, chiffre de Vigenère, algorithme RSA. Être capable d’utiliser des
attaques simples pour déchiffrer un message, sans connaître la clé utilisée.
1 Chiffrement simple / par substitution
Une substitution consiste en le remplacement des caractères du texte clair par d’autres caractères.
Mais la place des caractères dans le message n’est pas modifiée. Lorsque l’on essaie de décrypter un
message chiffré avec un tel procédé, on utilise des données statistiques concernant le langage utilisé
pour la rédaction du texte clair. Pour vous aider à percer les cryptogrammes dont la clé n’est pas
donnée, voici la répartition des lettres en Français par ordre décroissant des fréquences (source :
Manuel de cryptographie, L. Sacco, Payot, 1947) :
E 17.76 N 7.61 R 6.81 O 5.34 P 3.24 V 1.27 B 0.80 Y 0.21 K 0.01
S 8.23 T 7.30 U 6.05 D 3.60 M 2.72 G 1.10 H 0.64 J 0.19 W 0.00
A 7.68 I 7.23 L 5.89 C 3.32 Q 1.34 F 1.06 X 0.54 Z 0.07
Et celle des bigrammes (2 lettres)
ES
LE
EN
DE
RE
305 NT 197 ET
246 ON 164 EL
242 ER 163 QU
215 TE 163 AN
209 SE 155 NE
143 OU 118 IS 103 ED 96 UR 88 TA 85 US 76
141 AI 117 LA 101 IE 94 CO 87 EP 82 SA 75
134 EM 113 EC 100 RA 92 AR 86 ND 80 SS 73
139 IT 112 TI 98 IN 90 TR 86 NS 79
124 ME 104 CE 98 EU 89 UE 85 PA 78
On utilisera dans les exercices suivants une représentation numérique des lettres de l’alphabet :
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
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 26
1.1 Chiffre de césar
Le système le plus ancien est attribué à Jules César. Il consiste en un décalage de l’alphabet (dans le
système original, A était remplacé par C, B par D, C par E…).
Q1. Voici un texte chiffré obtenu avec la clé H. Retrouvez le texte en clair.
QLZBP
TPZLY
UKHUA
ZHSVU
HISLZ
JVTTL
KYLZK
KLSHC
UAZLK
HUZBU
PSSLQ
PABYP
LKLZY
LTHYJ
UVPYL
BLZSL
OLLUT
UZSHU
ZWSBZ
LKLTH
N
Q2. Voici un autre texte chiffré ; on ne connait pas ici la clé utilisée. Retrouvez le texte en clair.
FYPYQ
LOTEN
LYELO
SDLTD
TEUPD
OPDAZ
LTDOP
PDTPD
DAZPX
PDFYP
YQLYE
SCI 460 – Cryptographie – TD 1
1.2 Chiffre de Vigenère
C'est un système de substitution poly-alphabétique ou de chiffrement polyalphabétique. Cela signifie
qu'il permet de remplacer une lettre par une autre qui n'est pas toujours la même, contrairement au
chiffre de César ou à ROT13 qui se contentaient d'utiliser la même lettre de substitution. Pour pouvoir
chiffrer notre texte, à chaque caractère nous utilisons une lettre de la clé pour effectuer la substitution.
C'est donc une méthode relativement plus « solide » que les deux autres.
Clé utilisée
V
V
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
W
W
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
X
X
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
Y
Y
Z
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Z
Z
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
Lettre chiffrée
L'outil indispensable du chiffrement de Vigenère est : « La table de Vigenère ».
Lettre en clair
A B C D E F G H I J K L M N O P Q R S T U
A A B C D E F G H I J K L M N O P Q R S T U
B B C D E F G H I J K L M N O P Q R S T U V
C C D E F G H I J K L M N O P Q R S T U V W
D D E F G H I J K L M N O P Q R S T U V W X
E E F G H I J K L M N O P Q R S T U V W X Y
F F G H I J K L M N O P Q R S T U V W X Y Z
G G H I J K L M N O P Q R S T U V W X Y Z A
H H I J K L M N O P Q R S T U V W X Y Z A B
I I J K L M N O P Q R S T U V W X Y Z A B C
J J K L M N O P Q R S T U V W X Y Z A B C D
K K L M N O P Q R S T U V W X Y Z A B C D E
L L M N O P Q R S T U V W X Y Z A B C D E F
M M N O P Q R S T U V W X Y Z A B C D E F G
N N O P Q R S T U V W X Y Z A B C D E F G H
O O P Q R S T U V W X Y Z A B C D E F G H I
P P Q R S T U V W X Y Z A B C D E F G H I J
Q Q R S T U V W X Y Z A B C D E F G H I J K
R R S T U V W X Y Z A B C D E F G H I J K L
S S T U V W X Y Z A B C D E F G H I J K L M
T T U V W X Y Z A B C D E F G H I J K L M N
U U V W X Y Z A B C D E F G H I J K L M N O
V V W X Y Z A B C D E F G H I J K L M N O P
W W X Y Z A B C D E F G H I J K L M N O P Q
X X Y Z A B C D E F G H I J K L M N O P Q R
Y Y Z A B C D E F G H I J K L M N O P Q R S
Z Z A B C D E F G H I J K L M N O P Q R S T
Q3. Ce cryptogramme a été obtenu par chiffrement de Vigenère avec le mot-clé ’RAYMOND’
RILEW
CLCER
ETGQZ
FRETJ
NQJLC
YH
QGZRV
DSTQV
UPERR
ALUAN
VDAJQ
OUEDM
GRWUE
QBQGR
QRSZH
MHWQH
2
SCI 460 – Cryptographie – TD 1
2 Chiffrement symétrique / asymétrique
2.1 Chiffrement symétrique / asymétrique
Un groupe de n personnes souhaite utiliser un système cryptographique pour s’échanger deux à deux
des informations confidentielles. Les informations échangées entre deux membres du groupe ne
devront pas pouvoir être lues par un autre membre.
Q4. Le groupe décide d’utiliser un système symétrique de chiffrement.
a. Quel est le nombre minimal de clefs symétriques nécessaires ?
b. Donner le nom d'un algorithme de chiffrement symétrique reconnu.
Q5. Le groupe décide ensuite de remplacer ce système par un système asymétrique.
a. Quel est le nombre minimal de couples de clés asymétriques nécessaires pour que
chaque membre puisse envoyer et recevoir des informations chiffrées et/ou signées ?
b. Alice souhaite envoyer des informations chiffrées et signées à Bob (Alice
et Bob appartiennent tous les deux au groupe). Quelle(s) clef(s) Bob doit­il utiliser ?
c. Donner le nom d'un algorithme de chiffrement asymétrique reconnu.
Q6. Le groupe décide finalement d'utiliser un système hybride pour le chiffrement (i.e. qui utilise
à la fois le cryptographie symétrique et asymétrique).
a. Donner les raisons qui ont poussées le groupe à utiliser un tel système.
b. Donner un exemple de système hybride.
2.2 Attaque par force brute
Une attaque par force brute est une attaque dont on connaît l’algorithme de chiffrement utilisée, la (ou
les) longueur(s) de clé(s) utilisée(s), mais dont on ne connait pas la (ou les) valeur(s). A ce moment là,
on essaie toutes les clés possibles.
Q7. Attaque par force brute :
Le facteur de travail d’un algorithme est le nombre d’instructions élémentaires nécessaire à
son exécution. La puissance de la machine est le nombre d’instructions qu’elle exécute par
unité de temps. La puissance d’un PC actuel (en 2010) est d’environ 100 000 Mips (millions
d’instructions par secondes).
Le facteur de travail d’un algorithme optimisé pour tester une clé de 128 bits de l’algorithme
AES est d’environ 1200 instructions élémentaires. On dispose d’un couple clair chiffré connu
et on désire retrouver la clé utilisée par force brute, c’est-à-dire en testant toutes les clés les
unes après les autres. Une clé est constituée d’un mot de 128 symboles binaires (0 ou 1). On
suppose que toutes les clés sont équiprobables.
a.
b.
c.
d.
e.
En combien de temps une machine de 100 000 Mips teste-t-elle une clé ?
Combien y a-t-il de clés possibles ?
Quel est le nombre moyen de clés à tester avant de trouver la bonne ?
Quel est le facteur de travail moyen (en Mips × années) pour trouver la clé ?
A quel temps moyen de calcul cela correspond-il si on suppose que les 300 millions de
PC de l’Internet sont mobilisés pour cette tâche ?
3
SCI 460 – Cryptographie – TD 1
2.3 Méthode XOR
Pour les algorithmes de chiffrement symétrique, on distingue deux types d'algorithmes, les
algorithmes en blocs, qui prennent n bits en entrée et en ressortent n, et les algorithmes à flots, qui
chiffrent bit par bit sur le modèle du chiffre de Vernam. La méthode XOR est une technique à flots.
Q8. Chiffrer la suite binaire en clair suivante à l’aide de la méthode XOR et une clé privée
composée de 8 bits (1001 1001) :
1101 1110 0110 0001 1101 0011 1110 0100
2.4 Méthode RSA
Le premier algorithme de chiffrement asymétrique et de signature proposé, l'algorithme RSA, a été
publié en 1978 par Rivest, Shamir et Adleman. Sa sécurité repose sur la difficulté de factoriser un
entier (et plus spécifiquement du problème de l'extraction de racines modulaires).
En particulier, il est difficile de retrouver clair à partir de chiffré, de cléChiffre, de n et de
l'algorithme de chiffrement suivant : chiffré = (clair)cléChiffre modulo (n), avec n, produit de 2
nombres premiers p et q, et cléChiffre, premier avec ((p – 1) (q – 1)).
Par contre si on connaît p et q, alors il est possible de calculer cléDéchiffre à partir de la formule
suivante : cléDéchiffre = (1 modulo ((p – 1) (q – 1))) / cléChiffre.
On définit alors :
- une fonction de chiffrement f(x) = xe modulo n,
- une fonction de déchiffrement g(x) = xd modulo n,
- une clé publique (e,n) : e = cléChiffre,
- et une clé privée (d,n) : d = cléDéchiffre.
L'algorithme RSA peut être utilisée pour assurer la confidentialité des messages que leur authenticité,
c'est­à­dire les signer.
Q9. En admettant que xed = x modulo n, montrer que la fonction de chiffrement f(x) proposée est
bien l'inverse de la fonction de déchiffrement g(x).
Q10. Détailler la procédure à suivre pour générer un couple (clé publique, clé privée).
Q11. Chiffrer le message « 21 » avec la clé publique (103, 143). Le calcul peut être facilement fait
à la main en remarquant que 214 = 1 modulo (143)
Q12. Sachant que n = 11 * 13, calculer la clé privée associée à la clé publique (103, 143)
Q13. Déchiffrer le message obtenu à la question Q5 afin de trouver le message clair.
4
Téléchargement