0% ont trouvé ce document utile (0 vote)
1 vues9 pages

Problem Set #1

Transféré par

Ihssane Othmani
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
1 vues9 pages

Problem Set #1

Transféré par

Ihssane Othmani
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

01/03/2026

CRYPTOGRAPHIE

GSR2
IHSSANE OTHMANI, NADA ENOURI, OUMNIA EL
ALLAOUI, CHAIMAE NASSIRI, HASNAA
NOUREDDINE ET OUMAIMA GHAILAN
Exercice 1 : Chiffre par Décalage
Énoncé
Use exhaustive key search to decrypt the following ciphertext, which was encrypted using a Shift
Cipher :
BEEAKFYDJXUQYHYJIQRYHTYJIQFBQDUYJIIKFUHCQD.

Solution et Explication
Pour trouver le texte en clair, nous devons trouver la clé k, c’est-à-dire le nombre de positions
dont chaque lettre a été décalée dans l’alphabet.

1. Méthode : Recherche exhaustive (Brute-force)


Comme l’alphabet anglais compte 26 lettres, il n’y a que 26 clés possibles. La méthode la plus
simple consiste à tester tous les décalages possibles de 0 à 25 jusqu’à ce que le texte ait un sens.
Si l’on teste la clé k = 16 (décalage de 16 vers la droite) :
— La lettre B devient L (B + 16 = L)
— La lettre E devient U (E + 16 = U )
— La lettre E devient U (E + 16 = U )
— La lettre A devient Q (A + 16 = Q)
En continuant ce processus pour toutes les lettres, nous obtenons le texte clair.

2. Résultats
Clé trouvée (k) : 16
Texte en clair : LEMONADEISAVERYPOPULARDRIKINKINDURINGTHESUMMERTIME

Texte clair lisible : LEMONADE IS A VERY POPULAR DRINK DURING THE SUMMERTIME.

Exercice 2 — Permutation Cipher (m = 8)


On considère la permutation de {1, … ,8} ∶
𝜋 = (1,2,4)(3,6)(5,8,7)
Le texte chiffré est :
𝐶 = 𝑇𝐺𝐸𝐸𝑀𝑁𝐸𝐿𝑁𝑁𝑇𝐷𝑅𝑂𝐸𝑂𝐴𝐴𝐻𝐷𝑂𝐸𝑇𝐶𝑆𝐻𝐴𝐸𝐼𝑅𝐿𝑀
1) Mise sous forme de fonction 𝜋(𝑖)

À partir de la décomposition en cycles :


● (1,2,4): 1 → 2, 2 → 4, 4 → 1
● (3,6): 3 → 6, 6 → 3
● (5,8,7) ∶ 5 → 8, 8 → 7, 7 → 5

1
On obtient la table :
𝑖 1 2 3 4 5 6 7 8
𝜋(𝑖) 2 4 6 1 8 3 5 7

2) Découpage du texte chiffré en blocs de taille 𝑚 = 8


𝐶1 = 𝑇𝐺𝐸𝐸𝑀𝑁𝐸𝐿 𝐶2 = 𝑁𝑁𝑇𝐷𝑅𝑂𝐸𝑂 𝐶3 = 𝐴𝐴𝐻𝐷𝑂𝐸𝑇𝐶 𝐶4 = 𝑆𝐻𝐴𝐸𝐼𝑅𝐿𝑀

3) Règle de déchiffrement
Le chiffrement par permutation place la lettre en position
𝑖 𝑑𝑢 𝑐𝑙𝑎𝑖𝑟 à 𝑙𝑎 𝑝𝑜𝑠𝑖𝑡𝑖𝑜𝑛 𝜋(𝑖)𝑑𝑢 𝑐ℎ𝑖𝑓𝑓𝑟é ∶
𝑐𝜋(𝑖) = 𝑝𝑖
Donc, pour déchiffrer :
𝑝𝑖 = 𝑐𝜋(𝑖) (𝑖 = 1, … ,8)
4) Déchiffrement bloc par bloc
Bloc 𝐶1 = 𝑇𝐺𝐸𝐸𝑀𝑁𝐸𝐿
Positions : 𝑐1 = 𝑇, 𝑐2 = 𝐺, 𝑐3 = 𝐸, 𝑐4 = 𝐸, 𝑐5 = 𝑀, 𝑐6 = 𝑁, 𝑐7 = 𝐸, 𝑐8 = 𝐿
𝑝1 = 𝑐𝜋(1) = 𝑐2 = 𝐺 𝑝2 = 𝑐𝜋(2) = 𝑐4 = 𝐸 𝑝3 = 𝑐𝜋(3) = 𝑐6 = 𝑁 𝑝4 = 𝑐𝜋(4) = 𝑐1 = 𝑇 𝑝5 = 𝑐𝜋(5)
= 𝑐8 = 𝐿 𝑝6 = 𝑐𝜋(6) = 𝑐3 = 𝐸 𝑝7 = 𝑐𝜋(7) = 𝑐5 = 𝑀 𝑝8 = 𝑐𝜋(8) = 𝑐7 = 𝐸

