Em criptografia, RC4 (também conhecido como ARC4 ou ARCFOUR que significa Alegado RC4, veja abaixo) é uma das cifras mais comuns de software. É usada em protocolos populares como Secure Sockets Layer (SSL) (para proteger o tráfego da Internet) e WEP (para proteger redes sem fio).
O RC4 é conhecido por ser simples e rápido, mas é provável que ocorram ataques quando o início do fluxo de chaves de saída não for removido, ou quando um fluxo de chaves for usado duas vezes; algumas formas de usar o RC4 podem se transformar em sistemas de criptografia muito inseguros, como o WEP.
RC4 foi criada por Ron Rivest da RSA Security em 1987. Embora seu nome oficial seja "Rivest Cipher 4", a abreviação RC também é conhecida por "Ron's Code" (veja também RC2, RC5 e RC6).
O RC4 foi criado pela primeira vez como um segredo comercial, mas em setembro de 1994 uma descrição do mesmo foi postada na lista de correio da Cypherpunks. Logo foi publicada no grupo de notícias sci.crypt, e de lá para muitos websites na Internet. O código foi confirmado como genuíno (e não falso), pois sua saída correspondia à de um software proprietário usando um RC4 licenciado. Como o algoritmo é conhecido, ele não é mais um segredo comercial. No entanto, o nome "RC4" é marca registrada. RC4 é freqüentemente referido como "ARCFOUR" ou "ARC4" (significando RC4 Alegado, porque a RSA nunca lançou oficialmente o algoritmo), para evitar possíveis problemas de marca registrada. Ele se tornou parte de alguns protocolos e padrões de criptografia comumente usados, incluindo WEP e WPA para cartões sem fio e TLS.
As duas principais razões que ajudaram sua utilização em uma gama tão grande de aplicações são sua rapidez e simplicidade. O uso do RC4 tanto em software quanto em hardware é extremamente fácil de desenvolver.
O algoritmo de criptografia RC4 é iniciado com um comprimento de chave diferente, geralmente entre 40 e 256 bits, usando o algoritmo de programação de chave (KSA). Uma vez concluído, o fluxo de bits criptografados é criado usando o algoritmo de geração pseudo-aleatória (PRGA).
O RC4 falha os padrões estabelecidos pelos criptógrafos para uma cifra segura de muitas maneiras, e não é recomendado para uso em novas aplicações, pois há muitos métodos de ataque ao RC4. Deixar cair o primeiro kilobyte de dados do fluxo de chaves pode melhorar um pouco a segurança.