Przejdź do zawartości

Szyfr strumieniowy

Z Wikipedii, wolnej encyklopedii

Szyfr strumieniowy (także: algorytm strumieniowy, algorytm potokowy) – algorytm symetryczny, który szyfruje 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 XOR)[1].

Szyfrowanie wiadomości wykorzystujące operację XOR wygląda następująco:

gdzie to strumień bitów będący kluczem, to tekst jawny, a to szyfrogram.

Odszyfrowywanie zakodowanej wiadomości odbywa się w identyczny sposób – generujemy strumień szyfrujący i stosujemy operację XOR na szyfrogramie:

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 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.

Przypisy

[edytuj | edytuj kod]
  1. Bruce Schneier: Kryptografia dla praktyków: protokoły, algorytmy i programy źródłowe w języku C. Warszawa: Wydawnictwa Naukowo-Techniczne, 2002, s. 30-31. ISBN 83-204-2678-2.

Zobacz też

[edytuj | edytuj kod]