1.3.2.3 Algorithmes de chiffrement par bloc
Dans un schéma de chiffrement par blocs [27], le
message est divisé en blocs de bits, de longueur fixe. Les blocs sont
chiffrés l'un après l'autre. Le chiffrement peut être
effectué par substitutions (les bits d'un bloc sont substitués
par d'autres bits) et par transpositions (les bits d'un bloc sont
permutés entre eux). La substitution permet d'ajouter de la confusion,
c'est-à-dire de rendre la relation entre le message et le texte
chiffré aussi complexe que possible. La transposition permet d'ajouter
de la diffusion, c'est-à-dire de réarranger les bits du message
afin d'éviter que toute redondance dans le message ne se retrouve dans
le texte chiffré.
On distingue le chiffrement par blocs itératifs. Une
fonction constituée de combinaisons complexes de substitutions et/ou de
transpositions, appelée fonction de tour ou fonction de ronde, est
appliquée itérativement. Une itération est appelée
un tour ou une ronde. Chaque ronde prend en entrée la sortie de la ronde
précédente et chiffre cette entrée à l'aide de la
fonction de ronde et d'une sous-clé de ronde
générée à partir de la clé secrète K.
La fonction de chiffrement n'est pas la fonction de ronde, mais elle est
constituée par l'ensemble de toutes les rondes.
Mémoire de Master en EEA, par NKAPKOP Jean De
Dieu.
Cryptage chaotique des images basé sur le
modèle du perceptron
Chapitre 1 :
Généralités sur les cryptosystèmes
16
Un exemple de chiffrement par blocs itératifs est le
célèbre schéma DES [8] adopté par le gouvernement
américain, en 1977, comme algorithme de chiffrement standard officiel.
Pour renforcer la sécurité, il existe des variantes du DES qui
consistent à utiliser une clé K de longueur plus
importante et à répéter plusieurs fois l'algorithme sur
chaque bloc, comme le triple-DES. Les longueurs des clés ne permettent
pas toujours de résister à des attaques de plus en plus
performantes grâce au progrès des ordinateurs. Pour pallier ce
problème, le schéma DES est amélioré et devient le
schéma AES (Advanced
Encryption Standard) [28], en 1977.
1.3.2.4 Avantages et inconvénients du
chiffrement par bloc et par flot
Avec un algorithme de chiffrement par bloc, on ne peut
commencer à chiffrer et à déchiffrer un message que si
l'on connaît la totalité d'un bloc. Ceci occasionne naturellement
un délai dans la transmission et nécessite également le
stockage successif des blocs dans une mémoire tampon. Au contraire, dans
les procédés de chiffrement par flot, chaque bit transmis peut
être chiffré ou déchiffré indépendamment des
autres, en particulier sans qu'il soit nécessaire d'attendre les bits
suivants. D'autre part, les chiffrements par flot ne requièrent
évidemment pas de padding, c'est-à-dire l'ajout de certains bits
au message clair dont le seul objectif est d'atteindre une longueur multiple de
la taille du bloc. Ceci peut s'avérer particulièrement
souhaitable dans les applications où la bande passante est très
limitée ou quand le protocole employé impose la transmission de
paquets relativement courts.
Un autre avantage du chiffrement par flot est que
contrairement aux chiffrements par bloc, le processus de déchiffrement
ne propage pas les erreurs de transmission. Supposons qu'une erreur survenue au
cours de la communication ait affecté un bit du message chiffré.
Dans le cas d'un chiffrement à flot, cette erreur affecte uniquement le
bit correspondant du texte clair, et ne le rend donc généralement
pas complètement incompréhensible. Par contre, dans le cas d'un
chiffrement par bloc, c'est tout le bloc contenant la position erronée
qui devient incorrect après déchiffrement. Ainsi, une erreur sur
un seul bit lors de la transmission affecte en réalité 128 bits
du message clair. C'est pour cette raison que le chiffrement par flot est
également utilisé pour protéger la confidentialité
dans les transmissions bruitées.
Mémoire de Master en EEA, par NKAPKOP Jean De
Dieu.
Cryptage chaotique des images basé sur le
modèle du perceptron
Chapitre 1 :
Généralités sur les cryptosystèmes
17
|