Está en la página 1de 15

CIFRADO RC4

Integrantes :
Ferney Jerez
Rafael Beltran
David Sánchez
Liz Esguerra
Historia
■ Fue diseñado por Ron Rivest de la RSA Security en el año 1987; su nombre
completo es Rivest Cipher 4, teniendo el acrónimo RC
■ Inicialmente el algoritmo era un secreto registrado, pero en ,1994 alguien difundió
en los grupos de noticias de Internet una descripción que, como posteriormente se
ha comprobado, genera las mismas secuencias.
■ Actualmente la implementación no oficial de RC4 es legal, no puede ser utilizada
con el nombre de RC4. Por este motivo, y con el fin de evitar problemas legales a
raíz de la marca registrada, a menudo podemos verlo nombrado como ARCFOUR,
ARC4 o Alleged-RC4. RSA Security nunca ha liberado el algoritmo de su RC4.
¿Qué es?

En criptografía RC4 es el cifrado de flujo software más utilizado y se utiliza en


los protocolos populares como Secure Sockets Layer y WEP. Mientras que
destaca por su sencillez y rapidez en el software, RC4 tiene debilidades que
argumentan en contra de su uso en los nuevos sistemas.

Algunos ejemplos son:


• Transport Layer Security (TLS/SSL) (para proteger el tráfico de internet).
• Wired Equivalent Privacy (WEP) (para añadir seguridad en las redes
inalámbricas).
¿Cómo funciona?

■ 1 Consiste en 2 algoritmos: 1-Key Scheduling Algorithm (KSA) y 2- Pseudo-Random


Generation Algorithm (PRGA). Cada uno de estos algoritmos usa 8-by-8 S-box, el
cual es solo un array de 256 números en el que ambos son únicos en cuanto a
rango y su valor va desde 0 hasta 255. Todos los números de 0 a 255 existen
dentro del array, pero están solo mezclados de diferentes maneras, el KSA se
encarga de realizar la primera mezcla en el S-Box, basado en el valor de la semilla
dada dentro de él, y esta "semilla" puede ser de 256 bits de largo.
■ 2. Primero, el S-box array es llenado con valores secuenciales desde 0-255. Este
array será llamado simplemente S. Entonces, el otro array de 256-bits es llenado
con el valor de la "semilla", repitiendo como sea necesario hasta que todo el array
es llenado. Este array será llamado K, entonces el array S es mezclado usando el
siguiente
3. Una vez que eso es hecho, la S-box es intercambiada basándose en el valor de la
"semilla". Esa es la "Key" programada para el algoritmo, algo sencillo.
Ahora cuando se necesita el keystream data, se usa el Pseudo-Random Generation
Algorithm (PRGA). Este algoritmo tiene 2 contadores, el i y la j, en el cual ambos son
inicializados en 0 para comenzar. Después de eso, cada bit de keystream data es
usado en el siguiente Pseudo-Code:
4 Una vez que eso es hecho, la S-box es intercambiada basándose en el valor de la
"semilla". Esa es la "Key" programada para el algoritmo, algo sencillo. Ahora cuando se
necesita el keystream data, se usa el Pseudo-Random Generation Algorithm (PRGA).
Este algoritmo tiene 2 contadores, el i y la j, en el cual ambos son inicializados en 0
para comenzar. Después de eso, cada bit de keystream data es usado en el siguiente
Pseudo-Code:
Tipos de usos
■ Actualmente la implementación no oficial de RC4 es legal, no puede
ser utilizada con el nombre RC4. RSA securite nunca ha liberado el
algoritmo de su RC4
■ Forma una parte vital del sistema de cifrado en capas SSL,
ampliamente utilizado en navegadores de Internet
■ RC4 es parte de los protocolos de cifrado más comunes como
WEB,WPA para tarjetas wireless y TLS.
■ Posee un rango amplio de aplicaciones gracias a su increíble
velocidad y simplicidad.
■ La implementación tanto en software como en hardware es muy
sencilla de desarrollar y son muy pocos recursos necesarios para
tener un rendimiento eficiente de ARC4
Limitaciones

■ RC4 ya no se considera seguro.


■ Una de cada 256 claves puede ser una clave débil. Estas claves se
identifican mediante criptoanálisis que es capaz de encontrar
circunstancias en las cuales uno de los bytes más generados está
fuertemente correlacionado con unos pocos bytes de la clave.
■ Tiene RC4 tiene una llave de solamente 40 bits, lo que lo hace
altamente vulnerable a ataques por fuerza bruta
¿Por qué se sigue usando RC4?
■ Es rápido incluso en hardware viejo. Cuando alguien decide soportar HTTPS, la
carga que el cifrado supondrá es a menudo un factor importante para la elección de
un esquema de cifrado u otro. El cifrado RC4 es lo suficientemente rápido como
para responder a estas preocupaciones.
■ Es fácil de implementar. La implementación de RC4 cabe en una servilleta. Dada su
simplicidad, se puede integrar fácilmente en el software de dispositivos embebidos
sin depender de complejas bibliotecas criptográficas. Es utilizado en muchos
sistemas anti-copia DRM (Digital Rights Management) 1.
■ No está roto del todo. No se conoce un método para romper un texto arbitrario
cifrado en RC4, pero cada vez aparecen más ataques, y últimamente se están
intensificando. Dice un viejo dicho de la NSA: Los ataques siempre van a mejor,
nunca van a peor.
Ejemplo
■ Alicia y Bernardo quieren enviarse mensajes entre ellos, pero no quieren que nadie
sepa su contenido. Para ello, siguen los siguientes pasos:
■ 1. Antes de la comunicación, Alicia y Bernardo acuerdan una clave aleatoria muy
larga de forma segura.
■ 2. Alicia quiere enviar el mensaje hola.

■ 3. Alicia cifra el mensaje hola mediante la operación XOR con la clave. hola son 4
bytes así que le corresponden 4 bytes de clave (32 bits).

■ 4. Alicia envía a Bernardo el mensaje cifrado.


■ 5. Bernardo recibe el mensaje y lo descifra mediante la operación XOR con la clave. El
mensaje cifrado son 4 bytes así que le corresponden 4 bytes de clave (32 bits).

■ 6. Bernardo lee el mensaje: hola

■ 7. Alicia y Bernardo eliminan los 32 bits usados para el cifrado/descifrado.


Conclusiones

■ Es un algoritmo de cifrado bastante útil y variado, se destaca que puede ser usado por
cualquier persona, siempre y cuando no utilice el nombre original e infriga los derechos
de autor.
■ Es un cifrado sencillo, por lo que no se recomienda usar cuando se requiera de más
seguridad y se traten de sistemas nuevos para esto ya hay más variantes actualizadas
basadas en ese mismo cifrado.
■ Si bien no es posible romper sistemáticamente un sistema criptográfico arbitrario
basado en RC4, hay muchos puntos donde se puede fallar y probablemente no sean
conocidos todos.
■ Nada nos asegura que en TLS no vaya a ocurrir lo mismo en un futuro cercano, por lo
que es mejor curarse en salud e implementar desde este momento algoritmos en los
que no se conozcan tantos fallos.
Bibliografía

■ https://www.emaze.com/@ACCLWOWL
■ https://repositorio.unican.es/xmlui/bitstream/handle/10902/5944/Diego%20Gar
cia%20Prieto01.pdf?sequence=5
■ https://cryptull.webs.ull.es/English/CriptoClaveSecreta.pdf
■ http://rufian.eu/Cifrado_RC4/
■ http://delta.cs.cinvestav.mx/~francisco/arith/Flujo.pdf