Szyfr strumieniowy
Z Wikipedii
Szyfr strumieniowy (stream cipher) to szyfr symetryczny, który koduje generując potencjalnie nieskończony strumień szyfrujący (keystream) i XOR-ując go z wiadomością:
Odszyfrowywanie zakodowanej wiadomości odbywa się w identyczny sposób – generujemy strumień szyfrujący i XOR-ujemy go z szyfrogramem:
Istnieją szyfry strumieniowe oparte na generatorach liczb pseudolosowych – jeśli generator jest kryptograficznie silny, to seed generatora może służyć jako klucz, a generowany strumień pseudolosowych liczb jako strumień szyfrujący. Blum Blum Shub jest przykładem generatora, dla którego (co rzadkie w kryptografii) istnieje dowód, że złamanie go jest co najmniej równie trudne jak rozbicie liczby stanowiącej klucz na czynniki.
Szyframi strumieniowymi są też tryby CFB, OFB i CTR szyfrów blokowych. Generują one z samego klucza i z wektora inicjalizującego (nie korzystając z danych) strumień szyfrujący, po czym XOR-ują go z danymi.