Qu'est-ce qu'un chiffrement de flux?
Un chiffrement de flux est un type d'algorithme utilisé dans le chiffrement de données, dans lequel la source devant être chiffrée est traitée en fonction d'une séquence de clés qui semble aléatoire. Ce type de chiffrement est quelque peu flexible en ce sens qu'il peut varier le chiffrement pendant le traitement du texte. Ils sont également parfois appelés un chiffrement d'état car le chiffrement dépend également de l'état actuel de l'opération. Contrairement aux chiffrements par blocs, qui fonctionnent sur des blocs de données de 64 bits à la fois, un chiffrement de flux peut fonctionner sur un seul bit. Pour cette raison, un flux peut être traité à grande vitesse avec une très faible puissance de traitement.
Le premier chiffrement de flux a été mis au point par Gilbert Vernam en 1917. Plus tard, Vernam a également contribué à la création d'un chiffrement appelé tampon ponctuel, qui est une forme de chiffrement de flux utilisant une clé unique pour chiffrer les données. Dans un pad à usage unique, la clé générée a la même longueur que les données à chiffrer, est complètement aléatoire et n'est jamais réutilisée nulle part ailleurs, d'où le nom.
Lorsqu'il est traité contre les données à chiffrer, généralement appelé texte en clair, le texte chiffré résultant est impossible à déchiffrer sans la clé. Le pad ponctuel est difficile à gérer dans la plupart des scénarios et n'est donc utilisé que dans des situations très exclusives. Néanmoins, un chiffrement de flux est généralement considéré comme utile; les clés ont donc été raccourcies et rendues pseudo-aléatoires, ce qui signifie qu'elles sont statistiquement aléatoires, mais en réalité, elles ne le sont pas.
Stream Cipher a la capacité de chiffrer à la volée. De cette manière, il est même facile pour des personnes utilisant un stylo et du papier d’effectuer des chiffrements de flux simples, alors qu’un chiffrement par bloc nécessite généralement l’utilisation d’un ordinateur. Le texte en clair passe par le processus de chiffrement avec le flux de clés, la séquence pseudo-aléatoire qui constitue la clé, où il est converti et sort à l’autre extrémité sous forme de texte chiffré.
En général, ce cryptage se produit via une opération en exclusivité ou (XOR) sur les bits individuels lors de leur passage dans le chiffrement. Un chiffrement XOR simple utilise un type de disjonction logique comme base, ce qui indique essentiellement que le résultat peut être vrai si l'un des opérandes est vrai, mais pas les deux. Par exemple, si un bit se déplaçant dans le processus de chiffrement est un zéro ou un, et que le bit de flux de clés apparié ne correspond pas, la sortie résultante est un. Si le bit et le bit de séquence de clés appariés sont identiques, les deux sont un ou les deux sont égaux à zéro, le résultat est un zéro. Le flux chiffré de uns et de zéros est ensuite déchiffré à l’autre extrémité de la transmission en utilisant le même flux de clés pour reconvertir les bits en texte clair original.
Il existe deux types de chiffrement de flux. À l'aide d'une méthode synchrone, le flux de clés est créé séparément du texte en clair ou du texte chiffré, puis fusionné pour fournir le chiffrement ou le déchiffrement. Avec cette méthode, les extrémités émettrice et réceptrice de la transmission doivent rester synchronisées là où elles fonctionnent sur la même clé et la même position dans la clé. En cas de problème, le déchiffrement doit recommencer ou des indicateurs peuvent être placés par intermittence dans le texte chiffré pour indiquer de nouveaux points de départ. Un chiffrement à synchronisation automatique, par contre, mettra à jour le flux de clés en fonction d'un certain nombre de chiffres précédents dans le texte chiffré.
Un des chiffrements de flux les plus utilisés, appelé RC4, a été créé par RSA Data Security®. Il est concédé sous licence et utilisé dans un certain nombre de logiciels, ainsi que par le protocole SSL (Secure Socket Layer) utilisé dans les communications Internet sécurisées et le cryptage WEP (Wired Equivalent Privacy) utilisé avec les périphériques sans fil. Un autre chiffrement souvent utilisé est connu sous le nom de ORYX, qui a trouvé une utilisation dans les transmissions de données de téléphones cellulaires qui doivent être chiffrées. IBM® a également mis au point une méthode de chiffrement de flux appelée SEAL, qui a trouvé une utilisation dans le chiffrement de disque dur.