DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan...

75
UNIVERSIDAD AUTÓNOMA DE SAN LUIS POTOSÍ COORDINACIÓN ACADÉMICA REGIÓN ALTIPLANO OESTE DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE PUNTOS DE EQUILIBRIO EN SISTEMAS LINEALES POR PEDAZOS Y SU APLICACIÓN A LA CRIPTOGRAFÍA. TESIS PROFESIONAL PARA OBTENER EL TÍTULO DE: INGENIERO EN SISTEMAS COMPUTACIONALES PRESENTA: JUAN DANIEL GONZÁLEZ DEL RÍO ASESORES DE TESIS: DR. LUIS JAVIER ONTAÑÓN GARCÍA PIMENTEL DR. MARCO TULIO RAMÍREZ TORRES ABRIL 2019

Transcript of DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan...

Page 1: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

UNIVERSIDAD AUTÓNOMA DE SAN LUIS POTOSÍ

COORDINACIÓN ACADÉMICA REGIÓN ALTIPLANO

OESTE

DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL

AUMENTO DE PUNTOS DE EQUILIBRIO EN SISTEMAS

LINEALES POR PEDAZOS Y SU APLICACIÓN A LA

CRIPTOGRAFÍA.

TESIS PROFESIONAL

PARA OBTENER EL TÍTULO DE:

INGENIERO EN SISTEMAS COMPUTACIONALES

PRESENTA:

JUAN DANIEL GONZÁLEZ DEL RÍO

ASESORES DE TESIS:

DR. LUIS JAVIER ONTAÑÓN GARCÍA PIMENTEL

DR. MARCO TULIO RAMÍREZ TORRES

ABRIL 2019

Page 2: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

AGRADECIMIENTOS

Los sueños parecen al principio imposibles, luego improbables, y luego, cuando

nos comprometemos, se vuelven inevitables.

Mahatma Gandhi

Primeramente, quiero agradecer a la UASLP, Coordinación Académica Región

Altiplano Oeste, por darme la oportunidad de estudiar una carrera universitaria, así

como formar parte de la primera generación de egresados del campus Salinas.

Gracias a mis asesores y profesores, el Dr. Luis Javier Ontañón García Pimentel y

el Dr. Marco Tulio Ramírez Torres. Por brindarme su conocimiento, motivación,

paciencia, disponibilidad, ayuda y enseñanzas personales y profesionales a lo largo

de mi vida como estudiante, impulsándome a seguir adelante en todo momento.

Otorgándome grandes experiencias tanto en la investigación, participaciones

académicas y eventos estudiantiles, los cuales me hicieron crecer y formarme

profesionalmente. Agradecimientos a los administradores y profesores del campus

Salinas por su gran apoyo, atención y amabilidad, así como orientarme e

impulsarme a seguir adelante en estos 4 años de estudio.

Gracias a todos aquellos con los que he podido colaborar profesionalmente, así

como a mis compañeros de generación de la carrera de Ingeniería en Sistemas

Computacionales por su motivación, consejos y compañía.

Y por encima de todo, quiero agradecer incondicionalmente a toda mi familia

quienes me brindaron todo su apoyo y buenas vibras para concretar uno de mis

sueños. En especial a mis padres, por creer y confiar en mí, y brindarme la

oportunidad de seguir estudiando a pesar de todo. A mi hermano Karol por

regalarme su cariño y ternura, además de animarme en los momentos difíciles y

agotadores para mí.

A mis amigos que siempre estuvieron presentes, gracias por su amistad y ánimos

cada día. Siempre lograban animarme y hacer que mi vida universitaria fuera más

cómoda. Gracias a los que vienen y a los que ya no están, por dejarme una gran

experiencia.

Muchas gracias a todos, de todo corazón.

Page 3: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

DEDICATORIA

Este logro es dedicado en especial a mis padres Rosa María Del Rio y Juan Manuel

González Tapia González por ser un pilar fundamental en mi vida, por su apoyo,

amor, comprensión y motivación durante estos años que me han permitido llegar a

cumplir mi sueño, a mi hermano Karol Alejandro por ser parte importante en mi vida,

por estar siempre conmigo apoyándome y llenándome de alegría siempre que lo

necesite, también a toda mi familia por siempre alentarme a estudiar y ser mejor

persona. A Dios, por ser mi fortaleza en mis momentos de debilidad y brindarme

una vida llena de aprendizajes y experiencias.

A mis asesores el Dr. Luis Javier Ontañón García Pimentel y el Dr. Marco Tulio

Ramírez Torres por su apoyo incondicional en todo momento e influencia de

siempre seguir adelante. Por otorgarme su conocimiento para llevar a cabo esta

tesis, así como las oportunidades de compartir el conocimiento aprendido en varios

congresos y actividades estudiantiles.

También a mí, por mi gran esfuerzo, dedicación y responsabilidad, por mis ganas

de siempre seguir adelante y demostrarme de lo que puedo ser capaz.

Juan Daniel González Del Río

Page 4: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

2

ÍNDICE GENERAL

ÍNDICE GENERAL .................................................................................................. 2

ÍNDICE DE TABLAS ............................................................................................... 4

ÍNDICE DE FIGURAS ............................................................................................. 5

Resumen ................................................................................................................. 6

CAPÍTULO 1. Introducción a los sistemas caóticos y criptografía ........................... 7

1.1. Objetivo general ......................................................................................... 9

1.2. Objetivos especificos ................................................................................. 9

1.3. Antecedentes ........................................................................................... 10

1.3.1. Caos ........................................................................................... 10

1.3.2. Criptografía ................................................................................. 11

1.3.3. Seguridad perceptual y criptográfica. .......................................... 13

1.3.4. Autómatas celulares. .................................................................. 13

1.3.5. Regla 90...................................................................................... 14

1.4. Esquema de Tesis ................................................................................... 15

CAPÍTULO 2. Sistemas Dinámicos. ...................................................................... 16

2.1. Sistema de Lorenz. .................................................................................. 16

2.2. Sistema de Rössler. ................................................................................. 17

2.3. Bifurcación. .............................................................................................. 19

CAPÍTULO 3. Diseño de sistemas caóticos con puntos de equilibrio. .................. 22

3.1. Sistemas caóticos. ................................................................................... 22

3.2. Sistemas lineales por pedazos. ............................................................... 22

3.3. Exponentes de Lyapunov. ....................................................................... 28

3.4. Diagrama de bifurcación del sistema multienroscado .............................. 29

CAPÍTULO 4. Desarrollo y mejora de un sistema de encriptacion de imágenes

digitales. ................................................................................................................ 30

4.1. Generador de bits pseudoaleatorio. ......................................................... 30

4.2. Diseño del esquema de cifrado y descifrado. .......................................... 31

4.3. Chosen-Plaintext attack ........................................................................... 32

4.4. Mejora al sistema de cifrado. ................................................................... 34

CAPÍTULO 5. Validación del sistema de cifrado. .................................................. 40

5.1. Cifrado de las imágenes. ......................................................................... 40

5.2. Análisis de histogramas. .......................................................................... 41

Page 5: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

3

5.3. Análisis de correlación entre la imagen original y la encriptada. .............. 43

5.4. Entropía de la información. ...................................................................... 44

CONCLUSIONES .................................................................................................. 45

APÉNDICE ............................................................................................................ 46

Apéndice A. Método de 4to orden de Runge Kutta. ........................................ 46

Apéndice B. Códigos de simulaciones en Matlab. .......................................... 47

Apéndice C. Congresos Arbitrados. ................................................................ 55

REFERENCIAS ..................................................................................................... 71

Page 6: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

4

ÍNDICE DE TABLAS

Tabla I. Ubicación de las superficies de conmutación. .......................................... 23

Tabla II. Posición de los puntos de equilibrio para la generación del sistema

multienroscado. ..................................................................................................... 27

Tabla III. Interpretación de los coeficientes de correlación. ................................... 43

Tabla IV. Coeficientes de correlación entre las imágenes simples y sus

correspondientes imágenes cifradas. .................................................................... 43

Tabla V. Entropía de la información de las imágenes originales y las imágenes

cifradas. ................................................................................................................. 44

Page 7: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

5

ÍNDICE DE FIGURAS

Figura 1. Algoritmo de encriptación simétrico........................................................ 11

Figura 2. Algoritmo de encriptación asimétrico...................................................... 12

Figura 3. Representación de la regla 90 de un autómata celular y su evolución... 14

Figura 4. (a) Atractor de Lorenz ............................................................................ 17

Figura 5. (a) Atractor de Rössler ........................................................................... 18

Figura 6. Diagramas de Bifurcación del sistema Lorenz ....................................... 19

Figura 7. Diagramas de Bifurcación del sistema de Rössler ................................. 20

Figura 8. Diagrama de regiones, superficies de conmutación y colocación de puntos

de equilibrio para la realización del sistema multienroscado. ................................ 24

Figura 9. (a) Proyección del sistema multienroscado en 3 dimensiones dado por las

ecs. (5) y (6) para la ley de conmutación de la ec. (7) con nueve atractores ........ 26

Figura 10. Grafica dinámica de los Exponentes de Lyapunov del sistema

multienroscado. ..................................................................................................... 28

Figura 11. Diagrama de Bifurcación del sistema multienroscado .......................... 29

Figura 12. Vulnerabilidad del Chosen-plaintext attack para la imagen de Lena ... 33

Figura 13. Generador de secuencias pseudoaleatorias ........................................ 35

Figura 14. Función de preprocesamiento y desprocesamiento. ............................ 36

Figura 15. Chosen-plaintext attack para la imagen de Lena ................................. 37

Figura 16. Chosen-plaintext attack para la imagen de Mandril.............................. 38

Figura 17. Chosen-plaintext attack para la imagen de Pimientos .......................... 39

Figura 18. Imágenes de Lena, Mandril y Pimientos original, cifrada y descifrada . 41

Figura 19. (a) Histogramas de la imágenes de Lena, Mandril y Pimientos ........... 42

Page 8: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

6

RESUMEN

Actualmente, la seguridad de la información digital ha tenido un gran impacto debido

al creciente número de dispositivos electrónicos conectados a internet y al

incremento de tareas que estos realizan. Esto representa un gran reto para la

comunidad científica y de investigación, ya que, para lograr la confidencialidad,

privacidad, integridad y autentificación de los datos personales es necesario el uso

de tecnologías especializadas. Una forma de proporcionar estos servicios es por

medio de la criptografía, sin embargo, la creciente demanda requiere de nuevos

algoritmos que sean más rápidos y a su vez más seguros. Una opción para lograr

estos objetivos es la criptografía basada en sistemas caóticos. Para ello en el

presente proyecto se llevó a cabo el estudio y aplicación de sistemas caóticos

basados en el uso de sistemas lineales por pedazos, los cuales pueden ser una

gran contribución a la encriptación de datos debido a que estos sistemas son fáciles

de implementar y además presentan trayectorias caóticas óptimas para los

procesos de encriptación. Para esto se utilizó un análisis de la ubicación de los

puntos de equilibrio y número de enroscados, con la finalidad de generar un sistema

multienroscado. Para el sistema de encriptación se tomó la secuencia dada por el

generador para crear una llave de cifrado y se realizó la unión con los datos de

entrada por medio de la operación 𝐗𝐎𝐑 para producir la encriptación de imágenes

en escala de grises. Se efectuó el análisis de seguridad estadístico para determinar

la eficiencia del encriptado propuesto y corroborar los datos mediante las pruebas

de coeficientes de correlación, histogramas, entropía de la información y también

ataques de criptoanálisis como lo es el chosen-plaintext attack (CPA).

Posteriormente se desarrolló una mejora del encriptado propuesto aplicando un

PRNG basado en la evolución hacia atrás de la regla 90 de autómatas celulares. La

cual nos llevará a establecer un sistema de seguridad, que puede ser implementado

en comunicaciones.

Page 9: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

7

CAPÍTULO 1. INTRODUCCIÓN A LOS SISTEMAS CAÓTICOS Y

CRIPTOGRAFÍA

La idea de transmitir información sensible y ocultarla de manera segura ante posibles

intrusos y piratas informáticos, ha generado un impacto muy fuerte en la comunidad

científica que inspira a muchos investigadores a combinar una gran variedad de

enfoques para abordar este desafiante problema. Varios métodos que enmascaran

la información transmitida han sido propuestos durante los últimos años. Estos

métodos de encriptación se basan en muchas técnicas diferentes, por ejemplo,

encriptación parcial [1], patrones de exploración [2], autómatas celulares [3, 4] y

árboles de dispersión [5], entre otros. Una de las áreas que ha comenzado a llamar

la atención en la criptografía es el caos. Esto se debe a la dinámica intrínseca que

existe en estos sistemas y su inherente sensibilidad a las condiciones iniciales.

Los sistemas caóticos son sistemas no lineales que cambian o evolucionan con el

estado del tiempo, pueden llegar a tener resultados impredecibles y ser complejos.

Dichos sistemas son extremadamente sensibles a las condiciones iniciales puesto

que la más mínima alteración repercute en su comportamiento, como es en el caso

