Anda di halaman 1dari 6

DISEO E IMPLEMENTACION DE UN CIFRADOR BASADO EN SECUENCIAS SEUDO ALEATORIAS GENERADAS DE FORMA CAOTICA PARA UNA COMUNICACIN SEGURA

AUTORES ADANAQUE INFANTE, Luz Antuanet ARIAS FLORIAN, Pedro Ronald CUPE CHACALCAJE, Jean Alexander SOLIS VASQUEZ, Leonardo ASESORES Ing. Msc. Aurelio Morales Villanueva amorales@uni.edu.pe luz.adanaque@ieee.org ronald_arias@ieee.org jean.cupe@ieee.org leonardo.solis@ieee.org

ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA FACULTAD DE INGENIERIA ELECTRICA Y ELECTRONICA UNIVERSIDAD NACIONAL DE INGENIERA Av. Tupac Amaru 210 Rimac -Lima Email: webmaster@uni.edu.pe Telef. +51.1.481.1070 RESUMEN
El presente proyecto consiste en el diseo de un cifrador basado en la generacin de nmeros seudo aleatorios (PRNGs) el cual es empleado en los criptosistemas caticos para el cifrado de mensajes que se quieran transmitir de una manera segura. Un generador de nmeros seudo aleatorios es un mecanismo criptogrfico para procesar entradas impredecibles y generar salidas seudo aleatorias (claves). Debido a su naturaleza aleatoria y al gran intervalo de posibles valores de la clave es que cualquier intruso, incluso con enormes recursos computacionales, no ser capaz de predecir una secuencia de salida del PRNG. El trabajo est basado en la teora del caos y su aplicacin en criptosistemas caticos. Para comprobar el funcionamiento del diseo se har uso del lenguaje de descripcin de hardware VHDL para su respectiva simulacin y la implementacin del algoritmo se realizar en un dispositivo lgico programable (PLD). La finalidad del proyecto es la de contribuir al desarrollo de una comunicacin segura en la transmisin de datos confidenciales.

ABSTRACT
The Project involves designing a cipher based on the pseudo-random number generator (PRNGs) which is used in the chaotic cryptosystems for encryption of messages you want to pass safely. A pseudo-random number generator is a mechanism to process cryptographic unpredictable entrances and generating pseudo-random exits (keys). Because of its random nature and the large range of posible values of the key is that any intruder, even with huge computational resources, will not be able to predict a sequence of the departure of PRNG. This Project is based on chaos theory and its application in chaotic cryptosystems. To check the functionallity of the design we will use hardware description language VHDL for its simulation and implementation of the algorithm and it will be downloaded in a programable logic device (PLD). This project aims to contribute to the development of a secure communication in the transmission of confidential information.

INTRODUCCION
En el diseo de un sistema criptogrfico, los algoritmos de encriptacin deben tener la propiedad de que los datos originales, denominados texto plano, deben ser recuperados a partir de los datos encriptados o criptogramas, si el valor de la clave utilizada es conocido. La clave se debe mantener en secreto a pesar de dar a conocer el texto cifrado como informacin pblica. La fortaleza de un criptosistema es medida por la dificultad para determinar dicha clave. Para el presente trabajo el sistema en el cual nos basamos para desarrollar la secuencia que se origina en los PRNGs es el sistema de Lorenz, que describe una dinmica no lineal en 3D. Para ello se discretiza este sistema catico y se utiliza la parte menos significativa de las variables de estado como fuente de seudo aleatoriedad y para alargar el perodo de la secuencia seudo aleatoria generada se emplea un mtodo perturbativo.

FORMULACION DE OBJETIVOS
OBJETIVO GENERAL Desarrollar e implementar un cifrador con clave secreta basado en la generacin de una secuencia seudo aleatoria catica. OBJETIVO ESPECIFICO Estudiar los PRNGs basados en la teora del caos. Disear el prototipo experimental de un cifrador con clave secreta usando PRNGs caticos. Comprobar el funcionamiento del cifrador mediante el envo de mensajes cifrados. Disear el prototipo experimental de un descifrador para el cifrador diseado. Garantizar la correcta recuperacin del mensaje cifrado.