ALORS :
𝑃1 = 𝐺𝐸𝑁𝑇𝐿𝐸𝑀𝐸
Même pour les autres blocs on trouve :
● Bloc : 𝐶2 = 𝑁𝑁𝑇𝐷𝑅𝑂𝐸𝑂 🡪 𝑃2 = 𝑁𝐷𝑂𝑁𝑂𝑇𝑅𝐸
● Bloc : 𝐶3 = 𝐴𝐴𝐻𝐷𝑂𝐸𝑇𝐶 🡪 𝑃3 = 𝐴𝐷𝐸𝐴𝐶𝐻𝑂𝑇
● Bloc : 𝐶4 = 𝑆𝐻𝐴𝐸𝐼𝑅𝐿𝑀 🡪 𝑃4 = 𝐻𝐸𝑅𝑆𝑀𝐴𝐼𝐿

5) Texte clair final


En concaténant :
𝑃 = 𝑃1 𝑃2 𝑃3 𝑃4 = 𝐺𝐸𝑁𝑇𝐿𝐸𝑀𝐸𝑁𝐷𝑂𝑁𝑂𝑇𝑅𝐸𝐴𝐷𝐸𝐴𝐶𝐻𝑂𝑇𝐻𝐸𝑅𝑆𝑀𝐴𝐼𝐿
Avec espaces :
GENTLEMEN DO NOT READ EACH OTHERS MAIL

Exercice 3 :

Un chiffrement affine est défini par :


E(x) = ax + b (mod m)

Où :
- a ∈ Zm* (doit être inversible modulo m)
- b ∈ Zm

Donc :
- a doit vérifier gcd(a, m) = 1
- b peut être n’importe quel entier entre 0 et m − 1

2
Nombre de clés possibles :
Nombre de clés = φ(m) × m

Où :
- φ(m) est la fonction indicatrice d’Euler
- Elle compte le nombre d’entiers inférieurs à m et premiers avec m

Cas 1 : m = 30

Factorisation en nombres premiers :


30 = 2 × 3 × 5

φ(30) = 30(1 − 1/2)(1 − 1/3)(1 − 1/5)


φ(30) = 30 × 1/2 × 2/3 × 4/5
φ(30) = 30 × 8/30
φ(30) = 8

Nombre de clés :
8 × 30 = 240

Cas 2 : m = 100

Factorisation en nombres premiers :


100 = 2² × 5²

φ(100) = 100(1 − 1/2)(1 − 1/5)


φ(100) = 100 × 1/2 × 4/5
φ(100) = 100 × 4/10
φ(100) = 40

Nombre de clés :
40 × 100 = 4000

Cas 3 : m = 1225

Factorisation en nombres premiers :


1225 = 35² = (5 × 7)² = 5² × 7²

Formule pour une puissance :


φ(p^k) = p^k − p^(k−1)

φ(5²) = 25 − 5 = 20
φ(7²) = 49 − 7 = 42

3
Comme 5 et 7 sont premiers entre eux :
φ(1225) = 20 × 42
φ(1225) = 840

Nombre de clés :
840 × 1225 = 1 029 000

Exercice 4 : Chiffrement Affine sur 𝑍29

Données:

Modulo: 𝑚 = 29

Clé : 𝐾 = (𝑎, 𝑏) = (5,21)

Fonction de chiffrement : 𝑒𝐾 (𝑥) = (5𝑥 + 21) (𝑚𝑜𝑑29)

