La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

I. 3 Cryptages composés.

Présentations similaires


Présentation au sujet: "I. 3 Cryptages composés."— Transcription de la présentation:

1 I. 3 Cryptages composés

2 Sommaire Composition de systèmes cryptographiques
Cryptages par blocs et en chaîne Cryptage de Feistel Réalisation de cryptages

3 1. Composition de systèmes cryptographiques
Idée (Shannon) : sur-crypter crypter un cryptogramme Systèmes endomorphiques C = P S1 = < P, K1 ; E1 , D1 > S2 = < P, K2 ; E2 , D2 > Composition de systèmes endomorphiques S = S1 x S2 = < P, K ; E, D > K = K1 x K2 K1 et K2 indépendants E = E2 o E1 z = E2 (E1 (x, k1 ), k2 ) x, z  P D = D1 o D2 x = D1 (D2 (z, k’2 ), k’1 ) ki, k’i  Ki

4 Propriétés Associativité (S1 x S2) x S3 = S1 x ( S2 x S3 )
 toute composition endomorphique est associative Commutativité S1 x S2 = S2 x S1  toute composition endomorphique n’est pas commutative Idempotence S2 = S  beaucoup de compositions endomorphiques sont idempotentes

5 Itérations Propriété Sn est une itération de S
si S idempotent, Sn n’a aucun intérêt Exemples : substitutions, permutations si S n’est pas idempotent Sn offre plus de sécurité que S Exemple : DES Propriété S1 et S2 idempotents et commutent  S1 x S2 idempotent Preuve (S1 x S2 ) x (S1 x S2 ) = S1 x ( S2 x S1 ) x S2 = S1 x ( S1 x S2 ) x S2 = (S1 x S1 ) x (S2 x S2 ) = S1 x S2

6 2. Cryptages par blocs et en chaîne
2.2 Cryptages en chaîne

7 2.1 Cryptage par blocs u = x1 x2 …  P* v = y1 y2…  C*
k u = x1 x2 …  P* v = y1 y2…  C* yi = E (xi, k ) les mots successifs d’un même texte sont cryptés de la même façon cryptanalyse facilitée

8 2.2 Cryptage en chaîne y E x z f k zi = fi (k, x1, x2, …xi-1 )
yi = E (xi, zi)  on construit une suite de clefs de cryptage zi à partie de la clef initiale k et de la suite des messages en clair précédemment cryptés

9 Système cryptographique en chaîne
< P, C, K, L ; F, E, D > P, C, K : définitions habituelles L : alphabet de séquence de clefs F = (f1, f2, …) générateur de séquence fi : K x Pi-1  L E : P x L  C D : C x L  P

10 Exemple P = C = K = L = Z26 z1 = k zi = fi (xi-1) i > 1
 x  P  y  C  p,q  K E (xi, zi ) = xi + zi mod 26 D (yi, zi) = yi + zi mod 26

11 3. Cryptage de Feistel Principe P = C = {0, 1 }n K = {0, 1 }m
E : P x C x K  P x C E (x, y, k) = (y, f (y, k)  x ) f est une fonction de composition de substitutions et permutations E utilise un y  C et fournit un x  P Le cryptage de Feistel est donc défini de façon itérative Horst Feistel ( )

12 Réalisation x  P texte en clair de départ
x = (L, R ) texte x scindé en 2 k = (k1, k2,…kr) calcul de clefs de ronde L0 = L R0 = R cryptogramme initial pour i = 1, 2,…r : rondes d’itération (Li, Ri) = (Ri-1, f (Ri-1, ki )  Li-1 ) yi = (Li, Ri ) cryptogramme i yL = Rr cryptogramme final yR = Lr

13 Construction d’une ronde
Li-1 Ri-1 ki f + Li Ri (Li, Ri) = (Ri-1, f (Ri-1, ki )  Li-1 )

14 Décryptage (Ri-1, Li-1) = (Li, f (Li, ki )  Ri ) Ri Li ki f + Ri-1
même circuit mais permutation de R & L

15 Principe de la fonction f
u r P d é c o e u r permutations substitutions

16 Construction d’un étage
Ri-1 f E expansion ki S1 S2 S3 S8 P f(Ri-1, ki)

