Szyfr strumieniowy: Różnice pomiędzy wersjami
[wersja nieprzejrzana] | [wersja nieprzejrzana] |
m algorytm symetryczny |
Dane binarne |
||
Linia 1: | Linia 1: | ||
'''Szyfr strumieniowy''' – [[algorytm symetryczny]], który koduje generując potencjalnie nieskończony strumień szyfrujący (''keystream'') i |
'''Szyfr strumieniowy''' – [[algorytm symetryczny]], który koduje generując potencjalnie nieskończony binarny strumień szyfrujący (''keystream'') i oblicza jego [[Alternatywa wykluczająca|alternatywę wykluczającą XOR]] z [[Dane binarne|danych binarnych]] wiadomości: |
||
:<math>C_i = S_i \oplus M_i</math> |
:<math>C_i = S_i \oplus M_i</math> |
||
Wersja z 18:40, 21 lut 2010
Szyfr strumieniowy – algorytm symetryczny, który koduje generując potencjalnie nieskończony binarny strumień szyfrujący (keystream) i oblicza jego alternatywę wykluczającą XOR z danych binarnych 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.