RC4 es un cifrado de flujo simétrico diseñado para generar una secuencia de bytes pseudoaleatoria que se combina (con una operación XOR) con datos en claro para producir datos cifrados. Introducido por Ron Rivest en 1987, su popularidad se debe a la sencillez de su implementación y a su rapidez en software. Sin embargo, con el tiempo se han descubierto sesgos y debilidades que lo hacen inseguro en muchas aplicaciones modernas. Para revisiones técnicas y antecedentes vea fuentes técnicas y análisis adicionales.

Funcionamiento básico

El algoritmo se divide en dos pasos principales: la programación de la clave (KSA, Key-Scheduling Algorithm) y la generación del flujo pseudoaleatorio (PRGA, Pseudo-Random Generation Algorithm). La KSA inicializa un estado interno —habitualmente un arreglo S de 256 bytes— mezclando la clave de longitud variable; después la PRGA actualiza ese estado y extrae bytes del flujo que se XORean con el texto plano para producir el cifrado. La sencillez de estas operaciones (intercambios y sumas mod 256) explica su rapidez, tanto en CPU como en implementaciones sencillas de hardware. Para una descripción del mecanismo y pseudocódigo consulte documentación técnica y ejemplos.

Historia y difusión

RC4 fue un secreto comercial de RSA Security durante años; con el tiempo el código se filtró y en 1994 su diseño se hizo público, lo que permitió su análisis académico y su inclusión en protocolos y productos. Hoy su denominación oficial es «Rivest Cipher 4», aunque con frecuencia aparece como ARCFOUR o ARC4 para evitar cuestiones de marca registrada. Fue adoptado ampliamente en protocolos como SSL/TLS y en estándares para redes inalámbricas, además de implementaciones propietarias; para contextos históricos y normativos ver historia, informes y publicaciones.

Usos y ejemplos

  • Aplicaciones de cifrado punto a punto en software donde se necesitaba simplicidad y baja sobrecarga.
  • Protocolos de comunicación histórica: implementaciones en versiones antiguas de SSL/TLS y en esquemas como WEP (conocido por sus vulnerabilidades) y algunos modos de VPN.
  • Algoritmos de prueba y educación: su estructura sencilla lo convirtió en ejemplo habitual en cursos y artículos divulgativos. Ver implementaciones, casos prácticos y estudios de uso.

Vulnerabilidades y limitaciones

Con el tiempo se identificaron varias fallas serias: sesgos en los bytes iniciales del flujo, sensibilidad ante reutilización de claves y problemas al combinar claves largas con vectores de inicialización (IV) mal manejados. Estas debilidades permitieron ataques prácticos contra sistemas reales (por ejemplo, romper WEP mediante análisis de IVs y reutilización). Las recomendaciones de la comunidad incluyen evitar RC4 en nuevas aplicaciones, no reutilizar el mismo flujo de clave y descartar los primeros bytes del flujo (mitigación limitada). Para análisis de ataques y pruebas de seguridad consulte análisis de seguridad, estudios criptográficos y informes técnicos.

Buenas prácticas y alternativas

Dado el registro de fallos y el estado de la investigación, la elección prudente es optar por cifrados modernos y revisados públicamente: cifrados de flujo y modos de operación de bloques con propiedades de seguridad comprobadas (por ejemplo, AES en modos autenticados) o algoritmos de flujo diseñados más recientemente y sometidos a revisión. Cuando no sea posible migrar inmediatamente, se recomiendan medidas provisionales —no reutilizar claves, gestionar correctamente IVs y evitar confiar únicamente en descartes iniciales— y realizar auditorías periódicas. Para guías de migración y compatibilidad ver recomendaciones, normas y guías prácticas.

Datos y distinciones relevantes

Es importante distinguir entre cifrados de flujo y de bloque: RC4 es un cifrado de flujo, lo que implica que cifra byte a byte y no agrupa bloques, lo que le da flexibilidad pero también exige precauciones distintas sobre sincronización y reutilización de claves. Además, aunque su algoritmo se hizo público y puede implementarse libremente, el nombre «RC4» ha estado sujeto a marca registrada, motivo por el que a veces se encuentra bajo otros nombres técnicos. Para comparativas y materiales complementarios, consulte comparativas, estudios de caso, análisis histórico, documentación, recursos, artículos y bibliografía.