Sunteți pe pagina 1din 9

COMPARATIVA: CIFRADORES POR FLUJO DE DATOS

18 de diciembre

2007

EL PRESENTE DOCUMENTO ES EL REPORTE FINAL ACERCA DE CIFRADORES POR FLUJO DE DATOS, EN ESPECIFICO SE REALIZA UNA COMPARATIVA SOBRE EL RENDIMENTO OBTENIDO DE 3 ALGORITMOS DE CIFRADO EN DISPOSITIVOS DE HARDWARE RECONFIGURABLE : TRIVIUM, EDON80 Y MICKEY 2.0

INTRODUCCION
Los cifradores por flujo de datos, son algoritmos de cifrado que pueden realizar el cifrado incrementalmente, convirtiendo el texto en claro en texto cifrado bit a bit. Esto se logra construyendo un generador de flujo de clave. Un flujo de clave (keystream) es una secuencia de bits de tamao arbitrario que puede emplearse para oscurecer los contenidos de un flujo de datos combinando el flujo de clave con el flujo de datos mediante la funcin XOR. Si el flujo de clave es seguro, el flujo de datos cifrados tambin lo ser. Se puede construir un generador de flujo de clave iterando una funcin matemtica sobre un rango de valores de entrada para producir un flujo continuo de valores de salida. Los valores de salida se concatenan entonces para construir bloques de texto en claro, y los bloques se cifran empleando CIFRADOR una clave POR FLUJO compartida por el emisor y el DE DATOS receptor.

LOS ELEGIDOS
Los algoritmos a comparar son Trivium, Edon80 y Mickey 2.0, todos ellos pasaron a la fase 3 del ECRYPT Stream Cipher Project en su perfil 2(Orientados a Hardware) ms informacin en www.ecrypt.eu.org/stream. Los siguientes temas corresponden a cada uno de los cifradores, as como una breve explicacin de sus algoritmos y aspectos importantes, para dar lugar a la tabla comparativa de las implementaciones en Hardware Reconfigurable

TRIVIUM
Es un algoritmo de cifrado sencillo de implementar, utiliza un key (llave) y un IV (valor inicial) de 80 bits. Su ncleo es construido a partir de un registro estado de 288 bits que es actualizado constantemente. En resumen el algoritmo realiza 2 partes principales: La inicializacin con le Key y el IV, y la generacin del

Keystream. inicializacin Generacin Keystream

transformaciones de 2 bits llamadas etransformaciones.

EDON80
Edon80 es sncrono pues utiliza el mismo Key y el mismo IV para el cifrado como para el descifrado. El Key es de 80 bits y el IV es de 64 bits. Utiliza una memoria de 4 X 4 = 16 bytes. Edon80 trabaja en 3 modos principales: Keysetup, IVsetup y modo Keystream.

La estructura que realiza la operacin *i en las e-transformaciones es un quasigrupo de orden 4. Nos referimos a cada etransformacin por su operacin quasigrupo *i. Las 80 e-transformaciones estn conectadas una seguida de otra. Los 2 registros de 2 bits dentro de cada transformacin (p y a) son usados como 2 operandos los cuales determinan el nuevo valor de ai acorde a su operacin quasigrupo *i. Cada e-transformacin tiene un registroetiqueta que controla si la e-transformacin calcula el nuevo valor de ai o hacer nada. Cada e-transformaciones pasan si nuevo valor de ai al siguiente registro pi+1. Si la etiqueta no permite el clculo de ai solo el vlaor de la etiqueta Ti es transferido a la siguiente e-trasnformacin.

El ncleo de Edon80 puede verse como una arquitectura pipeline de 80

Se describen los Modos de Trabajo de Edon80: Keysetup. Despus de cargar los 80 bits del Key, el registro es virtualmente dividido en 40 registros de 2 bits consecutivos, lo cual significa que solo pueden contener valores del 0 al 3. De acuerdo a lo anterior cada quasigrupo *i es asignado de la siguiente manera:

IVsetup. Depus de cargar los 64 bits de IV se concatena con 16 bits ms: 1110010000011011. El registro es virtualmente dividido al igual que Key y se inicia la inicializacin: < s d s Ciclo 0: Se asignan 1 a T0 y se alimenta el registro p0 con el valor

de K 0, as el nuevo valor de a0 ser a39 *0 Ko. Ciclo 1: Los nuevos valores de a0 y T0 son enviados a la segunda etransformacin (*i) y el valor de K1 es asignado a p0 de este modo tenemos las siguientes asignaciones: p0 = K1 p1 = a0, T1 = T0 Ciclos 2 79: En los siguientes 78 ciclos se asignan a p0 los siguientes valores: K2K39, VI0IV39 as cada e-trasnformacin empezar a trabajar. Ciclo 80: Se asigna 0 a T0 y se asigna el valor de a79 al registro a0 Ciclos 81 159: En los siguientes 79 ciclos todas las etrasnformaciones se detendrn consecutivamente. Cuando la transformacin *i se detenga, el valor de a79 ser asignado al registro ai Para empezar el modo Keystream se asigna 0 al contador de 2 bits y se asigna 1 a T0. El contador alimentara el ncleo de Edon80 e incrementara su valor cada ciclo. Despus de 80 ciclos el Keystream empezara a fluir desde la ltima transformacin es decir de a79.

