i. 3 cryptages composés sommaire 1.composition de systèmes cryptographiques 2.cryptages par blocs...
Post on 03-Apr-2015
103 Views
Preview:
TRANSCRIPT
I. 3Cryptages composés
I. 3Cryptages composés
Sommaire
1. Composition de systèmes cryptographiques
2. Cryptages par blocs et en chaîne
3. Cryptage de Feistel
4. Réalisation de cryptages
1. Composition de systèmes cryptographiques
• Idée (Shannon) : sur-crypter crypter un cryptogramme
• Systèmes endomorphiques C = PS1 = < P, K1 ; E1 , D1 >
S2 = < P, K2 ; E2 , D2 >
• Composition de systèmes endomorphiquesS = 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
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
Itérations
– 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 idempotentPreuve
(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
2. Cryptages par blocs et en chaîne
2.1 Cryptages par blocs
2.2 Cryptages en chaîne
2.1 Cryptage par blocs
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
Eu v
k
2.2 Cryptage en chaîne
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
E
f
x
y
z
k
Système cryptographique en chaîne
< P, C, K, L ; F, E, D >P, C, K : définitions habituellesL : alphabet de séquence de clefs
F = (f1, f2, …) générateur de séquence
fi : K x Pi-1 LE : P x L CD : C x L P
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
3. Cryptage de Feistel
• PrincipeP = C = {0, 1 }n
K = {0, 1 }m
E : P x C x K P x CE (x, y, k) = (y, f (y, k) x )f est une fonction de composition de substitutions et
permutationsE utilise un y C et fournit un x PLe cryptage de Feistel est donc défini de façon itérative
QuickTime™ et undécompresseur TIFF (non compressé)
sont requis pour visionner cette image.
Horst Feistel(1915-1990)
QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.
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
Construction d’une ronde
Li-1Li-1 Ri-1Ri-1
kiki
LiLi RiRi
ff
++
(Li, Ri) = (Ri-1, f (Ri-1, ki ) Li-1 )(Li, Ri) = (Ri-1, f (Ri-1, ki ) Li-1 )
Décryptage
RiRi LiLi
kiki
Ri-1Ri-1 Li-1Li-1
ff
++
(Ri-1, Li-1) = (Li, f (Li, ki ) Ri )(Ri-1, Li-1) = (Li, f (Li, ki ) Ri )même circuit mais permutation de R & L
Principe de la fonction f
substitutionspermutations
P
codeur
décodeur
Construction d’un étage
E
S1 S2 S3 S8
P
Ri-1
ki
f(Ri-1, ki)
expansionf
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
CBC Encryptage
IV = y0
x1
y1
xi
yi
Ek Ek
yi = Ek (xi yi-1)
CBC Décryptage
IV = y0
x1
y1
xi
yi
Dk Dk
Dk (yi ) = xi yi-1
xi = Dk (yi ) yi-1
yi = Ek (xi yi-1)
CFB Encryptage
IV = y0
x1
y1
xi
yi
Ek Ek
yi = xi Ek (yi-1)
CFB Décryptage
IV = y0
x1
y1
xi
yi
Dk Dk
xi = Ek (yi-1) yi Dk = Ek xi = Dk (yi-1) yi
yi = xi Ek (yi-1)
OFB Encryptage
IV = y0
x1
y1
xi
yi
Ek Ek
yi = Eki (y0) xi
OFB Décryptage
IV = y0
x1
y1
xi
yi
Dk Dk
Dk = Ek xi = Dki (y0) yi
yi = Eki (y0) xi
Cryptanalyse
– force brute• 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)
QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.
Eli Biham
QuickTime™ et undécompresseur TIFF (non compressé)sont requis pour visionner cette image.
Adi Shamir
QuickTime™ et undécompresseur TIFF (non compressé)
sont requis pour visionner cette image.
QuickTime™ et undécompresseur TIFF (non compressé)
sont requis pour visionner cette image.
4. Réalisations de cryptages
4.1 DES
4.2 IDEA
4.3 AES
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 »
Cryptage
T
it1
it2
it16
Échange GD
T-1
transposition
Itérations de Feistel
transposition inverse
expa
nsio
n
64 bits
64 bits
clef
56 b
its
…
…
…
…
…
…
…
…
…
…
…
…
…
…
……………
lsb
msb
Décryptage
T
it1
it2
it16
Échange GD
T-1
transposition
Itérations de Feistel
transposition inverse
expa
nsio
n
64 bits
64 bits
clef
56 b
its
…
…
…
…
…
…
…
…
…
…
…
…
…
…
……………
msb
lsb
Triple DES
• Faiblesse de la clef de 56 bits• Compatibilité avec le DES
DES1 DES2 DES3
clef de 168 bits
clef k de 56 bitsk k k
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
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 216 + 1 +
Une « ronde »
+
+
+ +
+ +
+ +
+
+
x1 x2 x3 x4
y1 y2 y3 y4
k1 k2 k3 k4
k5
k6
Cryptage
it1
it2
it8
+ + k1 k2 k3 k4
4 x 16 bits
4 x 16 bits
…………………………
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
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
top related