de la meteorología, la cual es la disciplina que estudia los fenómenos atmosféricos.

El caos ha sido objeto de investigación en los últimos años. Se han encontrado

diversos sistemas dinámicos con comportamiento no lineal o inclusive caótico los

cuales abarcan una gran cantidad de áreas de la ciencia, y el número de aplicaciones

aumenta día a día. Los sistemas dinámicos no lineales son capaces de producir un

comportamiento caótico y pueden presentar dependencia al tiempo con respecto a

su posición en el espacio. El estado de un sistema dinámico se conoce para

cualquier tiempo dadas las condiciones iniciales, a las cuales son extremadamente

sensibles. Además de que sus trayectorias nunca pasan por un mismo punto dos

veces.

Hoy en día la seguridad de la información cuenta con secuencias aleatorias que

resultan útiles para aplicarlas a diversos procesos que permitan otorgar privacidad,

autenticidad y confidencialidad a la información. Estas secuencias deben cumplir con

dos requisitos fundamentales: mostrar aleatoriedad y ser impredecibles, uno de los

sistemas más populares utilizados es el cifrado por flujo ya que este sistema funciona

con secuencias de texto, de un bit o byte a la vez. Este tipo de cifrado toma la señal

generada por el sistema caótico y la usa para enmascarar un mensaje. Algunas de

las aplicaciones utilizadas para las secuencias son las criptográficas. El uso de estas

técnicas ha tenido una buena aceptación por las propiedades estadísticas que

poseen y su comportamiento caótico [6].

En la actualidad, con la gran cantidad de información que se genera en tiempo real,

se requieren de nuevos métodos que ayuden a garantizar la seguridad y evitar el

acceso de personas no autorizadas. Los métodos de encriptación convencionales

Page 10: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

8

no son apropiados para cifrar imágenes, ya que son propensos a ataques

estadísticos debido a la fuerte similitud que existe entre píxeles adyacentes.

Tomando esto en consideración, en este trabajo se propone un nuevo algoritmo de

encriptación capaz de trabajar con imágenes digitales altamente redundantes,

mediante el uso de sistemas lineales por pedazos, estos sistemas se basan en

parámetros de conmutación que se visualizan durante un intervalo de tiempo,

creando trayectorias complejas y caóticas en forma de enroscados. Llegando a

utilizar este sistema multienroscado para la generación de una llave de cifrado, la

cual pueda llegar a prevenir que una persona no deseada descifre el mensaje

encriptado si es que ésta desconoce los parámetros del oscilador usado y las

condiciones iniciales del mismo. Llegando a aplicar este tipo de algoritmos en el

cifrado de imágenes médicas, telecomunicaciones, sistemas de vigilancia,

videoconferencias, televisión de paga o en cualquier otro tipo de información

importante.

Page 11: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

9

1.1. Objetivo general

Generar un sistema multienroscado mediante el uso de sistemas lineales por

pedazos con más enroscados y puntos de equilibrio con respecto a los ya

presentados en [7, 8] y crear con ello una llave 𝑘 para la encriptación de imágenes

en escala de grises. Además de generar un proceso de cifrado más seguro y eficaz

sometiéndolo a diversas pruebas estadísticas para demostrar su efectividad.

1.2. Objetivos especificos

Crear un sistema multienroscado con más puntos de equilibrio y enroscados

en un plano de 3 dimensiones.

Generar una llave de cifrado pseudoaleatoria con el uso del sistema

multienroscado.

Encriptar y desencriptar pixel a pixel imágenes en escala de grises mediante

un método de encriptación por flujo.

Someter a diferentes pruebas a las imágenes cifradas para su validación.

Mejorar el proceso de cifrado mediante el uso de las ecuaciones de la

evolución hacia atrás de la regla 90 de autómatas celulares en 8 bits.

Page 12: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

10

1.3. Antecedentes

1.3.1. Caos

EL caos consiste en el estudio de la percepción de fenómenos complejos que

provienen de la física, la meteorología, la biología, la economía, entre otros. La

definición técnica de caos menciona que, un sistema dinámico caótico es aquél que

exhibe muchos de los atributos de los sistemas ideales aleatorios; en esencia su

evolución es impredecible debido a la extrema sensibilidad a las condiciones

iniciales y el promedio de sus propiedades se puede describir empleando métodos

estadísticos [9].

Un sistema se considera caótico si tiene tres propiedades fundamentales: presenta

sensibilidad a las condiciones iniciales, los puntos periódicos para los sistemas son

densos y el sistema es transitivo [10].

En la actualidad se han llevado a cabo investigaciones enfocadas en el desarrollo

de sistemas multienroscados con el uso de sistemas lineales por pedazos (PWL) [7,

8], y la aplicación de sistemas no lineales como lo son el Sistema de Lorenz [11],

para poder efectuar la generación y el manejo de claves de cifrado y así ejecutar el

proceso de cifrado de imágenes. A continuación, se presentan algunas de ellas:

En [7], E. Campos Cantón y colaboradores generaron un sistema dinámico

tridimensional haciendo uso de sistemas lineales por pedazos (PWL). Este sistema

llamado sistema disipativo inestable (UDS por sus siglas en ingles), fue disipativo

en la variedad de sus puntos de equilibrio de manera estable e inestable, estas

variedades se pueden estudiar a través de los valores del sistema. Fue construido

con una ley de conmutación para obtener varios atractores extraños de múltiple

enroscado, aparecen como resultado de la combinación de varias trayectorias

inestables de una sola espiral mediante conmutación.

En [8], M. García y colaboradores, trabajaron con atractores basados en sistemas

lineales por pedazos de diferente número de enroscados, en donde los enroscados

y puntos de equilibrio se localizaban únicamente a lo largo del eje 𝑥. Por lo tanto,

surge la siguiente pregunta: ¿qué pasaría con la secuencia de la llave cifrada si los

enroscados no solo crecieran en el eje 𝑥, sino en un plano de 2 o 3 dimensiones?

Tomando esto en consideración, en este trabajo de investigación se desarrolla un

algoritmo para ubicar puntos de equilibrio en un sistema lineal por pedazos

localizados en un plano tridimensional, realizando de esta manera un sistema con

un mayor número de enroscados que resulte en trayectorias más complejas.

Page 13: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

11

Figura 1. Algoritmo de encriptación simétrico [12].

1.3.2. Criptografía

La criptografía es el arte y la ciencia que tiene como fin proteger información

confidencial. Consiste en el estudio de los procedimientos, métodos y procesos de

elaboración y uso de códigos y cifrados secretos. Ha sido utilizada en entornos

privados como lo son políticos, militares y religiosos a través del tiempo y de

diferentes medios de comunicación: papel, teléfono, telégrafo y redes informáticas.

El intercambio de información tiene un papel muy importante en la actualidad

gracias al gran avance de la tecnología, existen prometedores resultados con

respecto a la evolución y mejora de la seguridad en su transmisión.

Según el número de claves utilizadas, los sistemas criptográficos se dividen en dos

ramas principales: algoritmos simétricos (o de clave privada) y algoritmos

asimétricos (o de clave pública). En la Figura 1 se da un ejemplo de los algoritmos

simétricos, en estos algoritmos el emisor y el receptor utilizan la misma clave

secreta; tanto para cifrar como para descifrar el mensaje; se requiere un canal de

comunicación seguro para el intercambio de la clave secreta entre el emisor y el

receptor con el objetivo de evitar que un tercero pueda descifrar los mensajes.

Page 14: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

12

Figura 2. Algoritmo de encriptación asimétrico [12].

Las ventajas que presenta el algoritmo simétrico son: velocidad, fuerza y

disponibilidad. Y sus desventajas son: distribución y gestión de claves y

escalabilidad.

En los sistemas asimétricos el emisor y el receptor utilizan claves diferentes, 𝐾𝐸 y

𝐾𝐷, siendo 𝐾𝐷 la clave privada y 𝐾𝐸 la clave pública. Una de ellas se utiliza para

el cifrado de la información y la otra para su descifrado, como se puede observar en

la Figura 2. El conocimiento de la clave pública 𝐾𝐸 de ninguna manera debe permitir

acceder a la clave privada 𝐾𝐷. De este modo se establece la comunicación segura

por canales inseguros, puesto que únicamente viaja por el canal de la clave pública,

que solo sirve para cifrar, o para llevar a cabo autentificaciones. Las ventajas de

este algoritmo son: gestión de claves y distribución, control de acceso y

autenticación. Y sus desventajas son: presenta un alto costo computacional, por lo

tanto, pueden llegar a ser lento [12].

Existen dos grandes clases dentro de estos algoritmos, los criptosistemas de cifrado

por flujo y los criptosistemas de cifrado por bloque. La principal diferencia entre ellos

es que el cifrado por flujo funciona con secuencias de texto, de un bit o byte a la

vez, mientras que el cifrado por bloque funciona con grupos de bits de longitud fija.

Page 15: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

13

1.3.3. Seguridad perceptual y criptográfica.

La seguridad es el mayor requisito del cifrado de la información, demandando

seguridad perceptual y criptográfica. La seguridad perceptual de las imágenes se

refiere a la inteligibilidad de la información cifrada, se puede medir por métricas tanto

subjetivas como objetivas. El cifrado de contenido multimedia es diferente al cifrado

de datos binario/texto debido a que existe redundancia en su contenido cifrado,

haciendo que sea evidente de descifrar hasta cierto punto. Mientras que la

seguridad criptográfica se determina por su capacidad de resistencia ante los

métodos de criptoanálisis y a diversos ataques como lo son el análisis diferencial,

de clave relacionada y estadística. El cifrado debe analizarse exhaustivamente

antes de utilizarlo en la práctica, es por eso que se llevan a cabo métricas para

medir la resistencia del cifrado ante algunos ataques demostrando su sensibilidad y

aleatoriedad, teniendo en cuenta que si el cifrado es seguro ante las pruebas

aplicadas es considerado de alta seguridad, de lo contrario se considera de baja

seguridad [13].

1.3.4. Autómatas celulares.

El concepto de autómatas celulares (CA por sus siglas en inglés) surgió en la

década de 1940 por los matemáticos John von Neumann y Stanislaw Ulam [14]. Un

autómata celular es un modelo matemático para un sistema dinámico compuesto

por un conjunto de celdas o células definidas que adquieren distintos estados o

valores [15]. Los CA son utilizados para modelar el comportamiento complejo de los

sistemas naturales, representan una clase de sistemas dinámicos que permiten

describir la evolución de sistemas complejos con reglas simples, sin usar

ecuaciones diferenciales. Los autómatas celulares consisten en una red organizada

de celdas, donde cada celda tiene un número finito de estados. Los CA forman una

red bidimensional cuyas celdas evolucionan en pasos discretos, de acuerdo con

una regla de actualización local aplicada uniformemente sobre todas las celdas. Al

principio, se asigna un estado a las celdas en el tiempo t = 0, donde los nuevos

estados de una celda dependerán de su propio estado anterior y los estados de su

vecindad [16]. Los autómatas celulares evolucionan a pasos discretos a través de

una regla local, una de ellas es la regla 90. La expresión de un autómata celular es

la siguiente:

𝑆𝑖(𝑡+1)

= [𝑆𝑖−1(𝑡)

+ 𝑆𝑖+1(𝑡)]𝑚𝑜𝑑 2. (1)

donde, 𝑆 consiste en la celda, el estado de la celda 𝑖 en la etapa 𝑡 + 1 consiste en

sumar (módulo 2) los estados de las celdas 𝑖 − 1 e 𝑖 + 1 en la etapa anterior, es

decir, en la etapa 𝑡 [17].

Page 16: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

14

Figura 3. Representación de la regla 90 de un autómata celular y su evolución [16].

1.3.5 Regla 90.

En la dinámica de un autómata celular para el caso unidimensional, se debe

considerar una especie de rejilla de celdas, donde cada una de las cuales tiene un

único valor binario, 0 o 1. La asignación de valores a todas las celdas, se conoce

como configuración. El autómata recibe una configuración inicial y luego progresa a

través de otras configuraciones en una secuencia de pasos de tiempo discretos. En

cada paso todas las celdas se actualizan simultáneamente. Una regla pre-

especificada determina el nuevo valor de cada celda como una función de su valor

anterior y de los valores en sus celdas vecinas. Todas las celdas obedecen a la

misma regla, la cual puede ser dada como una fórmula o como una tabla de reglas

que especifica el nuevo valor para cada posible combinación de valores vecinos. La

regla 90 específica el valor en una celda dependiendo de los valores de sus vecinos

inmediatos, los resultados de la regla están codificados en la representación binaria

90 = 01011010 [16]. Es una de las reglas elementales de autómatas celulares

introducida por Stephen Wolfram en 1983, Wolfram clasificó esta regla como clase

III, indicando que presenta un patrón caótico [17], por lo tanto, ha sido empleada en

algoritmos de cifrado. Esta regla se ilustra en la Figura 3 junto el estado inicial de

un autómata celular y el triángulo de Sierpiński con su respectiva evolución durante

15 pasos discretos de tiempo.

Page 17: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

15

