Nella crittografia, l'RC4 (noto anche come ARC4 o ARCFOUR che significa Alleged RC4, vedi sotto) è uno dei più comuni cifrari a flusso di software. Viene utilizzato in protocolli popolari come Secure Sockets Layer (SSL) (per proteggere il traffico Internet) e WEP (per proteggere le reti wireless).

L'RC4 è noto per essere semplice e veloce, ma è probabile che gli attacchi avvengano quando l'inizio del keystream di uscita non viene rimosso, o quando un keystream viene usato due volte; alcuni modi di usare l'RC4 possono trasformarsi in sistemi di crittografia molto insicuri come il WEP.

RC4 è stata creata da Ron Rivest di RSA Security nel 1987. Mentre il suo nome ufficiale è "Rivest Cipher 4", l'abbreviazione RC è nota anche per indicare "Ron's Code" (vedi anche RC2, RC5 e RC6).

L'RC4 è stato creato inizialmente come segreto commerciale, ma nel settembre 1994 una sua descrizione è stata pubblicata nella mailing list della Cypherpunks. Ben presto è stata pubblicata sul newsgroup di sci.crypt e da lì a molti siti web su Internet. Il codice è stato confermato come autentico (non falso), poiché il suo output corrispondeva a quello di un software proprietario che utilizzava la licenza RC4. Poiché l'algoritmo è noto, non è più un segreto commerciale. Il nome "RC4" è però un marchio registrato. RC4 è spesso indicato come "ARCFOUR" o "ARC4" (che significa Alleged RC4, perché RSA non ha mai rilasciato ufficialmente l'algoritmo), per evitare possibili problemi di marchio. È diventato parte di alcuni protocolli e standard di cifratura comunemente usati, tra cui WEP e WPA per le schede wireless e TLS.

Le due ragioni principali che ne hanno favorito l'utilizzo in una così vasta gamma di applicazioni sono la velocità e la semplicità. Gli usi dell'RC4 sia nel software che nell'hardware sono estremamente facili da sviluppare.

L'algoritmo di cifratura RC4 viene avviato con una diversa lunghezza della chiave, di solito tra 40 e 256 bit, utilizzando l'algoritmo di cifratura a chiave (KSA). Una volta completato questo processo, il flusso di bit crittografati viene creato utilizzando l'algoritmo di generazione pseudo-casuale (PRGA).

L'RC4 non soddisfa gli standard fissati dai crittografi per un cifrario sicuro in molti modi, e non è raccomandato per l'uso in nuove applicazioni in quanto ci sono molti metodi per attaccare l'RC4. L'eliminazione del primo kilobyte di dati dal flusso di chiavi può migliorare in qualche modo la sicurezza.