Chiffre de bloc
Le schéma de base d'un chiffrement par bloc est décrit comme suit -
Un chiffrement par bloc prend un bloc de bits de texte en clair et génère un bloc de bits de texte chiffré, généralement de même taille. La taille du bloc est fixée dans le schéma donné. Le choix de la taille de bloc n'affecte pas directement la force du schéma de chiffrement. La force du chiffrement dépend de la longueur de la clé.
Taille de bloc
Bien que toute taille de bloc soit acceptable, les aspects suivants sont gardés à l'esprit lors de la sélection d'une taille de bloc.
Avoid very small block size- Disons qu'une taille de bloc est de m bits. Les combinaisons possibles de bits en clair sont alors de 2 m . Si l'attaquant découvre les blocs de texte brut correspondant à certains blocs de texte chiffré précédemment envoyés, l'attaquant peut lancer un type d '«attaque par dictionnaire» en construisant un dictionnaire de paires de texte en clair / texte chiffré envoyées à l'aide de cette clé de chiffrement. Une taille de bloc plus grande rend l'attaque plus difficile car le dictionnaire doit être plus grand.
Do not have very large block size- Avec une très grande taille de bloc, le chiffrement devient inefficace à fonctionner. Ces textes en clair devront être complétés avant d'être chiffrés.
Multiples of 8 bit - Une taille de bloc préférée est un multiple de 8 car elle est facile à mettre en œuvre car la plupart des processeurs informatiques traitent les données en multiples de 8 bits.
Rembourrage dans le chiffrement par bloc
Les chiffrements par blocs traitent des blocs de tailles fixes (disons 64 bits). La longueur des textes en clair n'est généralement pas un multiple de la taille du bloc. Par exemple, un texte clair de 150 bits fournit deux blocs de 64 bits chacun avec un troisième bloc d'équilibre de 22 bits. Le dernier bloc de bits doit être complété avec des informations redondantes afin que la longueur du bloc final soit égale à la taille de bloc du schéma. Dans notre exemple, les 22 bits restants doivent avoir 42 bits redondants supplémentaires ajoutés pour fournir un bloc complet. Le processus d'ajout de bits au dernier bloc est appelépadding.
Trop de rembourrage rend le système inefficace. De plus, le remplissage peut parfois rendre le système non sécurisé, si le remplissage est toujours effectué avec les mêmes bits.
Bloquer les schémas de chiffrement
Il existe un grand nombre de schémas de chiffrement par blocs qui sont utilisés. Beaucoup d'entre eux sont connus du public. Les chiffrements par blocs les plus populaires et les plus importants sont répertoriés ci-dessous.
Digital Encryption Standard (DES)- Le chiffrement par blocs populaire des années 1990. Il est maintenant considéré comme un chiffrement par bloc «cassé», principalement en raison de sa petite taille de clé.
Triple DES- Il s'agit d'un schéma de variante basé sur des applications DES répétées. C'est toujours un chiffrement par bloc respecté mais inefficace par rapport aux nouveaux chiffrements par bloc plus rapides disponibles.
Advanced Encryption Standard (AES) - C'est un chiffrement par blocs relativement nouveau basé sur l'algorithme de chiffrement Rijndael qui a remporté le concours de design AES.
IDEA- C'est un chiffrement par bloc suffisamment fort avec une taille de bloc de 64 et une taille de clé de 128 bits. Un certain nombre d'applications utilisent le cryptage IDEA, y compris les premières versions du protocole Pretty Good Privacy (PGP). L'utilisation du système IDEA a une adoption restreinte en raison de problèmes de brevets.
Twofish- Ce schéma de chiffrement par bloc utilise une taille de bloc de 128 bits et une clé de longueur variable. C'était l'un des finalistes de l'AES. Il est basé sur le chiffrement par blocs précédent Blowfish avec une taille de bloc de 64 bits.
Serpent- Un chiffrement par bloc avec une taille de bloc de 128 bits et des longueurs de clé de 128, 192 ou 256 bits, qui était également finaliste du concours AES. C'est une conception plus lente mais plus sûre que les autres chiffrements par blocs.
Dans les sections suivantes, nous aborderons d'abord le modèle de chiffrement par blocs suivi de DES et AES, deux des chiffrements par blocs modernes les plus influents.