1.4. Esquema de Tesis

En el capítulo 1 se ha dado una breve introducción al tema que se desarrolló,

también se presentan los objetivos generales y específicos de la investigación, así

como los antecedentes en donde se mencionan algunos trabajos de investigación

e información de los temas presentados a lo largo de la tesis. En el capítulo 2 se

introducen los conceptos sobre los sistemas dinámicos y sus bifurcaciones que

serán de gran utilidad durante el resto de la tesis. En el capítulo 3 se presenta el

diseño de sistemas caóticos lineales por pedazos mediante la colocación de puntos

de equilibrio para la creación del sistema multienroscado, asimismo se somete el

sistema a una prueba mediante los exponentes de Lyapunov para confirmar que el

sistema presenta caos y se realiza un diagrama de bifurcación donde se visualiza

el valor de uno de sus parámetros, el cual muestra en que rango se generan más

enroscado. En el capítulo 4 se presenta el método para formar la llave de cifrado

mediante un generador de bits pseudoaleatorio, se explican las ecuaciones para el

proceso de cifrado y descifrado por flujo para imágenes en escala de grises, se da

a conocer la vulnerabilidad que presento el sistema de cifrado ante una prueba de

criptoanálisis y se dio a conocer la mejora incluida al sistema con el uso de un PRNG

basado en la evolución hacia atrás de la regla 90 de autómatas celulares. En el

capítulo 5 se pone a prueba el sistema de cifrado desarrollado ante diferentes

pruebas estadísticas para de esta manera demostrar su efectividad. Finalmente se

dan a conocer las conclusiones del trabajo realizado, así como los apéndices y

referencias.

Page 18: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

16

CAPÍTULO 2. SISTEMAS DINÁMICOS.

Los sistemas dinámicos estudian el comportamiento de fenómenos físicos en el

tiempo y han sido objeto de investigación en los últimos años. Se han encontrado

diversos sistemas dinámicos con comportamiento no lineal o inclusive caótico los

cuales abarcan una gran cantidad de áreas de la ciencia, y el número de

aplicaciones aumenta día a día. Los sistemas dinámicos no lineales son capaces

de producir un comportamiento caótico y no presentan dependencia al tiempo con

respecto a su posición en el espacio. El estado de un sistema dinámico se conoce

para cualquier tiempo dadas las condiciones iniciales, a las cuales son

extremadamente sensibles [18]. A continuación, se da una breve explicación de los

sistemas caóticos más conocidos y sus bifurcaciones.

2.1. Sistema de Lorenz.

Este atractor surgió a través del estudio de Edward N. Lorenz en el año de 1963.

Con este sistema pretendía describir comportamientos climatológicos y fue basado

en la dinámica de fluidos, con base en sus estudios postuló la famosa teoría del

“Efecto mariposa” donde describe que los sistemas con comportamiento caótico

tienen una gran sensibilidad a las condiciones iniciales [19]. Su sistema está

representado por un modelo de tres ecuaciones diferenciales ordinarias:

�̇� = 𝝈(𝒚 − 𝒙)

�̇� = 𝒙(𝝆 − 𝒛) − 𝒚 (2)

�̇� = 𝒙𝒚 − 𝜷𝒛

Este sistema está representado por tres parámetros 𝝈, 𝝆, 𝜷 y tres estados 𝒙, 𝒚, 𝒛,

los valores más utilizados para que el sistema presente caos son 𝜷 = 𝟖/𝟑, 𝝈 = 𝟏𝟎

y 𝝆 = 𝟐𝟓. Cada uno de estos parámetros puede ser utilizado como parámetro de

bifurcación, y dependiendo del valor establecido en los parámetros, el sistema

puede presentar oscilaciones periódicas o caóticas. En la Figura 4 se muestra el

atractor del sistema Lorenz y sus proyecciones en diferentes planos.

Page 19: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

17

a b

c d

Figura 4. (a) Atractor de Lorenz. (b) Proyección del atractor sobre el plano (𝑥, 𝑦). (c) plano (𝑥, 𝑧), (d)

plano (𝑦, 𝑧). Los valores de los parámetros son 𝛽 = 8/3, 𝜎 = 10 y 𝜌 = 25.

2.2. Sistema de Rössler.

El atractor de Rössler surgió a través del estudio de Otto Rössler en 1976 [20]. Su

intención original fue que presentara un comportamiento parecido al sistema de

Lorenz, pero con ecuaciones más simples. El sistema está descrito por las

siguientes ecuaciones:

�̇� = −𝒚 − 𝒛

�̇� = 𝒙 + 𝒂𝒚 (3)

�̇� = 𝒃 + 𝒛(𝒙 − 𝒄)

Page 20: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

18

a b

c d Figura 5. (a) Atractor de Rössler. (b) Proyección del atractor en el plano (𝑥, 𝑦). (c) plano (𝑥, 𝑧). (d)

plano (𝑦, 𝑧). Los parámetros usados para simular al sistema de Rössler son 𝑎 = 𝑏 = 0.2 y 𝑐 = 5.7.

Este sistema también está representado por tres estados 𝒙, 𝒚, 𝒛 y tres parámetros

𝒂, 𝒃, 𝒄. Los valores más utilizados para obtener comportamiento caótico son 𝒂 =

𝒃 = 𝟎. 𝟐 y 𝒄 = 𝟓. 𝟕. En la Figura 5 se puede observar el atractor Rössler y sus

proyecciones en diferentes planos.

Page 21: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

19

a b

c Figura 6. Diagramas de Bifurcación del sistema Lorenz: (a) Variación del parámetro 𝛽 desde 0

hasta 3 con 𝜎 = 10 y 𝜌 = 25. (b) Variación del parámetro 𝜌 desde 20 hasta 50 con son 𝛽 = 8/3 y

𝜎 = 10. (c) Variación del parámetro 𝜎 desde 4 hasta 16 con son 𝛽 = 8/3 y 𝜌 = 25.

2.3. Bifurcación.

La teoría de bifurcación se originó a principios del siglo XX, gracias a los estudios

realizados por Henrí Poincaré acerca de sistemas de ecuaciones diferenciales.

Poincaré designó la palabra “Bifurcación” como una aparición de múltiples

soluciones generadas a partir de la variación de algún parámetro del sistema. El

término, ahora generalizado, se utiliza para indicar cuando la solución de una

ecuación o sistema de ecuaciones cambia cualitativamente en un valor fijo o crítico

de un parámetro característico. Una bifurcación ocurre cuando a un sistema se le

aplica un cambio de valor en alguno de sus parámetros, este cambio ocasiona que

el sistema modifique la periodicidad de su solución gracias al cambio. Un punto en

el que se presente este fenómeno a partir del parámetro mencionado se le llama

“punto de bifurcación”, y a partir del conjunto de estos puntos, emerge una o más

ramas de la solución, ya sean estables o inestables. La representación gráfica a

partir de estos parámetros de bifurcación se le conoce como “Diagrama de

Bifurcación” [21].

Page 22: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

20

a b

c Figura 7. Diagramas de Bifurcación del sistema de Rössler: (a) Variación del parámetro 𝑎 desde 0

hasta 0.4 con 𝑏 = 0.2 y 𝑐 = 5.7. (b) Variación del parámetro 𝑏 desde 0 hasta 2 con 𝑎 = 0.2 y 𝑐 =

5.7. (c) Variación del parámetro 𝑐 desde 0 hasta 40 con 𝑎 = 𝑏 = 0.1.

En las Figuras 6 y 7 se muestran los diagramas de bifurcación de los sistemas de

Lorenz y Rössler al variar cada uno de sus parámetros, en ellos se observa en que

zonas presenta un comportamiento periódico o caótico. En la Figura 6 se muestran

las gráficas de bifurcación del sistema de Lorenz, de los parámetros 𝜷 , 𝝆 y 𝝈.

En la Figura 6 (a), el primer parámetro a variar es 𝜷, se realizó una variación desde

0 hasta 3 con incrementos de 0.01, dejando los otros dos parámetros fijos 𝝈 = 𝟏𝟎 y

𝝆 = 𝟐𝟓. En este diagrama de bifurcación se puede observar claramente algunos

valores para los cuales se comporta periódicamente. Esto se puede corroborar a

partir de 0.7 aproximadamente, donde se generan dos cuencas, una para 𝒙 positivo

y otro negativo, después para valores mayores de 3 se estabiliza.

En la Figura 6 (b), el segundo parámetro a variar es 𝝆, se realizó una variación

desde 20 hasta 50 con incrementos de 0.1, con 𝜷 = 𝟖/𝟑, 𝝈 = 𝟏𝟎. En el diagrama se

puede observar como presenta comportamiento caótico con dos cuencas de

atracción cerca de 25, antes se encuentra en un punto sumidero, y después las

cuencas tienden a aumentar de tamaño, una para 𝒙 positivo y otro para negativo.

Page 23: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

21

En la Figura 6 (c), se realizó una variación del parámetro 𝝈, desde 4 hasta 16 con

incremento de 0.1 dejando fijo 𝜷 = 𝟖/𝟑 y 𝝆 = 𝟐𝟓. En este diagrama se observó que

los valores para que se genere caos están únicamente entre 7 y 13, para cualquier

otro valor el sistema se encuentra también estable en un punto de equilibrio tipo

sumidero.

En la Figura 7 se muestran las gráficas de bifurcación del atractor de Rössler de los

parámetros 𝒂 , 𝒃 y 𝒄.

En el diagrama de bifurcación de la Figura 7 (a), se realizó una variación del

parámetro 𝒂 desde 0 hasta 0.4 con incrementos de 0.001 dejando fijos los

parámetros 𝒃 = 𝟎. 𝟐 y 𝒄 = 𝟓. 𝟕. Se puede observar que el comportamiento del

sistema es periódico para ciertos valores como son de 0.07 hasta 0.14, en donde

se comporta con periodos de uno y dos respectivamente, también presenta periodo

tres para valores cercanos a 0.2 y 0.25, esto nos indica que el sistema puede

comportarse de manera caótica también, y presenta periodo cuatro para valores

mayores cercanos a 0.15.

En la Figura 7 (b), se realizó una variación del parámetro 𝒃, con una variación desde

0 hasta 2 con incremento de 0.01. En este diagrama se puede observar que también

presenta comportamiento periódico para ciertos valores, periodo uno para 𝒃 mayor

de 1.5 en donde el sistema bifurca y tiene un doblamiento de periodo, a partir de 0.5

a 0.9 tiene periodo dos hasta tener otro doblamiento y presentar periodo cuatro y

después ocho. Cerca de 0.05 y de 0.3, el sistema presenta oscilaciones de periodo

tres.

En la Figura 7 (c), el último valor a variar fue el parámetro 𝒄, con una variación más

grande, desde 0 hasta 40 con incrementos de 0.1, los parámetros 𝒂 = 𝒃 = 𝟎. 𝟏 se

mantienen fijos. Las oscilaciones muestran un comportamiento periódico para

diferentes valores en la simulación, periodo uno de 0 a 5, bifurca en periodo dos de

5 a aproximadamente 7, después periodo cuatro, y cerca de 12 y 28 presenta

periodo 3.

Gracias al estudio de estos sistemas se planeó generar un sistema caótico de

secciones múltiples lo suficientemente complejo y eficaz para generar secuencias

aleatorias las cuales puedan encriptar imágenes en escala de grises mediante un

algoritmo de clave simétrico. Y la calidad del cifrado dependerá de la variación del

número de enroscados.

Page 24: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

22

CAPÍTULO 3. DISEÑO DE SISTEMAS CAÓTICOS CON PUNTOS DE

EQUILIBRIO.

3.1. Sistemas caóticos.

La construcción de sistemas dinámicos que muestran un comportamiento caótico

es relevante en diversas disciplinas científicas. Por ejemplo, la biología [22] y la

meteorología [23]. Estos sistemas modelados matemáticamente por ecuaciones

diferenciales ordinarias de primer orden no lineales contienen parámetros

adecuados para garantizar comportamientos caóticos que generan atractores

extraños. Muchos de los fenómenos no lineales observados en la naturaleza o por

el hombre han sido descritos por sistemas caóticos debido a la riqueza de sus

comportamientos dinámicos: ciclos límite, órbitas y atractores extraños, etc. Y desde

hace algunas décadas, la generación de trayectorias caóticas se ha buscado

simplificar con respecto a sus ecuaciones o implementaciones electrónicas. Es por

esto por lo que los sistemas lineales por pedazos (PWL) han sido de gran utilidad

en este tema. Estos sistemas se basan en parámetros de conmutación que se

pueden visualizar como un conjunto de subsistemas y una señal de conmutación

que los selecciona durante un intervalo determinado de tiempo.

Para el diseño de trayectorias complejas y caóticas se han implementado sistemas

que presenten atractores con múltiples enroscados. Este término, se utiliza para

referirse a tres o más enroscados en un atractor visualizado en su espacio de fase.

Un enfoque frecuente para generar uno o más enroscados, ha sido el de modificar

un sistema que produce originalmente atractores con doble enroscado, como por

ejemplo el sistema de Lorenz, entre otros, añadiendo puntos de equilibrio para

