Kryptografia
sne wykorzystanie ciągów pseudolosowych i idei one-time pad. Szyfrowanie za pomocą klucza x ma następujący przebieg:
1. klucz x traktujemy jako zarodek i generujemy pseudolosowy ciąg bitów
^1? $2i ^3 • • • /
2. tekst jawny axa2a3... zostaje zaszyfrowany jako ciąg wartości Si XOR fli, s2 XOR a2, s3 XOR fl3,....
Oczywiście, w powyższym algorytmie pseudolosowe bity są generowane w momencie, kiedy są niezbędne do zaszyfrowania kolejnej porcji tekstu jawnego.
RC4 jest przykładem szyfrowania strumieniowego szeroko stosowanego w praktyce. Był on przedstawiony w 1987 roku i od tego czasu używany w wielu komercjalnych produktach. Poza nazwą i osobą, od której pochodzi idea algorytmu (R. Rivest), nie ma on nic wspólnego z RC5. W odróżnieniu do DES-„a, algorytm-„IFyi&tsirP SpłatyiW był podany do publicznej wiadomości. Nie był on znany dopóty dopóki na liście dyskusyjnej sci.crypt nie pojawił się program W C dający dokładnie takie same rezultaty jak RC4. Zakończyło to erę utajnienia budowy RC4. Program realizujący szyfrowanie RC4 zamieszczony był anonimowo, z pewnością ze względu na obawy przed odwetem właściciela patentu.
Przedstawiony algorytm jest zaskakująco prosty i dobrze nadaje się do implementaqi software'owej. Ciąg pseudolosowy używany do szyfrowania i deszyfrowania generowany jest jako ciąg bajtów. Opiszmy pokrótce jego konstruowanie:
^ W każdej fazie algorytmu generowany jest jeden bajt ciągu pseu-dolosowego, jednocześnie uaktualniane są parametry i, j < 256 oraz permutacja 7r na zbiorze liczb {1,... , 256}. Parametry są nazywane wewnętrznymi kluczami.
Pojedyncza faza algorytmu wykonuje następujące operacje:
109