Vous êtes sur la page 1sur 6

Niveau : 3LT A.U.

2022/2023

TD3 : Cryptographie & Protocoles

Exercice 1 : Mode CBC

On considère un crypto-système de bloc qui applique une permutation à des vecteurs binaires
de taille 4 en mode CBC.

1 2 3 4
Supposons qu’on utilise la permutation suivante : 𝑎 = [ ]
2 3 4 1

Soit le texte en clair M = 1011000101001010 et le vecteur d’initialisation VI = 1010

Q1- Décomposer le texte en bloc de taille approprié.

Q2- Appliquer le mode CBC lors du chiffrement des blocs du texte en clair M et donner le
texte chiffré final C.

Q3- Appliquer le déchiffrement et vérifier avec le message original.

Correction :

Q1- Chaque bloc est de taille 4 d’où :


m1= 1011 m2 = 0001 m3 = 0100 m4 = 1010

Q2- Chiffrement CBC du message M :

c0=VI = 1010
c1=E(c0⊕ m1)=E(0001) = 0010
c2=E(c1⊕ m2)=E(0011) = 0110
c3=E(c2⊕ m3)=E(0010) = 0100
c4=E(c3⊕ m4)=E(1110) = 1101
C=c1c2c3c4= 0010011001001101

Q3- Déchiffrement CBC du message chiffré C :

c0=VI = 1010
c1=E(c0⊕ m1)=E(0001) = 0010
c2=E(c1⊕ m2)=E(0011) = 0110
c3=E(c2⊕ m3)=E(0010) = 0100
c4=E(c3⊕ m4)=E(1110) = 1101
C=c1c2c3c4= 0010011001001101

1|Page
Niveau : 3LT A.U. 2022/2023

Exercice 2 : DES

Soit un système de chiffrement similaire au DES. Il est détaillé dans les annexes suivantes :

Annexe 5 : Extension de 16 à 24
1 2 3 5 4 8 6 9
7 10 11 13 14 16 12 1
15 2 4 3 5 6 8 9

2|Page
Niveau : 3LT A.U. 2022/2023

Les principales différences avec le DES :


▪ La taille des données en entrée, réduites à 32 bits ;
▪ Un seul tour ;
▪ Une seule S-Box utilisée 4 fois ;
Sachant que le message initial (hexadécimal) : M = 81 42 3C F0 et la Clé secrète
(hexadécimal) : Ks = F2 80 4C 0F 88
Q1 – Représenter l’architecture de ce système.
Q2 – Calculer le résultat de la permutation initiale binaire.
Q3 - Vérifier que la permutation finale est bien l'inverse de la permutation initiale.
Q4 - Calculer le résultat du tour, en détaillant le résultat de la fonction d'extension utilisé pour
l'entrée des S-Boxes ainsi que la clé de tour.
Q5 – Donner la sortie finale en hexadécimal après avoir effectué la permutation finale.

Correction :

Q1 – Le système est basé sur le schéma de Feistel avec un seul tour d’où :

Avec la fonction de confusion F :

3|Page
Niveau : 3LT A.U. 2022/2023

Q2 – En se basant sur le tableau décimal | hexadécimal | binaire suivant :

Décimal Hexadécimal Binaire


0 0 0000
1 1 0001
2 2 0010
3 3 0011
4 4 0100
5 5 0101
6 6 0110
7 7 0111
8 8 1000
9 9 1001
10 A 1010
11 B 1011
12 C 1100
12 D 1101
14 E 1110
15 F 1111

M (Hexadécimal) = 81 42 3C F0 d’où
M (binaire) : 10000001 01000010 00111100 11110000

Après Permutation initiale :


M’ (binaire) : 10010101 00010001 00010110 01010010

Q3 – Pour vérifier que la permutation finale P-1 est l’inverse de la permutation initiale, il suffit
de vérifier P-1 (P(M)) = M
P(M) = M’ = 10010101 00010001 00010110 01010010
P-1(M’) = 10000001 01000010 00111100 11110000 = M

Q4 – M’ = P(M) est divisé en deux blocs de 16 bits : M’ = G’ ⊔ D’


La sortie du tour est : M’’ = G’’ ⊔ D’’
Avec :
G’’ = D’ = 00010110 01010010
D’’ = G’ ⊕ F(D’, K1)
On applique la fonction F à la partie droite D’
Partie droite D’ : 0001 0110 0101 0010
Extension : 00001010 11000010 10100100 (0A C2 A4)
Clé de départ : 11110010100000000100 11000000111110001000
Décalage clé : 11100101000000001001 10000001111100010001
Clé de tour : 00000000 10011000 00011111 (00 98 1F)
XOR extension (+) clé : 00001010 01011010 10111011 (0A 5A BB)
Entrée de S-Box : 0 0001 0 1 0010 1 1 0101 0 1 1101 1
Sortie de S-Box : 01001000 01100000
Permutation directe : 10000000 10110001

