|
|
Chiffrements de flux
Introduction |
Les algorithmes de chiffrement de flux (stream ciphers) peuvent être définis comme étant des algorithmes de chiffrement par blocs, où le bloc a une dimension unitaire (1 bit, 1 octet, etc.) ou relativement petite. Leurs avantages principaux viennent du fait que la transformation (méthode de chiffrement) peut être changée à chaque symbole du texte clair et du fait qu'ils soient extrêmement rapides. De plus, ils sont utiles dans un environnement où les erreurs sont fréquentes car ils ont l'avantage de ne pas propager les erreurs (diffusion). Ils sont aussi utilisés lorsque l'information ne peut être traitée qu'avec de petites quantités de symboles à la fois, comme par exemple si l'équipement n'a pas de mémoire physique ou une mémoire tampon très limitée.
Ils appliquent de simples transformations selon un keystream utilisé. Le keystream est une séquence de bits utilisée en tant que clé qui peut être générée aléatoirement, ou par un algorithme qui les génère aléatoirement (keystream generator). Avec un keystream choisi aléatoirement et utilisé qu'une seule fois, le texte chiffré est excessivement sécuritaire. En fait, les chiffrements de flux sont une approximation des propriétés théoriques de l'algorithme one time pad, appelé aussi chiffrement Vernam (pour son auteur).
La génération du keystream peut être indépendant du texte clair et du texte chiffré, appelée chiffrement de flux synchrone (synchronous stream cipher), ou elle peut être dépendante (self-synchronizing stream cipher). Les chiffrements de flux les plus répandus sont synchrones.
Les chiffrements par blocs peuvent être utilisés en chiffrements de flux en les utilisant avec certains modes d'opération, par exemple les modes CFB et OFB.
À noter qu'il n'y a aucun standard parmi les chiffrements de flux.
|
 |
|
|
|
|