MICKEY 2.0
MICKEY 2.0 al igual que Trvium y Edon80 es sncrono, fue diseado para generar un keystream de hasta 240. El Key es de 80 bits y la longitud del IV puede variar de 0 a 80 bits, en nuestra implementacin se utilizar de 80. El ncleo del generador de MICKEY es construido a partir de 2 registros: R y S ambos de 100 bits R = r0r99 S = s0s99. MICKEY utiliza 3 funciones principales: clock_KG, clock_r y clock_s Clock_r(R, input_bit_r,control_bit_r):

Clock_KG(R,Smixing,input_bit):

Las fases principales de MICKEY 2.0 son: Load in IV, Loadin K, Preclock y Generating Keystream. Load in IV:

Load in K:

Donde r es un registro auxiliar y RTAPS es un arreglo de nmeros. Clock_s(S,input_bit_s,control_bit_s):

Preclock:

Genereting Keystream:

Donde s y son registros auxiliares y comp0, comp1, fb0 y fb1 son secuencias de bits ya definidas.

Donde L es la longitud del mensaje.

SIMULACIONES Implementaciones.
Todas las implementaciones fueron hechas con el mismo dispositivo FPGA, un Virtex2 XC2V1000, package FF896, velocidad -6.
TRIVIUM: Simulacin

datardy se dispara

La imagen muestra la prueba realizada con la implementacin del Trivium a su mxima frecuencia de operacin, se aprecia en la parte de debajo de la lnea amarilla el nmero 19704762 ps = 19,704.762 ns es el tiempo necesario para cifrar un mensaje de 128 bits de manera estable (cuando la seal de datardy se dispara).

EDON80: Simulacin

datardy se dispara

En la simulacin de la implementacin de Edon80 se requiere un tiempo de 5368.88 ns para obtener un mensaje cifrado estable. MICKEY 2.0: Simulacin

datardy se dispara

Mickey, por su parte, obtiene un mensaje cifrado estable en un tiempo de 5509 ns

TABLA COMPARATIVA
METRICA Slice Flip-Flops LUTs 4 entradas IOBs Total Compuertas Periodo Mnimo (ns) Frecuencia Max (Mhz) Ciclos X cifrado (128 bits) Tiempo total (simulacin ns) Relacin Tiempo/Area Throughput (Mbits/seg) TRIVIUM 453 1,512 421 14,838 9.795 102.093 2,011.716 19,704.76 112.02 6.49 EDON80 561 2,698 341 24,426 12.355 80.937 434.5 5,368.88 332.01 23.56 MICKEY 2.0 519 1,958 420 16,920 9.049 110.573 608.796 5,509 349 23.127

CONCLUSIONES
TRIVIUM se ve muy beneficiado en la cantidad de Slice utilizados gracias a su no tan alta complejidad de Hardware, pero los ciclos obtenidos para cifrar 128 bits es muy elevado en comparacin con los otros 2. Otro aspecto Interesante de TRIVIUM es la frecuencia alcanzada, el cual no est muy lejos de MICKEY 2.0, pero an as obtiene un Throughput sumamente bajo, y eso lo deja muy por debajo de EDON80 y MICKEY 2.0 EDON obtiene la mayor cantidad de resultados satisfactorios en la comparativa y era de esperar que obtuviera la menor cantidad de ciclos para cifrar, pues su ncleo es implementado como un pipeline, sin embargo cabe destacar que MICKEY 2.0 no est muy distante de los resultados obtenidos por EDON80, e incluso le gana en frecuencia mxima. Las dos son implementaciones con caractersticas que pueden explotar el paralelismo en los dispositivos FPGA y en conseguir un ptimo desempeo. Podemos concluir que EDON80 y MICKEY 2.0 son muy buenas opciones para el cifradodescifrado por medio de flujo de datos.

CENTRO DE INVESTIGACION Y DE ESTUDIOS AVANZADOS DEL I.P.N. DEPARTAMENTO DE COMPUTACION


ARITMETICA COMPUTACIONAL
Dr. FRANCISCO RODRIGUEZ HENRIQUEZ francisco@cs.cinvestav.mx Dr. ARTURO DIAZ PEREZ adiaz@cs.cinvestav.mx
Vctor Enrique Gonzlez Hernndez vgonzalez@computacion.cs.cinvestav.mx

S-ar putea să vă placă și