Partie gauche G’: 10010101 00010001


XOR partie gauche (+) partie droite : 00010101 10100000
4|Page
Niveau : 3LT A.U. 2022/2023

Q5 – Sortie tour : 10000000 10110001 00010101 10100000


Permutation finale : 00100000 01001011 00001010 10101000
Résultat : 20 4B 0A A8

Exercice 3 : RSA

Chiffrement RSA

Une personne A choisit deux nombres premiers 𝑝 et 𝑞, puis calcule les produits 𝑁 = 𝑝𝑞 et 𝑛 =
(𝑝 − 1)(𝑞 − 1). Elle choisit également un entier naturel 𝑒 premier avec 𝑛. La personne A publie
le couple (𝑒; 𝑁), qui est une clé publique permettant à quiconque de lui envoyer un nombre
chiffré.

Les messages sont numérisés et transformés en une suite d'entiers compris entre 0 et 𝑁 − 1. Pour
chiffrer un entier 𝑎 de cette suite, on procède ainsi : on calcule le reste 𝑏 de la division
euclidienne par 𝑁 du nombre 𝑎𝑒 , et le nombre chiffré est l'entier 𝑏. Dans la pratique, cette
méthode est sûre si la personne A choisit des nombres premiers 𝑝 et 𝑞 très grands, s'écrivant avec
plusieurs dizaines de chiffres.

On va l'envisager ici avec des nombres plus simples : 𝑝 = 5 et 𝑞 = 11. La personne A choisit
également 𝑒 = 23.

On donne 87 ≡ 2 𝑚𝑜𝑑 55 et 82 ≡ 9 𝑚𝑜𝑑 55

Q1. Calculer les nombres 𝑁 et 𝑛, puis justifier que la valeur de 𝑒 vérifie la condition voulue.
Q2. Un émetteur souhaite envoyer à la personne A le nombre 𝑎 = 8. Déterminer la valeur du
nombre chiffré 𝑏.

Déchiffrement RSA

La personne A calcule dans un premier temps l'unique entier naturel 𝑑 vérifiant les
conditions 0 ≤ 𝑑 < 𝑛 et 𝑒𝑑 ≡ 1 𝑚𝑜𝑑 𝑛. Elle garde secret ce nombre 𝑑 qui lui permet, et à elle
seule, de déchiffrer les nombres qui lui ont été envoyés chiffrés avec sa clé publique.

Pour déchiffrer un nombre chiffré 𝑏, la personne A calcule le reste 𝑎 de la division euclidienne


par 𝑁 du nombre 𝑏 𝑑 , et le nombre en clair c'est-à-dire le nombre avant chiffrement est le
nombre 𝑎. Les nombres choisis par A sont encore : 𝑝 = 5, 𝑞 = 11 et 𝑒 = 23.

Q3. Quelle est la valeur de 𝑑 ?


Q4. Déduire la clé secrète de la personne A.
Q5. En appliquant la règle de déchiffrement, retrouver le nombre en clair lorsque le nombre
chiffré est 𝑏 = 17.

Correction :
Chiffrement RSA
Q1. N=5×11=55 et n=4×10=40. La condition voulue est que e soit premier avec n, en
l’occurrence que 23 soit premier avec 40. Or 23 et 40 sont bien premiers entre eux.
5|Page
Niveau : 3LT A.U. 2022/2023

Q2. b est le reste de la division euclidienne de 823 par 55, or 23 = 7 ∗ 3 + 2 d’où 𝑏 = 23 +


9 = 8 + 9 = 17.
Déchiffrement RSA
Q3. On a 0 ≤ 𝑑 < 𝑛 et 𝑒𝑑 ≡ 1 𝑚𝑜𝑑 𝑛. Or 𝑒 = 23 et 𝑛 = 40
D’où 23𝑑 ≡ 1 𝑚𝑜𝑑 40
23*2=46 => reste 6
23*3 = 69 => reste 29
23*4 = 92 => reste 12
23*5=115 => reste 35
23*6=138 => reste 18
23*7 = 161 => reste 1
Donc d = 7
Q4. La clé secrète est (d ;N)=(7 ;55)
Q5. Le nombre chiffré est b=17
Le nombre déchiffré est 𝑎 = 𝑏 𝑑 𝑚𝑜𝑑 𝑁 = 177 𝑚𝑜𝑑 55
172 = 289 ; 55x5=275 =>reste = 14
176 𝑚𝑜𝑑 55 = (172 )3 𝑚𝑜𝑑 55 = 143 𝑚𝑜𝑑 55 = 2744 − 55x49=2744-2695=49
177 𝑚𝑜𝑑 55 = 176 17 𝑚𝑜𝑑 55 = 49 ∗ 17 𝑚𝑜𝑑 55 = 833 − 55 × 15 = 833 − 825 = 8
Donc a=8

6|Page

Vous aimerez peut-être aussi