RC4 (Rivestova šifra 4) je šifra toka koju je dizajnirao Ron Rivest 1987. godine. Šifrira podatke generiranjem pseudoslučajnog toka bitova (nazvanog ključni tok) koji se kombinira s podacima otvorenog teksta, obično pomoću XOR operacije, kako bi se dobio šifrirani tekst.
Šifriranje: Svaki bajt otvorenog teksta kombinira se s odgovarajućim bajtom iz ključnog toka kako bi se generirao šifrirani tekst.
Dešifriranje: Isti ključni tok koristi se za XOR šifrirani tekst i oporavak izvornog otvorenog teksta.
Brzina: RC4 je poznat po svojoj brzini i učinkovitosti, posebno u okruženjima s ograničenim resursima.
Jednostavnost: Jednostavan je za implementaciju i zahtijeva minimalne resurse, što ga čini prikladnim za okruženja s ograničenom procesorskom snagom.
Povijesna upotreba: RC4 se široko koristio u protokolima poput SSL/TLS za sigurnu komunikaciju i WEP za sigurnost bežične mreže.
Generiranje ključa: Tajni ključ (obično između 40 i 2048 bitova) koristi se za inicijalizaciju RC4 stanje.
Generiranje ključnog toka: RC4 algoritam generira pseudoslučajni ključni tok na temelju ključa.
Šifriranje: Svaki bajt otvorenog teksta se XOR-om obrađuje s bajtom ključnog toka, što rezultira šifriranim tekstom.
Dešifriranje: Isti ključni tok se koristi za XOR šifrirani tekst i oporavak izvornog otvorenog teksta.
Knjižnice/Alati: RC4 je podržan u raznim knjižnicama, iako se često napušta iz sigurnosnih razloga:
Python: biblioteka pycryptodome.
Java: javax.crypto paket (iako se njegova upotreba ne preporučuje u korist jačih algoritama).
C#: Imenski prostor System.Security.Cryptography.
Naslijeđeni sustavi: Pri radu sa starijim sustavima koji još uvijek koriste RC4 enkripciju (npr. stare SSL/TLS implementacije).
Nekritične aplikacije: Ako radite na projektima gdje je brzina važnija od sigurnosti, iako se to općenito ne preporučuje u korist jačih šifri.
Obrazovne svrhe: RC4 se zbog svoje jednostavnosti često koristi za podučavanje simetričnih i protočnih šifri.