1. Détermination de la fonction de déchiffrement 𝑑𝐾 (𝑦)


Pour trouver la fonction de déchiffrement, nous devons isoler x dans l'équation :

𝑦 ≡ 5𝑥 + 21 (𝑚𝑜𝑑29)

Étape 1 : Isoler le terme contenant x

On soustrait 21 des deux côtés :

𝑦 − 21 ≡ 5𝑥 (𝑚𝑜𝑑29)

Étape 2 : Trouver l'inverse multiplicatif de of 5 modulo 29

Nous cherchons 𝑎 −1 tq 5 ⋅ 𝑎−1 ≡ 1 (𝑚𝑜𝑑29)

Puisque 5 × 6 = 30 et 30 = 1 × 29 + 1 :

30 ≡ 1 (𝑚𝑜𝑑29)

Donc, 5−1 ≡ 6 (𝑚𝑜𝑑29).

Étape 3 : Multiplier les deux côtés par l'inverse (6):

4
6(𝑦 − 21) ≡ 6(5𝑥) (𝑚𝑜𝑑29)

6𝑦 − 126 ≡ 𝑥 (𝑚𝑜𝑑29)

Étape 4 : Simplifier les constantes modulo 29 :

Calculons −126 (𝑚𝑜𝑑29):

126 = 4 × 29 + 10 ⇒ 126 ≡ 10 (𝑚𝑜𝑑29)

−126 ≡ −10 (𝑚𝑜𝑑29)

Pour obtenir un résidu positif : −10 + 29 = 19.

Fonction de déchiffrement finale :

𝑑𝐾 (𝑦) = (6𝑦 + 19) (𝑚𝑜𝑑29)

Telque a = 6 et b = 19.

2. Preuve que 𝑑𝐾 (𝑒𝐾 (𝑥)) = 𝑥

Pour prouver la validité, nous substituons la formule de chiffrement dans la formule de


déchiffrement :

Substitution 𝑒𝐾 (𝑥) = 5𝑥 + 21 dans 𝑑𝐾 (𝑦):

𝑑𝐾 (𝑒𝐾 (𝑥)) = 6(5𝑥 + 21) + 19 (𝑚𝑜𝑑29)

Dévlopement de l’expression:

𝑑𝐾 (𝑒𝐾 (𝑥)) = (30𝑥 + 126 + 19) (𝑚𝑜𝑑29)

Simplification modulo 29:

Pour le coefficient de x : 30 ≡ 1 (𝑚𝑜𝑑29) (car 30 = 29 + 1).

Pour le terme constant : 145 = 5 × 29 + 0, donc 145 ≡ 0 (𝑚𝑜𝑑29)

Resultat :

5
𝑑𝐾 (𝑒𝐾 (𝑥)) = (1 ⋅ 𝑥 + 0) (𝑚𝑜𝑑29) = 𝑥 (𝑚𝑜𝑑29)

Exercice 5 : Cryptanalyse du système Affine-Hill

Objectif : Déterminer la clé du chiffrement 𝑘 = (𝐿, 𝑏) pour un système Affine-Hill avec une taille de
bloc 𝑚 = 3.
L'équation de chiffrement est définie par :
𝑦 = 𝑥𝐿 + 𝑏(𝑚𝑜𝑑26)
Nous disposons d'un couple clair/chiffré connu :
• Texte clair (𝑥) : adisplayedequation

• Texte chiffré (𝑦) : DSRMSIOPLXLJBZULLM

1. Numérisation et découpage des blocs :

La première étape consiste à convertir les lettres en entiers (𝐴 = 0, 𝐵 = 1, …) et à grouper le texte


par blocs de 3 vecteurs pour former nos équations.
Nous sélectionnons les 4 premiers blocs pour constituer un système résoluble :

1. Bloc 1 : adi → 𝑥1 = (0,3,8) correspond à DSR → 𝑦1 = (3,18,17)


2. Bloc 2 : spl → 𝑥2 = (18,15,11) correspond à MSI → 𝑦2 = (12,18,8)
3. Bloc 3 : aye → 𝑥3 = (0,24,4) correspond à OPL → 𝑦3 = (14,15,11)
4. Bloc 4 : deq → 𝑥4 = (3,4,16) correspond à XLJ → 𝑦4 = (23,11,9)

