RC4 (Rivest Cipher 4) on Ron Rivestin vuonna 1987 suunnittelema jonosalaus. Se salaa dataa luomalla näennäissatunnaisen bittivirran (jota kutsutaan avainvirraksi), joka yhdistetään selkotekstiseen dataan, tyypillisesti XOR-operaatiolla, salatekstin tuottamiseksi.
Salaus: Jokainen selkotekstin tavu yhdistetään vastaavaan avainvirran tavuun salatekstin luomiseksi.
Salauksen purku: Samaa avainvirtaa käytetään salatekstin XOR-operaatioon ja alkuperäisen selkotekstin palauttamiseen.
Nopeus: RC4 tunnetaan nopeudestaan ja tehokkuudestaan, erityisesti ympäristöissä, joissa on rajoitetusti resursseja.
Yksinkertaisuus: Se on helppo toteuttaa ja vaatii vain vähän resursseja, joten se sopii ympäristöihin, joissa on rajoitetusti prosessointitehoa.
Historiallinen käyttö: RC4:ää käytettiin laajalti protokollissa, kuten SSL/TLS turvalliseen tiedonsiirtoon ja WEP langattoman verkon suojaamiseen.
Avaimen luonti: Salaista avainta (yleensä 40–2048 bittiä) käytetään RC4:n alustamiseen. tila.
Avainjonon luominen: RC4-algoritmi luo avaimen perusteella näennäissatunnaisen avainjonon.
Salaus: Jokainen selkotekstin tavu XOR-operaatiolla suojataan avainjonon tavulla, jolloin tuloksena on salattu teksti.
Salauksen purku: Samaa avainjonoa käytetään salatun tekstin XOR-operaatioon ja alkuperäisen selkotekstin palauttamiseen.
Kirjastot/työkalut: RC4:ää tuetaan useissa kirjastoissa, vaikka se on usein vanhentunut turvallisuussyistä:
Python: pycryptodome-kirjasto.
Java: javax.crypto paketti (vaikka sen käyttöä ei suositella vahvempien algoritmien sijaan).
C#: System.Security.Cryptography-nimiavaruus.
Vanhat järjestelmät: Kun työskentelet vanhempien järjestelmien kanssa, jotka käyttävät edelleen RC4-salausta (esim. vanhat SSL/TLS-toteutukset).
Ei-kriittiset sovellukset: Jos työskentelet projektien parissa, joissa nopeus on tärkeämpää kuin turvallisuus, vaikka tätä ei yleensä suositella vahvempien salausten sijaan.
Koulutustarkoitukset: RC4:ää käytetään usein opetukseen symmetriset salaukset ja jonosalaukset yksinkertaisuutensa vuoksi.