Descarga la aplicación para disfrutar aún más
Lea materiales sin conexión, sin usar Internet. Además de muchas otras características!
Vista previa del material en texto
INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA UNIDAD CULHUACAN Sección de Estudios de Posgrado e Investigación “Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques” T E S I S PARA OBTENER EL GRADO DE: MAESTRO EN CIENCIAS DE INGENIERÍA EN MICROELECTRÓNICA P R E S E N T A : ING. LUZ MARÍA BENÍTEZ BARRÓN ASESOR: DR. RUBÉN VÁZQUEZ MEDINA MÉXICO, D.F. SEPTIEMBRE DE 2010 SIP-14 INSTITUTO POLITECNICO NACIONAL SECRETARiA DE INVESTIGACION Y POSGRADO ACTA DE REVISION DE TESIS En la Ciudad de Mexico, D. F. siendo las 12:00 horas del dia 29 del mes de julio del 2010 se reunieron los miembros de la Comisi6n Revisora de lesis, designada por el Colegio de Profesores de Estudios de Posgrado e Investigaci6n de SEPI-ESIME-CULH para examinar la tesis titulada: "Mapeo Caotico Senoidal Aplicado al Cifrado de Bloques" Presentada por el alumno: Benitez Barron Luz Maria Apellido paterno Apellido materna Con reg istro: L::.----.L-=----'---"-----'-'-----'---=-_..L.::.-----l-=-----' aspirante de: MAESTRiA EN CIENCIAS DE INGENIERiA EN MICROELECTRONICA Despues de intercambiar opiniones, los miembros de la Comisi6n manifestaron APROBAR LA DEFENSA DE LA TESIS, en virtud de que satisface los requisitos senalados por las disposiciones reglamentarias vigentes. LA COMISI6N REVISORA Dr. Luis Nino /NST/TUTO POL/TECN/CO NAC/ONAL SECRETARiA DE INVESTIGACION Y POSGRADO CARTA CESION DE DERECHOS En la Ciudad de Mexico el dia del mes septiembre del ano 20 10 . el (Ia) que suscribe Luz Maria Benitez Barr6n alumno (a) del Programa de Maestria en Ciencias de lngenieria en Microelectr6nica con numero de registro B081839 . ad crito a Secci6n de Estudios de Posgrado e Investigaci6n , manifiesta que es autor (a) intelectllal del presente trabajo de Tesis bajo la direcci6n de Dr. Ruben Vazquez Medina y cede los derechos del trabajo intitulado Mapeo Ca6tico Senoidal Aplicado al Cifrado de Bloques. aJ Instituto Politecnico Nacional para su difusi6n, con fines academicos y de investigaci6n. Los llsuarios de la informaci6n no deben reproducir el contenido textual, graficas 0 datos del trabajo sin el permiso expreso del autor y/o director del trabajo. Este pllede ser obtenido escribiendo a la siguiente direcci6n Ibenitezb0401@ipn.mx. Si el permiso se otorga. el usuario debera dar el agradecimiento correspondiente y citar la fuente del mismo. Nombre y firma mailto:Ibenitezb0401@ipn.mx AGRADECIMIENTOS A mis padres Porque jamás podré pagar todos sus esfuerzos, con los cuales, hoy logro cumplir una meta más. Solo les puedo decir, GRACIAS POR CREER EN MI Y LOS AMO. A mis hermanos Con los que he compartido toda mi vida y no podría imaginar mejor infancia sin ellos. Les agradezco el apoyo en todo momento y espero seguirlo teniendo. LOS QUIERO. A Mario En todo momento me has motivado a seguir adelante. Gracias por estar conmigo, por apoyarme a seguir adelante y por consentirme cuando lo necesito. TE AMO MUCHO MI AMOR. A mis “malos amigos” Porque con todas nuestras aventuras hicieron del tiempo de escuela inolvidable. Gracias Negro, Shinbo, Kino y Muñe por todo el apoyo que recibí. GRACIAS Y ¡QUE VIVA LA MALA AMISTAD! Al Sr. Juan Carlos Zendejas y al Sr. Hector Por ser tan gentiles, no solo conmigo, sino también con mi familia. Nunca podré pagar tanta amabilidad. Muchas gracias por creer en mí. A mi asesor Porque con su esfuerzo y dedicación este trabajo se pudo realizar. Gracias por la paciencia que tuvo conmigo y por el trato gentil que brinda a sus alumnos. Es una gran persona, no solo como profesional, sino también como ser humano. GRACIAS Dr. Rubén. A el Instituto Politécnico Nacional Porque es mi segunda casa, la cual me ha dado tantas satisfacciones y me ha permitido formarme desde el nivel medio superior. Hoy termino una etapa más, la cual me siento muy orgullosa de terminarla, en mi amado Instituto. Al CONACyT Por brindarme el apoyo económico para este trabajo. ¡GRACIAS A TODOS! DEDICATORIA A todos aquellos que han creído en mí; en especial a los que ya se han adelantado en el camino. Me han enseñado que, sin importar que tan adversa sea la vida, siempre hay cosas por las que vale la pena luchar. "Es dudoso que el género humano logre crear un enigma que el mismo ingenio humano no resuelva". Edgar Allan Poe. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 1 INDICE INDICE __________________________________________________________________ 1 PRESENTACIÓN DE LA TESIS_________________________________________________ 5 ABSTRACT _______________________________________________________________ 6 ORGANIZACIÓN DE LA TESIS ________________________________________________ 7 CAPÍTULO I ______________________________________________________________ 8 MARCO DE REFERENCIA. ___________________________________________________ 8 Resumen ____________________________________________________________________ 8 Definición del problema ________________________________________________________ 9 Objetivo General _____________________________________________________________ 11 Objetivos Específicos __________________________________________________________ 12 Justificación _________________________________________________________________ 13 Hipótesis ___________________________________________________________________ 14 Estado del arte _______________________________________________________________ 15 Cifradores de bloques ________________________________________________________________ 15 Cifradores caóticos __________________________________________________________________ 19 Comentarios al capítulo _______________________________________________________ 22 CAPÍTULO II ____________________________________________________________ 23 CIFRADOR DE BLOQUES CAÓTICO ___________________________________________ 23 Resumen ___________________________________________________________________ 23 Antecedentes ________________________________________________________________ 24 Contexto de la criptografía ____________________________________________________________ 24 Caos y criptografía __________________________________________________________________ 28 Transformación Caótica senoidal ________________________________________________ 31 Diagramas de trayectorias ____________________________________________________________ 33 Diagrama de bifurcación ______________________________________________________________ 37 Distribución estadística _______________________________________________________________ 39 Convergencia fuerte _________________________________________________________________ 43 Análisis de estabilidad________________________________________________________________ 47 Descripción de la propuesta de Kocarev___________________________________________ 52 Cifrador propuesto basado en la transformación senoidal ____________________________ 54 Proceso de cifrado __________________________________________________________________ 54 Proceso de generación de subclaves ____________________________________________________ 63 file:///C:/Users/SuMoMi/Documents/MAESTRIA/4°%20semestre/tesispdf.docx%23_Toc271073336 file:///C:/Users/SuMoMi/Documents/MAESTRIA/4°%20semestre/tesispdf.docx%23_Toc271073348 Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 2 Pruebas de funcionalidad ______________________________________________________ 67 Comentarios al capítulo _______________________________________________________ 72 CAPÍTULO III ____________________________________________________________ 73 EVALUACIÓN DEL CIFRADOR PROPUESTO ____________________________________ 73 Resumen ___________________________________________________________________ 73 Antecedentes ________________________________________________________________74 Criterios de evaluación ________________________________________________________ 76 Entropía ___________________________________________________________________________ 76 Información Mutua y principio de Shannon ______________________________________________ 77 Análisis Estadístico __________________________________________________________________ 78 Comparación con otros Criptosistemas ___________________________________________ 80 Breve descripción de los Criptosistemas a comparar _______________________________________ 80 Comparación _______________________________________________________________________ 85 Comentarios al capítulo _______________________________________________________ 89 CAPÍTULO IV ____________________________________________________________ 90 EVALUACIÓN DE LA ALEATORIEDAD DEL CRIPTOSISTEMA _______________________ 90 Resumen ___________________________________________________________________ 90 Batería de pruebas convencionales ______________________________________________ 91 Prueba del mono ____________________________________________________________________ 91 DIEHARD __________________________________________________________________________ 92 ENT ______________________________________________________________________________ 94 Prueba de aleatoriedad y pseudoaleatoriedad del NIST ______________________________ 95 Descripción ________________________________________________________________________ 95 Intervalo de confianza ______________________________________________________________ 104 Valoración del algoritmo propuesto _____________________________________________ 107 Comentarios al capítulo ______________________________________________________ 110 CAPITULO V ___________________________________________________________ 111 CONCLUSIONES ________________________________________________________ 111 Resumen __________________________________________________________________ 111 Conclusiones generales _______________________________________________________ 112 Trabajo a Futuro ____________________________________________________________ 115 ANEXO A ______________________________________________________________ 116 REDES DE FEISTEL _______________________________________________________ 116 file:///C:/Users/SuMoMi/Documents/MAESTRIA/4°%20semestre/tesispdf.docx%23_Toc271073366 file:///C:/Users/SuMoMi/Documents/MAESTRIA/4°%20semestre/tesispdf.docx%23_Toc271073378 file:///C:/Users/SuMoMi/Documents/MAESTRIA/4°%20semestre/tesispdf.docx%23_Toc271073390 Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 3 Resumen __________________________________________________________________ 116 Redes de Feistel _____________________________________________________________ 117 Redes de Feistel desbalanceadas _______________________________________________ 118 ANEXO B ______________________________________________________________ 120 DESCRIPCIÓN DEL CONJUNTO DE PRUEBAS DEL NIST __________________________ 120 Resumen __________________________________________________________________ 120 Prueba de frecuencia (Monobits) _______________________________________________ 121 Prueba para frecuencia dentro de un bloque ______________________________________ 122 Prueba de secuencias idénticas ________________________________________________ 123 Prueba para la secuencia idéntica más larga de unos en un bloque ____________________ 124 Prueba de rango de matrices aleatorias binarias. __________________________________ 127 Prueba de la transformación discreta de Fourier (espectral) _________________________ 129 Prueba de patrones de pareamiento que no se superponen _________________________ 131 Prueba de patrones de pareamiento que se superponen ____________________________ 133 Prueba de “estadística universal” de Maurer _____________________________________ 136 Prueba de complejidad lineal __________________________________________________ 139 Prueba de serie _____________________________________________________________ 142 Prueba del aproximado de la entropía ___________________________________________ 144 Prueba de la suma acumulativa ________________________________________________ 145 Prueba de excursiones aleatorios _______________________________________________ 147 Prueba de la variante de excursiones aleatorias ___________________________________ 151 ANEXO C ______________________________________________________________ 154 RESULTADOS DEL NIST ___________________________________________________ 154 Resumen __________________________________________________________________ 154 Resultados del cifrador caótico sin el proceso de generación de subclaves ______________ 155 Resultados del cifrador caótico con el proceso de generación de subclaves _____________ 158 Resultados del cifrador AES ___________________________________________________ 161 Resultados del cifrador DES ___________________________________________________ 164 ARTÍCULOS EN CONGRESOS _______________________________________________ 167 REFERENCIAS BIBLIOGRAFICAS ____________________________________________ 168 file:///C:/Users/SuMoMi/Documents/MAESTRIA/4°%20semestre/tesispdf.docx%23_Toc271073395 file:///C:/Users/SuMoMi/Documents/MAESTRIA/4°%20semestre/tesispdf.docx%23_Toc271073400 file:///C:/Users/SuMoMi/Documents/MAESTRIA/4°%20semestre/tesispdf.docx%23_Toc271073418 Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 4 ÍNDICE DE FIGURAS _____________________________________________________ 172 ÍNDICE DE TABLAS ______________________________________________________ 173 Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 5 PRESENTACIÓN DE LA TESIS Este trabajo forma parte de un proyecto de investigación, en el se presenta la realización de un algoritmo de cifrado de bloques, cuya función de transformación es la transformación discretizada senoidal. Su estructura general está definida por una red de Feistel desbalanceada, es decir, se presenta la realización y evaluación de un cifrador caótico de bloques. La aportación de este trabajo es el módulo para la generación de las subclaves necesarias para el cifrado. Con ello, se busca un mejoramiento en la evaluación de los resultados obtenidos. El criptosistema se evalúa empleando conceptos de la teoría de la información como son la entropía, la información mutua y la distribución estadística. Para esta última, se utiliza el conjunto de pruebas proporcionada por el NIST (National Institute of Standards and Technology), la cual permite evaluar las condiciones estadísticas de la señal a la salida del criptosistema. Los resultados se comparan con técnicas de cifrado similares. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 6 ABSTRACT This work is part of a research project in SEPI ESIME Culhuacan and it includes the realization of a block encryption algorithm, using a sine chaotic map. The general structure of the block encryption algorithm is defined by an unbalanced Feistel network, according with the Kocarev structure, i.e., presents the implementation and evaluation of a chaotic block cipher. The contribution of this work is the subkeys generation module. Therefore seeks an improvement in the evaluation of the results obtained in the encryption process. The cryptosystem proposed is evaluated using information theory concepts such as entropy, mutual information and statistical distribution. The random test suite provided by NIST (National Institute of standards and Technology) is used for the evaluation of the statistical distribution of the output signal in the cryptosystem. The results are compared with similar encryption techniques. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 7 ORGANIZACIÓN DE LA TESIS Esta tesis está organizada en 5 capítulos y 3 anexos. El capítulo 1 denominado “Marco de referencia”se establece el marco teórico de esta tesis y se presenta la definición del problema que se ha planteado, el objetivo general, los objetivos específicos, la hipótesis y la justificación. Posteriormente, en el estado del arte se analizan los avances actuales que se han reportado en la literatura especializada relacionada con el tema. El capítulo 2 denominado “Cifrador de bloques caótico” se analiza la transformación caótica senoidal, con herramientas de la mecánica estadística como son el diagrama de trayectorias, el diagrama de bifurcación, el exponente de Lyapunov y el concepto de convergencia fuerte. Se describe la propuesta del cifrador de Kocarev y se presenta la propuesta del cifrador con la función caótica. Al final de este capítulo se encuentran las pruebas de funcionalidad hechas al cifrador aquí propuesto. En el capítulo 3 denominado “Evaluación del cifrador propuesto” se describen los conceptos con los que los criptogramas obtenidos del cifrador caótico son evaluados, así también se comparan con los valores obtenidos de otros criptogramas de distintos cifradores que tienen una estructura semejante al propuesto. Se da una breve explicación de dos de los cifradores más utilizados. En el capítulo 4 denominado “Evaluación de la aleatoriedad del criptosistema” se analizan cuatro herramientas para el análisis estadístico de los criptogramas obtenidos del criptosistema propuesto. Para este análisis se usa el conjunto de pruebas de aleatoriedad del NIST (National Institute of Standard and Technology) y se da una breve explicación de cada una de las pruebas. Se analizan los resultados obtenidos de la valoración de un criptograma del criptosistema propuesto. En el capítulo 5 denominado “Conclusiones” se dan las conclusiones generales y algunas recomendaciones para este proyecto a futuro. Se plantea si los objetivos han sido alcanzados y si la hipótesis propuesta se cumplió. Al final de esta tesis se encuentran 3 anexos. El anexo A denominado “Redes de Feistel” se describen las redes de Feistel, ya que es de suma importancia para el entendimiento de la estructura del criptosistema propuesto. El anexo B denominado “Descripción del conjunto de pruebas de NIST” se describe las pruebas del conjunto del NIST, con más detalle. Se describe los parámetros de cada prueba, así como el procedimiento para obtener los P-valores. Y por último, en el anexo C denominado “Resultados del NIST” se encuentran los resultados de la pruebas del NIST para cada criptosistema analizado en el capítulo 5. Se muestran todos los resultados de las pruebas. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 8 CAPÍTULO I MARCO DE REFERENCIA. Resumen En este capítulo se establece el marco teórico de esta tesis y se presenta la definición del problema que se ha planteado, el objetivo general, los objetivos específicos, la hipótesis y la justificación. Posteriormente, en el estado del arte se analizan los avances actuales que se han reportado en la literatura especializada relacionada con el tema. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 9 Definición del problema Hoy en día uno de los problemas que se afronta en telecomunicaciones y redes de transporte de datos es la protección y seguridad de la información, las cuales están expuestas a la vista de muchos que no deben participar en ella. Para evitar esto, se pusieron en marcha los elementos de protección a nivel de software y hardware, que permiten detectar e impedir el acceso a los intrusos. Lamentablemente, estos elementos no son 100% seguros, y es precisamente ahí donde entran en juego otras medidas de seguridad; una de ellas es la criptografía. Ante la creciente capacidad computacional se ha generado una ventaja y una desventaja. La ventaja es que se pueden realizar operaciones con mayor rapidez, lo cual conlleva a la desventaja, ya que también los intrusos la tienen. Los algoritmos criptográficos son susceptibles a ataques, tanto en su estructura, como en sus propiedades. Por tal motivo, es necesario trabajar de manera ininterrumpida en evaluar y, en su caso mantener, la robustez de los algoritmos de cifrado nuevos y existentes. Por esto, los ataques a los algoritmos de cifrado forman parte de su evolución. Las actuales técnicas de la criptográfica simétrica normalmente están basadas en la teoría de números o conceptos algebraicos. Sin embargo, en esta tesis se emplea la teoría del caos, debido a las características de los sistemas que permite describir. Esta opción parece prometedora, ya que se puede hacer una asociación de los requerimientos criptográficos que se exigen de un algoritmo y las características de un sistema caótico. El caos es una rama de la dinámica no lineal que ha sido ampliamente estudiado, encontrando un sin número de aplicaciones en diferentes áreas de la ciencia. Muchos de los sistemas caóticos tienen la característica de que no existe solución cerrada para ellos y, por lo tanto, no existen las fórmulas simples que definan al sistema en cualquier punto dado. En relación a la criptografía, esto se califica como un problema muy difícil de resolver. La principal ventaja de los sistemas caóticos, tales como el problema de n-cuerpo, es que son probabilísticamente difíciles, eliminando una de las desventajas fundamentales de la criptografía convencional. Es necesario entonces, el uso de nuevas teorías matemáticas para la construcción de algoritmos criptográficos simétricos, cuya seguridad se base en la esperanza de que, sin conocer la clave secreta, el comportamiento caótico sea lo suficientemente difícil de predecir utilizando métodos analíticos. Un sistema caótico útil desde el punto de vista de la criptografía son las transformaciones caóticas unidimensionales, las cuales por su sencillez pueden ser aplicadas a la construcción de Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 10 criptosistemas. Kocarev, en su trabajo denominado Block Encryption Ciphers Based on Chaotic Maps, [1] propuso el uso de la transformación caótica unidimensional logística bajo la estructura de una red de Feistel desbalanceada. Sin embargo, la transformación logística no es la única que se puede aprovechar. Hay otras transformaciones caóticas que podría utilizarse, como las transformaciones de Bernoulli y Tent, objeto de estudio en otras tesis. En este proceso de revisión se ha identificado otra transformación potencialmente útil; ésta es la transformación senoidal, la cual tiene un comportamiento similar a la logística y debe ser evaluada su viabilidad para ser usada en criptosistemas caóticos de bloques. Ahora bien, ya que se tiene en funcionamiento un criptosistema de bloques, es conveniente definir una estrategia que permita generar eficientemente una subclave de cifrado en cada iteración del cifrado de bloques. Sin embargo, no hay nada escrito al respecto que pueda considerarse como definitivo y por ello, en esta tesis es conveniente revisar las opciones que se tienen, de qué forma se realiza en los criptosistemas actuales, para determinar entonces como se debería hacer para el criptosistema que en esta tesis se propone. Con estas ideas, las preguntas que surgen son: ¿Qué ventajas y desventajas tendrá el uso de la transformación caótica unidimensional senoidal al ser utilizada como la función de combinación en un cifrador de bloques cuya estructura corresponde a una Red de Feistel desbalanceada como lo propone Ljupco Kocarev y que calidad tendrán los criptogramas que genera un criptosistema de este tipo? ¿Cuál es la estructura del módulo que genera las subclaves de cifrado para cada iteración del criptosistema caótico propuesto, de manera que se mejoren las características criptográficas de los criptogramas generados? Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página11 Objetivo General Desarrollar y evaluar un algoritmo criptográfico de bloques basado en la transformación caótica discretizada y escalada senoidal con la arquitectura propuesta por Kocarev [1]. Este algoritmo deberá modificar satisfactoriamente la sintáctica, la semántica y la estadística de un mensaje; de manera que, lo haga incomprensible para aquellos que no son los destinatarios. Para medir la eficiencia del algoritmo se evalúa y compara con algoritmos de cifrado de bloques similares (AES, DES, TRIPLE DES, SKIPJACK, ETC.) a partir del criterio de seguridad de Shannon y el conjunto de pruebas propuesta por el NIST [2]. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 12 Objetivos Específicos a) Investigar las herramientas de la teoría de sistemas dinámicos como el diagrama de trayectorias, el diagrama de bifurcación y el Exponente de Lyapunov para analizar las propiedades de la transformación caótica senoidal unidimensional. b) Analizar la estructura del cifrador propuesta por Kocarev [1] para construcción del criptosistema a proponer. c) Diseñar una estructura para la implementación de un proceso de generación de subclaves para el criptosistema. d) Realizar pruebas al criptosistema, cifrando y descifrando diferentes tipos de archivos. e) Aplicar pruebas de funcionalidad a los archivos obtenidos del proceso de cifrado y descifrado, para verificar la integridad de los mismos. f) Evaluar el criptosistemas con los conceptos de entropía y la teoría del criptosistema seguro de Shannon. g) Evaluar secuencias binarias obtenidas del criptosistemas, para conocer si las secuencias obtenidas son aleatorias. h) Publicación de resultados. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 13 Justificación Con el crecimiento exponencial del comercio electrónico, se necesita que el campo de investigación de la seguridad informática posea nuevas técnicas para la protección de datos. En la criptografía, es importante la exploración de nuevas técnicas de cifrado; una de ellas es la teoría del caos, que provee los elementos que la criptografía necesita para obtener un proceso de comunicación seguro, y con ello, la información integra y confiable. El uso de funciones caóticas ofrece una alternativa de seguridad en el diseño y desarrollo de procesos de cifrado, ampliando así, el panorama para los investigadores interesados en la materia. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 14 Hipótesis Al aplicar una transformación caótica unidimensional senoidal como función de combinación al cifrador de bloques propuesto por Kocarev en [1] generará resultados semejantes a la transformación logística, tanto de eficiencia del sistema como la calidad de los criptogramas, esto debido a la similitud que existe entre sus diagramas de bifurcación. Por ello, al ser semejantes, lo que se espera como ventaja es la alta dispersión de la huella estadística del criptograma respecto a la que posee el archivo claro, siempre y cuando no se caiga dentro de las regiones de estabilidad existentes para ciertos valores del parámetro que gobierna el comportamiento de la transformación caótica. Al igual que cuando se usa la transformación logística, una desventaja importante es la existencia de las regiones de estabilidad, las cuales se deben conocer y evitar, precisando el valor del parámetro que gobierna el comportamiento de la transformación. El uso de la transformación senoidal en lugar de la logística no ayudará a mejorar la calidad de los criptogramas que se generen, por ello, es necesario desarrollar un módulo para la generación de subclaves de cifrado en cada iteración del criptosistemas de bloques caótico propuesto. Es posible construir este módulo apoyándose en funciones unidireccionales denominadas funciones hash. De esta manera, se espera que la calidad criptográfica de los criptogramas resultantes sea sustancialmente mejor que en el esquema básico propuesto para el criptosistema de bloques que usa a la transformación logística. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 15 Estado del arte Haciendo una revisión de los trabajos publicados en revistas internacionales sobre cifradores de bloques y el uso de la teoría del caos en criptografía, se encuentra un gran número de propuestas. Para un mejor análisis de los trabajos se han dividido en dos apartados: Cifradores de bloques y Cifradores caóticos. Cifradores de bloques Erez Petrank y Charles Rackoff propusieron en [3], en el año 2000, un cifrador de bloques encadenado usando códigos MAC, el cual ha sido denominado como CBC MAC (Cipher Block Chaining Message Authentication Code), debido a que utiliza códigos de autentificación de mensajes (MAC: Message Authentication Code). Los autores enfatizan que los códigos MAC son un método de autentificación ampliamente utilizado, pero el uso de CBC MAC no es seguro cuando se emplean mensajes de longitud variable. Ellos mencionan que existen, entre otras, las siguientes reglas de oro para el uso correcto de este cifrador: Dividir el texto en bloques. Realizar un XOR con el bloque cifrado anterior antes de cifrarlo con la clave secreta. Utilizar solo el último bloque como MAC. En este trabajo se hace referencia a que la primera demostración rigurosa de la seguridad de CBCMAC, cuando se utiliza en los mensajes de longitud fija, se dio recientemente por Bellare y otros [4]. Ellos también sugirieron variantes de CBC MAC que manejan mensajes de longitud variable, pero en estas variantes existe el inconveniente de que la longitud del mensaje debe ser conocida de antemano; es decir, antes de que el mensaje sea procesado. En este trabajo también se presenta un estudio sobre la autenticación CBC para aplicaciones en tiempo real en las que la longitud del mensaje no es conocida hasta que el mensaje termina. Las variantes consideradas de CBC son las siguientes: en primer lugar consideran una variante de CBC MAC, que llaman cifrado CBC MAC (EMAC: Encription MAC), que controla los mensajes de longitudes desconocidas y variables. EMAC en un mensaje es prácticamente tan simple y tan eficiente como lo es el estándar CBC MAC. Los autores proporcionan una prueba rigurosa de que su seguridad está implícita en la seguridad del cifrado de bloques subyacente. A continuación, sostienen que el CBC MAC básico es seguro cuando se aplica a un espacio de mensaje libre de prefijos. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 16 Otro trabajo en esta dirección es el que presentan Thomas Jakobsen y Lars R. Knudsen en el año 2001. En este artículo los autores presentan un ataque a cifrados de bloque, usando la técnica de ataque de interpolación. Este ataque consiste en: si el texto cifrado puede ser representado como un polinomio o una expresión rotacional (con n coeficientes) del mensaje original, entonces el polinomio o dicha expresión rotacional puede ser reconstruida usando n pares de texto cifrado/plano. Sin embargo, este tipo de análisis es solamente útil contra funciones algebraicas sencillas o contra algoritmos con pocas rondas [5]. Este método es útil para atacar cifradores que usen funciones algebraicas simples, en particular las funciones cuadráticas, que son de pocas rondas y con una expansión de clave más pobre como las cajas de sustitución en cifradores de bloque, comúnmente llamadas S-cajas (Substitution-Boxes). Asimismo, se introducen los ataques basados en las diferencias de orden superior. Estos son casos especiales e importantes de ataques de interpolación. Los ataques se aplican a varios cifradores de bloques, tales como el prototipo de cifrado de 6 rondas de Nyberg y Knudsen [6], que es probadamente seguro contra el criptoanálisis diferencial ordinario; una versión modificada del cifrador de bloque SHARK [7]; y uncifrador de bloque sugerido por Kiefer [8]. Un artículo más es el publicado por Lars R. Knudsen, en el año 2002 en [9], en el cual se estudia la seguridad de las redes de Feistel. En este caso, las funciones de ronda se seleccionan al azar de una familia de 2k funciones, para cualquier k. También toma en cuenta que son redes donde las rondas incluyen funciones que son permutaciones. Knudsen ataca las construcciones bajo el supuesto de que un ataque de recuperación de clave en una misma función de ronda requiere una búsqueda exhaustiva sobre todas las 2k posibles funciones. En un escenario de texto elegido, los ataques de recuperación de claves en las construcciones de cuatro rondas, la analogía a las permutaciones super-pseudoaleatorias1 en el modelo Luby y Rackoff [10]. Una permutación super-pseudoaleatoria puede ser interpretada como un cifrador de bloques que no puede distinguirse de una permutación aleatoria verdadera, sin importar cuántas preguntas del polinomio de cifrado y descifrado hace un atacante. Más o menos toma sólo el tiempo de una búsqueda exhaustiva de la clave de una ronda. Los resultados de los ataques que presenta Knudsen, es que algunas construcciones, que han sido demostrados en super 1 Una función super-pseudoaleatoria se puede obtener de una función pseudoaleatoria f y dos funciones hash universales, h y h’. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 17 pseudoaleatorios en el modelo de Luby y Rackoff, no parecen ofrecer más seguridad en el modelo que él propone, que las construcciones que no son super pseudoaleatorios. Ju-Sung Kang y otros, examinaron en el año 2003, la pseudoaleatoriedad del cifrador de bloques KASUMI [11], candidato a ser utilizado en teléfonos celulares (2009). A principios de septiembre del año 2009, en la conferencia de LTE ASIA, celebrada en Hong Kong, se demostró el éxito del estándar 3GPP’s LTE (3rd Generation Partnership Project Long Term Evolution) por la atención y el optimismo puesta en ella. Más de 200 delegados examinaron estrategias y los plazos para la migración a las redes LTE. En primer lugar, demuestran que la cuarta ronda de la transformación MISTY-type desbalanceada es pseudoaleatoria, a fin de ilustrar la pseudoaleatoriedad de la ronda interior de la función Fi de KASUMI, bajo un modelo adaptable destacado. En segundo lugar, los autores muestran que la ronda tres de KASUMI, como estructura, no es pseudoaleatoria, pero la cuarta ronda de KASUMI, como estructura, es pseudoaleatoria bajo un modelo no adaptable destacado. Aquí, el término pseudoaleatorio quiere decir que la distribución estadística de la secuencia cifrada en la ronda en cuestión, posee una distribución estadística cercana a la distribución estadística uniforme (tiene la apariencia de una señal de ruido). En el año de 2003, Serge Vaudenay propone en [12] herramientas convenientes para estudiar la pseudoaletoriedad, que es un modelo clásico para la seguridad de sistemas de cifrado de bloque, en relación con la teoría de Shannon, el paradigma de funciones universales de hash Carter– Wegman y el enfoque de Luby–Rackoff. Vaudenay dice que esto permite la construcción de nuevos algoritmos de cifrado con pruebas de seguridad bajo modelos específicos. Así mismo, el autor muestra cómo garantizar la seguridad básica del criptoanálisis diferencial y lineal y ataques incluso más generales. También propone planes de construcción práctica, tales como: COCONUT (Cipher Organized with Cute Operations and NUT): A Perfect Decorrelation Design; PEANUT (Pretty Encryption Algorithm with NUT.): A Partial Decorrelation Design; y WALNUT (Wonderful Algorithm with Light NUT): An Alternate Design. En el año de 2005, John Black y Phillip Rogaway sugirieron en [13] algunas variantes simples del CBC MAC que permitan la eficiente autentificación de mensajes de cualquier longitud arbitraria. Sus construcciones utilizan 3 claves, K1, K2 y K3, para evitar relleno innecesario y aplicaciones MAC en cualquier mensaje M {0, 1}, utilizando un máximo {1, [|M|/n]} del cifrado de bloques de n- Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 18 bits subyacente. La construcción favorita de los autores, XCBC, funciona como sigue: si |M| es un múltiplo positivo de n, entonces es posible calcular la función XOR de la clave K2 de n-bit con el último bloque de M y así se calcula la CBC MAC con la clave K1. De lo contrario, se debe ampliar la longitud de M al siguiente múltiplo de n anexando un relleno m, se realiza la función XOR de la clave K3 de n-bit con el último bloque rellenado del mensaje, para así calcular la CBC MAC con la clave K1. Los autores demuestran la seguridad de esta y otras construcciones, dando límites concretos sobre la incapacidad de un adversario en términos de su inhabilidad para distinguir una permutación aleatoria del cifrador de bloques. Concluyen diciendo que su análisis explota nuevas ideas que simplifican pruebas en comparación con trabajos anteriores. También en el año de 2005, Shiguo Lian y otros realizaron en [14] un cifrador de bloques basado en una transformación caótica estándar; en este caso, la transformación de TENT. Debido a sus características de ergodicidad, sensibilidad a las condiciones iníciales y sensibilidad para controlar los parámetros, etc., las transformaciones caóticas tienen un buen potencial para el cifrado de información. En este documento, los autores proponen un cifrado de bloque basado en la transformación caótica estándar, que se compone de tres partes: un proceso de confusión basada en la transformación caótica estándar, una función de difusión y un generador de claves. Ellos analizan la sensibilidad de parámetro que gobierna el comportamiento de la transformación caótica estándar, y el proceso de confusión basado en su propuesta. Se hace uso de una función de difusión de alta velocidad, y se deriva un generador de clave basado en la transformación caótica Tent (transformación de la tienda) sesgado. En este trabajo se muestran algunos resultados de criptoanálisis sobre la seguridad en el diseño del cifrador. También se analiza su complejidad computacional. Los resultados experimentales muestran que el nuevo algoritmo de cifrado cuenta con una seguridad satisfactoria, a un bajo costo, lo que le hace un candidato potencial para el cifrado de datos multimedia como imágenes, audios e incluso videos. En el año de 2008, Muhammad Asim y Varun Jeoti, proponen en [15] un método eficiente para diseñar S-cajas basado en transformaciones caóticas, las cuales juegan un rol central en diversos algoritmos criptográficos. El método propuesto se basa en la propiedad de mezclado de las transformaciones caóticas lineales por trazos, como lo es la transformación de la tienda. Las S- cajas se fabrican teniendo unas probabilidades de aproximación diferencial y lineal muy bajas. También en el año de 2008, Charanjit S. Jutla define en [16] un nuevo modo de operación para cifrados de bloques que, en adición a la confidencialidad proporcionada, también asegura la Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 19 integridad del mensaje. En cambio, previamente para la integridad de un mensaje de acceso independiente, se requería calcular un código de autenticación de mensaje (MAC). El nuevo modo de operación, llamado Modo Paralelizable de integridad consciente, (IAPM: Integrity Aware Parallelizable Mode), requiere un total de m+1 aplicaciones del cifrado de bloques en un mensaje original de longitud de m bloques. Para comparación, el conocido modo de cifrado CBC (encadenamiento de bloque cifrado) requiere m evaluaciones de cifrado de bloques, y el segundo paso para calcular el CBC-MAC requiere adicionalmente m+1 evaluaciones de cifrado de bloque. Como el nombre lo sugiere, el nuevo modo estambién altamente paralelizable. Cifradores caóticos Los cifradores basados en el caos aparecieron en los años noventa como una aplicación original de la dinámica no lineal en el régimen caótico [17]. Nuevos algoritmos basados en transformaciones caóticos se propusieron para protección de diferentes tipos de datos multimedia, especialmente imágenes y vídeos digitales. Sin embargo, muchos de ellos fundamentalmente fueron viciados por la falta de solidez y seguridad [18]. En el año de 2007, Di Xiao y otros, basado en la propiedad de semi-grupo de la transformación caótica de Chebyshev, y algunas mejoras eficaces de su propio protocolo original, proponen en [19] un protocolo para el acuerdo de claves basado en transformaciones caóticas, demostrando ser seguros, viables y extensibles. También en 2007, Bonseok Koo y otros, diseñaron e implementaron en [20] un hardware unificado para cifradores de bloque ARIA2 y AES3 de 128 Bit. ARIA (Academia, Research Institute and Agency) y AES (Advanced Encryption Standard) son la siguiente generación estándar de algoritmos de cifrado de bloque de Corea y de Estados Unidos, respectivamente. En ese artículo, los autores presentan un área eficiente de arquitectura de hardware unificad o de ARIA y AES. Ambos algoritmos tienen estructuras de red de substitución y de permutación, (SPN: Substitution Permutation Network) de 128 bits, y sus capas de substitución y permutación podrían combinarse eficientemente. Así, los autores proponen una arquitectura de procesador de 128 bits con 2 ARIA es un algoritmo de cifrado de bloques de propósito general involutivo SPN, optimizado para entornos de ligeros y la implementación de hardware. En 2004, ARIA se estableció como un algoritmo de cifrado de bloque estándar de Corea (KS X 1213) por el Ministerio de economía del conocimiento. 3 También conocido como Rijndael (pronunciado "Rain Doll" en inglés), es un esquema de cifrado por bloques adoptado como un estándar de cifrado por el gobierno de los Estados Unidos. http://es.wikipedia.org/wiki/Cifrado_por_bloques http://es.wikipedia.org/wiki/Criptograf%C3%ADa http://es.wikipedia.org/wiki/Gobierno_de_los_Estados_Unidos Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 20 intercambio de recursos, que son capaces de procesar ARIA y AES. Esta es la primera arquitectura que soporta ambos algoritmos. En el año de 2008, S. Behnia y otros en [17], desarrollaron un algoritmo original para cifrar imágenes basadas en la mezcla de transformaciones caóticas. En ese documento, los autores informaron de una implementación de un esquema de cifrador de imagen digital basado en la mezcla de sistemas caóticos. La técnica de criptografía caótica utilizada por los autores de este artículo es una criptografía de clave simétrica. En este algoritmo, mezclaron un mapeo acoplado típico con un mapa caótico unidimensional y fue utilizado para cifradores de imagen de alta seguridad, mientras que su velocidad es aceptable. El algoritmo propuesto se describe en detalle en el articulo, junto con su análisis de la seguridad y las posibles aplicaciones. Los resultados experimentales basados en la mezcla de mapas caóticos, obtenidos por los autores, aprueban la eficacia del método propuesto y la implementación del algoritmo. Esta aplicación de mezcla de transformaciones caóticas muestra ventajas del espacio de claves grandes y alta seguridad. El texto cifrado generado por este método es del mismo tamaño que el texto claro y es adecuado para su uso práctico en la transmisión segura de información confidencial en la Internet. En el año de 2009 S. Behnia y otros, presentan en [18] un nuevo tipo de algoritmo de cifrado de bloque de clave simétrica basado en transformaciones caóticas triples. En este algoritmo, la utilización de dos parámetros de acoplamiento, así como la mayor complejidad del criptosistema, hace una contribución al desarrollo de criptosistemas de mayor seguridad. Con el fin de aumentar la seguridad del algoritmo que ellos proponen, el tamaño del espacio de claves y la complejidad computacional de los parámetros de acoplamiento también deben aumentarse. Los resultados teóricos y experimentales afirman que el algoritmo propuesto tiene ventajas, tales como una velocidad aceptable y una complejidad debido a la existencia de dos parámetros de acoplamiento y alta seguridad. Se debe tener en cuenta que el texto cifrado tiene una distribución cercana a la uniforme y tiene el mismo tamaño que el texto claro. Por lo tanto, es conveniente para uso práctico en comunicaciones seguras. También en el año de 2009, Ali Kanso y Nejib Smaoui proponen en [21] dos generadores de secuencias binarias pseudoaleatorias, basados en transformaciones caóticas logísticas destinados a las aplicaciones de cifrado de secuencias. El primero se basa en una única transformación logística unidimensional que exhibe propiedades aleatorias. El segundo se basa en una combinación de dos transformaciones logísticas. El paso de cifrado que los autores proponen en Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 21 ambos algoritmos consiste en una simple operación XOR bit a bit de la secuencia de texto claro binario con la secuencia binaria de la secuencia de claves. Se aplica una función de umbral para convertir la iteración de un punto flotante en una forma binaria. Los resultados experimentales muestran que las secuencias producidas poseen alta complejidad lineal y muy buenas propiedades estadísticas que fueron descritas en [22]. Por último, los sistemas son presentados para la evaluación de seguridad por los comités de cifrado [23]. También en el año de 2009, Huaqian Yang y otros, proponen en [24] un nuevo criptosistema basado en una transformación caótica, la transformación logística, y operaciones algebraicas. El algoritmo de cifrado que proponen, cifra texto claro de 128 bits para bloques de texto cifrado de 128 bits, utilizando una clave de 128 bits K y el valor inicial x0 y el parámetro de control de la transformación logística. Consta de una permutación inicial y ocho rondas computacionalmente idénticas seguidas de una transformación de salida. R es una ronda que utiliza una clave de 128 bits K(r) para transformar un C(r-1) de entrada de 128 bits, que se alimenta a la siguiente ronda. El resultado después de 8 rondas entra en la transformación de salida para producir el texto cifrado final. Todas las claves de ronda se derivan de K y una secuencia binaria aleatoria de 128 bits generados por una transformación caótica. El análisis muestra que el cifrado de bloques propuesto no sufre de los fallos de criptosistemas caóticos puros y posee alta seguridad. Fuyan Sun y Shutang Liu en el 2009, propusieron en [25] un esquema para generación de secuencias binarias pseudoaleatorias basado en la transformación caótica espacial4. Para hacer frente al reto mediante la propuesta PRBS (Pseudo Random Binary Sequence) en criptografía, el PRBS que propusieron lo sometieron a pruebas estadísticas que son las bien conocidas FIPS-140-1 [23], en el ámbito de la criptografía, y propiedades de correlación de las secuencias propuestas son investigados. La propuesta PRBS pasa con éxito todas estas pruebas. Los resultados de las pruebas estadísticas de las secuencias se encuentran alentadores, ya que las propiedades de correlación de la secuencia propuesta, sugiere una fuerte similitud con las secuencias aleatorias. Los resultados de pruebas estadísticas indican fuerte candidatura para las aplicaciones criptográficas, al solventar con éxito las pruebas descritas propuestas en [23]. 4 El caos espacial puede surgir como consecuencia de la competencia espacial de periodicidad solo como caos temporal puede ser causada por la competenciade periodicidad temporal o frecuencias. En particular, el caos espacial se produce en los sistemas de materia condensada, donde uno de los períodos es el de la red cristalina y el otro período de una estructura ordenada modulada. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 22 Comentarios al capítulo Con el estado del arte se puede visualizar el estado de la criptografía a bloques sobre la cual ya hay muchos trabajos publicados. Esto da una perspectiva amplia de la importancia de proponer nuevos criptosistemas de este tipo. Con respecto al caos en la criptografía se puede observar que este ha tenido mucha aceptación en la comunidad científica. Se han estudiado varias transformaciones caóticas, pero al recabar información se encuentra que la transformación caótica senoidal no ha sido estudiada para este fin. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 23 CAPÍTULO II CIFRADOR DE BLOQUES CAÓTICO Resumen En este capítulo se analiza la transformación caótica senoidal, con herramientas de la mecánica estadística como son el diagrama de trayectorias, el diagrama de bifurcación, el exponente de Lyapunov y el concepto de convergencia fuerte. Se describe la propuesta del cifrador de Kocarev y se presenta la propuesta del cifrador con la función caótica. Al final de este capítulo se encuentran las pruebas de funcionalidad hechas a los criptogramas del cifrador aquí propuesto. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 24 Antecedentes Contexto de la criptografía La criptografía (del griego κρύπτω krypto, “oculto”, y γράφω graphos, “escribir”, literalmente “escritura oculta”), de acuerdo con la Real Academia de la lengua Española, es el arte de escribir de manera oculta usando una llave secreta. Sin embargo, esta definición se ha quedado obsoleta para el desarrollo que la criptografía ha alcanzado. Así, en términos más reales, la criptografía se puede definir como una rama de las Matemáticas, de la teoría de la información, teoría de la complejidad y, en la actualidad también, de la Informática y la Telemática, que hace uso de algoritmos, métodos y técnicas para transformar un mensaje, archivo o señal en una versión incomprensible, usando una (secreta) ó más claves (pública y privada) para su protección incorporándole uno o más atributos de seguridad. Esto da lugar a diferentes tipos de criptosistemas, que permiten asegurar al menos tres de los cuatro atributos básicos de la seguridad informática: la confidencialidad o secreto del mensaje, la integridad del mensaje y autenticidad del emisor, así como el no repudio mutuo entre emisor (cliente) y receptor (servidor) De este modo, la criptografía se ha convertido en una ciencia que se deriva de la informática y las matemáticas que se encarga del diseño, construcción y evaluación de algoritmos que, usando una o más claves criptográficas, se usan para proteger información, en tránsito o almacenada, de posibles afectaciones a su confidencialidad, integridad y disponibilidad. Además, incluye algoritmos que fortalecen la seguridad de las comunicaciones. Con más precisión, cuando se habla de esta área de conocimiento como ciencia, se debería hablar de criptología, que a su vez engloba tanto las técnicas de cifrado, es decir, la criptografía propiamente dicha, como sus técnicas complementarias, entre las cuales se incluye el criptoanálisis, que estudia métodos empleados para romper textos cifrados con objeto de recuperar la información original en ausencia de las claves. En criptografía, la información original que debe protegerse se denomina texto claro o mensaje original. El cifrado es el proceso de convertir el mensaje original en un mensaje ilegible, denominado texto cifrado o criptograma. Por lo general, la aplicación concreta del algoritmo de cifrado se basa en la existencia de una o más claves, de las cuales al menos una de ellas se mantiene en secreto. http://es.wikipedia.org/wiki/Idioma_griego Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 25 El descifrado es el proceso inverso que recupera el mensaje original a partir del criptograma y la clave respectiva. El protocolo criptográfico especifica los detalles de cómo se utilizan los algoritmos y las claves (y otras operaciones primitivas) para conseguir el efecto deseado. Un criptosistema es una tupla (M, C, K, E, D) con las siguientes propiedades: 1. M es un conjunto de elementos llamados mensaje original o mensaje original. 2. C es un conjunto de elementos llamados texto cifrado o criptograma. 3. K son las posibles claves para cifrar y descifrar el criptograma. 4. E es un elemento llamado funciones de cifrado o transformaciones de cifrado. Donde es una familia de funciones . El proceso de cifrado se suele representar como 1 donde 5. D es un elemento llamado funciones de descifrado o transformaciones de descifrado. Donde es una familia de funciones . El proceso de descifrado se suele representar como 2 donde puede ser la misma que si se usan un algoritmos simétrico y es diferente si se usa un algoritmo asimétrico. Todo criptosistema cumple la condición es decir, que si se tiene un mensaje m, se cifra empleando la clave k y luego se descifra empleando la k’ clave, se obtiene el mensaje original m. Este proceso lo podemos observar en la Figura 1. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 26 La criptografía se divide en dos grandes ramas, la criptografía de clave secreta o simétrica y la criptografía de clave pública o asimétrica. En la criptografía asimétrica una de las claves se hace de conocimiento general, por lo que se le llama clave pública; mientras que la otra, se mantiene en secreto y se le llama clave privada. Ambas claves no son independientes, pero la seguridad del sistema reside en la dificultad computacional de descubrir la clave privada a partir de la pública. Para ello, usan funciones matemáticas de un solo sentido o con trampa. Cuando un receptor desea recibir una información de manera confidencial, ha de hacer llegar a todos los potenciales emisores su clave pública, para que estos cifren los mensajes con dicha clave. De este modo, el único que podrá descifrar el mensaje será el legítimo receptor, mediante su clave privada. Cuando un emisor desea enviar una información de manera confidencial, cifra el mensaje con su clave privada. Los receptores descifran el mensaje con la clave pública del emisor, de tal manera que se tiene la certeza de que el mensaje fue enviado por el emisor que dice ser. Matemáticamente, si es el algoritmo cifrador y el descifrador, se ha de cumplir que: 3 representando M el mensaje original, y siendo k y k’ las claves de cifrado y descifrado, respectivamente. Figura 1 Arquitectura de un criptosistema Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 27 En general, las ventajas y desventajas de la criptografía simétrica se mencionan a continuación. Ventajas de los algoritmos asimétricos: Número de claves reducido, ya que cada individuo necesitará únicamente un par de claves. Computacionalmente es complicado encontrar la clave privada a partir de la pública. No es necesario transmitir la clave privada entre emisor y receptor. Permite autenticar a quien utilice la clave privada. Desventajas de los algoritmos asimétricos: Alto coste computacional en el proceso de generación de claves. La necesidad de un tercero (Autoridad de Certificación) en el proceso Necesidad de una gran infraestructura independientemente del número de individuos. La criptografía simétrica utiliza una clave común (secreto compartido), con la cual es posible cifrar y descifrar los mensajes comunicados entre dos o más partes. La fortaleza de estos algoritmosradica principalmente en que la clave solo es conocida por las entidades que desean transmitir la información de manera confidencial. Sin embargo, uno de sus principales problemas es la distribución de la clave [26]. En general, las ventajas y desventajas de la criptografía simétrica se mencionan a continuación. Ventajas de los algoritmos simétricos: Pueden diseñarse para cifrar grandes cantidades de información. Las claves usadas son más pequeñas que en los cifradores asimétricos. Pueden emplearse como primitivas para la construcción de varios mecanismos criptográficos, incluyendo generadores de números pseudoaleatorios, funciones hash y esquemas eficientes de firma digital. Pueden combinarse para producir cifradores más fuertes. Desventajas de los algoritmos simétricos: La clave debe ser distribuida en secreto en un esquema de comunicación entre dos entidades. Es necesario tener un buen esquema de administración de claves. Se necesitan claves secretas en un sistema con n usuarios. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 28 Es recomendable cambiar frecuentemente la clave usada en una comunicación entre dos entidades. Lo ideal es que exista una clave para cada sesión que sostengan entre ellas. Los mecanismos de firma digital que se presentan en el cifrado simétrico requieren que las claves sean grandes para la función pública de verificación o en dado caso el uso de una tercera entidad en la cual confíen las entidades involucradas en el esquema de firma digital. La criptografía simétrica hace una clasificación de los cifradores con base al tratamiento que se le da al mensaje que se cifra; esto es, Cifradores por Bloques y Cifradores por Flujo. Los cifradores por flujo convierten el mensaje original en un criptograma bit a bit. Esto se logra construyendo un generador de flujo de clave. Un flujo de clave es una secuencia de bits de tamaño 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 función XOR. Si el flujo de clave es seguro, el flujo de datos cifrados también lo será. Se puede construir un generador de secuencia cifrante iterando una función matemática de ruido sobre un rango de valores de entrada para producir un flujo continuo de valores de salida. Los valores de salida se utilizan para cifrar con una función de combinación el flujo de datos proveniente del mensaje original. La secuencia cifrante en este generador se produce con una clave compartida de pequeña longitud, comparada con el tamaño del mensaje a cifrar. El cifrado de flujo, al ser un algoritmo simétrico, requiere que la clave de pequeña longitud sea compartida por el emisor y el receptor [27]. Los cifradores por bloques operan en grupos de bits de longitud fija, llamados bloques. Para el proceso de cifrado el cifrador de bloques toma un bloque del mensaje original como entrada y produce un bloque de igual tamaño del criptograma. La transformación exacta es controlada utilizando una segunda entrada, la clave de cifrado, que puede ser la pública o la privada. El descifrado es similar: se ingresan bloques del criptograma y se producen bloques del mensaje original recuperado [28]. Caos y criptografía El caos es la denominación popular de la rama de las matemáticas y la física que trata ciertos tipos de comportamientos impredecibles de los sistemas dinámicos, los cuales son en principio determinísticos. Los sistemas dinámicos se pueden clasificar básicamente en: Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 29 Estables Inestables Caóticos Un sistema estable tiende en el tiempo a un punto fijo o a una órbita fija, según su dimensión (atractor5). Un sistema inestable se escapa de los atractores, más bien posee puntos que son repulsores6. Un sistema caótico manifiesta los dos comportamientos en función de un parámetro que gobierna su comportamiento. Por lo tanto, un sistema caótico es un sistema dinámico, no lineal, determinístico que muestra una dependencia muy sensible a las condiciones iniciales y presenta una evolución a través de un espacio de fase que parece ser aleatorio. Estas propiedades proporcionan un potencial para aplicaciones en criptografía, ya que las predicciones a largo plazo de los sistemas caóticos son muy difíciles de hacer [29]. Una de las mayores características de un sistema inestable es que tiene una gran dependencia de las condiciones iniciales. De un sistema del que se conocen sus ecuaciones características, y con unas condiciones iniciales fijas, se puede conocer exactamente su evolución en el tiempo. Pero en el caso de los sistemas caóticos, una mínima diferencia en esas condiciones hace que el sistema evolucione de manera totalmente distinta. Formalmente un sistema caótica se especifica por medio de la expresión: 4 donde f() es una función no lineal. Los fractales y los sistemas caóticos tienen características que se han estudiado intensivamente través de los años, y su complejidad inherente deriva de la sensibilidad extrema del sistema a las condiciones iniciales. Un fractal es un objeto cuya estructura básica se repite en diferentes escalas. Los fractales son estructuras que combinan irregularidad y estructura. La criptografía fractal o caótica aplica fractales y sistemas caóticos para obtener métodos criptográficos. Los casos de fractales que interesan para la criptografía son los generados por un proceso recursivo o iterativo basado en alguna función matemática. 5 Un atractor es el conjunto al que el sistema evoluciona después de un tiempo suficientemente largo. Para que el conjunto sea un atractor, las trayectorias que le sean suficientemente próximas han de permanecer próximas incluso si son ligeramente perturbadas. Geométricamente, un atractor puede ser un punto, una curva, una variedad o incluso un conjunto complicado de estructura fractal conocido como atractor extraño. 6 Las trayectorias que empiezan cerca del origen acaban escapando de él, este punto recibe el nombre de repulsor. http://es.wikipedia.org/wiki/Conjunto http://es.wikipedia.org/wiki/Sistema http://es.wikipedia.org/wiki/Trayectoria http://es.wikipedia.org/wiki/Punto http://es.wikipedia.org/wiki/Curva http://es.wikipedia.org/wiki/Variedad http://es.wikipedia.org/wiki/Fractal http://es.wikipedia.org/wiki/Atractor#Atractor_extra.C3.B1o Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 30 En resumen en la Tabla 1 se presentan las propiedades del caos y se comparan con las propiedades que requiera la criptografía para generar criptosistemas idóneos. Tabla 1 Comparativa de los requerimientos criptográficos contra las propiedades de los sistemas caóticos. Requerimientos criptográficas Propiedades de los sistemas caóticos Difusión Un cambio mínimo de un elemento en el mensaje original por mínimo debería cambiar la mayor cantidad posible de elementos en el criptograma. Sensibilidad de condiciones iniciales Una transformación caótica unidimensional generará una órbita (señal) específica para una condición inicial; sin embargo, si esta condición inicial cambia por una cantidad , arbitrariamente pequeña, la órbita (señal) generada será sustancialmente diferente. Confusión La relación entre el criptograma y la clave debe de ser lo más compleja posible Propiedad de Mezclado Un conjunto de condiciones iniciales muy cercanas entre sí, las cuales se encuentran dentro de un intervalo pequeño arbitrario, llegan a dispersarse sobre el intervalo unitario total dado el valor del parámetro que gobierna su comportamiento y dada la sensibilidad de la transformación caótica ante condiciones iniciales. Aleatoriedad Se requiere de una señal cuya distribución estadística tenga la apariencia de ser unaseñal con distribución uniforme. Caos determinista Ocurre que la señal que genera una transformación caótica unidimensional siempre será la misma si se emplea exactamente la misma condición inicial y el mismo valor del parámetro que gobierna su comportamiento. Sin embargo, es posible para cierto valores del parámetro, que la señal generada tenga una distribución similar a la distribución uniforme. Es aquí donde se hace evidente que aleatoriedad NO implica impredecibilidad. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 31 Transformación Caótica senoidal Un sistema dinámico se puede definir a partir de un conjunto de reglas que describen cómo evoluciona un determinado fenómeno, partiendo de un cierto estado inicial, y a medida que cambia una variable independiente. Generalmente esta variable independiente es el tiempo. Los sistemas dinámicos se pueden clasificar de acuerdo a tres criterios distintos. Esto es: 1. Discretos o continuos 2. Deterministas o aleatorios 3. Conservativos o disipativas Los sistemas dinámicos, discretos, deterministas y no lineales son conocidos como transformaciones caóticas, cuya definición usando las variables de un sistema caótico es la siguiente. La región del espacio de fases hacia las que converge una órbita de un conjunto de condiciones iniciales. Para esta tesis, se trabaja con la transformación caótica senoidal7 unidimensional (1-D). Esta transformación se define como sigue: 5 con µ=1, esta transformación alcanza el intervalo unitario de una manera muy similar a como lo hace la transformación logística ( ver la Figura 2). La transformación senoidal es cuadrático cerca de , al igual que la transformación logística, por lo que tiene una distribución de probabilidad casi idéntica y una ruta al caos por doblamiento de periodo. Las ventanas periódicas se producen en el mismo orden y con los tamaños relativos [30]. Tiene el mismo número de Feigenbaum8 como la transformación logística [31], ya el máximo es cuadrático. A pesar de las similitudes, existen diferencias cuantitativas entre la transformación senoidal y la logística. 7 El mapeo o transformación senoidal en ingles se encuentra como sine map. 8 El número descubierto por Mitchell Feigenbaum al estudiar iteraciones de funciones con bifurcación de atractores puede considerarse una constante universal más, de gran importancia en los procesos de dinámica no lineal. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 32 Figura 2 Transformación senoidal con Como se mencionó anteriormente, la transformación senoidal posee características semejantes a la transformación logística, y se puede definir como una familia de curvas parabólicas mostradas en Figura 3. Esta familia de curvas se obtiene usando la ecuación 5, donde . Figura 3 Familia de curvas para la transformacion senoidal para parámetros desde hasta Esta familia de curvas tiene su máximo en y su valor es µ. Para la implementación de esta transformación en el criptosistema propuesto se requiere su forma equivalente, usando la ecuación de iteración 6. 6 µ=0.1 µ=0.2 µ=0.3 µ=0.4 µ=0.5 µ=0.6 µ=0.7 µ=0.8 µ=0.9 µ=1 Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 33 µ representa el parámetro que gobierna la transformación. Es decir, dado un valor de µ, el resultado de la iteración se puede observar de dos formas; en la primera existen conjuntos que se reducen y convergen hacia un punto único. El punto al que se converge se denomina punto fijo atractivo. Por el contrario, si la iteración muestra puntos que divergen de un punto único se dice que éste es un punto fijo inestable o punto fijo repulsor. Esto sucede sin importar el valor inicial. Diagramas de trayectorias Para iterar la función se necesita un valor inicial y el resultado será la siguiente entrada de la función, se observa mejor en la ecuación 7. 7 donde es la n-esima iteración de . El conjunto de todas las iteraciones de una función es llamada transformación de la función. Una manera de visualizar la iteración de una función, es dibujando la línea recta (también llamada línea de identidad) y la función . Si empezamos a dibujar líneas siguiendo los puntos podemos ver que la iteración se puede hacer geométricamente trazando líneas desde hasta la línea y de regreso a , en la Figura 4 se observa este comportamiento. A esto se le llama diagrama de trayectorias9. 9 En ingles se conoce como cobweb diagram Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 34 Figura 4 Función iterada con y Para la función senoidal, si y la dinámica estará delimitada en Para el caso de con un valor se obtiene para cualquier valor de las iteraciones , se observa en la Figura 5 que el sistema no divergen a ningún punto, se mantiene estable. Figura 5 Punto fijo con Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 35 Si se incrementa el valor µ, de 0.3 a 0.4, con el mismo valor de x, se observa que el comportamiento es el mismo, (ver la Figura 6). Con el paso de las iteraciones el sistema llega a un punto fijo. Figura 6 Iteración de la función Si se incrementa el valor a µ=0.8 con el mismo valor de x se observa que el comportamiento que diverge en algunos puntos, pero crea muy poco caos, Figura 7. Figura 7 Iteración de la función con Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 36 Si se incrementa a su máximo valor de con el mismo valor de x , se observa que las iteraciones caen en la mayor parte del intervalo de x , (ver Figura 8), la máxima crea el mayor caos en el plano. En el caso del máximo valor del parámetro µ se espera el caos cubra en su totalidad el plano. Con este método es difícil determinar a partir de qué valor el valor µ genera caos, por lo cual se utiliza otro método más efectivo para determinarlo, el cual es, el diagrama de bifurcación. Figura 8 Iteración de la función con la máxima µ Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 37 Diagrama de bifurcación En los sistemas dinámicos un diagrama de bifurcación 10 es una herramienta que muestra las posibles órbitas a las que tiende la transformación, como una función del parámetro que lo gobierna, y permite visualizar donde existe el comportamiento periódico y donde existe el comportamiento caótico. Comúnmente se grafica en el eje horizontal el parámetro que lo gobierna (µ) y en el eje vertical las posibles órbitas del sistema (transformación caótica). Para construir el diagrama de bifurcación se toma en cuenta el siguiente procedimiento: a) Se selecciona una condición inicial aleatoria de y se itera la transformación veces, calculando . b) Se desprecia las primeras 100 iteraciones para garantizar que se ha superado la etapa transitoria. c) Se grafica las iteraciones restantes. La Figura 9 muestra el resultado de este procedimiento para valores del parámetro de . Figura 9 Diagrama de bifurcación para la transformación senoidal 10 Una bifurcación es un cambio de la topología del sistema cuando los parámetros pasan por un valor de bifurcación o valor crítico. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 38 Del diagrama de bifurcación podemos observar los siguientes comportamientos de µ. la transformación se mantiene en cero, independientemente de la condición inicial. la transformación rápidamente se estabiliza al valor de una manera aproximadamente lineal. la transformación también se estabiliza al valor de una manera aproximadamente lineal, excepto para cuya convergencia a ese valor estable esdramáticamente lenta. la transformación oscila entre dos valores, los cuales son dependientes del valor µ. Conforme el valor del parámetro para la transformación se incrementa, el periodo de orden 2 llega a ser inestable para un valor de , dando paso a una órbita estable de periodo 4. la transformación oscila entre cuatro valores. Al seguir incrementando el valor del parámetro, la órbita de periodo 4 llega a ser inestable cuando μ tiene un valor aproximado de 0.86, dando nacimiento a una órbita estable de periodo 8. la transformación oscilará entre 8, 16, 32, etc. valores, siguiendo el fenómeno de doblamiento del periodo. Este proceso de doblamiento de periodo se repite indefinidamente, de modo que existe un conjunto {µn} tal que si existe una órbita estable de periodo 2n. Más aun, 8 A este valor del parámetro se le llama punto crítico de Feigenbaum. La órbita que se genera para μ = μ∞ es obviamente no periódica, y además no contiene ninguna de las órbitas inestables que mueren en el proceso del doblamiento del periodo. De hecho, entre dos puntos de la órbita para μ∞, se encuentra un punto inestable. De esta forma, el conjunto es no conexo, ya que en una vecindad alrededor de uno de ellos siempre se encuentra un punto que no pertenece a él. Así, el conjunto X tiene un número infinito de agujeros, conformando un conjunto de Cantor11, que junto con su 11 El Conjunto de Cantor fue introducido por el matemático alemán Georg Cantor en 1883 y se refiere a un conjunto infinito de puntos que existen en el intervalo (0, 1) cuyas propiedades son extraordinarias. El conjunto de Cantor más común es el Ternario y se construye removiendo iterativamente el segmento intermedio de intervalos resultantes de haber removido el segmento central de un intervalo unitario que se ha dividido en tres partes iguales. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 39 complemento por todas las órbitas inestables , conforman un conjunto continuo cuando μ=μ∞. Así, tanto X como son conjuntos de Cantor [32], los cuales poseen una distribución estadística sobre objetos fractales12. es la entrada de esta transformación al caos. En ese punto se reconoce el final del fenómeno de doblamiento del periodo. , la transformación exhibe un comportamiento caótico, existiendo ciertos valores del parámetro para los cuales existen un comportamiento no caótico. A estas regiones se les llama comúnmente islas de estabilidad. El diagrama de bifurcación tiene un comportamiento fractal, también llamado autosimilar, y se conoce también como diagrama de Feigenbaum debido a que está muy relacionado con el trabajo de Mitchell Feigenbaum [33]. Se dice que el diagrama de bifurcación es un fractal debido a que si se hace un acercamiento a alguna de las regiones del diagrama original. El diagrama de bifurcación es una herramienta representativa de la Teoría del Caos, que muestra la estructura que indica los cambios en el comportamiento dinámico de la transformación, manifestándose el fenómeno del doblamiento del periodo o fenómeno de bifurcación, al cual René Thom en 1969 vio como un ejemplo de lo que él llamó “catástrofe generalizada”[34] [35] [36]. Distribución estadística En un sistema caótico no se puede determinar el comportamiento de su órbita a largo plazo. Por eso, se necesita un análisis estadístico de la órbita, el cual consiste en averiguar qué tan frecuentemente la órbita visita diferentes regiones, dando lugar a un histograma asociado a esta órbita. El problema de esto es que se tendría que analizar una órbita de longitud infinita, lo cual no es posible numéricamente. Sin embargo, se puede determinar aproximadamente la distribución invariante (estacionaria), , al considerar órbitas muy grandes. Para obtener la distribución invariante asociada a la transformación se hace uso del Teorema Ergódico de Birkhoff 13, el cual indica que es equivalente estudiar la evolución de una distribución 12 Un fractal es un objeto semi geométrico cuya estructura básica, fragmentada o irregular, se repite a diferentes escalas. El término fue propuesto por el matemático Benoît Mandelbrot en 1975 y deriva del Latín fractus, que significa quebrado o fracturado. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 40 inicial, y de todos y cada uno de los puntos que la conforman se les aplique la transformación. Cuando se obtenga una distribución que sea invariante ante la aplicación de la transformación, tal distribución corresponde a la que se encontraría en el análisis estadístico de la órbita infinita. Así, aunque no se pueda predecir el valor que tome una órbita generada por un sistema dinámico caótico, si se puede saber el comportamiento estadístico del sistema. Para entender esto, considérese que cuando se itera la transformación f(x) sobre algún valor x0 se genera la órbita, 9 De modo que, el promedio de una función b(x) sobre la órbita O(x0) está definida por 10 Ahora bien, el primer Teorema de Birkhoff [37] asegura la existencia de este límite para casi todas las condiciones iniciales x0, y además, es constante casi en cualquier punto del espacio. En tanto que el segundo Teorema de Birkhoff establece que, cuando la transformación es ergódica, este promedio es igual al promedio sobre el espacio fase definido por 11 Esto es conocido como el Teorema Ergódico de Birkhoff, su importancia yace en el hecho de que los sistemas dinámicos caóticos presentan sensitividad ante condiciones iniciales, lo que implica que en la práctica no sea posible calcular la órbita de un punto x0, ya que en cada evaluación f j(xo) se lleva a cabo un redondeo que introduce un error en la iteración, y este error se hace cada vez mayor, de forma que la órbita calculada puede no tener nada que ver con la órbita real. Sin embargo, de la ecuación 11, se establece que el promedio sobre la órbita es igual al promedio sobre el espacio fase. De manera que, si se puede determinar la distribución invariante, , entonces, es posible evaluar que es idéntico al promedio sobre la órbita. Con estos resultados es posible determinar la medida de un conjunto A, , la cual está definida por 13 El Teorema Ergódico es frecuentemente interpretado de la siguiente forma: “Para una transformación ergódica, el promedio estadístico es seguramente igual al promedio aritmético”. En general el promedio estadístico y el promedio aritmético son diferentes, pero si la transformación es ergódica y la medida invariante, son iguales casi siempre. Mapeo Caótico Senoidal Aplicado al Cifrado de Bloques Página 41 12 Para ello, considérese que b(x) = IA(x), donde IA(x) está definida por, 13 Así, 14 siendo ni es el número de veces que la órbita visita al intervalo Ai y n es el número de elementos que conforman la órbita. Así, 15 Ahora, usando la ecuación 11, se encuentra el valor de , 16 Se dice que esta medida es invariante cuando se cumple la propiedad de invarianza14 [38] [39] [40], la cual dice que para cualquier conjunto A: 17 en donde f-1(A) es el conjunto de puntos que van a A después de una aplicación de la transformación f, o sea: 18 Lo que significa que la medida estadística para un intervalo es igual a la medida estadística de su preimagen, lo cual se desprende del hecho de que el promedio sobre la órbita es independiente del punto inicial. Cuando se satisface la propiedad de invarianza se dice que la medida es invariante ante la transformación f(x). 14 También llamada Principio
Preguntas Generales
Compartir