Modes de chiffrement par blocs


Modes de chiffrement par blocs

  Les modes de chiffrements

Avant de s'intéresser à la construction de l'algorithme de chiffrement par blocs lui-même, il est utile de préciser qu'il existe plusieurs modes qui permettent d'enchaîner le chiffrement des différents blocs de taille n, mi pour i variant de 0 à t−1, la fonction de chiffrement EK s'appliquant alors à chacun des blocs. Il s'agit donc de chaîner les ci=EK(mi) avec en général mi+1 pour i variant de 0 à t−1.

1  Le mode ECB

Le mode le plus simple est le mode ECB de l'anglais Electronic Code Book illustré à la figure 1 : le message à chiffrer est subdivisé en plusieurs blocs qui sont chiffrés séparément les uns après les autres. Le gros défaut de cette méthode est que deux blocs avec le même contenu seront chiffrés de la même manière, on peut donc tirer des informations à partir du texte chiffré en cherchant les séquences identiques. On obtient dès lors un « dictionnaire de codes » avec les correspondances entre le clair et le chiffré d'où le terme codebook.
Ce mode est pour ces raisons fortement déconseillé dans toute application cryptographique. Le seul avantage qu'il peut procurer est un accès rapide à une zone quelconque du texte chiffré et la possibilité de déchiffrer une partie seulement des données. Mais un mode bien plus sûr fondé sur un compteur permet également ces accès aléatoires et des déchiffrements partiels.

Figure 1: Le mode ECB.

2  Le mode CBC

Un autre mode de chiffrement très employé est le mode CBC (présenté à la figure 2) de l'anglais Cipher Block Chaining. Il consiste à chiffrer le bloc i préalablement combiné par ou exclusif avec le chiffré du bloc précédent ainsi, ci = EK(mi ⊕ci−1) pour tout i de 1 à t, avec c0 = EK(m0 ⊕IV) où IV désigne un vecteur d'initialisation. C'est un bloc de données aléatoires qui permet de commencer le chiffrement du premier bloc et qui fournit ainsi une forme de hasard indépendant du document à chiffrer. Il n?a pas besoin d?être lui-même chiffré lors de la transmission, mais il ne doit jamais être réemployé avec la même clé ce qui n'est pas le cas dans le WEP par exemple [2].

Figure 2: Le mode CBC.
Il existe plusieurs autres modes que nous ne présenterons pas ici qui sont essentiellement des variantes du mode CBC. On peut citer : le mode CFB de l'anglais Cipher Feedback Block qui utilise un chiffrement à rétroaction, le mode OFB de l'anglais Output Feedback Block qui utilise un chiffrement à rétroaction de sortie,...
Le dernier mode auquel nous allons nous intéresser est le mode CTR (pour CounTeR) ou mode compteur qui a fait parler de lui récemment car on l'envisageait pour remplacer les chiffrements à flot [1].

3  Le mode CTR

Dans ce cas, c'est la valeur d'un compteur qui est chiffrée et qui produit un bloc pseudo-aléatoire qui sera ensuite x-orer avec les blocs de message clair pour produire le chiffré correspondant : cette méthode correspond au célèbre "one-time-pad" et est illustrée à la figure 3.

Figure 3: Le mode CTR.
Ce mode peut également être utilisé avec un vecteur d'initialisation qui, dans ce cas, est concaténé à la valeur du compteur.

 

Références

[1]
Adi Shamir. "stream ciphers: Dead or alive ?". invited talk of SASC - The State of the Art of Stream Ciphers, 2004.
[2]
Wikipédia. "article wired equivalent privacy (WEP)". http://fr.wikipedia.org/wiki/WEP, 2005.

  •  

Informations sur le parcours

Titre :
Modes de chiffrement par blocs
Profil(s) :
Enseignant & Lycéen, Ingénieur informatique, Enseignant-Chercheur, Etudiant
Thème :
Cryptographie à clé secrète
Finalité :
Pédagogique
Difficulté :
niveau 1
Auteur(s) :
Marine Minier
Mise à jour :
27/11/2006

Syndication

Il vous est possible de suivre la publication des parcours PICSI via le fil RSS des parcours.