Quelle est la différence entre le cryptage de flux et le cryptage de bloc?

Le cryptage de flux convient aux applications matérielles en temps réel.

Cryptage de flux

L'idée de base du chiffrement de flux est de diviser le texte en petits blocs, longs d'un bit ou d'un octet, et de coder chaque bloc en fonction de nombreux blocs précédents. Le cryptage de flux utilise une clé de codage différente, une valeur qui doit être introduite dans l'algorithme, pour chaque bit ou octet, afin de générer un texte crypté différent chaque fois qu'il est codé. Certains chiffreurs de flux utilisent un générateur de flux de clés, qui produit un flux de bits de manière aléatoire ou presque. Le chiffrement effectue une opération booléenne, appelée OU exclusif, entre les bits du flux de clés et les bits du texte brut pour produire un texte chiffré.

Bloquer le cryptage

L'idée de base d'un chiffrement par bloc est de diviser le texte en blocs relativement longs, généralement de 64 ou 128 bits, et de coder chaque bloc séparément. La même clé de cryptage est utilisée pour chaque bloc et c'est la clé de cryptage qui détermine l'ordre dans lequel la substitution, le transport et d'autres fonctions mathématiques sont effectuées dans chaque bloc. Des algorithmes puissants signifient que l'ingénierie inverse du système de chiffrement ou la détermination des fonctions exécutées dans chaque bloc, dans quel ordre, est pratiquement impossible.

Diffusion et confusion

Le chiffrement de blocs utilise des techniques connues sous le nom de confusion et de diffusion pour convertir du texte brut en un texte chiffré. L'idée derrière la confusion est de rendre la relation entre la clé de cryptage et le texte brut aussi complexe que possible. Idéalement, chaque caractère de la clé de cryptage doit avoir une influence sur chaque caractère du texte crypté. En revanche, la diffusion étend l’influence de chaque caractère du texte brut sur plusieurs caractères du texte chiffré, ce qui rend le cryptage moins sensible aux attaques statistiques.

Avantages et les inconvénients

Le fait que le cryptage de flux crypte et décrypte les informations bit par bit signifie qu’elles sont particulièrement adaptables aux applications matérielles en temps réel, telles que les applications audio et vidéo. Le cryptage de flux est plus faible et moins efficace que le cryptage par bloc en ce qui concerne les applications logicielles et est utilisé moins fréquemment dans cette zone. Le chiffrement de bloc est plus facile à mettre en œuvre dans le logiciel car il chiffre les informations en longueur que le logiciel utilise déjà. La clé de cryptage a souvent la même longueur que la taille du bloc.