permitir que el flujo del sistema visite nuevas regiones en el espacio. Los atractores

extraños de múltiple enroscado aparecen como resultado de la combinación de

varias trayectorias inestables de una sola espiral [7].

3.2. Sistemas lineales por pedazos.

Las simulaciones y cálculos se llevaron a cabo mediante el lenguaje de

programación MATLAB. Se consideró el siguiente sistema de ecuaciones dado por:

�̇� = AX + B; (4)

En donde 𝑿 = [𝑥, 𝑦, 𝑧]𝑇 representa el vector del estado del sistema, 𝑩 =

[𝐵1, 𝐵2, 𝐵3]𝑇 ∈ ℝ3 representa un vector lineal real afín. 𝑨 = [𝑎𝑖,𝑗] ∈ ℝ

3𝑥3, 𝑖, 𝑗 =

1, 2, 3, denota una matriz real de coeficientes, la cual está dada por:

𝑨 = (0 1 00 0 1

−1.5 −1 −1) , 𝑩 = (

𝐵1𝐵2𝐵3

). (5)

Page 25: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

23

Estamos interesados en un sistema disipativo que tenga un punto de equilibrio

hiperbólico en 𝑿∗, y debido a la simplicidad del sistema, estos se pueden calcular

mediante 𝑿∗ = −𝐀−𝟏𝐁. Un punto de equilibrio 𝑿∗ ∈ 𝑅𝑛 es llamado así si tiene al

menos un eingevalor (valor propio) con parte real positiva y al menos un par

complejo conjugado con parte real negativa [24]. Para este caso los eingevalores

calculados de la matriz 𝑨 son estos: λ1=-1.2041 + 0.0000𝑖, λ2=0.1020 + 1.1115𝑖,

λ3=0.1020 - 1.1115𝑖.

El vector 𝑩 conmutará dependiendo de la posición de 𝑿, de tal forma que para cada

valor conmutado en 𝑩 se generará un nuevo punto de equilibrio, tomando la

siguiente forma:

𝑩(𝑿) =

{

𝑩1, 𝑠𝑖 𝑿 ∈ 𝐷1;

𝑩2, 𝑠𝑖 𝑿 ∈ 𝐷2;..

𝑩𝑘, 𝑠𝑖 𝑿 ∈ 𝐷𝑘 ,

(6)

donde 𝑩𝑖 ∈ ℝ y 𝐷𝑖 corresponde a los dominios en donde se ubicarán cada

enroscado del sistema. Cada enroscado estará asignado a su punto de equilibrio

correspondiente 𝑿1∗ ∈ 𝐷1, . . . , 𝑿𝑘

∗ ∈ 𝐷𝑘 con 𝑨𝑿𝑖∗ + 𝑩(𝑿) = 0, 𝑖 = 1, … , 𝑘. El objetivo

es elegir valores de 𝑩𝑖, de tal manera que el sistema sea estable y presente

enroscados caóticos. En la Figura 8, se muestra un diagrama de cómo están

distribuidos los puntos de equilibrio marcados con puntos rojos, los enroscados que

se desea obtener mediante línea negra en espiral, el valor de 𝑩 del vector real afín

en donde se formará el enroscado y las superficies de conmutación marcadas como

𝛼−3 , 𝛼−2 , … , 𝛼3 en el eje 𝑥 y 𝛾−1, 𝛾1 en el eje 𝑦.

La ubicación de estas superficies de conmutación se da a conocer en la Tabla I:

Tabla I. Ubicación de las superficies de conmutación.

𝛼0 = 0

𝛼−3 = −24/3 𝛼3 = 24/3

𝛼−2 = −16/3 𝛼2 = 16/3

𝛼−1 = −8/3 𝛼1 = 8/3

𝛾−1 = −4/3 𝛾1 = 4/3

Page 26: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

24

Figura 8. Diagrama de regiones, superficies de conmutación y colocación de puntos de equilibrio

para la realización del sistema multienroscado.

Estos valores se escogieron siguiendo la misma estructura de selección de los

puntos de equilibrio que se presentan en [25]. Es importante mencionar que la

distribución de estas superficies es simétrica, permitiendo que los enroscados

generados presenten las mismas dimensiones. Cada espacio generado entre las

superficies de conmutación corresponde con los dominios mencionados en la ec.

(6). Para este caso se les asigna el nombre de 𝐷−3𝑥, 𝐷−2𝑥,𝐷−1𝑥, 𝐷1𝑥 , 𝐷2𝑥, 𝐷3𝑥 a los

dominios que contienen un punto de equilibrio sobre el eje 𝑥, marcados con las

casillas de línea punteada en azul en la Figura. 8. Para el caso de 𝐷−3𝑦, 𝐷−1𝑦,𝐷1𝑦,

marcados en recuadro con línea punteada roja, son los dominios que contienen un

punto de equilibrio desplazado en 2 o 3 ejes. Dadas estas superficies de

conmutación y los dominios en donde se desea la ubicación de los puntos de

equilibrio, se diseña la siguiente ley de conmutación para el sistema de la ecuación

(5) con (6):

𝑩(𝑿) =

{

𝑩1 𝑠𝑖 {𝛼0 ≤ 𝑥 < 𝛼1 ; 𝛾−1 ≤ 𝑥 < 𝛾1} ∈ 𝐷1𝑥;

𝑩2 𝑠𝑖 {𝛼1 ≤ 𝑥 < 𝛼2 ; 𝛾−1 ≤ 𝑥 < 𝛾1} ∈ 𝐷2𝑥;

𝑩3 𝑠𝑖 {𝛼2 ≤ 𝑥 < 𝛼3 ; 𝛾−1 ≤ 𝑥 < 𝛾1} ∈ 𝐷3𝑥;

𝑩4 𝑠𝑖 {𝛼0 ≥ 𝑥 > 𝛼−1 ; 𝛾−1 ≤ 𝑥 < 𝛾1} ∈ 𝐷−1𝑥;

𝑩5 𝑠𝑖 {𝛼−1 ≥ 𝑥 > 𝛼−2 ; 𝛾−1 ≤ 𝑥 < 𝛾1} ∈ 𝐷−2𝑥;

𝑩6 𝑠𝑖 {𝛼−2 ≥ 𝑥 > 𝛼−3 ; 𝛾−1 ≤ 𝑥 < 𝛾1} ∈ 𝐷−3𝑥;

𝑩7 𝑠𝑖 {𝛼0 ≥ 𝑥 > 𝛼−1 ; 𝛾1 ≤ 𝑦 < 𝛾−1} ∈ 𝐷−1𝑦;

𝑩8 𝑠𝑖 {𝛼−1 ≥ 𝑥 < 𝛼0 ; 𝛾1 ≥ 𝑦 < 𝛾−1} ∈ 𝐷1𝑦;

𝑩9 𝑠𝑖 {𝛼2 ≤ 𝑥 < 𝛼3 ; 𝛾1 ≥ 𝑦 < 𝛾−1} ∈ 𝐷−3𝑦.

(7)

Page 27: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

25

a

b

Page 28: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

26

c

d Figura 9. (a) Proyección del sistema multienroscado en 3 dimensiones dado por las ecs. (5) y (6)

para la ley de conmutación de la ec. (7) con nueve atractores. (a) Plano (𝑥, 𝑦). (b) Plano (𝑥, 𝑧). (d)

Plano (𝑦, 𝑧).

Page 29: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

27

Mediante esta ley de conmutación se puede obtener un atractor de 9 enroscados,

tal y como se muestra en la Figura 9. Note que la posición de dichos enroscados

desplazados en el espacio corresponde a lo propuesto en el diagrama de la Figura

8. Los puntos de equilibrios obtenidos tras resolver 𝑿∗ = −𝐀−𝟏𝐁 con los valores de

la ec. (7) se muestran en la Tabla II.

Tabla II. Posición de los puntos de equilibrio para la generación del sistema multienroscado.

𝑩 𝒙 𝒚 𝒛

𝑩1 1.333 0 0

𝑩2 4 0 0

𝑩3 6.667 0 0

𝑩4 -1.333 0 0

𝑩5 -4 0 0

𝑩6 -6.667 0 0

𝑩7 -1.444 2.667 -0.5000

𝑩8 1.444 -2.667 0.5000

𝑩9 6.778 -2.667 0

Para demostrar que el sistema multienroscado diseñado presenta caos, se hace

uso de los exponentes de Lyapunov.

Page 30: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

28

Figura 10. Grafica dinámica de los Exponentes de Lyapunov del sistema multienroscado.

3.3. Exponentes de Lyapunov.

Cuando se trata de verificar si un atractor es caótico o no, una herramienta muy útil

son los Exponentes de Lyapunov, los cuales consisten en un cálculo matemático

que mide la distancia que existe entre órbitas bajo distintas condiciones iniciales, el

exponente de Lyapunov unidimensional se define mediante la siguiente ecuación:

LE𝑖 = lim𝑡→∞

1

𝑡log2

𝑝𝑖(𝑡)

𝑝𝑖(0), (8)

donde, se ordenan las LE de mayor a menor, así, los exponentes de Lyapunov están

relacionados con la naturaleza en expansión o en contracción de diferentes

direcciones en fase de espacio. Las direcciones asociadas con un exponente dado

varían en un camino complicado a través del atractor generado. La suma de los

exponentes de Lyapunov es la divergencia promediada en el tiempo del espacio de

fase asociado a un exponente dado [26]. Un sistema presenta caos si tiene un

exponente negativo el cual expresa un equilibrio estable en el sistema, uno positivo

el cual demuestra que posee sensibilidad a las condiciones iniciales (caos) y uno

con valor cero que representa periodicidad, en caso de presentar más de tres

estados los sistemas pueden presentar lo que se conoce como hipercaos, lo que

significa que tiene dos o más exponentes negativos o positivos entre los requeridos

para generar caos dependiendo del número de estados que presente. En la Figura

10 se muestra un gráfico con los valores de los exponentes del sistema

multienroscado generado anteriormente. De esta manera nos damos cuenta de que

presenta un exponente positivo y uno negativo. Demostrando que el sistema

presenta caos dado un tiempo determinado.

Page 31: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

29

3.4. Diagrama de bifurcación del sistema multienroscado

a b

Figura 11. Diagrama de Bifurcación del sistema multienroscado con 9 atractores: (a) Variación del

parámetro 𝑎 desde 0.2 hasta 2 con 𝑏 = 𝑐 = 1. (b) Variación del parámetro 𝑎 desde 1 hasta 1.8 con

𝑏 = 𝑐 = 1.

Asimismo, se generó un diagrama de bifurcación para el sistema multienroscado de

9 atractores en donde se muestran los valores en los que el sistema presenta caos.

En la Figura 11 (a) el parámetro a variar fue 𝑎, se realizó una variación desde 0.2

hasta 2 con incrementos de 0.01, dejando los otros dos parámetros fijos 𝑏 = 𝑐 = 1.

En esta Figura se muestran claramente que los valores entre 1 y 1.8 en el parámetro

𝑎 presentan mayor número de atractores. En la Figura 11 (b) se realizó una variación

desde 1 hasta 1.8 con incrementos de 0.005, para corroborar que en esta zona es

donde el número de enroscados es mayor, tomando en cuenta el valor 1.5, el cual

escogimos como valor del parámetro 𝑎 para el diseño del sistema multienroscado.

Ahora mediante este sistema propuesto se diseñará la llave para el proceso de

encriptación como se muestra a continuación.

Page 32: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

30

CAPÍTULO 4. DESARROLLO Y MEJORA DE UN SISTEMA DE

ENCRIPTACION DE IMÁGENES DIGITALES.

4.1. Generador de bits pseudoaleatorio.

El Generador de bits pseudoaleatorio (PRBG por sus siglas en inglés) es un

algoritmo determinista, que toma una entrada de bits aleatorios, y los expande a un

número mayor de bits pseudoaleatorios.

Este generador se basa en las series de tiempo obtenidas a partir de los estados

caóticos del sistema de multienroscados dados por las ecuaciones (5), (6) y (7).

La idea es calcular la solución del sistema mediante algún método iterativo, como

el método de Runge Kutta de 4to orden, y evolucionar el sistema n veces para

obtener una secuencia 𝑿 después de 1000 iteraciones del estado transitorio.

Aprovechando la sensibilidad a las condiciones iniciales en sistemas caóticos, se

considera que cada conjunto de ellas da como resultado diferentes series de tiempo.

Por lo tanto, cada valor se puede considerar como una clave de cifrado, si se

aumenta el número de enroscados, la dinámica del sistema es más compleja y la

calidad del cifrado aumenta. A continuación, el generador de bits pseudoaleatorio

(PRBG) se define similar a lo reportado en [8] con la diferencia del que el sistema

presentado solo es de 3 estados y no de 4 como se presenta en el artículo, de la

siguiente manera:

𝐾𝑖 = ⌊∑𝑋𝑗(𝑖) · 1014

3

𝑗=1

⌋𝑚𝑜𝑑 256. (9)

Aquí 𝜅𝑖 ∈ {0, 1, 2, … , 255} e 𝑖 = 1,… , 𝑛, donde 𝑛 = 𝑙 × 𝑚, de acuerdo con el

tamaño de la imagen en escala de grises a ser encriptado. La sumatoria une los 3

estados del vector 𝑿 conforme a la posición de 𝑖. La operación ⌊. ⌋ representa un

redondeo hacia abajo, funciona como coma flotante y precisión doble, la sumatoria

se puede escalar a 1014 y el resultado es dividido mediante la función 𝑚𝑜𝑑 256 para

obtener un vector 𝐾𝑖 con valores enteros en 8 bits. De esta manera es como

creamos la llave de cifrado utilizada para encriptar imágenes en escala de grises.

Page 33: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

31

4.2. Diseño del esquema de cifrado y descifrado.

Después de crear las secuencias generadas por el sistema caótico con nueve

atractores, encriptamos la imagen usando un cifrado de flujo similar a los descritos

en [25, 27]. El propósito de cifrar información con el PRBG propuesto es demostrar

que las secuencias con diferente número de atractores generan una imagen de

cifrado diferente, es decir, la calidad de encriptación mejora si se aumenta el número

de atractores. El proceso para cifrar la imagen es píxel por píxel de la siguiente

manera:

{𝐶1 = 𝑃1 ⊕ 𝜅1 ⊕ 𝐼𝑉; 𝐶𝑖 = 𝑃𝑖 ⊕ 𝜅𝑖 ⊕ 𝐶𝑖−1.

(10)

Donde 𝐶𝑖 y 𝑃𝑖 con 𝑖 = 2, . . . , 𝑛 son los pixeles de la imagen de cifrado y la imagen

normal, respectivamente. Para mejorar la seguridad en el proceso, se considera una

retroalimentación en el cifrado (𝐶𝑖 − 1) y un vector inicial, donde IV ∈

{0, 1, . . . , 255} es un vector de inicialización (Initial Vector por sus siglas en inglés)

usado una vez para el primer pixel, 𝜅𝑖 es la secuencia de bits pseudoaleatoria, el

símbolo ⊕ es la operación XOR, que se ejecuta bit a bit en el bloque de 8 bits por

píxel.

Para descifrar correctamente la imagen, el receptor debe tener la misma corriente

de claves (formada por las condiciones iniciales X0, el vector de inicialización IV y la

función de descifrado). Esta función toma la siguiente forma:

{𝑃′1 = 𝐶1 ⊕ 𝜅1 ⊕ 𝐼𝑉;

𝑃′𝑖 = 𝐶𝑖 ⊕ 𝜅𝑖 ⊕ 𝐶𝑖−1. (11)

Si se usan la clave correcta 𝜅𝑖 y el vector de inicialización correcto IV, entonces la

imagen original se obtendrá correctamente, es decir: 𝑃´𝑖 = 𝑃𝑖.

Page 34: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

32

4.3. Chosen-Plaintext attack

Llevando a cabo el cifrado y descifrado de imágenes correctamente, el siguiente

paso consistió en someter a 3 imágenes seleccionadas a una prueba de

criptoanálisis denominada Chosen-Plaintext attack, esta prueba tiene como objetivo

que el ataque pueda reducir la seguridad del esquema de cifrado y de esta manera

obtener información. Consiste en que los atacantes puedan elegir algunas imágenes

de manera arbitraria (en casos extremos, imágenes dónde todos los pixeles tengan

el mismo valor), y de esta manera obtener las imágenes cifradas correspondientes,

todas bajo las mismas condiciones del tipo de cifrado utilizado.

Analizando detalladamente el sistema, nos dimos cuenta de cómo fue que se

generó el ataque, el cual es explicado a continuación mediante las siguientes

ecuaciones:

𝐶𝐿 = 𝑃L ⊕ 𝜅1 ⊕ 𝐼𝑉; (12)

𝐶0 = 0 ⊕ 𝜅1 ⊕ 𝐼𝑉.

Donde 𝐶𝐿 corresponde a los pixeles cifrados de la imagen Lena, 𝐶0 indica los valores

cifrados de la imagen sólida, 𝑃L son los pixeles originales de dicha imagen, 𝜅1 son

los valores de la llave de cifrado y 𝐼𝑉 es un valor aleatorio entre 0 y 255.

El ataque consistió en hacer una operación 𝑋𝑂𝑅 bit a bit entre ambas imágenes 𝐶𝐿

y 𝐶0. Como se muestra en la siguiente ecuación:

(𝑃L ⊕ 𝜅1 ⊕ 𝐼𝑉)⊕ (0 ⊕ 𝜅1 ⊕ 𝐼𝑉). (13)

Eliminando los términos semejantes de ambos lados podemos reducir la expresión

a 𝑃𝐿, como se ilustra en la siguiente ecuación:

(𝑃L ⊕ 𝜅1 ⊕ 𝐼𝑉)⊕ (0 ⊕ 𝜅1 ⊕ 𝐼𝑉) = 𝑃𝐿 . (14)

De esta manera se obtiene la información para el primer pixel de la imagen Lena.

Para recuperar la imagen al 100% se utilizaría la siguiente ecuación:

(𝐶𝐿𝑖⊕𝐶0𝑖) ⊕ (𝐶𝐿𝑖−1⊕𝐶0𝑖−1) =

(𝑃𝐿𝑖 ⊕ 𝜅𝑖 ⊕ 𝐶𝐿𝑖−1) ⊕ (0 ⊕ 𝜅𝑖 ⊕ 𝐶0𝑖−1) ⊕ (𝐶𝐿𝑖−1⊕𝐶0𝑖−1) = 𝑃𝐿𝑖 , (15) donde 𝑖 = 2,3, … , 𝑛. Siendo 𝑛 el índice del ultimo pixel de la imagen.

Page 35: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

33

a b c

d e f

Figura 12. Vulnerabilidad del Chosen-plaintext attack para la imagen de Lena. (a) La imagen

original, (b) la imagen cifrada de (a), (c) la imagen plana elegida, (d) la imagen cifrada de (c), (e) la

imagen recuperada para el primer pixel y (f) imagen recuperada al 100%.

El ataque se ejecutó de la siguiente manera, los pasos son ilustrados en la Figura

12:

a) Primero se considera una imagen original 𝐼𝑜, en nuestro caso la imagen de

Lena representada en la Figura 12 (a) y su respectiva versión cifrada 𝐼𝑐,

mostrada en la Figura 12 (b).

b) El siguiente paso consistió en escoger una imagen solida 𝐼𝑠 donde todos sus

valores son igual a cero, en nuestro caso la imagen de la Figura 12 (c) y su

respectiva versión cifrada 𝐼𝑚, que se visualiza en la Figura 12 (d).

c) Posteriormente, se llevó a cabo la operación XOR entre la imagen cifrada

original 𝐼𝑐 y la imagen cifrada solida 𝐼𝑚, es decir: 𝐼𝑐⊕ 𝐼𝑚.

d) Si la imagen resultante de esta operación revela información de la imagen

