¿Qué es RC4?
RC4 fue diseñado en 1987 por Ron Rivest y es uno de los cifradores de flujo de software más utilizados en protocolos populares, como SSL (proteger el tráfico de Internet), WEP (redes inalámbricas seguras) y PDF.It se considera rápido y sencillo en términos de software.RC4 genera un flujo pseudoaleatorio de bits (un flujo de teclas). Al igual que con cualquier streamcipher, estos se pueden usar para el cifrado combinándolo con el texto plano usando bit-wiseexclusive-or. El descifrado se realiza de la misma manera (ya que exclusiva-or es una operación simétrica).Para generar el flujo de claves, el cifrado hace uso de un estado interno secreto que consta de dos partes:1. Una permutación de todos los 256 bytes posibles(denotado» S » abajo).2. Dos punteros de índice de 8 bits (denotados » i » y «j»).La permutación se inicializa con una clave de longitud variable, normalmente entre 40 y 256 bits, utilizando el algoritmo de programación de claves (KSA). A continuación, el flujo de bits se genera mediante el algoritmo de generación aleatoria de apseudo.Figura tomada de http://www.networklife.net/2009/07/etude-de-wep-et-rivest-cipher-4/The etapa de búsqueda de RC4. El byte de salida se selecciona buscando los valores de S (i) y S(j), sumándolos junto con el módulo 256, y luego buscando la suma en S; S(S(i) + S(j)) se usa como un byte de la secuencia de claves, K.