Szyfr strumieniowy: Różnice pomiędzy wersjami
[wersja nieprzejrzana] | [wersja nieprzejrzana] |
m Naprawa linku do strony ujednoznaczniającej |
m algorytm symetryczny |
||
Linia 1: | Linia 1: | ||
'''Szyfr strumieniowy''' |
'''Szyfr strumieniowy''' – [[algorytm symetryczny]], który koduje generując potencjalnie nieskończony strumień szyfrujący (''keystream'') i XOR-ując go z wiadomością: |
||
:<math>C_i = S_i \oplus M_i</math> |
:<math>C_i = S_i \oplus M_i</math> |
||
Wersja z 18:18, 21 lut 2010
Szyfr strumieniowy – algorytm 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 ziarno¹ 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.
¹) zobacz generator liczb pseudolosowych.