RC2
En criptografía, el RC2 es un cifrado por bloques de clave simétrica. Fue diseñado por Ronald Rivest en 1987. "RC" significa "Rivest Cipher", o alternativamente, "Ron's Code".
RC2 es un cifrado en bloque de 64 bits con un tamaño de clave variable y que utiliza 18 rondas.
Las rondas se organizan como una redfeistel con muchas fuentes, con 16 rondas de un tipo llamado "rondas de mezcla" intercaladas por dos rondas de otro tipo llamado "rondas de maceración".
Las 18 rondas se realizan utilizando la siguiente secuencia intercalada:
- realizar 5 rondas de mezcla.
- realizar 1 ronda de maceración.
- realizar 6 rondas de mezcla.
- realizar 1 ronda de maceración.
- realizar 5 rondas de mezcla.
RC2 utiliza un algoritmo de expansión de claves mediante el cual se produce una clave expandida que consta de 64 (palabras de 16 bits) dependiendo de forma complicada de cada bit de la clave de entrada de "longitud variable" suministrada. Una ronda de mezcla consiste en cuatro aplicaciones de la transformación de "mezcla", como se muestra en el diagrama. Una ronda se "mezcla" añadiendo a ella una de las palabras de 16 bits de la clave expandida (RFC 2268).
RC2 es susceptible de un ataque de clave relacionada utilizando 2 ataques de texto plano elegido 34(Kelsey et al. , 1997).
El desarrollo de RC2 fue patrocinado por Lotus, que buscaba un cifrado personalizado para ser exportado como parte de su software Lotus Notes, tras ser evaluado por la NSA. La NSA sugirió un par de cambios, que Ronald Rivest incorporó. Tras nuevas negociaciones, el cifrado fue aprobado para su exportación en 1989.
Junto con el RC4, el RC2 con un tamaño de clave de 40 bits fue tratado bajo las regulaciones de exportación de Estados Unidos para la criptografía. Ahora todos los algoritmos de encriptación de 40 bits están obsoletos porque son peligrosamente susceptibles a los ataques de fuerza bruta.
Inicialmente, los detalles del algoritmo se mantuvieron en secreto -propiedad de RSA Security- pero el 29 de enero de 1996, el código fuente de RC2 se publicó anónimamente en Internet en el foro de Usenet, sci.crypt. Anteriormente se había publicado algo similar con RC4. No está claro si el autor de la publicación tenía acceso a las especificaciones o si se había realizado ingeniería inversa.
La transformación de mezcla de RC2; Una ronda de mezcla consiste en aplicar la transformación de "mezcla" cuatro veces.
Preguntas y respuestas
P: ¿Qué es el RC2?
R: El RC2 es un cifrado por bloques de clave simétrica diseñado por Ronald Rivest en 1987. Utiliza un tamaño de bloque de 64 bits y 18 rondas de cifrado.
P: ¿Qué significa "RC"?
R: "RC" significa "Cifrado de Rivest", o alternativamente, "Código de Ron".
P: ¿Cuántas rondas se realizan cuando se utiliza RC2?
R: Cuando se utiliza RC2, se realizan 18 rondas - 16 rondas de mezcla intercaladas con dos rondas de machaqueo.
P: ¿Cómo funciona el algoritmo de expansión de claves?
R: El algoritmo de expansión de claves produce una clave expandida que consta de 64 (palabras de 16 bits) en función de cada bit de la clave de entrada de longitud variable suministrada.
P: ¿A qué tipo de ataque es susceptible el RC2?
R: El RC2 es susceptible a un ataque de clave relacionada utilizando 234 ataques de texto plano elegido.
P: ¿Quién patrocinó el desarrollo de RC2?
R: El desarrollo de RC2 fue patrocinado por Lotus, que buscaba un cifrado personalizado para exportarlo como parte de su software Lotus Notes.