2. Élimination du vecteur 𝑏 et système linéaire :

Pour isoler la matrice 𝐿, nous utilisons la propriété de linéarité en soustrayant les équations deux à
deux (𝑦𝑖 − 𝑦𝑗 = (𝑥𝑖 − 𝑥𝑗 )𝐿)
Posons 𝐴 la matrice des différences des textes clairs et 𝐵 celle des textes chiffrés.

Calcul des différences (Modulo 26) :


• 𝑥1 − 𝑥2 = (−18, −12, −3) ≡ (8,14,23)

• 𝑥2 − 𝑥3 = (18, −9,7) ≡ (18,17,7)


• 𝑥3 − 𝑥4 = (−3,20, −12) ≡ (23,20,14)
On obtient ainsi la matrice 𝐴 :
8 14 23
𝐴 = (18 17 7)
23 20 14

On fait de même pour les chiffrés (𝑦) pour obtenir 𝐵:


• 𝑦1 − 𝑦2 = (−9,0,9) ≡ (17,0,9)

• 𝑦2 − 𝑦3 = (−2,3, −3) ≡ (24,3,23)


• 𝑦3 − 𝑦4 = (−9,4,2) ≡ (17,4,2)
Le système à résoudre est donc : 𝐴 ⋅ 𝐿 = 𝐵(𝑚𝑜𝑑26)

6
3. Inversion de la matrice 𝑨
C'est l'étape critique. Pour trouver 𝐿, nous devons calculer 𝐴−1 telle que 𝐿 = 𝐴−1 𝐵

a) Calcul du déterminant :

det(𝐴) = 8(17 × 14 − 7 × 20) − 14(18 × 14 − 7 × 23) + 23(18 × 20 − 17 × 23)

det(𝐴) = 784 − 1274 − 713 = −1203

En réduisant modulo 26 : −1203 ≡ 19(𝑚𝑜𝑑26)


Le déterminant est inversible car 𝑃𝐺𝐶𝐷(19,26) = 1. L'inverse modulaire de 19 est 11 (car
19 × 11 = 209 = 8 × 26 + 1)

b) Calcul de la Comatrice et de l'Adjointe :


Nous calculons la matrice des cofacteurs, puis nous la transposons pour obtenir l'Adjointe. Après
calculs des mineurs et application des signes :
20 13 21
Com(A) = ( 4 25 6 )
19 20 14

On transpose cette matrice pour obtenir l'Adjointe :


20 4 19
T
Adj(A) = Com(A) = (13 25 20)
21 6 14
c) Matrice Inverse finale :

On multiplie l'Adjointe par l'inverse du déterminant (11) :


20 4 19
𝐴−1 = 11 × (13 25 20) (𝑚𝑜𝑑26)
21 6 14
Ce qui nous donne :
12 18 1
𝐴−1 = (13 15 12)
23 14 24
4. Calcul de la clé 𝒌 = (𝑳, 𝒃)

a) Calcul de la matrice 𝑳 :
Nous effectuons le produit matriciel 𝐿 = 𝐴−1 × 𝐵 :

12 18 1 17 0 9
𝐿 = (13 15 12) × (24 3 23)
23 14 24 17 4 2

Après calculs ligne par colonne modulo 26, nous obtenons :


3 6 4
𝐿 = ( 5 15 18)
17 8 5

7
b) Calcul du vecteur 𝒃 :

Nous reprenons la première équation 𝑏 = 𝑦1 − 𝑥1 𝐿. Avec 𝑥1 = (0,3,8) et 𝑦1 = (3,18,17)


Calculons d'abord 𝑥1 𝐿 :
(0,3,8) × 𝐿 = (151,109,94) ≡ (21,5,16)

Enfin, on soustrait ce résultat à 𝑦1 :

𝑏 = (3,18,17) − (21,5,16) = (−18,13,1)


𝑏 ≡ (8,13,1)(𝑚𝑜𝑑26)
Conclusion :
La clé de chiffrement permettant de passer du clair "adisplayedequation" au chiffré "
DSRMSIOPLXLJBZULLM" est :

3 6 4
Matrice L : ( 5 15 18)
17 8 5

Vecteur b : (8,13,1) correspondant aux lettres (𝐈, 𝐍, 𝐁)

Vous aimerez peut-être aussi