original, se tiene que el sistema de cifrado es vulnerable ante este ataque,

como se puede observar en la Figura 12 (e) en donde la imagen resultante

revela patrones de la imagen original, en la Figura 12 (f) se visualiza la imagen

de Lena recuperada al 100% con el uso de la ec. (15).

Page 36: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

34

4.4. Mejora al sistema de cifrado.

Teniendo en cuenta esta vulnerabilidad se pensó en una solución rápidamente,

aplicando la teoría de autómatas celulares de la evolución hacia atrás de la regla 90

en 8 bits. Buscamos que mediante esta mejora: cambien los valores altamente

redundantes de las imágenes por otros antes del proceso de cifrado y evitar que

atacantes puedan ingresar ceros en las ecuaciones.

La función utilizada se diseñó en el artículo [28] donde los bloques de texto en claro

y aleatorio se toman como vectores booleanos. Esta función de procesado y

desprocesado permite cambiar valores altamente redundantes por otros, con

distribución uniforme. La implementación de esta función en forma de las ecuaciones

(16) y (17) se tomaron de la tesis [16].

Procesado

𝑝1 ̂ = p1⊕ z2

𝑝2 ̂ = p2⊕ z1⊕ z3

𝑝3 ̂ = p1⊕ p3⊕ z4

𝑝4 ̂ = p4⊕ z1⊕ z3⊕ z5

𝑝5 ̂ = p1⊕ p3⊕ p5⊕ z2⊕ z6

𝑝6 ̂ = p2⊕ p6⊕ z1⊕ z5⊕ z7

𝑝7 ̂ = p1⊕ p5⊕ p7⊕ z8

𝑝8 ̂ = p8⊕ z1⊕ z5⊕ z7⊕ z9

(16)

Desprocesado

p1 = 𝑝1 ̂ ⊕ z2

p2 = 𝑝2 ̂ ⊕ z1⊕ z3

p3 = 𝑝1 ̂ ⊕ 𝑝3 ̂ ⊕ z2⊕ z4

p4 = 𝑝4 ̂ ⊕ z1⊕ z3⊕ z5

p5 = 𝑝3 ̂ ⊕ 𝑝5 ̂ ⊕ z2⊕ z4⊕ z6

p6 = 𝑝2 ̂ ⊕ 𝑝6̂⊕ z3⊕ z5⊕ z7

p7 = 𝑝1 ̂ ⊕ 𝑝3 ̂ ⊕ 𝑝5 ̂ ⊕ 𝑝7 ̂ ⊕ z4⊕ z6⊕ z8

p8 = 𝑝8 ̂ ⊕ z1⊕ z5⊕ z7⊕ z9

(17)

Page 37: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

35

Figura 13. Generador de secuencias pseudoaleatorias con entradas 𝒑 de n bits y 𝒛 de 𝑛 + 1 bits, y

salida de �̂� de 𝑛 bits.

Las ecuaciones de procesado se toman de un generador de números

pseudoaleatorios (PRNG) basado en automatas celulares, descrito en [29]. La

principal función de este PRNG se denomina ℎ (𝑝, 𝑧), requiere de dos vectores 𝒑 y

𝒛 de 𝑛 bits y 𝑛 + 1 bits, respectivamente.

Para calcular una secuencia pseudoaleatoria, la función ℎ requiere que el autómata

celular retroceda en el tiempo. Dicha situación se representa en la Figura 13, donde

el símbolo ⊕ representa la operacion 𝑋𝑂𝑅 y las flechas la conectividad de las

puertas que siguen la regla 90 del autómata celular, el resultado es un vector

llamado �̂�.

En el generador de numeros pseudoaleatorios, la secuencia �̂� se retroalimenta a la

entrada, que se convierte en el siguiente valor de 𝒑, y los 8 bits del valor anterior de

𝒑 se convierten en los bits iniciales de la nueva 𝒛, donde el bit faltante es el bit

menos significativo (LSB) de la anterior 𝒛, este bit se convierte en el bit más

significativo (MSB) de esta nueva secuencia, el mismo procedimiento se repite

constantemente.

Page 38: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

36

a b

Figura 14. (a) Función de procesamiento. (b) Función de desprocesamiento. 𝑝 es el coeficiente del

píxel y 𝑧 es un vector aleatorio. La salida es la versión preprocesada del píxel �̂�.

La variación propuesta funciona como una sustitución dinámica, el proceso es

similar a PRNG, donde la función ℎ se utiliza para transformar los bloques 𝒑 que

representan los pixeles en claro de la imagen original, en una forma ininteligible

denominada �̂�, �̂� = ℎ (𝑝, 𝑧). En este caso 𝒑 es el coeficiente del píxel de 𝑛 bits y 𝒛

es un vector inicial de 𝑛 + 1 bits, luego de evolucionar hacia atrás ambos vectores

obtenemos �̂�.

La entrada 𝒑 se reemplaza con el siguiente píxel de la imagen, el vector 𝒛 se

reemplaza con �̂�, y similar al PRNG, el LSB de la 𝒛 anterior se concatena como el

MSB de la nueva 𝒛. Este proceso se repite hasta el último píxel. La Figura 14 (a)

ilustra esta función. Esta operación oculta la alta redundancia de la imagen original.

Con este proceso, evitamos que el atacante introduzca datos arbitrarios como ceros,

que podrían retener la información tal como ocurrió en la versión original del

esquema de cifrado. Ahora, podemos cifrar esta imagen preprocesada, y será

resistente al Chosen-plaintext attack, porque todos los valores de cero y los

coeficientes de la imagen original se cambiaron en la función de procesamiento.

Finalmente, para llevar a cabo el desprocesamiento de la imagen utilizamos la

funcion de desprocesamiento que se ilustra en la Figura 14 (b), el vector �̂� como

entrada y el mismo valor del vector 𝒛, este vector evolucionará de la misma manera

que en la función de procesamiento para todos los pixeles, de esta manera

obtendremos 𝒑. Con el uso de las ecs. (17) ejecutamos el desprocesado de los

pixeles de la imagen para regresarla a su forma original.

Page 39: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

37

a b c

d e

Figura 15. Chosen-plaintext attack para la imagen de Lena. (a) La imagen original, (b) la imagen

