Académique Documents
Professionnel Documents
Culture Documents
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
MODES
UPIB
Avril 2011
Sommaire
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
1 Generalites
GENERALITES
MODES
3 Modes
Generalites
Principe
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE m = m1 m2 · · · mN
GENERALITES Texte en clair = |m1 · · · m2 |mk+1 · · · m2k | · · · |m(n−1)k+1 · · · mk |
Principe = |M1 |M2 | · · · |Mn |
Définition
Remarque
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
Diffusion
Confusion
Il s’agit des transformations cryptographiques qui rendent malaisées la
détermination de la relation entre la statistique du texte chiffré et
celle du texte en clair.
But Rendre la cryptanalyse aussi difficile que possible
Il est réalisé par des fonctions non linéaires
Chiffrement par bloc
Schema ou chiffre de Feistel
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
GENERALITES
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
DES (1977)
SOMMAIRE
Blocs de 64 bits, une clé de 56
GENERALITES
bits, 16 rondes, non-linéarités
CH. PAR BLOC
CHIFFRE DE par S-box
FEISTEL
DES Opérations
AES
MATHEMATIQUES
DE RIJNDAEL
Transformation
AES-128 K −→ K1 , K2 , · · · , K16
IDEA
La fonction non linéaire f
MODES
f (Ki , Ri−1 ) = m
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir. Transformation de la clé K (56 bits)
SOMMAIRE
Etape 1
GENERALITES
Compléter la clé à 64 bits en ajoutant des bits de parité
CH. PAR BLOC
CHIFFRE DE
FEISTEL [k1 |k2 | · · · |k7 |p1 |k9 | · · · |k15 |p2 | · · · |k50 | · · · |k56 |p8 ]
DES
AES
MATHEMATIQUES
avec
DE RIJNDAEL
8
M
AES-128 k8j+1 = 0 pour j = 1, · · · , 7
IDEA
i=1
MODES
But
Détecter une erreur dans un groupe de 8 bits (les bits de parité sont
ignorés pendant la constitution des sous-clés)
Chiffrement par bloc
Data Encryption Standard - DES (2)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
Transformation de la clé K (56 bits)
O., Ir.
Etape 2
SOMMAIRE
GENERALITES
Engendrer 16 sous-clés de 48 bits : K1 , K2 , · · · K16
CH. PAR BLOC Sous-étape 1
CHIFFRE DE
FEISTEL
DES
K (56) −→ PC 1(k1 , · · · , k7 , k9 , · · · , k63 ) −→ [C0 |D0 ]
AES
MATHEMATIQUES Sous-étape 2
DE RIJNDAEL
AES-128
IDEA
[C0 |D0 ] −→LSi [C1 |D1 ] −→ PC 2 −→ K 1(48 bits)
MODES
avec LSi une fonction cyclique qui effectue un décalage vers la
gauche de ni positions :
1 si i = 1, 2, 9, 16
ni =
2 sinon.
Chiffrement par bloc
Data Encryption Standard - DES (3)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
Les permutations PC1 (8 × 7) et PC2 (8 × 6)
SOMMAIRE
GENERALITES
PC1 PC2
57 49 41 33 25 17 9 14 17 11 24 1 5
CH. PAR BLOC
1 58 50 42 34 26 18 3 28 15 6 21 10
CHIFFRE DE
FEISTEL
10 2 59 51 43 35 27 23 19 12 4 26 8
DES 19 11 3 60 52 44 36 16 7 27 20 13 2
AES 63 55 47 39 31 23 15 41 52 31 37 47 55
MATHEMATIQUES 7 62 54 46 38 30 22 30 40 51 45 33 48
DE RIJNDAEL
14 6 61 53 45 37 29 44 49 39 56 34 53
AES-128
21 13 5 28 20 12 4 46 42 50 36 29 32
IDEA
MODES
HOUNKANRIN
O., Ir.
SOMMAIRE
GENERALITES
MODES
Chiffrement par bloc
Data Encryption Standard - DES (6)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
GENERALITES E
Ri−1 −→Exp −→ Ri−1 ⊕ Ki = Bi −→Subst Ci −→Per
CH. PAR BLOC
CHIFFRE DE Les étapes
FEISTEL
DES
AES
1 Expansion par répétition de certains bits : 32 bits −→ 42 bits
MATHEMATIQUES
DE RIJNDAEL
E (X ) = |x32 x1 x2 x3 x4 x5 |x4 x5 x6 x7 x8 x9 |x8 · · · x29 |x28 x29 x30 x31 x32 x1 |
AES-128
IDEA
MODES
2 Calculer dans F248 = B = E (Ri−1 ) ⊕ Ki = B1 B2 · · · B8
3 Appliquer les S-boxes : S1 , · · · , S8
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir. Etape 1
SOMMAIRE
Expansion Ri−1 −→ E (Ri−1 )
GENERALITES
E
CH. PAR BLOC
32 1 2 3 4 5
CHIFFRE DE
FEISTEL 6 7 8 9 10 11
DES 32bits −→ 12 13 14 15 16 17 −→ 48bits
AES 18 19 20 21 22 23
MATHEMATIQUES 24 25 26 27 28 29
DE RIJNDAEL
28 29 30 31 32 1
AES-128
IDEA
Etape 2
MODES
E (Ri−1 ) ⊕ Ki
B = B1 B2 B3 B4 B5 B6 B7 B8
avec Bi = [b1 |b2 |b3 |b4 |b5 |b6 ]i
Chiffrement par bloc
Data Encryption Standard - DES (9)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir. Etape 3
SOMMAIRE Bi = [b1 |b2 |b3 |b4 |b5 |b6 ]i −→Si Ci = [c1 |c2 |c2 |c4 ]i
GENERALITES
INTRODUCTION Etape 3
A LA CRYPTO-
GRAPHIE S4
HOUNKANRIN 7 13 14 3 0 6 9 10 1 2 8 5 11 12 4 5
O., Ir. 13 8 11 5 6 15 0 3 4 7 2 12 1 10 14 9
10 6 9 0 12 11 7 13 15 1 3 14 5 2 8 4
3 15 0 6 10 1 13 8 9 4 5 11 12 7 2 14
SOMMAIRE
GENERALITES
MODES
S2
15 1 8 14 6 11 3 4 9 7 2 13 12 0 5 10
3 13 4 7 15 2 8 14 12 0 1 10 6 9 11 5
0 14 7 11 10 4 13 1 5 8 12 6 9 3 2 15
13 8 10 1 3 15 4 2 11 6 7 12 0 5 14 9
S3
10 0 9 14 6 3 15 5 1 13 12 7 11 4 2 8
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
13 6 4 9 8 15 3 0 11 1 2 12 5 10 14 7
1 10 13 0 6 9 8 7 4 15 14 3 11 5 2 12
Chiffrement par bloc
Data Encryption Standard - DES (11)
INTRODUCTION
A LA CRYPTO-
GRAPHIE S5
2 12 4 1 7 10 11 6 8 5 3 15 13 0 14 9
HOUNKANRIN 14 11 2 12 4 7 13 1 5 0 15 10 3 9 8 6
O., Ir. 4 2 1 11 10 13 7 8 15 9 12 5 6 3 0 14
11 8 12 7 1 14 2 13 6 15 0 9 10 4 5 3
SOMMAIRE
GENERALITES
S8
13 2 8 4 6 15 11 1 10 9 3 14 5 0 12 7
1 15 13 8 10 3 7 4 12 5 6 11 0 14 9 2
7 11 4 1 9 12 14 2 0 6 10 13 15 3 5 8
2 1 14 7 4 10 13 15 12 9 0 3 5 6 11
Chiffrement par bloc
Data Encryption Standard - DES (12)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir. Etape 4
SOMMAIRE
Appliquer à C = C1 C2 C3 C4 C5 C6 C7 C8 (mot de 8 × 4 = 32 bits), la
GENERALITES
permutation ci-après
CH. PAR BLOC
CHIFFRE DE
FEISTEL
DES P
AES
MATHEMATIQUES
16 7 20 21 29 12 28 17
DE RIJNDAEL 1 15 23 26 5 18 31 10
AES-128
IDEA 2 8 24 14 32 27 3 9
MODES 19 13 30 6 22 11 4 25
C = C1 C2 C3 C4 C5 C6 C7 C8 −→P f (Ri−1 , Ki )
Chiffrement par bloc
Data Encryption Standard - DES (13)
HOUNKANRIN
O., Ir.
SOMMAIRE
GENERALITES
MODES
Chiffrement par bloc
Data Encryption Standard - DES (14)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
SOMMAIRE
Le message binaire en clair est divisé en mots de 64 bits. Le
GENERALITES
chiffrement du mot X de 64 bits
CH. PAR BLOC
CHIFFRE DE
m = X1 X2 · · · Xk · · · Xn
FEISTEL
DES
AES Le chiffrement s’effectue de la façon suivante :
MATHEMATIQUES
DE RIJNDAEL 1 Permutation initiale : Xk −→IP IP(Xk ) = [L0 |R0 ]k
AES-128
IDEA
2 Le swap [Li |Ri ]k , i = 1, · · · , 16
MODES
Li = Ri−1
Ri = Li−1 ⊕ f (Ri−1 , Ki )
3 Irregular swap Yk = IP −1 ([L16 |R16 ]k )
Chiffrement par bloc
Data Encryption Standard - DES (15)
INTRODUCTION
A LA CRYPTO-
GRAPHIE Permutations IP et inverse
HOUNKANRIN
O., Ir.
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
SOMMAIRE 62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
GENERALITES 57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
CH. PAR BLOC 61 53 45 37 29 21 13 5
CHIFFRE DE 63 55 47 39 31 23 15 7
FEISTEL
DES
AES
Table: Permutation IP
MATHEMATIQUES
DE RIJNDAEL
AES-128
IDEA 40 8 48 16 56 24 64 32
39 7 47 15 55 23 63 31
MODES
38 6 46 14 54 22 62 30
37 5 45 13 53 21 61 29
36 4 44 12 52 20 60 28
35 3 43 11 51 19 59 27
34 2 42 10 50 18 58 26
33 1 41 9 49 17 57 25
Table: Permutation IP −1
Chiffrement par bloc
Data Encryption Standard - DES (16)
INTRODUCTION
A LA CRYPTO-
Chiffrement DES
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
GENERALITES
MODES
Chiffrement par bloc
Data Encryption Standard - DES (17)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
GENERALITES
MODES
Chiffrement par bloc
Data Encryption Standard - DES (19)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir. Commentaires
SOMMAIRE Structure de Feistel : meme algorithme pour le chiffrement et le
GENERALITES déchiffrement
CH. PAR BLOC
CHIFFRE DE Grande faiblesse : la clé de 56 bits
FEISTEL
DES Electronic Frontier Foundation (1998) : DES cracker
AES
MATHEMATIQUES
hardware - Deep - CrackChip - brute force attack
DE RIJNDAEL
AES-128
Si 92 milliards de clés par seconde ⇒ 4.5 jours ! !
IDEA
La solution : Triple-DES (K1 , K2 )
MODES
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
GENERALITES
Le problème de DES −→ compétition NIST (National Institute of
CH. PAR BLOC
CHIFFRE DE
Standards and Technology) (1997- 2001) : 15 candidats
FEISTEL
DES après 4 rondes, 4 candidats restent : Rijndael, Serpent, Twofish, RC6
AES
MATHEMATIQUES
et Mars
DE RIJNDAEL
AES-128 Vainqueur : Rijndael avec ’son’ AES
IDEA
MODES
Développé par Vincent Rijmen et Joan Daeman, de la KUL
Chiffrement par bloc
Advanced Encryption Standard - AES (2)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
F256 = GF (28 )
GENERALITES Le polynôme caractéristique
CH. PAR BLOC
CHIFFRE DE h(x) = x 8 + x 4 + x 3 + x + 1 −→ GF (28 ) = Z2 [x]/h(x)
FEISTEL
DES
AES
Les éléments de F256
MATHEMATIQUES
DE RIJNDAEL
{0, 1, x, x + 1, · · · , x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + x + 1}
AES-128
IDEA
Représentation générale
MODES 7
2 26 25 24 23 22 21 20 161 160
−→
a7 a6 a5 a4 a3 a2 a1 a0 b1 b0
Bin ⇒ Hex
Chiffrement par bloc
Les mathematiques de Rijndael (3)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
Définitions : Champ fini primitif et générateur d’un champ fin
SOMMAIRE
Un champ fini est considéré comme un champ fini primitif si
GENERALITES
l’élément g est un générateur pour le champ fini
CH. PAR BLOC
CHIFFRE DE
FEISTEL
Le générateur d’un champ fini Fp :
DES
AES
MATHEMATIQUES ∀ x ∈ Fp \{0}, ∃ m ∈ N : x = g m
DE RIJNDAEL
AES-128
IDEA
Exemple : pour Z13 , 2 est un générateur
MODES
mod 13 21 22 23 24 25 26 27 ···
2 4 8 3 6 12 11 ···
Chiffrement par bloc
Les mathematiques de Rijndael (4)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
Générateur de GF (28 ) = Z2 [x]/(x 8 + x 4 + x 3 + x + 1) g (x) = x + 1
HOUNKANRIN
O., Ir. 0
(x + 1) = 1
SOMMAIRE 1
(x + 1) = x +1
GENERALITES 2 2
(x + 1) = x +1
CH. PAR BLOC 3 3 2
CHIFFRE DE (x + 1) = x +x +x +1
FEISTEL
4 4
DES (x + 1) = x +1
AES 5 5 4
(x + 1) = x +x +x +1
MATHEMATIQUES
DE RIJNDAEL
. .
AES-128 . .
IDEA
. = .
8 4 3
MODES
(x + 1) = x +x +x
. .
. .
. = .
3+5 4 3
f (x) · g (x) = (x + 1) =x +x +x
Chiffrement par bloc
AES-128
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir. AES-128
SOMMAIRE Représentation des états
GENERALITES
Construction de la clé de ronde (K1 , · · · , K2 )
CH. PAR BLOC
CHIFFRE DE
FEISTEL
Les 4 fonctions par ronde
DES
AES
1 SubBytes (SB)
MATHEMATIQUES 2 ShiftRows (SR)
DE RIJNDAEL
AES-128
3 MixColumn (MC)
IDEA 4 AddRoundKey (ARK)
MODES
10 rondes
Chiffrement par bloc
AES-128 (2)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
GENERALITES
MODES
Chiffrement par bloc
AES-128 (3)
INTRODUCTION
A LA CRYPTO-
GRAPHIE Représentation de l’état
HOUNKANRIN
O., Ir. entrée/sortie : séquence de 128 bits = 16 mots (bytes) de 8 bits, avec ∀ i ∈
{0, 1, 2, · · · , 15}
SOMMAIRE
(i) (i) (i) (i) (i) (i) (i) (i)
GENERALITES
xi = x7 x6 x5 x4 x3 x2 x1 x0
CH. PAR BLOC
CHIFFRE DE
FEISTEL
x0 |x1 |x2 |x3 |x4 |x5 |x6 |x7 |x8 |x9 |x10 |x11 |x12 |x13 |x14 |x15
DES
AES
MATHEMATIQUES Organisation de l’entrée
DE RIJNDAEL
AES-128
IDEA
x0 x4 x8 x12
MODES x1 x5 x9 x13
x2 x6 x10 x14
x3 x7 x11 x15
Cette matrice, qui constitue l’état initial de l’algorithme, est notée S0 et ses éléments
(0)
seront notés si,j , ou i et j prennent des valeurs entre 0 et 3.
Chiffrement par bloc
AES-128 (4)
INTRODUCTION
A LA CRYPTO- Représentation de l’état
GRAPHIE
La sortie de l’algorithme
y0 |y1 |y2 |y3 |y4 |y5 |y6 |y7 |y8 |y9 |y10 |y11 |y12 |y13 |y14 |y15
Chiffrement par bloc
AES-128 (5)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
SOMMAIRE K = k0 |k1 |k2 |k3 |k4 |k5 |k6 |k7 |k8 |k9 |k10 |k11 |k12 |k13 |k14 |k15
GENERALITES
avec ki = k70 k60 · · · k00
CH. PAR BLOC
CHIFFRE DE
FEISTEL k0 k4 k8 k12 k0,0 k0,1 k0,2 k0,3
DES
k1 k5 k9 k13 k1,0 k1,1 k1,2 k1,3
AES
−→
k2,0
MATHEMATIQUES
DE RIJNDAEL
k2 k6 k10 k14 k2,1 k2,2 k2,3
AES-128 k3 k7 k11 k15 k3,0 k3,1 k3,2 k3,3
IDEA
MODES
Round key
INTRODUCTION
A LA CRYPTO- Procédure Round keys
GRAPHIE
MODES
Chiffrement par bloc
AES-128 (7)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
Fonction SubBytes
SOMMAIRE
GENERALITES Il s’agit d’une substitution non linéaire lors de laquelle chaque octet
CH. PAR BLOC de la matrice est remplacé par un autre octet choisi dans une table
CHIFFRE DE
FEISTEL particulière appelée S-box
DES
AES A cet effet, deux fonctions :
MATHEMATIQUES
−1
inv : GF (28 ) → GF (28 ) ; b = (b7 b6 b5 b4 b3 b2 b1 b0 ) 7→ b
DE RIJNDAEL
1
AES-128
IDEA 2 Une application affine inversible
−1
MODES
f :GF (28 ) → GF (28 ) ; b 7→ A · b + c
m(x) = 11B en notation hexadécimale (m(x) = x 8 + x 4 + x 3 + x + 1)
Chiffrement par bloc
AES-128 (8)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
Fonction SubBytes
SOMMAIRE
Les entrée (ai,j ) et sortie (bi,j ) de cette fonction sont des matrices dont les éléments
GENERALITES
sont des octets.
CH. PAR BLOC
CHIFFRE DE
Ici i,j ∈ {0,1,2,3}
FEISTEL
DES
On a : ai,j = Sbox(bi,j )
AES
MATHEMATIQUES
DE RIJNDAEL
AES-128
IDEA
MODES
Chiffrement par bloc
AES-128 (9)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
MODES
f(x) [f (x)]2 [f (x)]16
b x7 + x6 + x5 + x4 + x2 + 1 [1111|0110] [F|6]
−1
b x +1 [0000|0011] [0|3]
−1
Ab +c [0100|0010] [42]
Chiffrement par bloc
AES-128 (10)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN S-Box
O., Ir.
SOMMAIRE 0 1 2 3 4 5 6 7 8 9 A B C D E F
0 63 7C 77 7B F2 6B 6F C5 30 01 67 2B FE D7 AB 76
GENERALITES 1 CA 82 C9 7D FA 59 47 F0 AD D4 A2 AF 9C A4 72 C0
2 B7 FD 93 26 36 3F F7 CC 34 A5 E5 F1 71 D8 31 15
CH. PAR BLOC 3 04 C7 23 C3 18 96 05 9A 07 12 80 E2 EB 27 B2 75
4 09 83 2C 1A 1B 6E 5A A0 52 3B D6 B3 29 E3 2F 84
CHIFFRE DE
5 53 D1 00 ED 20 FC 01 5B 6A CB BE 39 4A 4C 58 CF
FEISTEL
6 D0 EF AA FB 43 4D 33 85 45 F9 02 7F 50 3C 9F A8
DES 7 51 A3 40 8F 92 9D 38 F5 BC B6 DA 21 10 FF F3 D2
8 CD 0C 13 EC 5F 97 44 17 C4 A7 7E 3D 64 5D 19 73
AES
9 60 81 4F DC 22 2A 90 88 46 EE B8 14 DE 5E 0B DB
MATHEMATIQUES A E0 32 3A 0A 49 06 24 5C C2 D3 AC 62 91 95 E4 79
DE RIJNDAEL B E7 08 37 6D 8D D5 4E A9 6C 56 F4 EA 65 7A AE 08
C BA 78 25 2E 1C A6 B4 C6 EB DD 74 1F 4B BD 8B 8A
AES-128
D 70 3E B5 66 48 3 F6 0E 61 35 57 B9 86 C1 1D 9E
IDEA E E1 F8 98 11 69 D9 8E 94 9B 1E 87 E9 CE 55 28 DF
F 8C A1 89 0D BF E6 42 68 41 99 2D 0F B0 54 BB 16
MODES
b
−1 x +1 [0000|0011] [0|3]
Ab
−1 + c [0100|0010] [42]
Chiffrement par bloc
AES-128 (11)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir. Fonction Shift Rows
SOMMAIRE Cette fonction a comme entrée une matrice 4 × 4 dont les éléments sont des octets.
GENERALITES La première ligne est inchangée
CH. PAR BLOC La deuxième subit un décalage cyclique d’un élément vers la gauche, la troisième subit
CHIFFRE DE un décalage cyclique de deux éléments vers la gauche, et la quatrième, le même
FEISTEL
DES
décalage de trois éléments vers la gauche.
AES
MATHEMATIQUES
DE RIJNDAEL
AES-128
IDEA
MODES
Chiffrement par bloc
AES-128 (12)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
MODES
Chiffrement par bloc
AES-128 (13)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
Fonction Mix Columns
HOUNKANRIN
O., Ir.
Les colonnes d’un état sont considérées comme des polynômes dans GF(28 ) et
SOMMAIRE multipliés modulo x 4 + 1 par un polynôme fixe c(x) donné par :
GENERALITES
3 2
CH. PAR BLOC
c(x) = [0|3]x + [0|1]x + [0|1]x + [0|2]
CHIFFRE DE
FEISTEL
DES
AES
MATHEMATIQUES
DE RIJNDAEL
AES-128
IDEA
MODES
INTRODUCTION
A LA CRYPTO-
GRAPHIE
GENERALITES
Input → MixColumns (A) = M x A → Output B
CH. PAR BLOC
CHIFFRE DE On considère que
FEISTEL
DES
02 03 01 01
AES
MATHEMATIQUES 01 02 03 01
M =
DE RIJNDAEL 01 01 02 03
AES-128
03 01 01 02
IDEA
0E 0B 0D 09
−1 09 0E 0B 0D
M =
0D 09 0E 0B
0B 0D 09 0E
Chiffrement par bloc
AES-128 (15)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
Fonction Add Round Key
GENERALITES
MODES
Fonction : AddRoundKey (State, RoundKey)
Chiffrement par bloc
AES-128 (16)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
GENERALITES
MODES
Chiffrement par bloc
AES-128 (17)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
GENERALITES
MODES
Chiffrement par bloc
AES-128 (20)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
GENERALITES
MODES
Chiffrement par bloc
IDEA
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
GENERALITES
Créé en 1992 par X. Lai et J. Massey
CH. PAR BLOC
CHIFFRE DE
FEISTEL
Renforce les versions préliminaires
DES
AES
PES (Proposed Encryption Standard)
MATHEMATIQUES IPES (Improvised Proposed Encryption Standard)
DE RIJNDAEL
AES-128
Longeur de la clé : 128 bits
IDEA
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE Chiffrement
GENERALITES
MODES 8 rondes
1 transformation finale
Chiffrement par bloc
IDEA : Opérations de chiffrement
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE La multiplication
GENERALITES
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE L’addition
GENERALITES
CH. PAR BLOC Il s’agit L’addition modulo 216 , ie l’addition dans Z65536
CHIFFRE DE
FEISTEL Représentation :
DES
AES
MATHEMATIQUES
Le OU exclusif ou XOR
DE RIJNDAEL
AES-128 Il s’agit du OU exclusif (XOR), bit par bit. En d’autres termes, il
IDEA
s’agit d’une addition dans F2
MODES
Représentation : ⊕
Chiffrement par bloc
IDEA : Les rondes
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
GENERALITES
Les rondes
CH. PAR BLOC
CHIFFRE DE
FEISTEL Pour la ronde k, k ∈ {1, 2, . . . , 8}, on utilise 6 sous-clés de 16 bits, à
DES (k) (k) (k)
AES
savoir Z1 , Z2 , . . ., Z6
MATHEMATIQUES
DE RIJNDAEL Pour la transformation finale, on utilise 4 sous-clés de 16 bits, à
AES-128 (9) (9)
IDEA
savoir : Z1 , . . ., Z4
MODES
Chiffrement par bloc
IDEA : Generation des clés
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
MODES
On répète le décalage cyclique jusqu’à ce que les 52 sous-clés soient
générés.
Chiffrement par bloc
IDEA : Representation schematique
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
GENERALITES
MODES
Chiffrement par bloc
IDEA : Padding
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
SOMMAIRE
GENERALITES
CH. PAR BLOC Les messages chiffrés doivent avoir une table qui est multiple de 8
CHIFFRE DE
FEISTEL octets, puisque IDEA chiffre par bloc de 64 bits
DES
AES Dans le cas contraire, on effectue un padding (bourrage), ie on
MATHEMATIQUES
DE RIJNDAEL complète le train binaire, en remplissant les bits manquants de bits
AES-128
IDEA
égaux à 0.
MODES
Chiffrement par bloc
Modes d’utilisation
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
INTRODUCTION
A LA CRYPTO-
GRAPHIE
Electronic Code Book (ECB)
HOUNKANRIN
O., Ir.
ci = EK (mi )
SOMMAIRE
GENERALITES
MODES
ECB
CBC
OFB
CTR
CONCLUSION
INTRODUCTION
A LA CRYPTO-
GRAPHIE Cipher Block Chaining (CBC)
HOUNKANRIN
O., Ir.
SOMMAIRE
GENERALITES
MODES
ECB
CBC
OFB
CTR
CONCLUSION
Chiffrage : ci = mi ⊕ EK (ci−1 )
Un bloc n’est jamais codé de la même manière
La valeur initiale IV est aléatoire
Déchiffrage : mi = ci ⊕ EK (ci−1 )
Pas besoin de fonction de déchiffrage
Chiffrement par bloc
Modes d’utilisation (4)
INTRODUCTION
A LA CRYPTO-
GRAPHIE
Output Feedback (OFB)
HOUNKANRIN z0 = c0 , zi = EK (zi−1 ), ci = mi ⊕ zi
O., Ir.
SOMMAIRE
GENERALITES
MODES
ECB
CBC
OFB
CTR
CONCLUSION
INTRODUCTION
A LA CRYPTO-
GRAPHIE
Counter Mode Encryption (CTR)
HOUNKANRIN
O., Ir.
ci = mi ⊕ EK (T = i)
SOMMAIRE
GENERALITES
MODES
ECB
CBC
OFB
CTR
CONCLUSION
INTRODUCTION
A LA CRYPTO-
GRAPHIE Avantages
HOUNKANRIN
O., Ir. La rapidité
SOMMAIRE
Désavantages
GENERALITES
MODES
ECB
CBC
OFB
CTR
CONCLUSION
Annexe I
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
S. Douglas.
Annexes Cryptographie : théorie et pratique.
Bibliographie
2nd Ed, 2002.
J. Van Hamme.
Introduction à la cryptographie.
ERM, 2009.
J. Daenen, V. Rijmen.
AES proposal : Rijndael.
KUL, 1999.
J. Daenen, V. Rijmen.
A specification for the AES algorithm
Mai 2002.
INTRODUCTION
A LA CRYPTO-
GRAPHIE
HOUNKANRIN
O., Ir.
Annexes
QUESTIONS