FORMULACION DE HIPOTESIS
HIPOTESIS GENERAL La aplicacin de la teora del caos en los sistemas criptogrficos y la implementacin en hardware del algoritmo criptogrfico ayudara a mejorar la seguridad en la transmisin de datos. HIPOTESIS ESPECFICA La aplicacin de la teora del caos en la generacin de nmeros seudo aleatorios aumentara el periodo de la secuencia seudo aleatoria. Los nmeros seudo aleatorios pueden ser usados como claves en los cifradores de sistemas criptogrficos. Los algoritmos criptogrficos implementados en hardware pueden ser ms seguros.

PLANTEAMIENTO DEL ESTUDIO


La Criptografa se ocupa de dar solucin a los problemas de identificacin, autenticacin y privacidad de la informacin en los sistemas informticos. Sin embargo en los mtodos tradicionales de cifrado de los datos, los ataques para poder acceder a la informacin de los textos cifrados se han hecho ms factibles debido al gran avance tecnolgico y el desarrollo de las computadoras con las cuales descubrir las claves de los textos cifrados se ha vuelto una tarea cada vez ms fcil. Por eso es que en el presente trabajo tratamos de mejorar el nivel de seguridad en la transmisin de datos, para lo cual aplicamos la teora del caos para la generacin de claves de las secuencias seudo aleatorias. Se ha escogido la teora del caos en la generacin de nmeros seudo aleatorios por sus propiedades que detallamos a continuacin: - Son sensibles a condiciones iniciales, produciendo diferentes resultados a pequeos cambios. - Son sensibles a los parmetros que describen los sistemas dinmicos descritos por la teora del caos. - En el caso de la generacin de secuencias seudo aleatorias puede aumentar o disminuir el periodo dependiendo de los parmetros que se apliquen en la ecuacin de iteracin que se emplee para la descripcin del sistema dinmico.

FUNDAMENTO TEORICO
A continuacin se citan algunos conceptos que se utilizaron: CRIPTOGRAFIA Rama inicial de las Matemticas y en la actualidad tambin de la Informtica y la Telemtica, que hace uso de mtodos y tcnicas con el objeto principal de cifrar, es decir , manipular y por tanto proteger, un mensaje o archivo por medio de un algoritmo, usando una o ms claves.

Esto dar lugar a diferentes tipos de sistemas de cifra, denominados criptosistemas, los cuales son: CRIPTOSISTEMAS SIMETRICOS: Estos criptosistemas utilizan la misma clave en ambos extremos de un canal de comunicacin, o una clave que es fcilmente derivada de otra, en caso de hacer uso de dos claves. CRIPTOSISTEMAS ASIMETRICOS: En este caso, cada usuario crea un par de claves, una privada y otra pblica, inversas dentro de un cuerpo finito. Lo que se cifra en emisin con una clave, se descifra en recepcin con la clave inversa. La seguridad del sistema reside en la dificultad de descubrir la clave privada a partir de la pblica. El proceso de cifrado se realiza mediante un cifrador, el cual est definido segn el modelo que se elija para su construccin. CIFRADOR Modelo de Even y Mansour: Propone la construccin de un cifrador de bloques usando nicamente una permutacin seleccionada en forma aleatoria. Se asume que la permutacin es de acceso pblico. La seguridad del cifrador es probada, suponiendo que la permutacin es aleatoria, o al menos seudo aleatoria.

de iteracin. El estado actual del sistema es una funcin deterministica del estado o valor anterior. Formalmente una correspondencia catica se especifica por medio de la expresin: xn+1= f(xn), donde f( ) es una funcin no lineal. En general, la teora del caos surge de las matemticas de modelizacin de mecanismos fsicos tales como la prediccin del tiempo atmosfrico, la evolucin de la poblacin, la dinmica de fluidos, la teora de gases, etc. Todos los ejemplos anteriores son sistemas iterativos por naturaleza. PRNG Un generador de nmeros seudo aleatorios (PRNG) es un mecanismo criptogrfico para procesar entradas impredecibles y generar salidas seudoaleatorias. Si se disea, implementa y utiliza apropiadamente, cualquier adversario con enormes recursos computacionales no ser capaz de predecir una secuencia de la salida del PRNG. En el presente trabajo se utiliza las caractersticas mencionadas del PRNG para generar las claves K1 y K2.