cifrada, (c) la imagen plana elegida, (d) la imagen de máscara y (e) la imagen recuperada.

Para comprobar nuevamente la efectividad del sistema de cifrado con la mejora, las

3 imágenes utilizadas se analizaron con el Chosen-plaintext attack. En la referencia

[30] señala que, si el sistema criptográfico está seguro contra el ataque de imagen

de plano simple, también lo es contra otros ataques criptoanalíticos como el ataque

de solo cifrado de imagen o el ataque de imagen de plano conocido. Ya que el

objetivo del ataque es obtener información y reducir la seguridad del esquema de

cifrado.

A continuación, se presentan las 3 imágenes cifradas con la versión mejorada del

sistema. En la Figura 15 (a) se visualiza la imagen original de Lena, su versión cifrada

se observa en la Figura 15 (b). En la Figura 15 (c) se visualiza la imagen plana

elegida, su versión cifrada se puede ver en la Figura 15 (d). La imagen normal

recuperada se muestra en la Figura 15 (e), y una inspección visual revela la

efectividad de nuestro esquema de cifrado propuesto, donde en la imagen

recuperada ya no se revelan patrones. Se realizó esta prueba a las imágenes

cifradas de Mandril que se muestra en la Figura 16, y Pimientos visualizada en la

Figura 17.

Page 40: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

38

a b c

d e

Figura 16. Chosen-plaintext attack para la imagen de Mandril. (a) La imagen original, (b) la imagen

cifrada, (c) la imagen plana elegida, (d) la imagen de máscara y (e) la imagen recuperada.

Page 41: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

39

a b c

d e

Figura 17. Chosen-plaintext attack para la imagen de Pimientos. (a) La imagen original, (b) la

imagen cifrada, (c) la imagen plana elegida, (d) la imagen de máscara y (e) la imagen recuperada.

Page 42: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

40

CAPÍTULO 5. VALIDACIÓN DEL SISTEMA DE CIFRADO.

5.1. Cifrado de las imágenes.

Para probar el método de cifrado y descifrado propuesto en el capítulo anterior con

la mejora del sistema desarrollada anteriormente, se consideraron 3 imágenes en

escala de grises con diferente actividad óptica (número de contrastes). Las

imágenes son: Lena, Mandril y Pimientos de Media, Alta y Baja actividad óptica

respectivamente, con un tamaño de 256x256 pixeles, por lo que la Figura 18 (a)

muestra la imagen original de Lena; la imagen de cifrado se presenta en la Figura

18 (b) y la imagen descifrada se muestra en la Figura 18 (c). la Figura 18 (d) muestra

la imagen original de Mandril; la imagen de cifrado se presenta en la Figura 18 (e) y

la imagen descifrada se muestra en la Figura 18 (f) y en la Figura 18 (g) se muestra

la imagen original Pimientos; la imagen de cifrado se presenta en la Figura 18 (h) y

la imagen descifrada se muestra en la Figura 18 (i).

Para medir la calidad del cifrado propuesto se implementaron diferentes pruebas

estadisticas como lo son: los análisis de histogramas, cálculos de correlación entre

imágenes y la entropía de la información, estas pruebas son utilizadas para medir

diferentes aspectos en las imágenes originales y sus versions cifradas [8, 28, 31].

Los resultados de las 3 imágenes se describen a continuación.

a b c

Page 43: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

41

d e f

g h i

Figura 18. Imagen Lena original (a) cifrada; (b) descifrada (c); Imagen Mandril original (d) cifrada;

(e) descifrada (f); Imagen Pimientos original (g) cifrada; (h) descifrada (i).

5.2. Análisis de histogramas.

El análisis de histogramas muestra cómo se distribuyen los píxeles en una imagen.

Traza el número de píxeles según el nivel de escala de grises. Una propiedad que

debería satisfacer un sistema de encriptación es que el histograma de la imagen

cifrada presente una distribución uniforme. Por lo tanto, los histogramas entre la

imagen original y la imagen encriptada deben ser completamente diferentes. La

Figura 19 (a) muestra el histograma de la imagen original de Lena y la Figura 19 (b)

muestra el histograma de la imagen cifrada. En la Figura 19 (c) muestra el

histograma de la imagen original de Mandril y la Figura 19 (d) muestra el histograma

de la imagen cifrada y en la Figura 19 (e) muestra el histograma de la imagen original

Pimientos y la Figura 19 (f) muestra el histograma de la imagen cifrada. Es

importante mencionar que en cada unos de los histogramas de los insisos b, d y f

presentaron una distribución uniforme de las imágenes tal y como se esperaba.

Page 44: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

42

a b

c d

e f

Figura 19. (a) Histograma de la imagen Lena original. (b) Histograma de la imagen Lena cifrada. (c)

Histograma de la imagen Mandril original. (d) Histograma de la imagen de Mandril cifrada. (e)

Histograma de la imagen Pimientos original. (d) Histograma de la imagen de Pimientos cifrada.

Page 45: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

43

5.3. Análisis de correlación entre la imagen original y la encriptada.

Para mostrar que la imagen cifrada es independiente de la imagen simple,

calculamos el coeficiente de correlación entre ambas imágenes. Si el coeficiente es

cercano a 0 por ambos lados, sugiere que no existe una correlación lineal o una

correlación lineal débil, y el sistema de cifrado muestra un buen desempeño. Para

calcular esta dependencia estadística entre las dos imágenes se hace uso del

coeficiente de correlación de Spearman [32]. La Tabla III muestra la interpretación

de los coeficientes de correlación.

Tabla III. Interpretación de los coeficientes de correlación.

Coeficiente de correlación (valor absoluto)

Interpretación

Arriba de |0.2| Correlación muy baja

Arriba de |0.5| Correlación baja

Arriba de |0.7| Correlación moderada

Arriba de |0.9| Correlación alta

Encima de |0.9| Correlación muy alta

Los resultados para las imágenes en escala de grises se enumeran en la Tabla IV.

Tabla IV. Coeficientes de correlación entre las imágenes simples y sus correspondientes imágenes cifradas.

Imagen Coeficientes de

correlación

Lena 0.00089805205501117

Mandril -0.001487678260833

Pimientos -0.000145115810860

Podemos observar que los coeficientes son cercanos a cero para las 3 imágenes

utilizadas, mostrando que las imágenes simples son independientes de las

respectivas versiones cifradas [33].

Page 46: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

44

5.4. Entropía de la información.

La entropía de información se puede utilizar para medir la aleatoriedad en la textura

de una imagen. Esto expresa el grado de incertidumbres en el sistema, y se define

como:

𝐻(𝑚) = −∑𝑃(𝑚𝑖) log2 𝑃(𝑚𝑖);

2𝑁

𝑖=0

(18)

Donde 𝑁 es el número de bits para representar un símbolo 𝑚𝑖 y 𝑃(𝑚𝑖) representa la

probabilidad del símbolo 𝑚𝑖, de tal forma la entropía se expresa en bits. Para una

fuente verdaderamente aleatoria emitiendo símbolos 2𝑁, la entropía es 𝐻 (𝑚) = 𝑁,

por lo tanto, para una imagen cifrada con 256 niveles de gris, la entropía podría

idealmente ser 𝐻 (𝑚) = 8. Para el esquema de cifrado de imagen propuesto, la

entropía de información es 𝐻 (𝑚) = 7. 999, que está muy cerca del valor ideal. Los

resultados obtenidos por todas las imágenes de prueba (Lena, Mandril y Pimientos)

están en la Tabla V.

Tabla V. Entropía de la información de las imágenes originales y las imágenes cifradas.

Imágenes Imagen original de

entropía Imagen cifrada de

entropía

Lena 7.440485071302679 7.997124792241476

Mandril 6.632888992840242 7.996923934376936

Pimientos 7.588364986488778 7.996521203142330

Esto significa que una alta aleatoriedad en la textura de las imágenes es lograda

por el algoritmo propuesto [31].

Page 47: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

45

CONCLUSIONES

En este trabajo presentamos un estudio de los sistemas caóticos lineales por

pedazos los cuales son sistemas que se basan en parámetros de conmutación y un

intervalo de tiempo produciendo atractores caóticos de múltiple enroscado en 2 y 3

dimensiones, mediante la ubicación de puntos de equilibrio. Las trayectorias

caóticas que este atractor genera debido a su alta sensibilidad a las condiciones

iniciales fueron utilizadas para el diseño de una llave de cifrado utilizando un PRBG.

Esta llave fue usada para la encriptación de imágenes en escala de grises con el

uso de un algoritmo simétrico y un cifrado por flujo, logrando cifrar las imágenes

exitosamente. Se sometió el sistema a diversas pruebas estadísticas para verificar

la seguridad del esquema de encriptación, y así determinar si es confiable como

medio de cifrado de la información, resultando favorecido por los análisis de

histogramas, entropía de la información y la correlación entre la imagen original y la

imagen cifrada. Vimos la vulnerabilidad del sistema de cifrado ante la prueba del

Chosen-plaintext attack y presentamos una solución mediante un PRNG basado en

la evolución hacia atrás de la regla 90 de autómatas celulares, la cual permitió

cambiar los bits altamente redundantes por otros. De esta manera mejoró

satisfactoriamente el sistema de cifrado propuesto.

A futuro se planea someter el sistema a más pruebas de criptoanálisis y de esta

manera determinar su seguridad y eficacia, así como implementar el estudio de

incluir más puntos de equilibrio y de generar más enroscados al atractor. Así como

estimar el tiempo de latencia y costo computacional de este sistema de cifrado

generado.

Page 48: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

46

APÉNDICE

Apéndice A. método de 4to orden de Runge Kutta.

Para realizar las simulaciones numéricas de los sistemas descritos anteriormente

se hace uso del método numérico de Runge Kutta de cuarto orden [21]. Este método

depende de una función de incremento, y cuatro ecuaciones recurrentes 𝒌𝟏,

𝒌𝟐, 𝒌𝟑, 𝒌𝟒. Esta recurrencia hace que el cálculo de este método sea más eficiente

utilizando una computadora y toman la siguiente forma:

𝒚𝒊+𝟏 = 𝒚𝒊 + 𝟏

𝟔𝒉(𝒌𝟏 + 𝟐𝒌𝟐 + 𝟐𝒌𝟑 + 𝒌𝟒) (19)

Donde

𝒌𝟏 = 𝒇(𝒙𝒊, 𝒚𝒊)

𝒌𝟐 = 𝒇(𝒙𝒊 + 𝟏

𝟐𝒉, 𝒚𝒊 +

𝟏

𝟐𝒉𝒌𝟏)

𝒌𝟑 = 𝒇(𝒙𝒊 + 𝟏

𝟐𝒉, 𝒚𝒊 +

𝟏

𝟐𝒉𝒌𝟐)

𝒌𝟒 = 𝒇(𝒙𝒊 + 𝒉, 𝒚𝒊 + 𝒉𝒌𝟑)

El parámetro 𝒉 o tamaño de paso, es el que da resolución al cálculo del sistema.

Para todas las simulaciones que se realizaron en este trabajo se asignó un valor de

𝒉 = 𝟎. 𝟎𝟏. Las simulaciones y cálculos se realizaron mediante código generado en

MATLAB.

Page 49: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

47

Apéndice B. Codigos de simulaciones en Matlab.

Las simulaciones generadas en el transcurso de este trabajo se realizaron mediante

el software de computación matemático MATLAB. Los programas se muestran a

continuación:

B.1. datos.m

%% Declaración de variables. x0=1; y0=0; z0=1; PT= 10000; %Parámetro para quitar estados transitorios. h=0.01; %Valor del paso (0.01). Ti=0; %Modificar después para los valores del tiempo. %ET=5000; %Estados transitorios %n es el tamaño de la imagen de largo*ancho. %Tf=n*h+Ti; %Numero de iteraciones. %Tf=Tf+PT; %Puntos transitorios. %(evaluar los gráficos desde el punto dado hasta el final).

%% Llamado de las funciones.

res=rk4(x0,y0,z0,h,Ti,PT,n);

%% Graficacion %res(:,1) -> t %res(:,2) -> x %res(:,3) -> y %res(:,4) -> z

%% Puntos de equilibrio %X MatrizA = [0 1 0; 0 0 1; -1.5 -1 -1]; B = [0 ; 0 ; 2]; Bx2 = [0 ;0; 6]; Bx3 = [0;0;10]; Bx_2 = [0 ;0; -6]; Bx_3 = [0;0;-10];

PE = -MatrizA^-1*B; PEx2 = -MatrizA^-1*Bx2; PEx3 = -MatrizA^-1*Bx3; PEx_2 = -MatrizA^-1*Bx_2; PEx_3 = -MatrizA^-1*Bx_3;

%Y By = [8/3;-1/2;0]; By2 = [-8/3;1/2;0]; By_2 = [8/3;0;7.5005];

PEy = -MatrizA^-1*By;

Page 50: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

48

PEy2 = -MatrizA^-1*By2; PEy_2 = -MatrizA^-1*By_2;

