Vous êtes sur la page 1sur 25

Théorie de l'information et codage

Master de cryptographie

Cours 8 : Chirement par blocs

11 et 12 mars 2009

Université Rennes 1

Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 1 / 25


Principe des chirements par blocs
Dénition
Soit A un alphabet. Un cryptosystème est un chirement par blocs si P et
C sont tous les 2 A . n est la longueur des blocs.
n

Propriétés
Les fonctions de chirement par blocs sont des permutations.

En pratique l'espace des clés n'est


qu'un sous ensemble de S(A ) facile
n

à représenter et à évaluer.
Les modes opératoires permettent
de déterminer la façon dont on
chire la suite des blocs d'un
message long.

Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 2 / 25


Le mode ECB (Electronic Code Book)

Principe : On découpe le message m


en blocs m de taille n et on chire
i

indépendemment chaque m avec la


i

clé k .

Propriétés
La clé xée, le chirement d'un bloc ne dépend que du message clair.
Les blocs sont chirés de manière indépendante.
Pas de propagation d'erreur.
Sensible aux attaques par répétition (rejeu).
Sensible à des motifs de blocs répétés fréquemment.
Attaque statistiques facilitées.
Substitution d'un bloc chiré par un autre possible (intégrité).
Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 3 / 25
Problème de la répétition de bloc

Sur un texte
JO HN  10 50 00 JA CK  50 00 00
Q9 2D FP VX C9 IO LD AS FP C9 IO IO
Sur une image

Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 4 / 25


Le mode CBC (cipher-block chaining)
Principe : Avant d'être chiré, un bloc est
"Xoré" avec le chiré du bloc précédent.
Cela nécessite un vecteur d'initialisation (IV)
pour chirer et déchirer.
Chirement : c = E (c −1 ⊕ m )
j k j j

Déchirement : m = c −1 ⊕ D (c )
j j k j

avec c0 = IV

Propriétés
Chirement dépendant du contexte.
Permet de contrer les attaques par dictionnaire.
Une erreur simple peut se propager sur deux blocs consécutifs.
Le IV n'a pas besoin d'être secret, mais c'est une donnée sensible.
Si un bloc est modié, le déchirage de la suite est impossible.
Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 5 / 25
Le mode CFB (Cipher FeedBack)
Principe : La fonction de chirement sert à générer des clés qu'on Xor avec
le message clair.
Le message est coupé en bloc de r bits (r ≤ n).

Chirement Déchirement
I1 initialisé à IV ∈ {0, 1} n
. I1 initialisé à IV.
A la j-ème étape, A la j-ème étape on reçoit c,
j

O = E (I )
j k j O = E (I )
j k j

t = les r premiers bits de O


j j t = les r premiers bits de O
j j

c =m ⊕t
j j j m =c ⊕t
j j j

I +1 = 2 I + c mod 2
j
r
j j
n
I +1 = 2 I + c mod 2
j
r
j j
n

Si r = n, cela revient à chirer les blocs de sortie en mode ECB et à faire


un Xor avec les blocs de clair
Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 6 / 25
Le mode CFB (Cipher FeedBack)

Propriétés
N'utilise pas la fonction de déchirement.
Une erreur simple peut se propager sur plusieurs blocs consécutifs.
Si un bloc est modié, le déchirage de la suite est impossible.
L'émetteur et le récepteur engendrent simultanément les blocs de clé.

Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 7 / 25


Le mode OFB (Output FeedBack)
Similaire à CFB sauf que la dernière étape est I +1 = O .
j j

Propriétés
N'utilise pas la fonction de déchirement.
Pas d'erreur de propagation.
La suite des chireurs (O ) peut être précalculée.
j

Il faut changer de clé ou de IV à chaque message.


Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 8 / 25
Remarques sur les modes opératoires

Il en existe de nombreux autres (CTR, CTS, EAX, ...).


Ces modes de chirement n'assurent pas l'intégrité, il faut les coupler
avec des MAC (Message Authentication Code).
Propagation d'erreur et intégrité sont contradictoires.
Si on veut tout assurer il faut rajouter des MAC et des codes
correcteurs ou utiliser des modes spéciques (XCBC, IACBC, IAPM,
OCB, EAX, CWC, CCM)

Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 9 / 25


Chirement par blocs itérés
Dénition
Les paramètres d'un chirement par blocs itérés sont la taille des blocs n,
le nombre de rondes (round) r et une clé K .
Le chiré est obtenu par r applications itérées d'une fonction de ronde au
même clair dépendant d'une clé de ronde. Les clés de ronde sont dérivées
de la clé K.
Ainsi dans un chirement par blocs itérés à r rondes
C = g (C −1 , K ) pour i = 1, · · · , r avec
C0 le clair, i i i

g la fonction de ronde,
K les clés de ronde et
i

C le chiré
r

Le déchirement se déroule suivant le processus inverse.


⇒ g doit être inversible.
Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 10 / 25
Chirement de Feistel

Dénition
Un chirement (ou réseau) de Feistel est un chirement par blocs itérés
avec n pair.De plus, à chaque ronde, Les blocs sont séparés en deux parties
égales L et R et une ronde se déroule de la manière suivante
i i

L +1 = R ,
i i R +1 = L
i i ⊕ f (R , K ).
i i

Remarque : il n'est pas nécessaire d'inverser f pour déchirer. En fait