Fig. 1 Esquema Even y Mansour

Fig. 2 Esquema de un cifrador utilizando PRNGs

La figura ilustra el esquema de Even y Mansour

donde M =mensaje, F =permutacin, = XOR (bit

a bit), {K1, K2} =Clave, C = criptograma. TEORIA DEL CAOS El caos puede definirse como la tendencia de los sistemas iterativos, simples, deterministicos a ser muy sensibles a las condiciones iniciales y a ser altamente no predecibles. El elemento central de todos los sistemas caticos (o basados en caos) es el concepto

La aplicacin de las funciones caticas y de la teora del caos a entornos criptogrficos puede dividirse en dos grandes categoras o tipos de aplicaciones: (1) Utilizar alguna funcin catica como un RNG (Random Number Generador) o ms bien PRNG (Pseudos RNG), bien para la generacin de la clave aleatoria, o para utilizarla como fuente de nmeros aleatorios, como se muestra en el procedimiento de calculo. (2) Hacer corresponder el texto en claro al estado inicial del sistema catico, y a continuacin hacer pasar por un ciclo al sistema a travs de algn nmero de iteraciones dando lugar el estado resultante al texto cifrado.

PROCEDIMIENTO DE CLCULO Generacin de Secuencias Caticas


En la dcada del 50 un meteorlogo del MIT llamado Edward Lorenz accidentalmente descubri la presencia de caos en una ecuacin diferencial intentando desarrollar mtodos para la prediccin del clima. Esta ecuacin es un sistema dinmico gobernado por las siguientes ecuaciones diferenciales. Para generar una secuencia catica se utiliz el sistema de Lorenz, que est gobernado por las siguientes ecuaciones diferenciales:

Los parmetros adoptados para el presente trabajo son:

Estos valores se eligieron para asegurar la estabilidad estructural del sistema (pequeas modificaciones de los parmetros no alteran el comportamiento cualitativo del sistema), y para facilitar la implementacin en aritmtica binaria entera. Reemplazando los valores en la ecuacin anterior tenemos:

Donde: son los parmetros de control. Para fines de programacin en lenguaje VHDL, discretizamos el sistema de tres dimensiones continuo utilizando la aproximacin de Euler de primer orden. El resultado es:

Donde k es el parmetro de escala de tiempo. Para reducir el hardware necesario el sistema trabaja con aritmtica entera binaria, y para simplificar las divisiones necesarias (se harn desplazando bits) se utilizan mltiplos de tipo 2n. Para ello se efectan las siguientes transformaciones de polarizacin y cambio de escala:

De la ecuacin anterior se observa que todas las operaciones involucradas son sumas, restas y divisiones por potencia de dos, y solo se utilizan dos multiplicadores. A continuacin se muestra una vista en 3D de la trayectoria del sistemas de Lorenz discretizado para los valores iniciales x0=18503, y0=21315 y z0=32032. Como se observa es la tpica Mariposa de Lorenz. Donde se puede observar que el rango de estado es [0,6x104], por lo tanto se necesitan al menos 17 bits para representar las operaciones y la secuencia catica generada.

Donde B y S son respectivamente los parmetros de polarizacin y cambio de escala. El resultado final es:

x 10 6 5 4 3 2 1 4

3 x 10
4

3.5 2 1 0 1 2 1.5 3 2.5 x 10


4

Fig. 3 Mariposa de Lorenz para los valores iniciales X0, Y0 y Z0