figure %Figura x,y,z VB->+x VB->y VB->z plot3(res(PT:end,2),res(PT:end,3),res(PT:end,4),'b') %hold on conserva las parcelas de los ejes actuales. hold on plot3(PE(1,1),PE(2,1),PE(3,1),'*r') plot3(-PE(1,1),PE(2,1),PE(3,1),'*r') plot3(PEx2(1,1),PEx2(2,1),PEx2(3,1),'*r') plot3(PEx3(1,1),PEx3(2,1),PEx3(3,1),'*r') plot3(PEx_2(1,1),PEx_2(2,1),PEx_2(3,1),'*r') plot3(PEx_3(1,1),PEx_3(2,1),PEx_3(3,1),'*r') plot3(PEy(1,1),PEy(2,1),PEy(3,1),'*r') plot3(PEy2(1,1),PEy2(2,1),PEy2(3,1),'*r') plot3(PEy_2(1,1),PEy_2(2,1),PEy_2(3,1),'*r') %title('Grafica X-Y-Z') xlabel('X') ylabel('Y') zlabel('Z')

B.2. rk4.m

function [sal]= rk4(x0,y0,z0,h,Ti,PT,n) L=length(1:PT+n);%medir la dimensión del arreglo. res=zeros(L,4); %vector de ceros generado. t=Ti; %Asignar valor a t de Tiempo inicial. %% Solución de ecuaciones mediante Runge Kutta de 4to orden. res(1,1)=t; res(1,2)=x0; res(1,3)=y0; res(1,4)=z0;

for j=2:L

K1x=f(t,x0,y0,z0); k1x=K1x(1,1); k1y=K1x(1,2); k1z=K1x(1,3);

K2x=(f(t+(h/2),x0+((h/2)*k1x),y0+((h/2)*k1y),z0+((h/2)*k1z))); k2x=K2x(1,1); k2y=K2x(1,2); k2z=K2x(1,3);

K3x=(f(t+(h/2),x0+((h/2)*k2x),y0+((h/2)*k2y),z0+((h/2)*k2z))); k3x=K3x(1,1); k3y=K3x(1,2); k3z=K3x(1,3);

K4x=(f(t+h,x0+(h*k3x),y0+(h*k3y),z0+(k3z*h))); k4x=K4x(1,1);

Page 51: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

49

k4y=K4x(1,2); k4z=K4x(1,3);

Xn1 = x0+(h/6)*(k1x+2*k2x+2*k3x+k4x); Yn1 = y0+(h/6)*(k1y+2*k2y+2*k3y+k4y); Zn1 = z0+(h/6)*(k1z+2*k2z+2*k3z+k4z);

res(j,1)= t; res(j,2)= Xn1; res(j,3)= Yn1; res(j,4)= Zn1;

t = t+h; %Aumento del valor de x.

x0=Xn1; y0=Yn1; z0=Zn1;

end sal=res; end

B.3. f.m

function [ecdif]= f(t,x,y,z) %% Variables usadas para Sistemas lineales por pedazos. a=1.5; b=1; c=1;

%Y By_1 = [8/3 ; -1/2 ; 0]; %enroscado abajo. By1 = [-8/3 ; 1/2; 0]; %enroscado arriba.

By_2 = [8/3;0;7.5005]; %enroscado abajo.

beta1 = 4/3; beta_1 = -4/3;

%% Superficies de conmutación. alpha0 = 0; alpha1 = 8/3; alpha2 = 16/3;

B1=[0;0;2]; B2=[0;0;-2]; B3=[0;0;6]; B4=[0;0;-6]; B5=[0;0;10]; B6=[0;0;-10];

alpha_1 = -8/3; alpha_2 = -16/3;

Page 52: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

50

%% Eje de las X. if x > alpha0 && x >= alpha1 && x > alpha2 B = B5; elseif x > alpha0 && x > alpha1 && x < alpha2 B = B3; elseif x >= alpha0 && x < alpha1 B = B1; elseif x < alpha0 && x < alpha_1 && x <= alpha_2 B = B6; elseif x < alpha0 && x < alpha_1 && x > alpha_2 B = B4; elseif x <= alpha0 B = B2; end

% Eje de las Y if x > alpha0 && x <= alpha1 && y < beta_1 B = By_1; %enroscado abajo. elseif x < alpha0 && x > alpha_1 && y >= beta1 B = By1; %enroscado arriba. elseif x > alpha0 && x > alpha1 && x > alpha2 && y < beta_1 B = By_2; %enroscado abajo. end %% Ecuaciones ecdif = zeros(1,3);

ecdif(1)=y+B(1); ecdif(2)=z+B(2); ecdif(3)=-a*x-b*y-c*z+B(3); end

B.4. llave_k.m

tic %mide el tiempo que tarda en terminar el programa. % Programa para generar llave K, encriptar y desencriptar %las imágenes en escala de grises. % Y se implementaron los códigos de las 4 pruebas realizadas. clc; %borrar command Window clear; %borrar Workspace close all; %Cerrar todas las figuras. workspace; %Espacio de trabajo. foto = imread('mandrill.bmp'); imagen = imresize (foto, [256 256]); subplot(2, 4, 1);%Posicion de la imagen en el workspace. imshow(imagen, []); % para visualizar una imagen. title('Imagen Original'); %Lectura de la imagen original y convertida a escala de grises. grises=rgb2gray(imagen); %converir img original en escala de grises. subplot(2, 4, 2);%Posicion de la imagen en el workspace. imshow(grises, []); % para visualizar una imagen. title('Imagen en escala de grises'); imwrite(grises,'imagen_escala_grises.png'); [largo, ancho] = size(grises); %Tamaño de la imagen. n=largo*ancho; %Tamaño total de la imagen.

Page 53: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

51

%% Correr primero el programa de los multienroscados.

run datos.m

Vllave=res(PT+1:end,:); %La información del vector res se pasan al vector

Vllave.

%% Llave K de encriptacion. K=zeros(1,n, 'uint8');%Vector de ceros de 1 hast n=65536. %res(:,2) -> x %res(:,3) -> y %res(:,4) -> z for i=1:n K(i)=mod(floor(Vllave(i,2)+Vllave(i,3)+Vllave(i,4)*10^14),256); end

%% Ecuaciones para el cifrado completo, para L = 8 bits. %Convierto la matriz grises en un vector horizontal unidimensional. %Grises es la cantidad de pixeles de la imagen 256x256=65536. P=grises(:)'; %Vector de pixeles de la imagen. T=zeros(1, 8, 'uint8'); %Vector de 8 bits -> m gorrito. TP=zeros(1,length(P),'uint8'); %Vector de valores del procesado de la

img. %MSBFirst bit mas significativo. %LSBFirst bit menos significativo. %Vector de 9 bits. %382[256-128-64-32-16-8-4-2-1]. Numero = 382; %valor numerico del vector Z. Z = decimalToBinaryVector(Numero,9,'LSBFirst');%Convertir de decimal a

binario.

for v=1:length(P) %longitud del vector P -> 65536 pixeles. Pbin = decimalToBinaryVector(P(v),8,'LSBFirst'); % convertidor de

decimal a binario. T(8)=bitxor(Pbin(1),Z(2),'uint8'); T(7)=bitxor(bitxor(Pbin(2),Z(1)),Z(3),'uint8'); T(6)=bitxor(bitxor(Pbin(1),Pbin(3)),Z(4),'uint8'); T(5)=bitxor(bitxor(bitxor(Pbin(4),Z(1)),Z(3)),Z(5),'uint8');

