Szyfr strumieniowy: Różnice pomiędzy wersjami

[wersja przejrzana][wersja przejrzana]
Usunięta treść Dodana treść
JAnDbot (dyskusja | edycje)
m r2.5.2) (robot dodaje: cs, es, pt poprawia: it
ToBot (dyskusja | edycje)
m Wspomagane przez bota ujednoznacznienie (tyle do zrobienia): Szyfrogram; zmiany kosmetyczne
Linia 1:
'''Szyfr strumieniowy''' – nazywany także algorytmem strumieniowym, algorytmem potokowym lub szyfrem strumieniowym; jest to [[algorytm symetryczny]], który [[szyfr|szyfruje]]uje oddzielnie każdy bit wiadomości. Algorytm ten składa się z generatora strumienia bitowego, będącego kluczem szyfrującym oraz elementu dodającego (na przykład operacji [[Alternatywa wykluczająca|XOR]])<ref name="Schneier1">{{Cytuj książkę | nazwisko = Schneier | imię = Bruce | tytuł = Kryptografia dla praktyków : protokoły, algorytmy i programy źródłowe w języku C | data = 2002 | wydawca = Wydawnictwa Naukowo-Techniczne | miejsce = Warszawa | isbn = 83-204-2678-2 | strony = 30-31 }}</ref>.
 
Wykorzystując operację XOR szyfrowanie wiadomości wygląda następująco:
:<math>C_i = S_i \oplus M_i</math>
 
gdzie <math>S_i</math> to strumień bitów będący kluczem, <math>M_i</math> to [[tekst jawny]] a <math>C_i</math> to [[szyfrogram (kryptografia)|szyfrogram]]
 
Odszyfrowywanie zakodowanej wiadomości odbywa się w identyczny sposób &ndash; generujemy strumień szyfrujący i XOR-ujemy go z szyfrogramem:
:<math>S_i \oplus C_i = S_i \oplus S_i \oplus M_i = M_i</math>
 
Istnieją szyfry strumieniowe oparte na [[generator liczb pseudolosowych|generatorach liczb pseudolosowych]] &ndash; 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 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 (tryb licznikowy)|CTR]] [[szyfr blokowy|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.