chirement et déchirement utilisent le même algorithme.
Exemples de chirement basés sur les réseaux de Feistel : DES, Blowsh,
KASUMI, Twosh, FEAL, en fait une grande majorité.

Réseau de substitution/permutation
En théorie f est arbitraire. En pratique f est constitué d'une combinaison
de permutation des bits et de subsitutions (non linéaires).

Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 11 / 25


Schema de chirement de Feistel

Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 12 / 25


Les paramètres du DES

Taille des blocs : 64 bits.


P = C = {0, 1}64 .
K=
(b1 , · · · , b64 ) ∈ {0, 1}64 tq =1 b8 k = 1···8
n P8 o
i k +i = 1 mod 2 pour
K est de cardinal 256 .
16 rondes.
16 clés de ronde de 48 bits.
En plus du réseau de Feistel, on rajoute un permutation initiale
Restent à décrire la fonction f , la permutation initiale et la génération des
clé de ronde.

Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 13 / 25


Schéma du DES

Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 14 / 25


La permutation initiale IP

Si p = p1 p2 p3 · · · alors IP(p ) = p58 p42 p42 · · ·


IP−1 est également donnée par une table.
Opération très rapide (lecture d'une table).

Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 15 / 25


La fonction de ronde f
Application de {0, 1}32 × {0, 1}48 dans {0, 1}32 fabriquée à partir de
substitutions (S-box)

Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 16 / 25


Les S-box

Substitution de 6 bits sur 4 bits

Utilisation des S-box


Si l'entrée d'une S-box est b1 b2 b3 b4 b5 b6 , sa sortie est le développement
binaire de la valeur se situant sur à l'intersection de la ligne b1 b6 et de la
colonne b2 b3 b4 b5 dans la S-box (on numérote les lignes et les colonnes à
partir de 0).

Les S-box sont le coeur du DES.

Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 17 / 25


Génération des clés de ronde

avec PC-1 et PC-2 des permutations (tables)


et LS une permutation circulaire de 2 bits vers la gauche (ou 1 bit si
i

i = 1, 2, 9, 16)
Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 18 / 25
Historique et cryptanalyse du DES
1975 : DES est ocialisé
1977 : DES devient un standard FIPS
1992 : Attaque (théorique) de DES par Biham et Shamir via la
cryptanalyse diérentielle. Nécessite 247 textes choisis.
1994 : Cryptanalyse linéaire de DES par Matsui (247 puis 236 )
1998 : une machine dédiée casse une clé DES en 56h
1999 : clé DES cassée en 22h via un calcul distribué
2005 : DES est retiré des standards FIPS

Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 19 / 25


Combiner plusieurs DES ?

Double-DES
Idée : chirer le chiré, i.e. c = E 0 (E (m)).
k k

Se casse en à peine plus longtemps qu'un DES (260 )

Triple-DES
Avec 3 clés de 56 bits ⇒ environ 120 bits de sécurité (et 3 fois plus
long qu'un simple DES)
Avec seulement 2 clés de 56 bits

c = E (D 0 (E (m)))
k k k

⇒ environ 112 bits de sécurité

Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 20 / 25


La sélection de AES (Advanced Encryption Standard
Appel d'ore lancé en 1997 par le NIST pour remplacer le DES.
Conférence AES1 en 1998 pour présenter les candidats (15).
Conférence AES2 en 1999 pour sélectionner les nalistes : MARS, RC6,
Rijndael, Serpent et Twosh. Tous considérés comme sûrs (NSA).

Critères de jugement
Sécurité pour une même taille de clé
Indiscernabilité entre la sortie et une suite aléatoire
Resistance aux nouvelles méthode de cryptanalyse
Propriété intellectuelle
Ecacité
Facilité/Cout d'implémentation

Conférence AES3 en 2000. Vainqueur : Rijndael.


Eprouvé 3 ans par la communauté mondiale avant son avènement.
Standardisé en 2001.
Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 21 / 25
Description rapide de l'AES

Chirement par blocs itérés


taille des blocs : 128 bits

taille des clés : 128, 192 ou 256 bits

10,12 ou 14 rondes

Travaille sur F28 (ie sur les octets)


Utilise des tableaux 4×4 d'octets (états)
Déchirement identique au chirement mais diérent
Conçu pour résister aux attaques linéaires et diérentielles.
Nouvelles attaques (canaux cachés, algébriques, cube attack, attaques
sur les rondes) pour l'instant inecaces.

Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 22 / 25


Les rondes de l'AES
Constituées de 4 étapes

SubBytes :
substitution non
linéaire où chaque octet
est remplacé par un
autre via une table
(S-box sur des octets).

ShiftRows :
permutation où chaque
ligne de l'état est
soumise à une
permutation circulaire
de longueur variable.
Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 23 / 25
Les rondes de l'AES

MixColumns :
mélange sur les
colonnes via une
transformation linéaire.

AddRoundKey :
Chaque octet de l'état
est combiné avec la clé
de ronde.

Master Crypto (2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 24 / 25


Paramètres d'évaluation d'un chirement par blocs

Taille des clés, i.e. niveau de


sécurité théorique.
Niveau de sécurité estimé
(résistance aux attaques
connues, intensité de la
cryptanalyse).
Débit.
Complexité de la fonction de
chirement.
Intégrité et propagation
d'erreur.

autres systemes,
Master Crypto AES et competition
(2008-2009) Théorie de l'information et codage 11 et 12 mars 2009 25 / 25

Vous aimerez peut-être aussi