În criptografie, RC4 (cunoscut și sub numele de ARC4 sau ARCFOUR, adică Alleged RC4, a se vedea mai jos) este unul dintre cele mai comune coduri de flux software. Este utilizat în protocoale populare precum Secure Sockets Layer (SSL) (pentru a proteja traficul pe internet) și WEP (pentru a securiza rețelele fără fir).

RC4 este cunoscut pentru faptul că este simplu și rapid, dar este posibil să se producă atacuri atunci când începutul fluxului de chei de ieșire nu este eliminat sau când un flux de chei este utilizat de două ori; unele moduri de utilizare a RC4 se pot transforma în criptosisteme foarte nesigure, cum ar fi WEP.

RC4 a fost creat de Ron Rivest de la RSA Security în 1987. Deși numele său oficial este "Rivest Cipher 4", abrevierea RC este cunoscută și ca fiind abrevierea "Ron's Code" (a se vedea și RC2, RC5 și RC6).

RC4 a fost creat inițial ca un secret comercial, dar în septembrie 1994 a fost postată o descriere a acestuia pe lista de discuții Cypherpunks. În scurt timp, a fost postată pe grupul de știri sci.crypt și, de acolo, pe multe site-uri web de pe internet. Codul a fost confirmat ca fiind autentic (și nu fals), deoarece rezultatul său corespundea cu cel al unui software proprietar care folosea RC4 sub licență. Deoarece algoritmul este cunoscut, acesta nu mai este un secret comercial. Cu toate acestea, numele "RC4" este marcă înregistrată. RC4 este adesea denumit "ARCFOUR" sau "ARC4" (ceea ce înseamnă "Alleged RC4", deoarece RSA nu a publicat niciodată oficial algoritmul), pentru a evita posibilele probleme legate de marcă. Acesta a devenit parte a unor protocoale și standarde de criptare utilizate în mod obișnuit, inclusiv WEP și WPA pentru cardurile wireless și TLS.

Cele două motive principale care au contribuit la utilizarea sa într-o gamă atât de largă de aplicații sunt viteza și simplitatea. RC4 este extrem de ușor de utilizat atât în software, cât și în hardware.

Algoritmul de criptare RC4 este inițiat cu o lungime de cheie diferită, de obicei între 40 și 256 de biți, folosind algoritmul de programare a cheilor (KSA). După ce aceasta a fost finalizată, fluxul de biți criptați este creat cu ajutorul algoritmului de generare pseudoaleatoare (PRGA).

RC4 nu respectă standardele stabilite de criptografi pentru un cifru sigur din multe puncte de vedere și nu este recomandat pentru utilizarea în aplicații noi, deoarece există numeroase metode de atac la RC4. Eliminarea primului kilooctet de date din fluxul de chei poate îmbunătăți oarecum securitatea.