BIBLIOGRAFICAS [1] Jos M. Albornoz y Antonio Parravano: Generadores de nmeros pseudo aleatorios acoplados y sus aplicaciones en criptografa. Universidad de los Andes, Mrida, Venezuela. Postgrado de Fsica Fundamental. [2] Mara A. Molina Vilchis, Ramn Silva Ortigoza y Eduardo Vega Alvarado: Aplicaciones de secuencias Pseudo Aleatorias en la Seguridad de Informacin. CIDETEC-IPN, Departamento de Postgrado Unidad Profesional Adolfo Lpez Mateos, Mxico, D.F., Mxico. [3] C. M. Gonzles, H. A. Larrondo, C. A. Ganoso, L. J. Arnone: Generacin de secuencias binarias pseudo aleatorias por medio de un mapa catico 3D. Universidad Nacional de Mar del Plata-Argentina. [4] A. Jimnez Triana, C. I. Camargo Bareo, J. A. Corts Romero: Sntesis de un circuito catico empleando VHDL. [5] Hernando Castaeda Marn y Wladimir Rodrguez Graterol: Construccin de un cifrador basado en una permutacin pseudos-aleatoria. Universidad de Pamplona, estudiante Doctorado Universidad de los Andes y Doctorado en Ciencias Aplicadas. Mrida, Venezuela. [6] Doctor Jorge Rami Aguirre, Libro Electrnico de seguridad Informtica y Criptografa V 4.1, Universidad Politcnica de Madrid. [7] Jos Manuel mendas Cuadros, Estructura y Tecnologa de computadoras. Dpto de arquitectura de computadores e Informtica Universidad Complutense de Madrid.

ANEXO: Diagramas de Bloques:


Se presenta a continuacin el diagrama de bloques del PRNG generado en QUARTUS II
Reg_caas N_Hab clk inst15 Xn_1[16..0] Y n_1[16..0] Zn_1[16..0] Sel Xin Yin Zin
INPUT VCC INPUT VCC INPUT VCC

NOT

X_sal[16..0] Y _sal[16..0] Z_sal[16..0]

lorenz_caotico clk reset N_Hab Xn[16..0] Y n[16..0] reset


INPUT VCC

ready Xin[16..0] Y in[16..0] Zin[16..0] Xen[16..0] Y en[16..0] Zen[16..0] inst1

OUTPUT

Xsal_PN

Zn[16..0]

Param eter Value WIDTH 8

inst clk
INPUT VCC

BUSMUX
dataa[]
xor2 X_Sal [7..0] Y _Sal [7..0]
INPUT VCC INPUT VCC 0

result[] sel

A[7..0] B[7..0]

Xor_sal[7..0]

datab[]
inst6

inst3

N_Hab

INPUT VCC

Div _N_caas clk reset Pulso

INPUT VCC

N[13..0] N_Hab

inst2

Fig. 4 Diagrama de Bloques del PRNG

La siguiente grfica representa el cifrador basado en PRNG catico, generado tambin en el programa QUARTUS II.

PR NG2 cont rol reset clk


INPUT VCC INPUT VCC

xs al_PN[7..0]

clk data_memory [7.. 0]

addres s[9..0] ready Fin_C if rado Mux[1..0]

clk ready N[13..0] Xin[16..0] Y in[16..0] Zin[16..0] inst5

reset

reset

PRNG1 ins t reset clk ready N1 Xin1 Y in1 Zin1


INPUT VCC INPUT VCC INPUT VCC INPUT VCC

Head_size[7..0]

xsal_PN[7..0] N2 Xin2 Y in2 Zin2


INPUT VCC INPUT VCC INPUT VCC INPUT VCC

N[13..0] Xin[16..0] Y in[16..0] Zin[16..0] inst7

Mux Mux_sel xor2 mhd xsal_2[7..0] sel_f [2..0] reg_f [7..0] reg_f [7..0] inst6 inst8 inst1 Xor2_sal[7..0] Mux_enable Head_Size[7..0] Xor2_sal[7..0] Cripto_out[7..0]
OUTPUT

cripto_out

inst10

NOT

xor1 rom xsal[7..0] clk direccion[9..0] inst2 inst4 dato[7..0] data_memory [7..0] reg_in[7..0] reg_in[7..0]

Fig. 5 Diagrama de Bloques del Cifrador

Resultados de Simular el Cifrador Catico:

Fig. 5 Resultados del cifrador catico en la simulacin de la codificacin en VHDL Memoria, es el contenido de las direcciones de memoria en sistema decimal; Head_Size: Contiene la cabecera y el tamao del archivo a enviar; Cripto_out: Es la salida del Cifrador Catico.

Anda mungkin juga menyukai