RC4 (Rivest Cipher 4) yra srautinis šifras, kurį 1987 m. sukūrė Ronas Rivestas. Jis šifruoja duomenis generuodamas pseudoatsitiktinį bitų srautą (vadinamą raktų srautu), kuris sujungiamas su paprastojo teksto duomenimis, paprastai naudojant XOR operaciją, kad būtų sukurtas šifruotas tekstas.
Šifravimas: Kiekvienas paprastojo teksto baitas sujungiamas su atitinkamu baitu iš raktų srauto, kad būtų sukurtas šifruotas tekstas.
Iššifravimas: Tas pats raktų srautas naudojamas šifruotam tekstui XOR atlikti ir atkurti originalų paprastąjį tekstą.
Greitis: RC4 žinomas dėl savo greičio ir efektyvumo, ypač ribotų išteklių aplinkoje.
Paprastumas: Jį paprasta įdiegti ir reikia minimalių išteklių, todėl jis tinka ribotos apdorojimo galios aplinkoms.
Istorinis naudojimas: RC4 buvo plačiai naudojamas tokiuose protokoluose kaip SSL/TLS saugiam ryšiui ir WEP belaidžio tinklo saugumui.
Rakto generavimas: RC4 inicijavimui naudojamas slaptas raktas (paprastai nuo 40 iki 2048 bitų). būsena.
Raktų srauto generavimas: RC4 algoritmas generuoja pseudoatsitiktinę raktų srautą pagal raktą.
Šifravimas: Kiekvienas paprastojo teksto baitas yra XOR sujungiamas su raktų srauto baitu, taip sukuriant šifruotą tekstą.
Iššifravimas: Tas pats raktų srautas naudojamas šifruotam tekstui XOR atlikti ir atkurti originalų paprastąjį tekstą.
Bibliotekos / įrankiai: RC4 palaikomas įvairiose bibliotekose, nors dėl saugumo priežasčių jis dažnai nebenaudojamas:
Python: pycryptodome biblioteka.
Java: javax.crypto paketą (nors jo naudojimas nerekomenduojamas, pirmenybė teikiama stipresniems algoritmams).
C#: System.Security.Cryptography namespace.
Senos sistemos: Dirbant su senesnėmis sistemomis, kurios vis dar naudoja RC4 šifravimą (pvz., senos SSL / TLS versijos).
Nesvarbios programos: Jei dirbate su projektais, kuriuose greitis yra svarbesnis už saugumą, nors tai paprastai nerekomenduojama, pirmenybė teikiama stipresniems šiframs.
Švietimo tikslais: RC4 dažnai naudojamas mokant apie simetriniai šifrai ir srautiniai šifrai dėl savo paprastumo.