RC4 (Rivest Cipher 4) je prúdová šifra, ktorú v roku 1987 navrhol Ron Rivest. Šifruje dáta generovaním pseudonáhodného prúdu bitov (nazývaného kľúčový prúd), ktorý sa kombinuje s dátami z otvoreného textu, zvyčajne pomocou operácie XOR, za účelom vytvorenia šifrovaného textu.
Šifrovanie: Každý bajt otvoreného textu sa kombinuje so zodpovedajúcim bajtom z kľúčového prúdu za účelom vygenerovania šifrovaného textu.
Dešifrovanie: Rovnaký kľúčový prúd sa používa na XOR šifrovaného textu a obnovenie pôvodného otvoreného textu.
Rýchlosť: RC4 je známy svojou rýchlosťou a efektivitou, najmä v prostrediach s obmedzenými zdrojmi.
Jednoduchosť: Jeho implementácia je jednoduchá a vyžaduje minimálne zdroje, vďaka čomu je vhodný pre prostredia s obmedzeným výpočtovým výkonom.
Historické použitie: RC4 sa hojne používal v protokoloch ako SSL/TLS pre bezpečnú komunikáciu a WEP pre zabezpečenie bezdrôtových sietí.
Generovanie kľúčov: Na inicializáciu sa používa tajný kľúč (zvyčajne medzi 40 a 2048 bitmi) Stav RC4.
Generovanie kľúčového prúdu: Algoritmus RC4 generuje pseudonáhodný kľúčový prúd na základe kľúča.
Šifrovanie: Každý bajt otvoreného textu sa vylúči operáciou XOR s bajtom kľúčového prúdu, výsledkom čoho je šifrovaný text.
Dešifrovanie: Rovnaký kľúčový prúd sa používa na XOR šifrovaného textu a obnovenie pôvodného otvoreného textu.
Knižnice/Nástroje: RC4 je podporovaný v rôznych knižniciach, hoci je z bezpečnostných dôvodov často zastaraný:
Python: knižnica pycryptodome.
Java: Balík javax.crypto (hoci sa jeho používanie neodporúča v prospech silnejších algoritmov).
C#: Priestor názvov System.Security.Cryptography.
Staršie systémy: Pri práci so staršími systémami, ktoré stále používajú šifrovanie RC4 (napr. staré implementácie SSL/TLS).
Nekritické aplikácie: Ak pracujete na projektoch, kde je rýchlosť dôležitejšia ako bezpečnosť, hoci sa to vo všeobecnosti neodporúča v prospech silnejších šifier.
Vzdelávacie účely: RC4 sa kvôli svojej jednoduchosti často používa na výučbu symetrických a prúdových šifrov.