Professional Documents
Culture Documents
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.
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.
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.
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
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.
NOT
OUTPUT
Xsal_PN
Zn[16..0]
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
INPUT VCC
N[13..0] N_Hab
inst2
La siguiente grfica representa el cifrador basado en PRNG catico, generado tambin en el programa QUARTUS II.
xs al_PN[7..0]
reset
reset
Head_size[7..0]
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 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.