T(4)=bitxor(bitxor(bitxor(bitxor(Pbin(1),Pbin(3)),Pbin(5)),Z(2)),Z(6),'ui

nt8');

T(3)=bitxor(bitxor(bitxor(bitxor(Pbin(2),Pbin(6)),Z(1)),Z(5)),Z(7),'uint8

'); T(2)=bitxor(bitxor(bitxor(Pbin(1),Pbin(5)),Pbin(7)),Z(8),'uint8');

T(1)=bitxor(bitxor(bitxor(bitxor(Pbin(8),Z(1)),Z(5)),Z(7)),Z(9),'uint8'); %Vector de Z con los bits ordenados. Zn = [Z(1),T(1),T(2),T(3),T(4),T(5),T(6),T(7),T(8)]; %Vector de Z tomando en cuenta el LSB, usado para la proxima

iteracion. Z = [T(8),T(7),T(6),T(5),T(4),T(3),T(2),T(1),Z(1)];

Page 54: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

52

%Guardar el valor de T->m gorrito en un vector de los pixeles

procesados. T=double(T); %Convertimos los valores de uint8 a double. TP(v) = binaryVectorToDecimal(T);%de binario a decimal. end

%% Proceso de cifrado de la imagen. IV=randi([0 255]); %IV es un valor escalar entre 0 y 255. C=zeros(largo,ancho,'uint8');%matriz C con el tamaño de la imagen. %Primera ecuacion del cifrado. C(1,1)=bitxor(bitxor(TP(1),K(1),'uint8'),IV,'uint8');%Primer pixel.

%ciclo para el primer renglon despues de (1,1). for j=2:ancho %Barrido Vertical %K(256*(j-1)+(i)) esta operacion hace que al terminarse la primera %fila de la imagen, la llave comience en la segunda donde quedo. C(j,1)=bitxor(bitxor(TP(j),K(j),'uint8'),C(j-1,1),'uint8'); end

%ciclo para todos los demas pixeles. for j=2:ancho %Barrido Vertical for i=1:largo %Barrido Horizontal. %K(256*(j-1)+(i)) esta operacion hace que al terminarse la primera %fila de la imagen, la llave comience en la segunda donde quedo. if(i==1) C(i,j)=bitxor(bitxor(TP(256*(j-1)+(i)),K(256*(j-

1)+(i)),'uint8'),C(256,j-1),'uint8'); else C(i,j)=bitxor(bitxor(TP(256*(j-1)+(i)),K(256*(j-

1)+(i)),'uint8'),C(i,j-1),'uint8'); end

end end %Guardamos y visualizamos la imagen encriptada. imwrite(C,'imagen_cifrada.png'); figure(1) img_cif = imread('imagen_cifrada.png'); subplot(2, 4, 3);%Posición de la imagen en el workspace. imshow(img_cif, []); % para visualizar una imagen. title('Imagen Cifrada');

%% Proceso de descifrado de la imagen. %matriz P1 con el tamaño de la imagen descifrada. P1=zeros(largo,ancho,'uint8'); %Matriz de imagen decifrada. %Primera ecuacion del descifrado. P1(1,1)=bitxor(bitxor(C(1,1),K(1),'uint8'),IV,'uint8');%Primer pixel.

%ciclo para el primer renglon despues de (1,1). for j=2:ancho %Barrido Vertical %fila de la imagen, la llave comience en la segunda donde quedo. P1(j,1)=bitxor(bitxor(C(j,1),K(j),'uint8'),C(j-1,1),'uint8'); end

%ciclo para todos los demas pixeles. for j=2:ancho %Barrido Vertical

Page 55: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

53

for i=1:largo %Barrido Horizontal.

if(i==1) P1(i,j)=bitxor(bitxor(C(256*(j-1)+(i)),K(256*(j-

1)+(i)),'uint8'),C(256,j-1),'uint8'); else P1(i,j)=bitxor(bitxor(C(256*(j-1)+(i)),K(256*(j-

1)+(i)),'uint8'),C(i,j-1),'uint8'); end

end end

%% Ecuaciones para el descifrado completo, para L = 8 bits. ImgDes=P1(:)'; %Vector de pixeles de la imagen. IR=zeros(1,length(P),'uint8'); %vector del pixel recuperado. %Numero = 382; %valor numerico del vector Z. Z = decimalToBinaryVector(Numero,9,'LSBFirst');%Convertir de decimal a

binario. for v=1:length(P)%longitud del vector P -> 65536 pixeles. T = decimalToBinaryVector(ImgDes(v),8,'LSBFirst'); Pbin(8)=bitxor(T(1),Z(2),'uint8'); Pbin(7)=bitxor(bitxor(T(2),Z(1)),Z(3),'uint8'); Pbin(6)=bitxor(bitxor(bitxor(T(1),T(3)),Z(2)),Z(4),'uint8'); Pbin(5)=bitxor(bitxor(bitxor(T(4),Z(1)),Z(3)),Z(5),'uint8');

Pbin(4)=bitxor(bitxor(bitxor(bitxor(T(3),T(5)),Z(2)),Z(4)),Z(6),'uint8');

Pbin(3)=bitxor(bitxor(bitxor(bitxor(T(2),T(6)),Z(3)),Z(5)),Z(7),'uint8');

Pbin(2)=bitxor(bitxor(bitxor(bitxor(bitxor(bitxor(T(1),T(3)),T(5)),T(7)),

Z(4)),Z(6)),Z(8),'uint8');

Pbin(1)=bitxor(bitxor(bitxor(bitxor(T(8),Z(1)),Z(5)),Z(7)),Z(9),'uint8');

%Vector de Z con los bits ordenados. Zn = [Z(1),T(8),T(7),T(6),T(5),T(4),T(3),T(2),T(1)];

%Vector de Z tomando en cuenta el LSB, usado para la proxima

iteracion. Z = [T(1),T(2),T(3),T(4),T(5),T(6),T(7),T(8),Z(1)]; %Guardar el valor de T->m gorrito en un vector de los pixeles

procesados. Pbin=double(Pbin); %Convertimos los valores de uint8 a double. IR(v) = binaryVectorToDecimal(Pbin);%de binario a decimal.

%Convertimos el vector en una matriz. imgrec=zeros(largo,ancho, 'uint8'); for j=1:ancho %Barrido Vertical for i=1:largo %Barrido Horizontal. imgrec(i,j)=IR(i+(j-1)*256); end end end

%Guardamos y visualizamos la imagen recuperada

Page 56: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

54

imwrite(imgrec,'imagen_recuperada.png'); figure(1) img_rec = imread('imagen_recuperada.png'); subplot(2, 4, 4);%Posicion de la imagen en el workspace. imshow(img_rec, []); % para visualizar una imagen. title('Imagen Recuperada');

%% entropía de la información. % Imagen original. I = imread('imagen_escala_grises.png'); IEG = entropy(I); % Imagen cifrada. L = imread('imagen_cifrada.png'); IC = entropy(L);

%% Análisis de coeficientes de correlación a = imread ( 'imagen_escala_grises.png' ); b = imread ( 'imagen_cifrada.png' ); R = corr2 (a, b);

%% Histogramas figure(1) %Histograma de la imagen de Lena en escala de grises. subplot(2, 3, 4);%Posicion de la imagen en el workspace. imhist(grises); %Histograma imagen escala de grises. title('Histograma imagen escala de grises'); figure (1) %Histograma de la imagen de Lena cifrada. subplot(2, 3, 5);%Posicion de la imagen en el workspace. imhist(img_cif); %Histograma imagen cifrada. title('Histograma imagen cifrada'); figure(1) %Histograma de la imagen de Lena recuperada. subplot(2, 3, 6);%Posicion de la imagen en el workspace. imhist(img_rec); %Histograma imagen cifrada. title('Histograma imagen recuperada');

%% Chosen-plaintext attack ChA=zeros(largo,ancho,'uint8');%matriz de la imagen resultante del

ataque. cif_lena = imread('imagen_cifrada.png'); cif_negro = imread('imagen_cifradanegro.jpg');

for i=1:ancho %Barrido Vertical for j=1:largo %Barrido Horizontal ChA(i,j)=bitxor(cif_lena(i,j),cif_negro(i,j),'uint8'); end end figure imshow(ChA); title('Choosen Plaint-text Attack'); imwrite(ChA,'Choosen_Attack.jpg'); toc %Determina el tiempo final de ejecución del programa.

Page 57: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

55

Apéndice C. Congresos Arbitrados.

C.1. XV Encuentro participación de la mujer en la ciencia.

C.1.1. Trabajo en Extenso No. de Ref. IN-0131/18.

ESTUDIO Y APLICACIÓN DE SISTEMAS CAÓTICOS A TRAVÉS DE LA BIFURCACIÓN DE SUS

PARÁMETROS

Juan Daniel González Del Río1, Luis Javier Ontañon García Pimentel1, Marco Tulio Ramírez Torres1

1 Coordinación Académica Región Altiplano Oeste, UASLP, Salinas, S.L.P

[email protected], [email protected], [email protected]

RESUMEN

Los sistemas caóticos son sistemas no lineales que cambian o evolucionan con el estado del tiempo,

pueden llegar a tener resultados impredecibles y ser complejos. Dichos sistemas son

extremadamente sensibles a las condiciones iniciales puesto que la más mínima alteración

repercute en su comportamiento, como es en el caso de la meteorología, la cual es la disciplina que

estudia los fenómenos atmosféricos. En este proyecto de investigación se realizó el estudio de los

sistemas caóticos de Lorenz y Rössler los cuales son sistemas que no llegan a pasar por un mismo

punto dos veces. El estudio de estos sistemas se llevó a cabo través de la solución de su sistema de

ecuaciones diferenciales ordinarias mediante el método numérico Runge Kutta de cuarto orden.

Con este estudio se determinó su comportamiento caótico o periódico al variar los parámetros del

sistema para obtener sus estados estacionarios así como los diagramas de bifurcación donde se

observan las soluciones continuas y los cambios de las soluciones periódicas a múltiple periodo o

periodo infinito. Con el estudio de estos sistemas se espera diseñar un sistema lo suficientemente

complejo y eficaz que pueda llegar a contribuir al cifrado de datos. Ya que existen algoritmos

convencionales que no presentan un buen desempeño en el cifrado de imágenes debido a las

propiedades intrínsecas, por lo que se planea desarrollar algoritmos criptográficos con enfoque

caótico, los cuales demuestran una mejor calidad de cifrado brindando seguridad perceptual y

criptográfica, además son sensibles a las condiciones iniciales y son difíciles de predecir.

Page 58: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

56

Page 59: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

57

Page 60: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

58

Page 61: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

59

Page 62: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

60

Page 63: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

61

Page 64: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

62

Page 65: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

63

Page 66: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

64

C.1.2. Cartel.

Page 67: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

65

C.2. Primera reunion de ciberseguridad en la industria 4.0

Aplicación a la criptografía de sistemas

caóticos lineales por pedazos mediante el

aumento de puntos de equilibrio

Resumen—En este trabajo de investigación se realizó el estudio y aplicación de sistemas caóticos basados

en el uso de sistemas lineales por pedazos, los cuales pueden ser una gran contribución a la encriptación de datos

debido a que estos sistemas son fáciles de implementar y además presentan trayectorias caóticas óptimas para los

procesos de encriptación. Para esto se utilizó un análisis de la ubicación de los puntos de equilibrio y número de

enroscados, con la finalidad de generar un sistema multienroscado. Para el sistema de encriptación se tomó la

secuencia dada por el generador como una llave de cifrado y se realizó la unión con los datos de entrada por medio

de la operación XOR para producir la encriptación de imágenes en escala de grises. Se efectuó el análisis de seguridad

estadístico para determinar la eficiencia del encriptado propuesto y corroborar los datos mediante coeficientes de

correlación e histogramas. La cual nos llevará a establecer un sistema de comunicación de video confidencial.

González Del Río Juan Daniel; Ontañón-García Pimentel Luis Javier; Ramírez Torres Marco Tulio,

Coordinación Académica Región Altiplano Oeste, Universidad Autónoma de San Luis Potosí,

Kilómetro 1 Carretera a Santo Domingo, 78600, Salinas de Hidalgo, San Luis Potosí, México,

[email protected] ; [email protected] ; [email protected]

Page 68: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

66

Page 69: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

67

Page 70: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

68

Page 71: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

69

Page 72: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

70

C.2.1. Cartel.

Page 73: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

71

REFERENCIAS

[1] Cheng, H. Partial encryption of compressed images and videos, IEEE Trans.

Signal Process. 48 (8) (2000) 2439–2451.

[2] Bourbakis, N; Alexopoulos, C. Picture data encryption using scan patterns,

Pattern Recognit. 25 (6) (1992) 567–581.

[3] Wijaya, S; Tan, S.K; Guan, S.U. Permutation and sampling with maximum length

CA or pseudorandom number generation, Appl. Math. Comput. 185 (1) (2007)

312–321.

[4] Rey, A.M.D; Mateus, J.P; Sánchez, G.R. A secret sharing scheme based on

cellular automata, Appl. Math. Comput. 170 (2) (2005) 1356–1364.

[5] Jones, D. Applications of splay trees to data compression, Commun. ACM 31 (8)

(1988) 996–1007.

[6] Molina Vilchis, M. A.; Vega Alvarado, E.; Silva Ortigoza, R. Teoría del Caos en

la Protección de Información, Polibits, núm. 35, 2007, pp. 7-11.

[7] Campos Canton, E., Barajas Ramírez, Juan, Solís Perales, Gualberto, Femat

Flores, Alejandro, Multiscroll attractors by switching systems, et al. Chaos 20,

013116 (2010).

[8] García-Martinez, M; Ontañón-García, L. J; Campos-Cantón, E; Čelikovský, S.

Hyperchaotic encryption based on multi-scroll piecewise linear systems, Applied

Mathematics and Computation 270 (2015) 413-424.

[9] Schifter Isacc, la ciencia del caos, 3ª ed. México : FCE, SEP, CONACyT, 2003.

[10]Devaney, R. L., Siegel, P. B., Mallinckrodt, A. J., & McKay, S. (1993). A first

course in chaotic dynamical systems: theory and experiment. Computers in

Physics, 7(4), 416-417.

[11] Moreno Posada, J. D., Rodriguez Rodriguez, I. F., Suárez Parra, C. A., & Amaya

Barrera, E. I. (2018). Algoritmo de Encriptación de Imágenes Utilizando el

Atractor Caótico de Lorenz.

[12] Ramirez Torres Marco Tulio, Application and implementation of an improved

encryption system, (tesis de doctorado). Universidad Autónoma de San Luis

Potosí, IICO, San Luis Potosi (2015).

[13] Shiguo Lian, multimedia content encryption-techniques and applications.

Publicaciones Auerbach (2008).

[14] Von Neuman, J.: Theory of Self-Reproducing Automata. Burks, A,W. University

of Illinois Press (1966) 64-87.

[15] Reyes Gómez D. A., Descripción y Aplicaciones de los Autómatas Celulares,

Aug (2011).

Page 74: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

72

[16] Espinosa Olvera O. J. Análisis Estadístico de Cifrado Parcial, en imágenes

digitales, UASLP, IICO, Febrero 2018.

[17] Wolfram, S. Cellular automata and complexity: collected papers. CRC Press,

(2018).

[18] Ontañón Garcia Pimentel, L. J. (2010). “Estudio Del Fénomeno De

Sincronización En Sistemas Alineales” (tesis de maestría). Universidad

Autónoma de San Luis Potosí, IICO, San Luis Potosi (2010).

[19] Lorenz, Edward N. (1963): Deterministic nonperiodic flow. Journal of

Atmospheric Science, J. Atmos. Sci. 20, 130-141.

[20] Rössler, O. E. “An equation for continuos chaos”, Physics Letters, Vol. 57A, No.

5, pp 397-398, (1976).

[21] Blanchard, P; Devaney, R. L; Hall G. R. Ecuaciones Diferenciales. International

Thomson Editores.Mexico, 1998.

[22] Romanelli, L. (2006). Teoría del caos en los sistemas biológicos. Rev Argent

Cardiol, 74(6), 478-482.

[23] Rodríguez, M. A. (2008). Predicción meteorológica y caos en espacio-tiempo.

[24] Perko, L. (2013). Differential equations and dynamical systems (Vol. 7). Springer

Science & Business Media.

[25] Ontañón Garcia, L. J., Jiménez López, E; Campos Cantón, E. y Basin,

M. (2014). A family of hyperchaotic multi-scroll attractors in Rn. Applied

Mathematics and Computation, 233, 522-533.

[26] Wolf, A., Swift, J. B., Swinney, H. L., & Vastano, J. A. (1985). Determining

Lyapunov exponents from a time series. Physica D: Nonlinear

Phenomena, 16(3), 285-317.

[27] Liu, H; Wang, X; Kadir, A. Color image encryption using choquet fuzzy integral

and hyper chaotic system, Optik 124 (18) (2013) 3527–3533.

[28] Ramirez-Torres, M. T; Murgia, J.S; Mejia Carlos, M. Image encryption with an

improved cryptosystem based on a matrix approach, International Journal of

Modern Physics C, Vol. 25, No. 10 (2014).

[29] Urias, J., Ugalde, E., Salazar, G.,: "A cryptosystem based on cellular automata".

Chaos: An Interdisciplinary Journal of Nonlinear Science. Vol. 8(4). pp. 819-822.

(1998).

[30] Del Rey, A. M., Sánchez, G. R., & De La Villa Cuenca, A. Encrypting digital

images using cellular automata. In International Conference on Hybrid Artificial

Intelligence Systems. Springer, Berlin, Heidelberg (2012) 78-88.

[31] Ramirez-Torres, MT, Murguia, JS, y Mejia-Carlos, M. (2014,

diciembre). Implementación de FPGA de un sistema de cifrado de imágenes

reconfigurable. En ReConFigurable Computing y FPGAs (ReConFig), 2014

International Conference on (pp. 1-4). IEEE.

Page 75: DISEÑO DE TRAYECTORIAS CAÓTICAS MEDIANTE EL AUMENTO DE ...salinas.uaslp.mx/Documents/Tesis/Juan Daniel González del Río.pdf · de implementar y además presentan trayectorias

73

[32] Schmidt, JS, y Osebold, R. (2017). Los sistemas de gestión ambiental como

motor de la sostenibilidad: estado de implementación, beneficios y barreras en

las empresas de construcción alemanas. Revista de Ingeniería Civil y

Gestión , 23 (1), 150-162.

[33] Wang, X; Zhao, J; Zhang, Z. Chaotic encryption algorithm based on alternant of

stream cipher and block cipher, Nonlinear Dyn. 63 (4) (2011) 587–597.