Usuari:Mcapdevila/Xifratge de flux
Fitxer:A5-1 GSM cipher.svg|thumbnail|Funcionament del generador de flux de clau (keystream) en l'algoritme A5/1, emprat per xifrar converses de telèfon mòbil.]] El xifratge de flux s'empra en algunes aplicacions, com ara el xifratge de converses telefòniques, en que el xifratge per blocs resulta inadequat perquè els fluxos de dades es produeixen en temps real i en fragments molt petits, fins i tot d'un bit, i seria un malbaratament omplir la resta de bits abans de xifrar les dades i transmetre'ls.
Els xifradors de flux són, doncs, uns algorismes de xifratge que poden realitzar el xifrat incrementalment, convertint el text en clar en text xifrat bit a bit. Això s'aconsegueix construint un generador de flux de clau (keystream). Un flux de clau és una seqüència de bits de mida arbitrària que pot emprar-se per enfosquir els continguts d'un flux de dades combinant el flux de clau amb el flux de dades mitjançant la funció XOR. Si el flux de clau és segur, el flux de dades xifrades també ho serà.
Es pot construir un generador de flux de clau iterant una funció matemàtica sobre un rang de valors d'entrada per produir un flux continu de valors de sortida. Llavors, els valors de sortida es concatenen per construir blocs de text en clar, i els blocs es xifren utilitzant una clau compartida per l'emissor i el receptor.
Per conservar la qualitat de servei del flux de dades, els blocs del flux de clau s'haurien de generar amb certa antelació al moment en què hagin de ser emprats i el procés que els produeix no hauria exigir gaire esforç de processament per no retardar excessivament el flux de dades.. De totes maneres, el xifratge de flux s'executa a major velocitat que el xifratge per blocs i té una menor complexitat a nivell de maquinari. Això no obstant, aquest xifratge pot veure's seriosament compromès si s'empra incorrectament (especialment si es reutilitza el mateix punt d'inici de xifratge).