RC4 (Rivest Cipher 4) je proudová šifra navržená Ronem Rivestem v roce 1987. Šifruje data generováním pseudonáhodného proudu bitů (nazývaného klíčový proud), který je kombinován s daty prostého textu, obvykle pomocí operace XOR, za účelem vytvoření šifrovaného textu.
Šifrování: Každý bajt prostého textu je kombinován s odpovídajícím bajtem z klíčového proudu za účelem generování šifrovaného textu.
Dešifrování: Stejný klíčový proud se používá k XOR šifrovaného textu a obnovení původního prostého textu.
Rychlost: RC4 je známý svou rychlostí a efektivitou, zejména v prostředích s omezenými zdroji.
Jednoduchost: Jeho implementace je jednoduchá a vyžaduje minimální zdroje, takže je vhodný pro prostředí s omezeným výpočetním výkonem.
Historické použití: RC4 byl široce používán v protokolech jako SSL/TLS pro bezpečnou komunikaci a WEP pro zabezpečení bezdrátových sítí.
Generování klíčů: Tajný klíč (obvykle mezi 40 a 2048 bity) se používá k inicializaci Stav RC4.
Generování klíčového proudu: Algoritmus RC4 generuje pseudonáhodný klíčový proud na základě klíče.
Šifrování: Každý bajt prostého textu je operován XOR s bajtem klíčového proudu, což vede k šifrovanému textu.
Dešifrování: Stejný klíčový proud se používá k operaci XOR šifrovaného textu a obnovení původního prostého textu.
Knihovny/nástroje: RC4 je podporován v různých knihovnách, ačkoli je z bezpečnostních důvodů často zastaralý:
Python: knihovna pycryptodome.
Java: Balíček javax.crypto (i když se jeho použití nedoporučuje ve prospěch silnějších algoritmů).
C#: Jmenný prostor System.Security.Cryptography.
Starší systémy: Při práci se staršími systémy, které stále používají šifrování RC4 (např. staré implementace SSL/TLS).
Nekritické aplikace: Pokud pracujete na projektech, kde je rychlost důležitější než bezpečnost, i když se to obecně nedoporučuje ve prospěch silnějších šifer.
Vzdělávací účely: RC4 se kvůli své jednoduchosti často používá pro výuku symetrických šifr a proudových šifr.