17 Modes d’utilisation ECB Electronic Codebook Mode
 cryptage par blocs CBC Block Chaining Mode  cryptage en chaîne CFB Cipher Feedback Mode  clef modifiée par le cryptogramme OFB Output Feedback Mode  clef modifiée par la sortie

18 CBC Encryptage x1 xi Ek Ek IV = y0 y1 yi yi = Ek (xi  yi-1)

19 CBC Décryptage yi = Ek (xi  yi-1) Dk (yi ) = xi  yi-1
IV = y0 y1 yi yi = Ek (xi  yi-1) Dk (yi ) = xi  yi-1 xi = Dk (yi )  yi-1

20 CFB Encryptage x1 xi Ek Ek IV = y0 y1 yi yi = xi  Ek (yi-1)

21 CFB Décryptage yi = xi  Ek (yi-1) xi = Ek (yi-1)  yi
Dk Dk IV = y0 y1 yi yi = xi  Ek (yi-1) xi = Ek (yi-1)  yi Dk = Ek  xi = Dk (yi-1)  yi

22 OFB Encryptage x1 xi Ek Ek IV = y0 y1 yi yi = Eki (y0)  xi

23 OFB Décryptage yi = Eki (y0)  xi Dk = Ek  xi = Dki (y0)  yi x1 xi
IV = y0 y1 yi yi = Eki (y0)  xi Dk = Ek  xi = Dki (y0)  yi

24 Cryptanalyse force brute cryptogrammes uniquement
essais systématique de toutes les clefs cryptogrammes uniquement pas de solutions connues couples de messages en clair et cryptogrammes cryptanalyse différentielle Biham et Shamir (1991) cryptanalyse linéaire Matsui (1994) Eli Biham Adi Shamir

25 4. Réalisations de cryptages
4.1 DES 4.2 IDEA 4.3 AES

26 4.1 DES Data Encryption Standard développé par IBM en 1970
normalisé par le NBS en 1977 basé sur le cryptage de Feistel texte en clair et cryptogramme de 64 bits composé de 19 étages 17 itérations (rondes) 2 transpositions clefs de 56 bits expansion de la clef pour les « rondes »

27 Cryptage … … … … … …  …………… … … … … … … … … 64 bits T transposition
clef msb it1 it2 56 bits expansion …………… Itérations de Feistel lsb it16 Échange GD T-1 transposition inverse 64 bits

28 Décryptage … … … … … …  …………… … … … … … … … … 64 bits T transposition
clef it1 lsb it2 56 bits expansion …………… Itérations de Feistel msb it16 Échange GD T-1 transposition inverse 64 bits

29 Triple DES Faiblesse de la clef de 56 bits Compatibilité avec le DES 
clef k de 56 bits k k k

30 4.2 IDEA International Data Encryption Standard
Issu de PES Xueja Lai & James Massey Proposed Encryption Standard 1990 Censé résister à la cryptanalyse différentielle (faiblesse du DES) Utilisé pour PGP Pretty Good Privacy openSSL Secure Socket Level

31 Principe Cryptage par blocs de 64 bits Clefs de 128 bits
Cryptage itératif en 8 « rondes » Utilisation d’opérations simples à câbler addition modulo 2  addition modulo 16 produit modulo  +

32 Une « ronde » + + + + + + + + + + x1 x2 x3 x4 k1 k2 k3 k4 k5 k6 y1 y2
+ + + + k5 + k6 + + + + + y1 y2 y3 y4

33 Cryptage ………………………… + + 4 x 16 bits it1 it2 it8 k1 k2 k3 k4
+ + 4 x 16 bits

34 4.3 AES Advanced Encryption Standard
Appel d’offres lancé par le NIST en 1997 National Institute of Standards and Technology pour remplacer le DES et résister aux cryptanalyse différentielle cryptanalyse linéaire Choix d’AES le 2 Octobre 2000 Auteurs Daemen & Rijndael

35 Principe Cryptage de blocs de 32 bits
Opérations définies au niveau de l’octet octet : élément du corps de Galois F28 F28 : polynômes dans F2 modulo 1+x+x3+x4+x8 mot : polynôme à coefficients dans F28 mot de 32 bits : polynôme modulo x4+1 Produit défini modulo x4+1 par a(x) tel que p(x) = a(x) mod (x4+1) inversible


Télécharger ppt "I. 3 Cryptages composés."

Présentations similaires


Annonces Google