Está en la página 1de 17

ALGORITMO RC5

Contreras Murillo Daniel.


Flores Flores Armando.
Pablo Erika Celina.
Resndiz Jimnez Omar.

RC5

Es un sistema de cifrado el cual fue diseado por


Ronald Rivest en 1994
Este algoritmo sali en sustitucin del esquema RC4,
el cual haba sido publicado annimamente en
Internet.
RC5 es un algoritmo que opera por bloques.

Descripcin.

Tamao variable de bloques: 32, 64 o 128 bits.


Palabra clave entre 0 y 2040 bits.
vueltas entre 0 y 255.
bloques de 64 bits (2 palabras de 32 bits), en 12
rondas o vueltas y con una clave de 128 bits (16
bytes).
RC5 hace uso de rotaciones dependientes.
En su estructura contiene algunas operaciones como
sumas modulares y operaciones XOR.

Caractersticas.

Adecuado para ser implementado en hardware y


software. Utiliza computacin bsica y operaciones
que podemos encontrar en un microprocesador.
Adaptable a procesadores de diferentes tamaos
de palabra; puede utilizar tamao de palabra de
16, 32 y 64 bits.
Bajo consumo de memoria; uso en tarjetas
inteligentes o dispositivos donde la disponibilidad
de espacio sea un factor.
Proporciona alta seguridad.

Planificacin de claves.

Utiliza la clave secreta del usuario para expandir


un arreglo S de claves, que contiene 2(r + 1)
palabras aleatorias determinada por la clave
original.

Definicin de las constantes.

Las dos constantes basadas en nmeros irracionales


trascendentes: Pw = 0dd((e-2)2w) con la base de los
logaritmos naturales e = 2.71828182, y Qw =
0dd(( - 1)2w) basada en el nmero ureo, =
1.61180339.
P16 = B7E1
P32 = B7E15163
P64 = B7E151628AED2A6B
9E3779B97F4A7C15

Q16 = 9E37
Q32 = 9E3779B9
Q64 =

Se realizan los siguientes pasos.


La clave original se convierte de bytes a palabras.
Esto se consigue al tomar la clave K [0...b-1] y
colocarla en el arreglo L [0]. La operacin se
realiza de manera natural utilizando bytes de la
clave para llenar cada palabra sucesiva en L, del
byte menos significativo al ms significativo; los
bytes faltantes para completar L se rellenan con
ceros.

Se obtiene un patrn de bits pseudoaleatorios para


iniciar S, utilizando una progresin aritmtica con
perodo 2w determinada por las constantes Pw y Qw.

S [0] Pw.
S [i] S [i-1] + Qw, variando i desde 1 hasta 2r + 1.

Mezclado de la clave secreta. En este paso se


mezcla la clave del usuario, utilizando los arreglos S
y L. el pseudocdigo siguiente establece el proceso
de mezcla:

Cifrado del mensaje en claro

Se combina cada bloque con una clave: A


A
+ S[ 0] y B
B + S [1]. Esta es la transformacin
inicial.
Para cada ronda i desde 1 hasta r se aplican las
siguientes operaciones:
A
((A B) << B) + S [2 *i]
B
((B A) <<A) + S [2*i +1]

Descifrado del mensaje.

Se realiza invirtiendo el cifrado y tambin las


operaciones de suma y XOR; esto es, se deber de
realizar una resta y XOR. Adems de que las
rotaciones dependientes de los datos cambian, es
decir esta vez irn a la derecha.

Modos de Operacin
Para elevar la efectividad de RC5 en las
implementaciones, RFC2040 define cuatro modos
diferentes de operacin los cuales son:
RC5-cifrador en bloque: este algoritmo de cifrado
considera entradas de tamao fijo (2w) y genera un
criptograma de igual longitud mediante un proceso
de transformacin que depende de la clave k. Esto
se hace utilizando la modalidad ECB que consiste
en trabajar bloques de 64 bits de mensaje en claro
(Mcla) y cifrar cada uso de manera independiente
utilizando siempre la misma clave.

RC5-cifrador en bloque

Modos de Operacin

RC5-CBC: este modo de cifrado se basa en la


modalidad CBC la cual representa una seguridad
ms elevada en comparacin con la que usa ECB,
ya que aqu aun cuando se repitan bloques de
Mcla el criptograma correspondiente es diferente
en cada ocasin.

RC5-CBC

Modos de Operacin

RC5-CBC-relleno:utiliza la modalidad CBC con una variante, el


algoritmo considera el uso de Mcla de longitud variable por lo que
el criptograma correspondiente ser de la misma longitud. Lo que
hace esta modalidad es procesar informacin (Mcla/Cripto) en
mltiplos de un bloque sencillo RC5 por lo que si se requiere, ste se
rellena. Por ejemplo, si el faltante es de cuatro bytes, estos tienen la
misma estructura e indican dicha cantidad.
RC5-CTS:se trata de un cifrado que se apoya en CBC y que es muy
similar a CBC-relleno, ya que puede manejar bloques de
informacin de cualquier tamao y para poder operar requiere
procesar bits en mltiplos de bytes por lo que realiza un relleno. La
diferencia consiste en que cuando el criptograma correspondiente
debe ser almacenado en la misma localidad de memoria (en
sustitucin) que ocupa el Mcla, resulta que el criptograma es de
mayor longitud (debido al relleno) por lo que ahora es necesario
sustraer el excedente.