Principes de construction d'algorithmes de chiffrement par bloc
Fonctionnement d'un algorithme de chiffrement par bloc
De façon générique, on décrit un algorithme de chiffrement par blocs E comme une application de l'espace des messages M et de l'espace des clés K vers l'espace des textes chiffrés C où la relation EK(m)=c est vérifiée pour l'ensemble des éléments des différents ensembles. Donc EK doit être une permutation pour toutes les clés possibles K. De plus, l'algorithme de déchiffrement correspondant DK qui permet de déchiffrer c avec la même clé K doit vérifier : DK(c)=m c'est à dire ∀m, DK(EK(m))=m autrement dit DK = E−1K pour toute clé K dans K. Donc la permutation de chiffrement EK paramétrée par la clé K doit également être facile à inverser. De plus, la clé K doit être prise dans un espace suffisamment grand pour se prémunir contre la recherche exhaustive (essayer toutes les clés). Par exemple dans le cas de l'AES, K est de taille 128, 192 ou 256 bits, ce qui fait que la recherche exhaustive nécessite 2128, 2192 ou 2256 essais, cette dernière borne étant très proche du nombre d'atomes présents dans l'univers. Nous allons nous intéresser ici à la construction de la fonction EK. Pour répondre aux exigences de la cryptographie symétrique, un algorithme de chiffrement par blocs EK doit satisfaire plusieurs propriétés. Rappelons les plus importantes : l'algorithme doit être facilement calculable et inversible pour n'importe quelle valeur de la clé, tout en offrant une bonne sécurité pratique.Les méthodes de construction restent très empiriques mais la plus usitée est l'utilisation d'algorithmes itératifs. Ces algorithmes sont composés de r étages et à chaque étage, ils font agir la même fonction f paramétrée par une sous-clé Ki. Les sous-clés K1,..., Kr sont différentes à chaque étage et générées à partir de la clé secrète K et d'un algorithme de génération de sous-clés (voir figure 1).

Notons que, mis à part quelques cas pathologiques, plus le nombre d'étages est grand, plus on augmente la diffusion (faire en sorte que chaque bit de sortie soit influencé par le plus grand nombre possible de bits d'entrée) et la confusion (faire disparaître les structures tant linéaires qu'algébriques du chiffrement) selon les principes décrits par Shannon dans [1]. Dans ce cas, le principal défi reste la construction de la fonction d'étage f. C'est à cette étape que nous allons à présent nous intéresser en présentant les fonctions de tour les plus usitées.
Références
- [1]
- C.E. Shannon. Communication theory of secrecy systems. Bell System Technical Journal, 28:656-715, 1949.
Informations sur le parcours
- Titre :
- Principes de construction d'algorithmes de chiffrement par bloc
- Profil(s) :
- Enseignant & Lycéen, Ingénieur informatique, Enseignant-Chercheur, Etudiant
- Thème :
- Cryptographie à clé secrète
- Finalité :
- Théorique
- Difficulté :
- niveau 2
- Auteur(s) :
- Marine Minier
- Mise à jour :
- 04/01/2007
