• No se han encontrado resultados

Encriptación simétrica de señales usando arquitecturas neuronales

N/A
N/A
Protected

Academic year: 2020

Share "Encriptación simétrica de señales usando arquitecturas neuronales"

Copied!
208
0
0

Texto completo

(1)

ENCRIPTACIÓN SIMÉTRICA DE SEÑALES USANDO ARQUITECTURAS NEURONALES

JUAN CAMILO TORRES MUÑOZ DIEGO ALEXANDER FERREIRA CORTÉS

Universidad Distrital Francisco José de Caldas Facultad de Ingeniería

Proyecto Curricular Ingeniería Electrónica Bogotá, Colombia

(2)
(3)

ENCRIPTACIÓN SIMÉTRICA DE SEÑALES USANDO ARQUITECTURAS NEURONALES

JUAN CAMILO TORRES MUÑOZ DIEGO ALEXANDER FERREIRA CORTÉS

Trabajo de grado para optar al título de: Ingeniero Electrónico

Director:

ANDRES EDUARDO GAONA BARRERA Profesor Asistente – Facultad de Ingeniería

Universidad Distrital Francisco José de Caldas Facultad de Ingeniería

Proyecto Curricular Ingeniería Electrónica Bogotá, Colombia

(4)
(5)

Nota de aceptación

(6)
(7)

Resumen

En este proyecto se lleva a cabo el desarrollo de dos sistemas de cifrado basados en redes neuronales, el primero a partir de redes neuronales de tipo caóticas y el segundo una emulación del algoritmo DES (Data Encryption Standard) por medio de una red neuronal feedforward.

Para llevar a cabo el desarrollo del modelo de redes neuronales caóticas, primero se llevó a cabo un análisis del comportamiento que presenta cuando en la capa oculta se encuentra únicamente una capa caótica, mientras se variaba el tipo de caos y sus parámetros. Luego se utilizaron los resultados obtenidos, con el fin de encontrar los valores que pueden tomar los parámetros de las señales caóticas para que el modelo presente buen desempeño y así medir la sensibilidad del modelo, para determinar el espacio de llaves para cada una de las diferentes series de tiempo caóticas. Fi-nalmente y basados en los resultados de los dos puntos anteriores se llevó a cabo un análisis del comportamiento del modelo con arquitecturas de dos, tres y cuatro capas caóticas en la capa oculta. Los resultados muestran que a medida que se aumenta el número de capas caóticas se mejora el desempeño pero que esa mejora tiende a ser cada vez menor y no resulta justificable para la cantidad de recursos que necesita, por lo que el modelo ideal es una arquitectura con tres capas caóticas.

(8)
(9)

Contenido

Resumen i

Lista de figuras viii

Lista de tablas xiii

1 Generalidades 1

1.1 Planteamiento del Problema . . . 2

1.2 Justificación . . . 4

1.3 Objetivos . . . 6

1.3.1 Objetivo General . . . 6

1.3.2 Objetivos Específicos . . . 6

1.4 Alcances y Limitaciones . . . 6

1.4.1 Alcances . . . 6

1.4.2 Limitaciones . . . 6

2 Marco Teórico 8 2.1 Criptografía . . . 9

2.2 Criptosistema . . . 9

2.3 Criptografía simétrica . . . 10

2.3.1 Data Encryption Standard (DES) . . . 11

2.3.1.1 Simplified Data Encryption Standard (SDES) . . . . 13

2.3.1.2 Triple DES (3DES) . . . 14

2.3.2 Advanced Encryption Standard (AES) . . . 15

2.4 Criptografía asimétrica . . . 16

2.4.1 Rivest, Shamir y Adleman (RSA) . . . 17

2.4.2 Criptografía ElGamal . . . 18

2.5 Parámetros de desempeño . . . 19

2.5.1 NCPR . . . 19

2.5.2 UACI . . . 19

2.5.3 Correlación . . . 19

2.5.4 Entropía . . . 19

(10)

2.6 Redes neuronales artificiales . . . 20

2.6.1 Perceptron . . . 22

2.6.1.1 Funciones de transferencia . . . 23

2.6.2 Arquitecturas neuronales . . . 25

2.6.2.1 Redes neuronales feedforward . . . 26

2.6.2.2 Redes neuronales recurrentes . . . 27

2.6.2.3 Redes neuronales caóticas . . . 28

3 Redes neuronales caóticas 31 3.1 Introducción . . . 32

3.2 Arquitecturas propuestas . . . 33

3.3 Experimentación . . . 35

3.3.1 Modelo de encriptación con redes caóticas de una capa . . . . 38

3.3.2 Análisis de sensibilidad y espacio de llaves . . . 39

3.3.3 Modelo de encriptación con redes caóticas multicapa . . . 39

3.4 Resultados . . . 40

3.4.1 Resultados obtenidos con redes de una capa . . . 40

3.4.1.1 Mapa Logístico . . . 41

3.4.1.2 Mapa Cuadrático . . . 46

3.4.1.3 Mapa de Ikeda . . . 51

3.4.2 Análisis de sensibilidad y espacio de llaves . . . 61

3.4.2.1 Mapa Logístico . . . 61

3.4.2.2 Mapa Cuadrático . . . 65

3.4.2.3 Mapa de Ikeda . . . 69

3.4.3 Resultados obtenidos con redes multicapa . . . 78

3.4.3.1 Prueba de conmutatividad . . . 78

3.4.3.2 Redes de dos capas . . . 80

3.4.3.3 Redes de tres capa . . . 82

3.4.3.4 Redes de cuatro capas . . . 83

3.4.4 Complejidad del modelo . . . 85

4 Redes neuronales feedforward 87 4.1 Introducción . . . 88

4.2 Modelo propuesto . . . 88

4.3 Experimentación . . . 89

(11)

4.3.2 Condiciones de la experimentación . . . 91

4.3.3 Función de entrenamiento : BFGS quasi-Newton backpropa-gation . . . 93

4.4 Resultados . . . 94

4.4.1 Limitación de base de datos . . . 94

4.4.1.1 Experimento 2 . . . 96

4.4.1.2 Experimento 3 . . . 98

4.4.2 Función de entrenamiento : BFGS quasi-Newton backpropa-gation . . . 101

4.4.2.1 Una capa . . . 101

4.4.2.2 Dos capas . . . 106

4.4.3 Función de entrenamiento : Conjugate gradient backpropa-gation with Powell-Beale restarts (CGB) . . . 109

4.4.3.1 Una capa . . . 110

4.4.3.2 Dos capas . . . 113

4.4.4 Evaluación de parametros . . . 116

4.4.4.1 Evaluación DES y DES neuronal . . . 116

4.4.4.2 Evaluación parámetros DESneuronal . . . 118

5 Análisis de resultados 127 5.1 Cifrado con redes neuronales caóticas . . . 128

5.1.1 Redes de una sola capa . . . 128

5.1.2 Espacio de llaves . . . 130

5.1.3 Redes multicapa . . . 131

5.1.4 Mejores resultados . . . 132

5.2 Cifrado con redes neuronales feedforward . . . 134

5.2.1 Mejores resultados . . . 134

5.2.2 Observaciones . . . 136

5.2.3 DES Neuronal asimétrico . . . 137

6 Conclusiones 139 6.1 Resumen . . . 140

6.2 Trabajo futuro . . . 141

(12)

A.1.1 Mapa Logístico . . . 152

A.1.1.1 NPCR . . . 152

A.1.1.2 Correlación . . . 153

A.1.1.3 UACI . . . 154

A.1.1.4 ∆Entropía . . . 155

A.1.1.5 AMI . . . 156

A.1.2 Mapa Cuadrático . . . 157

A.1.2.1 NPCR . . . 157

A.1.2.2 Correlación . . . 158

A.1.2.3 UACI . . . 159

A.1.2.4 ∆Entropía . . . 160

A.1.2.5 AMI . . . 161

A.1.3 Mapa de Ikeda (X) . . . 162

A.1.3.1 NPCR . . . 162

A.1.3.2 Correlación . . . 163

A.1.3.3 UACI . . . 164

A.1.3.4 ∆Entropía . . . 165

A.1.3.5 AMI . . . 166

A.1.4 Mapa de Ikeda (Y) . . . 167

A.1.4.1 NPCR . . . 167

A.1.4.2 Correlación . . . 168

A.1.4.3 UACI . . . 169

A.1.4.4 ∆Entropía . . . 170

A.1.4.5 AMI . . . 171

A.2 Prueba de sensibilidad . . . 171

A.2.1 Mapa Logístico . . . 171

A.2.1.1 Parámetror . . . 171

A.2.1.2 Parámetroxn . . . 173

A.2.2 Mapa Cuadrático . . . 175

A.2.2.1 Parámetroc . . . 175

A.2.2.2 Parámetroxn . . . 176

A.2.3 Mapa de Ikeda (X) . . . 178

A.2.3.1 Parámetrou . . . 178

A.2.3.2 Parámetroxn . . . 180

(13)

A.2.4 Mapa de Ikeda (Y) . . . 183

A.2.4.1 Parámetrou . . . 183

A.2.4.2 Parámetroxn . . . 184

(14)

Lista de Figuras

2.1 Criptosistema . . . 10

2.2 Estructura general del DES [58] . . . 11

2.3 Generación de las subllaves . . . 12

2.4 Función de Feistel . . . 12

2.5 Estructura SDES [63] . . . 13

2.6 AddRoundKey [64] . . . 15

2.7 SubBytes [64] . . . 15

2.8 ShiftRows [64] . . . 16

2.9 MixColumns [64] . . . 16

2.10 Esquena neuronas biológicas [81] . . . 21

2.11 Modelo neurona artificial [83] . . . 22

2.12 función de transferencia limitador duro [81] . . . 23

2.13 función de transferencia lineal [81] . . . 24

2.14 función de transferencia logaritmica - sigmoidal [81] . . . 24

2.15 función de transferencia Hiperbolica - Tangenciall [81] . . . 25

2.16 Estructura básica red neuronal [85] . . . 26

2.17 Red neuronal recurrente [85] . . . 28

2.18 Diagrama bifurcación de mapa logístico [92] . . . 29

3.1 Red caótica de tres capas . . . 33

3.2 Diagrama de bifurcación mapa cuadrático [101] . . . 34

3.3 Imágenes en blanco y negro . . . 36

3.4 Imágenes en color . . . 37

3.5 Audios . . . 38

3.6 NPCR de Lenna usando el mapa logístico . . . 42

3.7 Correlación lineal de Lenna usando el mapa logístico . . . 43

3.8 UACI de Lenna usando el mapa logístico . . . 44

3.9 ∆de Entropía de Lenna usando el mapa logístico . . . 45

3.10 AMI de Lenna usando el mapa logístico . . . 46

3.11 NPCR de Faro usando el mapa cuadrático . . . 47

3.12 Correlación lineal de Faro usando el mapa cuadrático . . . 48

3.13 UACI de Faro usando el mapa cuadrático . . . 49

(15)

3.15 AMI de Faro usando el mapa cuadrático . . . 51

3.16 NPCR de Camerman usando el mapa de Ikeda . . . 52

3.17 Correlación lineal de Cameraman usando el mapa de Ikeda . . . 53

3.18 UACI de Cameraman usando el mapa de Ikeda . . . 54

3.19 ∆Entropía de Cameraman usando el mapa de Ikeda . . . 55

3.20 AMI de Cameraman usando el mapa de Ikeda . . . 56

3.21 NPCR de Voz en español usando el mapa de Ikeda . . . 57

3.22 Correlación lineal de Voz en español usando el mapa logístico . . . . 58

3.23 UACI de Voz en español usando el mapa de Ikeda . . . 59

3.24 ∆Entropía de Voz en español usando el mapa de Ikeda . . . 60

3.25 AMI de Voz en español usando el mapa de Ikeda . . . 61

3.26 Imágenes de prueba de la sensibilidad. Parámetro r . . . 62

3.27 Desencriptación variando el parámetro r . . . 63

3.28 Imágenes de prueba de la sensibilidad. Parámetro xn . . . 64

3.29 Desencriptación variando el parámetro xn . . . 65

3.30 Cifrado usando el mapa cuadrático . . . 66

3.31 Desencriptación variando el parámetro c . . . 67

3.32 Desencriptación variando el parámetro xn . . . 68

3.33 Cifrado utilizando el mapa de Ikeda (X) . . . 69

3.34 Desencriptación variando el parámetro u . . . 70

3.35 Desencriptación variando el parámetro xn . . . 71

3.36 Desencriptación variando el parámetro yn . . . 73

3.37 Cifrado utilizando el mapa de Ikeda (Y) . . . 74

3.38 Desencriptación variando el parámetro u . . . 75

3.39 Desencriptación variando el parámetro xn . . . 76

3.40 Desecnriptación variando el parámetro yn . . . 77

3.41 Cifrado multicapa . . . 79

3.42 Histograma de la correlación para redes de dos capas . . . 80

3.43 Histograma de la AMI para redes de dos capas . . . 81

3.44 Histograma de la correlación para redes de tres capas . . . 82

3.45 Histograma de la AMI para redes de tres capas . . . 83

3.46 Histograma de la correlación para redes de cuatro capas . . . 84

3.47 Histograma de la AMI para redes de cuatro capas . . . 85

4.1 Objetivo red neuronal, con entrenamiento supervisado . . . 88

(16)

4.3 Modelo para entrenamiento. . . 89

4.4 (a)Tabla de permutación inicial (b) Vector expansión del mensaje (Feistel) (c) Permutación final (Feistel) (d) caja permutación 1 para sub llaves (e) caja permutación 2 para sub llaves . . . 92

4.5 Prueba inicial con imagen . . . 95

4.6 Prueba inicial con imagen . . . 97

4.7 Prueba inicial con imagen . . . 99

4.8 Mensajes que serán cifrados . . . 100

4.9 Llaves usadas para cifrar . . . 100

4.10 Información cifrada . . . 101

4.11 Error redes feedforward una capa intermedia - entrenamiento BFGS - descifrado . . . 102

4.12 Tiempo entrenamiento redes feedforward una capa intermedia - en-trenamiento BFGS - descifrado . . . 102

4.13 Error redes feedforward una capa intermedia - entrenamiento BFGS - cifrado . . . 104

4.14 Tiempo entrenamiento redes feedforward una capa intermedia - en-trenamiento BFGS - cifrado . . . 105

4.15 Error redes feedforward dos capas intermedias - entrenamiento BFGS - descifrado . . . 106

4.16 Tiempo entrenamiento redes feedforward dos capas intermedias - en-trenamiento BFGS - descifrado . . . 107

4.17 Error redes feedforward dos capas intermedias - entrenamiento BFGS - cifrado . . . 108

4.18 Tiempo entrenamiento redes feedforward dos capas intermedias - en-trenamiento BFGS - cifrado . . . 109

4.19 Error redes feedforward una capa intermedia entrenamiento CGB -descifrado . . . 110

4.20 Tiempo entrenamiento redes feedforward duna capa intermedia - en-trenamiento CGB - descifrado . . . 111

4.21 Error redes feedforward una capa intermedia entrenamiento CGB -cifrado . . . 112

(17)

4.23 Error redes feedforward dos capas intermedias - entrenamiento CGB

- descifrado . . . 114

4.24 Tiempo entrenamiento redes feedforward de dos capas intermedias -entrenamiento CGB - descifrado . . . 114

4.25 Error redes feedforward dos capas intermedias - entrenamiento CGB - descifrado . . . 115

4.26 Tiempo entrenamiento redes feedforward de dos capas intermedias -entrenamiento CGB - descifrado . . . 116

4.27 NPCR de imágenes cifradas con DES neuronal . . . 119

4.28 Correlación lineal de imágenes cifradas con DES neuronal . . . 119

4.29 UACI de imágenes cifradas con DES neuronal . . . 120

4.30 ∆Entropía de imágenes cifradas con DES neuronal . . . 121

4.31 AMI de imágenes cifradas con DES neuronal . . . 121

4.32 Histograma de NPCR para imágenes cifradas con DES neuronal . . . 122

4.33 Histograma de correlación para imágenes cifradas con DES neuronal . 123 4.34 Histograma de UACI para imágenes cifradas con DES neuronal . . . 124

4.35 Histograma de entropía para imágenes cifradas con DES neuronal . . 125

4.36 Histograma de AMI para imágenes cifradas con DES neuronal . . . . 126

5.1 Imágenes cifradas con diferente r . . . 128

5.2 Imágenes cifrada con diferente xn . . . 130

5.3 Imágenes en blanco y negro cifradas . . . 132

5.4 Imágenes en color cifradas . . . 133

5.5 Audios cifrados . . . 133

5.6 Imágenes en blanco y negro cifradas DES . . . 135

5.7 Imágenes en color cifradas DES . . . 135

5.8 Audiós cifrados DES . . . 136

5.9 Propuesta uso DES neuronal como algoritmo asimétrico . . . 138

5.10 Propuesta alternativa para las llaves . . . 138

A.1 NPCR cifrando con el mapa logístico . . . 152

A.2 Correlación cifrando con el mapa logístico . . . 153

A.3 UACI cifrando con el mapa logístico . . . 154

A.4 ∆Entropía cifrando con el mapa logístico . . . 155

A.5 AMI cifrando con el mapa logístico . . . 156

(18)

A.7 Correlación cifrando con el mapa cuadrático . . . 158

A.8 UACI cifrando con el mapa cuadrático . . . 159

A.9 ∆Entropía cifrando con el mapa logístico . . . 160

A.10 AMI cifrando con el mapa cuadrático . . . 161

A.11 NPCR cifrando con el mapa de Ikeda . . . 162

A.12 Correlación cifrando con el mapa de Ikeda . . . 163

A.13 UACI cifrando con el mapa de Ikeda . . . 164

A.14∆Entropía cifrando con el mapa de Ikeda . . . 165

A.15 AMI cifrando con el mapa de Ikeda . . . 166

A.16 NPCR cifrando con el mapa de Ikeda . . . 167

A.17 Correlación cifrando con el mapa de Ikeda . . . 168

A.18 UACI cifrando con el mapa de Ikeda . . . 169

A.19∆Entropía cifrando con el mapa de Ikeda . . . 170

(19)

Lista de Tablas

2.1 Funciones de activación . . . 25

3.1 Características imágenes . . . 36

3.2 Características audios . . . 37

3.3 Parámetros series caóticas . . . 39

3.4 Distribución de las series caóticas . . . 40

3.5 N° de experimentos . . . 41

3.6 Experimentación mapa logístico . . . 41

3.7 Experimentación mapa cuadrático . . . 46

3.8 Experimentación mapa logístico . . . 51

3.9 Desencriptación variando el parámetro r . . . 63

3.10 Desencriptación variando el parámetro xn . . . 65

3.11 Desencriptación variando el parámetro c . . . 67

3.12 Desencriptación variando el parámetro xn . . . 69

3.13 Desencriptación variando el parámetro u . . . 70

3.14 Desencriptación variando el parámetro xn . . . 72

3.15 Desencriptación variando el parámetro yn . . . 73

3.16 Desencriptación variando el parámetro u . . . 75

3.17 Desencriptación variando el parámetro xn . . . 76

3.18 Desencriptación variando el parámetro yn . . . 78

3.19 Parámetros utilizados para el cifrado para la prueba de conmutatividad 78 3.20 Resultados del cifrado intercambiando las series de tiempo . . . 79

3.21 Desviación y media de la Correlación en redes de dos capas . . . 81

3.22 Desviación y media de la AMI en redes de dos capas . . . 81

3.23 Desviación y media de la Correlación en redes de tres capas . . . 82

3.24 Desviación y media de la AMI en redes de tres capas . . . 83

3.25 Desviación y media de la Correlación en redes de cuatro capas . . . . 84

3.26 Desviación y media de la AMI en redes de cuatro capas . . . 85

3.27 Tiempos de cifrado/descifrado *C : Número de capas *N : Número de neuronas S1: Voz en español. S2: Flauta china. S3: Voz en francés. S4: Toma aérea. S5: Cameraman. S6: Faro. S7: Lenna. . . 86

(20)

4.2 Exploración solución red neuronal con dimensión de llaves y mensajes

de 11 bits . . . 95

4.3 Exploración solución red neuronal con dimensión de mensajes y llaves de 10 bits . . . 96

4.4 Exploración solución red neuronal con dimensión de mensajes de 8 bits y llaves de 6 bits . . . 98

4.5 N° de experimentos, usando BFGS . . . 101

4.6 N° de experimentos, usando CGB . . . 110

4.7 Tiempos en segundos de cifrado y descifrado, para señales de audio . 117 4.8 Tiempos en segundos de cifrado y descifrado, para imagenes . . . 117

4.9 Desviación y media del NPCR en DES Neuronal . . . 122

4.10 Desviación y media de la correlación en DES Neuronal . . . 123

4.11 Desviación y media de UACI en DES Neuronal . . . 124

4.12 Desviación y media de entropía en DES Neuronal . . . 125

4.13 Desviación y media de AMI con DES Neuronal . . . 126

5.1 Parámetros imágenes 5.1 . . . 128

5.2 Zonas de mejor desempeño . . . 129

5.3 Parámetros imágenes 5.2 . . . 130

5.4 Mejores resultados con redes caóticas . . . 134

5.5 Mejores resultados con redes feedforward . . . 136

A.1 Prueba de sensibilidad parámetro r . . . 173

A.2 Prueba de sensibilidad parámetro xn . . . 175

A.3 Prueba de sensibilidad parámetro c . . . 176

A.4 Prueba de sensibilidad parámetro xn . . . 178

A.5 Prueba de sensibilidad parámetro u . . . 179

A.6 Prueba de sensibilidad parámetro xn . . . 181

A.7 Prueba de sensibilidad parámetro yn . . . 183

A.8 Prueba de sensibilidad parámetro u . . . 184

A.9 Prueba de sensibilidad parámetro xn . . . 186

(21)

1. Generalidades

(22)

1.1 Planteamiento del Problema

Actualmente el mundo gira alrededor de la información, la cual se encuentra en mayor medida en forma digital y cuya transmisión se hace a través de canales que suelen ser públicos. Recientemente ha ido en aumento el almacenamiento de gran parte de la información en la nube, es decir se confía la información a sistemas de terceros [1], [2]. Es por esto que la privacidad de la información se ha convertido en una característica que se busca y se trata de mejorar a diario. Por la importancia que esta representa, es frecuente encontrarse con ataques que buscan vulnerar esa privacidad y obtener la información [3].

El canal por el cual se transporta la información hace parte de un conjunto en-tendido como sistema de información y está compuesto por el hardware, el software, los datos, la red y las personas que utilizan el sistema. En el componente de red es donde se pueden presentar los mayores problemas de pérdida o alteración de la infor-mación, puesto que es el componente en el que puede intervenir un tercero con mayor facilidad [4]-[6]. Es por esto que es requerida una transmisión segura y para esto se han desarrollado protocolos de internet con el fin de proteger la información, como lo son TLS (Transport Layer Security) o SSL(Secure Sockets Layer)[7],[8]. A estos protocolos se le han encontrado ciertas fallas, como el Heartbleed, que permite al atacante leer la memoria del servidor haciendo vulnerable la información [9],[10],[11].

En el momento en que dos usuarios se conectan a la red para realizar un in-tercambio, es donde se pueden presentar ataques para el robo de la información, principalmente por un método conocido como ”Man in the middle” (MITM) [12], [13], [14]. El MITM es un ataque con una dificultad de detección muy alta, ya que el atacante se hace parte del sistema y se hace pasar por un dispositivo de confianza. El MITM consiste en interceptar la comunicación entre dos puntos y convertirse en un nodo intermedio a través del cual transita toda la información, dándole la capacidad de robar y alterar la información, engañando así a los usuarios [13].

(23)

con sus generales [16]. En la actualidad se usa en una gran cantidad de sistemas que manejan información digital con el fin de mantenerla privada [17]. Este método brinda importantes ventajas como confidencialidad, autenticidad e integridad de la información [16]. Su modificación y desarrollo se ha dado como consecuencia de la búsqueda de aquellos que se ingenian métodos para romper los algoritmos y conseguir la información y aquellos interesados en protegerla, haciendo así que, los algoritmos pierdan seguridad con el paso del tiempo y sean desarrollados algoritmos nuevos [18].

El desarrollo de la criptografía va desde la antigüedad en que se realizaban sim-ples sustituciones [16], hasta la modernidad, en la que se encuentra el uso de algo-ritmos elaborados que utilizan una clave secreta o ”llave” [19]. La importancia de la clave secreta radica en que es la pieza que controla la operación del algoritmo. Actualmente se utilizan estos últimos y es posible dividir en dos tipos de sistemas, simétricos y asimétricos. Cada uno presenta ventajas y desventajas con respecto al otro, en cuestiones de seguridad y tiempos, así que según la aplicación varía su uso. Con respecto a las llaves, la criptografía asimétrica lleva la ventaja debido a que la distribución de estas es más fácil, teniendo en cuenta que la llave que se distribuye es la pública y se mantiene la privada para uso exclusivo del propietario. En contraposición, en el caso simétrico hay que ser cuidadosos para que la llave no sea revelada a usuarios no autorizados poniendo en riesgo la privacidad de la información [16].

A través de la historia, la naturaleza y los procesos que se ven en ella han servido de inspiración para el planteamiento de soluciones a un gran número de problemas de la vida cotidiana, como problemas de organización o de planificación[20]-[23]. Además en problemas de ingeniería como la sintonización de parámetros de un con-trol PID o problemas de optimización [24],[25],[26]. Los sistemas que logran emular comportamientos de este tipo, se conocen como sistemas bioinspirados. Estos sis-temas han mostrado su aplicabilidad en el planteamiento de alternativas que buscan resolver problemas contemporáneos, a los cuales difícilmente se les logra dar solu-ción con la aplicasolu-ción de modelos físicos o matemáticos típicos [27]. Dentro de esos sistemas se encuentran los algoritmos evolutivos, las redes neuronales, los algoritmos de colonia de hormigas y otros [28],[29],[30].

(24)

artifi-ciales. El desarrollo e investigación de las redes neuronales, las han convertido en una herramienta con múltiples aplicaciones. Basadas en el modelamiento biológico y con características que no se presentan normalmente en los sistemas como el auto-aprendizaje, la capacidad de ser entrenadas para obtener resultados esperados; además de la capacidad de implementar un sistema tan robusto como la aplicación lo solicite, hace que las redes neuronales se presenten como una buena alternativa para la solución de problemas [31].

Es por estas capacidades descritas anteriormente, que se han realizado diversas implementaciones de redes neuronales en el área de la criptografía [32]-[37]. Así como se puede observar en [32] se utilizan redes neuronales de tipo feedforward para emular el algoritmo SDES (Simplified Data Encryption Standard), en el cual se ob-tienen buenos resultados, teniendo en cuenta que, tras realizar el entrenamiento de la red se tiene una precisión del 100%. En [36],[37] se observa cómo se implementan arquitecturas de tipo caóticas para plantear un modelo de cifrado. En [32] donde se comparan el algoritmo original contra la red neuronal, se aprecia que el tiempo de cifrado disminuye considerablemente. Sin embargo, se encuentra el problema de comparar con respecto al número de operaciones, puesto que, mientras que el orig-inal realiza permutaciones, corrimientos y sustituciones, el modelo neuronal realiza únicamente sumas y multiplicaciones. Teniendo en cuenta los buenos resultados que se obtienen en [32]-[37] usando redes neuronales y la capacidad de estas de realizar procesamiento en paralelo y de aprender, sumado a que se desconoce una compara-ción sobre la efectividad de los modelos neuronales ya sean simétricos o asimétricos, surge la pregunta que se busca resolver, ¿qué arquitectura neuronal representa la mejor opción en tiempo o complejidad en problemas de encriptación de señales de audio o imágenes?

1.2 Justificación

(25)

De la misma manera, y con el fin de proteger la información personal que se encuen-tran en sistemas de almacenamiento se utiliza la criptografía [8],[15].

Los algoritmos de cifrado que se emplean en la actualidad, como el AES (Ad-vanced Encryption Standard) o el 3DES (Triple Data Encryption Standard) para cifrado simétrico [38],[39] y el RSA (Rivest, Shamir y Adleman) o el cifrado por cur-vas elípticas para cifrado asimétrico [40],[41], están compuestos por un gran número de operaciones, tanto lineales como no lineales, provocando así el aumento en el tiempo de computo y los recursos que se necesitan para su implementación tanto en software como en hardware. Teniendo en cuenta que una característica importante de las redes neuronales es el hecho de que trabajan por medio de conexiones en par-alelo, se encuentra una gran ventaja con respecto a los algoritmos de encriptación, que se caracterizan por realizar las operaciones de forma secuencial [16].

En [32] se evidenció que la red neuronal feedforward con la que emulan el al-goritmo presenta un gran desempeño, pues presenta una eficacia del 100% y tras entrenar la red, el tiempo de cifrado disminuye notablemente, lo que permite ob-servar la ventaja descrita anteriormente. Esta disminución del tiempo y reducción de la complejidad con respecto a los algoritmos tradicionales, permitiría su uso en dispositivos móviles para aplicaciones de mensajería instantánea.

Según la literatura consultada a nivel local[42]-[48] son pocos los trabajos en criptografía y en la Universidad Distrital se encuentra el modelo presentado en [49]. En [49] se muestra un modelo de encriptación utilizando señales caóticas, el modelo propuesto encripta una señal de texto plano, superponiendo la representación ASCII del mensaje con una de las componentes del atractor de Lorenz. Sin embargo, en [50] realizan un criptoanálisis a sistemas del tipo propuesto en [49], mostrando que su seguridad es baja, rompiendo el cifrado mediante el uso de filtros pasabanda. Resulta prometedor por tanto estudiar e investigar modelos no tradicionales de en-criptación que puedan ser usados en Redes Locales, como por ejemplo el uso de modelos de redes caóticas.

(26)

y sus ventajas en el campo de la criptografía.

1.3 Objetivos

1.3.1 Objetivo General

Comparar e identificar las bondades que presentan dos diferentes arquitecturas neu-ronales; feedforward y caóticas, aplicadas a la encriptación simétrica de señales.

1.3.2 Objetivos Específicos

3.2.1 Implementar redes neuronales de tipo caóticas para realizar la encriptación de señales.

3.2.2 Implementar el algoritmo DES por medio de una red neuronal de tipo feed-forward.

3.2.3Evaluar el desempeño de las arquitecturas neuronales propuestas para la en-criptación.

1.4 Alcances y Limitaciones

1.4.1 Alcances

• Se implementarán dos esquemas de encriptación simétrica con redes neu-ronales.

• Las pruebas de funcionamiento se realizarán usando como indicadores de de-sempeño el tiempo de encriptación, la correlación cruzada, el NCPR y el UACI.

• Para contrastar la efectividad de los modelos, se realizarán pruebas con imá-genes y señales de audio.

1.4.2 Limitaciones

(27)

imá-genes por lo cual las conclusiones estarán limitadas a estos conjuntos.

• Debido a la gran cantidad de parámetros que se encuentran en la literatura con respecto al desempeño de un criptosistema, se hará la evaluación con aquellos que permitan obtener una mayor cantidad de información.

• El estudio se realizará únicamente a modelos simétricos tomando como refer-encia el algoritmos DES.

(28)

2. Marco Teórico

(29)

2.1 Criptografía

La palabra criptografía proviene del griego kryptos, ”oculto”, y grafos, ”escritura”; es decir, significa ”escritura oculta”. Por otro lado, la Real Academia Española (RAE), define la criptografía como “Arte de escribir con clave secreta o de un modo enigmático” [51].

Sin embargo, esta definición se ajusta poco a lo que es la criptografía en los tiempo actuales. Para algunos autores [52], [53],[54], la criptografía dejó de ser un arte para volverse una técnica o un conjunto de técnicas. Desde la perspectiva que se mire, esta tiene un objetivo claro que es la protección de información de tal manera, que sea ilegible para usuarios no autorizados [53]. Es por esto que la criptografía se utiliza con el fin de resolver diferentes problemas de seguridad [16], [55], [56], los cuales son:

Privacidad: únicamente los usuarios autorizados tienen acceso a la informa-ción.

Integridad: garantía ofrecida a los usuarios de que la información no pueda ser alterada durante su trayecto.

Autenticación: se refiere al hecho de poder confirmar que el mensaje recibido haya sido enviado por quien dice lo envió.

No rechazo: se refiere al hecho de no poder negar la autoría de un mensaje enviado.

2.2 Criptosistema

Un criptosistema es el conjunto de procedimientos de encriptación, envío y descen-criptación, que garantizan la seguridad y la privacidad de la información. Este se modela mediante una quíntupla (M,C,K,E,D) [56], donde:

• M, conjunto de todos los mensajes que pueden ser enviados (texto plano).

• C, conjunto de todos los posibles criptogramas (mensajes cifrados).

(30)

• E, conjunto o familia de funciones o transformaciones, que pueden ser aplicados a M para poder producir C. Existe una transformación diferenteEkpara cada

valor posible de la clave k.

• D, conjunto o familia de funciones o transformaciones, que se aplican a C para poder obtener M.

En general, un criptosistema cumple con la condición:

Dk(Ek(m)) = m (2.1)

Los criptosistemas se dividen en dos grandes ramas, los criptosistemas de clave privada o simétricos y los de llave pública o asimétricos [55],[56]. En la Figura 2.1, se puede ver un modelo en bloques de la representación general de un criptosistema.

Figura 2.1: Criptosistema

Para los criptosistemas de llave privada se cumple que: Kc=Kd, lo que significa

que la llave utilizada es la misma para los procesos de encriptación y desencriptación. En contraposición, para los de llave pública se cumple que Kc ̸= Kd, siendo Kc

la llave conocida públicamente y Kd aquella conocida únicamente por el receptor

[56],[57].

2.3 Criptografía simétrica

(31)

Kc=Kd (2.2)

Este tipo de criptografía se conoce también como criptografía de clave privada o de llave privada. La idea general, es aplicar diferentes funciones al mensaje que se quiere cifrar, de tal modo que solo conociendo una clave pueda aplicarse de forma inversa para poder así descifrar[55]. El principal problema de seguridad que presenta es el intercambio de la llave, en vista de que conociendo la llave es posible hacer inútil el cifrado de la información [16] ,[59].

2.3.1 Data Encryption Standard (DES)

El algoritmo DES es un sistema criptográfico simétrico desarrollado por IBM en 1974, tras una convocatoria de la NIST (National Institute of Standards and Tech-nology) que tenía como propósito la creación de un estándar a nivel gubernamental para el cifrado de información confidencial [60], [61].

DES es un algoritmo de cifrado por bloques, es decir, toma un bloque de una longitud fija de bits y lo transforma mediante una serie de operaciones en otro bloque cifrado de la misma longitud [58], [59],[62]. Para el caso del DES, el tamaño del bloque es de 64 bits, la llave también tiene 64 bits, de los cuales 56 son empleados por el algoritmo, siendo los 8 restantes utilizados para comprobar la paridad.

En la figura 2.2 se observa la estructura básica del algoritmo DES, que consta de 16 fases idénticas denominadas rondas. Al inicio y al final se realizan permutaciones, denotadas comoP I yP F, respectivamente, que son inversas entre sí [58]. Así mismo tiene un algoritmo de generación de subllaves a partir de la llave original, con el fin de usar una para cada de las rondas, este se puede observar en la figura 2.3.

(32)

Figura 2.3: Generación de las subllaves

Antes de cada ronda, el bloque se divide en dos bloques de 32 bits que se procesan de forma alterna. Este proceso se conoce como esquema de Feistel, y proporciona un proceso de encriptación y desencriptación casi iguales. La diferencia radica en que las subllaves se aplican de forma inversa al desencriptar. En la figura 2.4, se puede observar la función de Feistel.

Figura 2.4: Función de Feistel

Como se puede observar en la figura 2.4, la función se compone de 4 etapas:

(33)

2. Mezcla: Por medio de la función XOR se combina el resultado de la expansión con la subllave correspondiente a la ronda.

3. Sustitución: Tras la mezcla, el bloque se divide en 8 partes de 6 bits, que pasan a las cajas de sustitución (S1-S8), de cada una de las cajas sale un bloque de 4 bits, que da como resultado un bloque de 32 bits. Estas cajas de sustitución o S-Box, son el núcleo de seguridad del DES, puesto que son las que aportan la no linealidad al algoritmo.

4. Permutación: Finalmente los 32 bits salientes de las S-Box, se reordenan de acuerdo a una permutación fija.

2.3.1.1 Simplified Data Encryption Standard (SDES)

El algoritmo SDES o DES simplificado, es un algoritmo de cifrado simétrico utilizado para pedagogía [63]. Tiene propiedades y una estructura similar al algoritmo DES, con parámetros más pequeños.

En la figura 2.5, se puede ver la estructura del SDES, donde se muestran las diferentes etapas de este algoritmo y su similitud con el DES original.

(a) Estructura general (b) Generación subllaves

(34)

El algoritmo toma un mensaje de 8 bits junto con una llave de 10 bits como entrada y produce un criptograma de 8 bits, como se observa en la figura 2.5. Para la generación de las subllaves, se parte de la llave, como se ve en la figura 2.5b, y se realiza una permutación inicial (P10), después parte la llave en dos mitades de 5 bits, realiza corrimientos (LS-1) y permutaciones (P8). Al igual que el DES, se realiza por rondas, en este caso son dos y se alternan las mitades, esto se ve representado en el bloque SW, para la realización de las dos rondas (fk) se usan las subllaves

generadas, además presenta las permutaciones al inicio y al final (IP, IP1). Como es posible ver en la figura 2.5a la funciónfk, tiene las mismas partes de la función de

Feistel del DES, Expansión(E/P), la Mezcla, la Sustitución (S0,S1) y la Permutación (P4). El algoritmo SDES para encriptar, se puede modelar a partir de la ecuación 2.3 y para desencriptar con la ecuación 2.4.

C =IP−1(fk2(SW(fk1(IP(M))))) (2.3)

M =IP−1(fk1(SW(fk2(IP(C))))) (2.4)

2.3.1.2 Triple DES (3DES)

Es una variante del DES que fue desarrollado en 1998, tras descubrir que el tamaño de clave del DES no era lo suficientemente largo para evitar un ataque de fuerza bruta [16],[55]. El 3DES consiste en aplicar 3 veces el DES variando la clave, lo que significa un aumento del tamaño de la clave de 56 a 168 bits, que representa un progreso notable en cuestiones de seguridad [62]. El 3DES se puede modelar a partir de la ecuación 2.5 [62].

C =Ek3(Dk2(Ek1(M))) (2.5)

Donde:

• C: Texto cifrado

• M: Texto claro

Ek[X]: Cifrado de X usando la llave k.

(35)

2.3.2 Advanced Encryption Standard (AES)

El algoritmo AES es un algoritmo de criptografía simétrica, también conocido como Rijndael, desarrollado por Vincent Rijmen y Joan Daemen en 1997 y oficializado como estándar en el año 2001 [64],[65]. A diferencia del DES, AES no es una red de Feistel sino una red de sustitución-permutación, su llave aumenta considerablemente de tamaño así mismo es variable puesto que se pueden utilizar llaves de 128, 192 y 256 bits, también aumenta el tamaño del mensaje a 128 bits.

AES representa el mensaje en 16 bytes y los ordena en una matriz de 4x4 bytes, denominada ”estado”, sobre la cual opera [66]. El algoritmo funciona mediante un número de rondas que ejecutan 4 diferentes operaciones, AddRoundKey; SubBytes; ShiftRows y MixColumns, el número de rondas depende del tamaño de la llave, 10 para claves de 128 bits, 12 para 192 y 14 para 256 [59],[67]. El primer paso es realizar la expansión de la llave con el fin de obtener las subllaves. Tras esto, se comienza con las rondas , que constan de 4 pasos:

1. AddRoundKey: Cada byte del ”estado” se combina mediante una XOR con una subllave, así como se puede apreciar en la figura 2.6

Figura 2.6: AddRoundKey [64]

2. SubBytes: Se realiza una sustitución no lineal donde cada byte del estado es reemplazado con otro según una tabla. Es posible apreciar este proceso en la figura 2.7.

Figura 2.7: SubBytes [64]

(36)

la izquierda un número de lugares diferente para cada fila, así como se muestra en la figura 2.8.

Figura 2.8: ShiftRows [64]

4. MixColumns: Operación de mezclado que opera en las columnas del estado, combinando los cuatro bytes en cada columna usando una transformación lineal, así como se puede ver en la figura 2.9.

Figura 2.9: MixColumns [64]

Resulta importante mencionar que para el último ciclo, se reemplaza la fase de MixColumns por otra etapa de AddRoundKey [59],[64],[67].

2.4 Criptografía asimétrica

La criptografía asimétrica es por definición aquella que utiliza dos claves diferentes para cada usuario, una para encriptar conocida como llave pública y otra para desencriptar que es la llave privada [16],[57],[55].

Kc̸=Kd (2.6)

(37)

pública para que el remitente ecripte el mensaje, mientras que la llave privada la mantendrá en secreto para posteriormente desencriptar el mensaje[58],[59]. Así, no resulta importante si alguien intercepta el mensaje y la clave pública, pues sin la clave privada no podrá ser desencriptado [58]. Por lo tanto la mayor ventaja que presentan estos sistemas es la facilidad para la distribución de las llaves [55],[59].

2.4.1 Rivest, Shamir y Adleman (RSA)

RSA es un sistema criptográfico de clave pública desarrollado en 1977. Es el primer y más utilizado algoritmo de este tipo y es válido tanto para cifrar como para fir-mar digitalmente [52],[59]. Este algoritmo se basa en el problema que presenta la factorización de un número entero grande en sus factores primos (ya que la llave es de 1024 bits, esto equivale a 308 dígitos) [68],[69].

Para la implementación del algoritmo son necesarios dos números primos grandes, a partir de los cuales se van a generar ambas llaves [55],[58],[59],[70]. El proceso de generación de llaves se realiza el siguiente procedimiento:

Algoritmo 1 Generación de llaves RSA

1. Se eligen dos números primos diferentespyq grandes, con el mismo número de bits.

2. Se calculan =p∗q. Donde n es el módulo para ambas claves. 3. Calcular ϕ(n) = (p−1)(q1).

4. Escoger un entero positivo e, menor que ϕ(n)y que además sea coprimo.

5. Se determina und, que sea el multiplicador modular inverso deemod(ϕ(n)).

La llave pública es(n, e), que corresponden al módulo y al exponente de cifrado. La llave privada es (n, d), que son, el módulo y el exponente de descifrado y debe mantenerse en secreto [52],[53],[62],[70]. Para el proceso de encriptación, la función está descrita por la ecuación 2.7, así mismo el proceso de desencriptación la función está descrita por la ecuación 2.8, donde ces el criptograma y m el texto sin cifrar.

(38)

m =cdmod(n) (2.8)

2.4.2 Criptografía ElGamal

El cifrado de ElGamal es un sistema criptográfico de clave pública desarrollado por Taher ElGamal en 1985 [71], partiendo de la idea de Diffie-Hellman [72]. Este al-goritmo es utilizado tanto para encriptar y desencriptar, como para generar firmas digitales y basa su funcionamiento y seguridad en el problema matemático del loga-ritmo discreto [71],[73]. En el algologa-ritmo 2, se describe todo el proceso, la generación de las llaves y la encriptación, partiendo del hecho que se realiza una comunicación entre A y B.

Algoritmo 2 Cifrado ElGamal [71] Generación de Llaves

1. A escoge un número primop, tal que p−1tenga un factor primo grande. 2. A escoge dos números aleatorios g (generador del grupo cíclico) y a (que

actuará como llave privada) tal quea∈ {0,1, ..., p1}. 3. A calcula K =ga(mod(p)).

Siendo la tupla (g, p, K) la llave pública. Encriptación

1. B convierte la información en un número enterom entre1 y p−1. 2. B escoge un número b∈ {2, ..., p1} (que mantendrá secreto). 3. B calculay1 =gb(mod(p)) y y2 =Kbm(mod(p)).

El mensaje cifrado corresponde a la tupla C(m, b) = (y1, y2). Desencriptación

1. Una vez A tiene el mensaje(y1, y2), usa la clave privadaapara recuperar el mensaje, calculando

(39)

2.5 Parámetros de desempeño

2.5.1 NCPR

El NPCR (Number of Pixels Change Rate) es la comparación entre la imagen original a cifrar y su correspondiente par cifrada. Determina la cantidad de píxeles que cambian tras el proceso de cifrado y se modela basado en las ecuaciones 2.9 y 2.10 [74],[75]. DondeP es la imagen original y C es la imagen cifrada.

D(i, j) =

  

0 si P(i, j) = C(i, j)

1 si P(i, j)̸=C(i, j) (2.9)

N P CR=∑

i,j

D(i, j)

M ∗N 100% (2.10)

2.5.2 UACI

El UACI (Unified Average Change Intensity) es la comparación entre el resultado del cifrado de una imagen utilizando dos llaves diferentes con variaciones pequeñas entre ellas. Determina la intensidad promedio que varían los píxeles entre ambas imágenes y se modela basado en la ecuación 2.11 [74],[75]. Donde C1 y C2 son imágenes cifradas con dos llaves diferentes y de diferencias mínimas.

U ACI = 1 M ∗N

i,j

|C1(i, j)−C2(i, j)|

255 100% (2.11)

2.5.3 Correlación

El coeficiente de correlación (ρ) de dos variables es una medida de su dependencia lineal, y está definido por la ecuación 2.12 [76].

ρ(X, Y) = cov(X, Y) σXσY

(2.12)

2.5.4 Entropía

(40)

H(X) =

k

i=1

pxilog2

(1

xi

)

(2.13)

2.5.5 Información mutua promedio (AMI)

La información mutua promedio (AMI) mide la relación entre dos variable aleatorias. De manera particular cuanta información en promedio es relacionada desde una variable aleatoria a la otra [77],[78]. Esto se ve representado en la ecuación 2.14.

I(X;Y) =

ni=1 mj=1

P(xi, yj)log

(

P(xi, yj)

P(xi)P(yj)

)

(2.14)

2.6 Redes neuronales artificiales

Las redes neuronales artificiales son un modelo de inteligencia computacional que parte de una inspiración biológica, específicamente del funcionamiento del cerebro, del cual se buscan extraer y utilizar algunas características [79] [80] [81] [82].

(41)

Figura 2.10: Esquena neuronas biológicas [81]

Algunas características de la estructura neuronal, son definidas desde el nacimiento, otras se van desarrollando a medida que pasa el tiempo y se está sometido a procesos de aprendizaje. A lo largo de la vida las estructuras neuronales están en un continuo cambio, en el cual se van modificando principalmente las uniones sinápticas, donde unas se van creando, mientras otras desaparecen; o unas sinapsis se van fortaleciendo y otras se van debilitando [81].

Una red neuronal artificial no busca tener la complejidad con la cual cuenta el cerebro [81]. Sin embargo si se busca tener principalmente dos similitudes con una estructura neuronal biológica [81]. Primero, es la construcción de una unidad simple, que sea altamente interconéctable [79][80][81]. Segundo la conexión entre unidades simples determina el funcionamiento de la estructura, y su capacidad para solucionar problemas [80][81].

(42)

2.6.1 Perceptron

El perceptron es el modelo de una neurona artificial, el cual se puede observar en la figura 2.11, donde se cuenta con las entradas xn , que son multiplicadas por su

correspondiente valor escalar, el cual corresponde a un pesown , el resultado de las

multiplicaciones es sumado, junto con un valor bias b, generando un valor y, para luego ser pasado por una función que denominaremos función de transferenciaf (la cual cuenta generalmente con características no lineales), para finalmente generar la salida z [79][81][83].

Figura 2.11: Modelo neurona artificial [83]

La salida de la neurona artificial es calculada como:

z =f(

i=0,n

xiWi+b) (2.15)

Buscando relacionar el modelo de la 2.11 de neurona artificial, con la estruc-tura de la neurona biológica, descrita en la 2.10, se tiene que el peso wn equivale

a la sinapsis, la sumatoria seria equivalente al nucleo y finalmente la función de transferencia f y su correspondiente salida z, cumple la función del Axón [81].

(43)

2.6.1.1 Funciones de transferencia

La representación que se le dio al axón de la neurona biológica es una función, la cual puede ser lineal o no lineal. La selección de la función de transferencia a usar depende de las características del problema que se pretende solucionar, buscando cumplir alguna especificación del problema [81][82].

Existe una variedad ilimitada de funciones que pueden ser utilizadas, para el caso de este documento se abordaran la cuatro funciones de transferencia más comunes.

Limitador Duro :

Esta función la podemos observar en la figura 2.12 (a) donde lo que se tiene es, que si la entrada es inferior a 0 la salida es 0, y si la entrada es mayor a 0 la salida será 1 [80] [81]. Por otro lado en la figura 2.12 (b), tenemos los efectos que causan los pesos y el bias de la neurona, en la función, donde lo que hacen es, establecer el valor del umbral de la función, donde esta pasa de ser 0 a ser 1[80] [81]. Esta función es usada comúnmente para problemas que requieran una clasificación binaria [81].

Figura 2.12: función de transferencia limitador duro [81]

Función lineal :

Esta función es muy simple, ya que la salida de la función es igual a la entrada de manera que:

a=n (2.16)

(44)

Figura 2.13: función de transferencia lineal [81]

Logaritmica - sigmoidal :

Esta función corresponde a la expresión:

a= 1/(1 +e(−n)) (2.17) Esta función toma cualquier valor de entrada, y genera una salida entre 0 y 1, con un cambio suave, como podemos observar en la figura 2.14. En la figura 2.14 (b) se observa como los pesos y el bias, determinan en qué valor se centrara la función respecto a la entrada[81] . Esta es una de las funciones más usadas especialmente para algoritmos de entrenamiento como el backpropagation[80].

Figura 2.14: función de transferencia logaritmica - sigmoidal [81]

Hiperbolica Tangencial Esta función esta descrita por la expresión:

(45)

Figura 2.15: función de transferencia Hiperbolica - Tangenciall [81]

Otras funciones usadas como funciones de transferencia son las que se observan en la tabla 2.1.

Nombre Función

Limitador duro simetrico a =1, n <0 a = 1, n >= 0

Lineal saturada

a = 0, n <0

a =n,0<=n <= 1 a = 1, n >1

Lineal saturada simetrica

a =1, n <1 a =n,−1<=n <= 1 a = 1, n >1

Lineal positiva a = 0, n <0 a =n,0>=n

Gaussiana a =Ae−Bn2

Sinusoidal a =ASen(wn+φ)

Tabla 2.1: Funciones de activación

2.6.2 Arquitecturas neuronales

Es evidente que una única neurona artificial, no es suficiente para poder llegar a la solución de problemas complejos, no lineales, para lo cual se crean estructuras en un inicio, agrupando neuronas en paralelo, a lo cual se le conoce como “capa”, que son multiples neuronas las cuales cuentan generalmente con entradas similares, que operan simultáneamente, como podemos observar en la figura [80][81][82][84] .

(46)

como se observa en el ejemplo de la figura 2.16 [81][85] , cada capa puede tener cualquier número de neuronas, y se tienen tres tipos distintos de capas, la capa de entrada, que como su nombre lo indica es la capa donde se conectan las variables de entrada, las capas ocultas que no tienen conexión directa con las entradas o salidas, y la capa de salida, cuyas salidas son equivalentes al resultado generado por la red neuronal[79][81] [85].

Figura 2.16: Estructura básica red neuronal [85]

Una red neuronal artificial es finalmente una estructura que conecta de manera masiva y paralela neuronas para generar una capa de salida a partir de unas entradas como se puede observar en (2.19)[79][82].

y=f(x) (2.19)

Dónde:

x= (x1, x2, x3, , xn), y = (y1, y2, y3, , yn)

2.6.2.1 Redes neuronales feedforward

(47)

Las redes neuronales feedforward han sido ampliamente usada en criptografía, y se han abordado dos enfoques, el primero es usar algoritmos estándares para criptografía, pero se incluyen en sus cajas de permutaciones o sustituciones, redes neuronales que cumplen la labor de aumentar la complejidad de los algoritmos, mediante el fortalecimiento de las permutaciones y sustituciones como se observa para el caso del artículo [85] en el cual se propone una red neuronal en la cual los pesos de las sinapsis son equivalentes a la llave usada, y la red cuenta con 16 entradas, donde cada una equivale a un byte y genera un byte de salida cumpliendo la función de caja de sustitución, el artículo [84] de manera similar propone un complejo algoritmo para establecer los pesos de la red y generar una caja de sustituión.

El otro enfoque que se le ha dado a las redes neuronales feedforward en crip-tografía es, a partir de un algoritmo preestablecido, construir una base de datos con llaves, información y información cifrada, y a partir de este generar la emulación del algoritmo usando redes neuronales, como en el caso del artículo [87], donde crean un criptosistema asimétrico, donde crean un algoritmo basado en lógica booleana, para encriptar los datos y se usa la red neuronal para que a partir de los datos generados por el algotitmo booleano sea entrenada usando las salida del algoritmo como entrada de la red y la entrada del algoritmo como salida, y así realizar la des-encriptación, usando la estructura de la red y los pesos de esta como llave privada, similar a lo realizado en el artículo [82], pero partiendo de distintos algoritmos. En el artículo [86] se tiene una propuesta donde se reemplaza completamente un algoritmo, por la red neuronal, tanto para encriptación como para desencriptación, y demuestra ventajas en la relación de latencia y seguridad, comparado con el algoritmo AES.

También se encuentra en uso de redes neuronales feedforward no solo para el he-cho de proteger la información, sino para poder acceder a ella usando criptoanálisis, como se hace en el artículo [32], donde se parte del algoritmo “Simplified Data En-cription Standard”(SDES), y se genera una base de datos con las entradas, salidas y llaves del algoritmo, con el fin de usar las entradas y salidas del algoritmo, como entradas de la red neuronal, y tener como salida las llaves, para una vez entrenada la red neuronal sea capaz de obtener las llaves de los datos cifrados.

2.6.2.2 Redes neuronales recurrentes

(48)

(gen-eralmente alguna o todas las neuronas de la capa de salida), con la entrada de una neurona que se encuentre en una capa anterior como se puede observar en la figura 2.17 [79] [81]. Estas redes permiten que los sistemas creados no cuenten únicamente con las variables de entrada sino que además tengan como variable el estado anterior de la neurona [81]. Las estructuras más comunes son la “Long Short – Term Memory ” (LSTM) y “Gated Recurrent unit” (GRU), estas cuenta con la característica de poder ser entrenadas mediante el enfoque de el algoroitmo de back-propagation [79].

Figura 2.17: Red neuronal recurrente [85]

Las redes neuronales recurrentes son usadas en encriptación, partiendo del hecho que el cifrado dependerá de un estado anterior, donde generalmente el entrenamiento de la red está incluido dentro del proceso de encriptación, lo que no es común en el uso de las redes feedforward para criptografía, también es normal que debido a su dependencia de estados anteriores, se requiera un estado inicial, el cual es generado a partir de la llave usada, como se puede observar en los artículos [33] [88].

2.6.2.3 Redes neuronales caóticas

(49)

de mapa como lo son el “tent map”, “doublé rotor map” y “baker’s map” [93], sin embargo se pueden encontrar modelos más complejos como lo son los sistemas de Lorenz o los circuitos de Chua [94].

x(n+ 1) =r∗x(n)∗(1−x(n)) (2.20) Donde:

x(n) puede tomar valores entre 0 y 1 r puede tomar valores entre 1 y 4

Figura 2.18: Diagrama bifurcación de mapa logístico [92]

En términos de criptografía se encuentran distintas variables, la primera es par-tiendo de una estructura feedforward, se proponen series caóticas para poder, a parir de estas asignar los pesos a las redes neuronales, una de las series caóticas más usadas, es el mapa logístico, el cual se tiene en cuenta en los artículos [89][91][92], o series caóticas más complejas como se tiene en [95], también se usa esta técnica para la creación de cajas de sustitución más fuertes similar a lo realizado con las redes feedforward, como se tiene en el artículo [96].

(50)

incorporan funciones de activación basadas en las funciones de Laguerre, y generan un modelo asimétrico.

(51)

3. Redes neuronales caóticas

(52)

3.1 Introducción

Una red neuronal caótica es una red neuronal en la que los pesos y los bias están determinados por una secuencia caótica [89],[90]. Lo que resulta en un cambio importante, pues sus características más relevantes son en primer lugar, el hecho de no necesitar entrenamiento y en segundo lugar que sus pesos y bias varían para cada uno de los datos de entrada. A continuación se describe el procedimiento que se realiza para cifrar con redes neuronales caóticas como se muestra en [89].

Algoritmo 3 Asignación red neuronal caótica

1. Determinar la longitud M (x0, x1, x2, ..., xM) del mensaje a cifrar y binarizar

cada dato en B bits (x0 = [b00b01b02...b0B]).

2. Determinar la serie caótica que se va a utilizar, junto con los parámetros iniciales de la serie(k1, k2, k3, ..., kn). Estos serán la llave del sistema.

3. Generar la serie caótica escogida con los parámetros seleccionados, con M muestras (y0, y1, y2, ..., yM). Binarizar cada dato en B bits y

reorga-nizar la señal caótica tal que quede un vector b de tamaño 1x(M*B) ( b=b00, b01, b02, ..., b0B, ..., bM0, bM1, bM2, ..., bM B).

4. Para cada dato xm los pesos y bias cambian, estos primeros se asignan

teniendo en cuenta la ecuación 3.1 y los segundos con la ecuación 3.2.

fori=1:B do

W(i, j) =

        

1 si b(B ∗m+i) = 0

1 si b(B ∗m+i) = 1 0 si i=j

(3.1)

θi =

  

1 si b(B∗n+i) = 0

1 si b(B∗n+i) = 1 (3.2) end for

5 Calcular la salida determinada por la ecuación 3.3, donde X es la repre-sentación binaria dem, pasar al siguiente dato y volver al paso 4 hasta que m=M .

(53)

3.2 Arquitecturas propuestas

Para realizar el cifrado se plantean modelos donde se varía el número de capas y la señal caótica que determina los pesos y los bias de la red. En la figura 3.1 se ob-serva una arquitectura con tres capas ocultas, donde los cuadros rojos representan la capa de entrada, los círculos azules las diferentes capas caóticas y los círculos verdes la salida del sistema. Se proponen cuatro arquitecturas diferentes donde se inicia con una única capa caótica, y se aumenta en pasos de una capa hasta llegar a cuatro.

Figura 3.1: Red caótica de tres capas

Para las señales caóticas que se utilizarán en cada una de las capas, se plantea el uso de los siguientes modelos dada su fácil implementación y cálculo:

1.

(54)

demográfico que explique la dinámica de una población [100]. Su expresión matemática es la ecuación 3.4.

xn+1 =rxn(1−xn) (3.4)

Como se puede observar, posee dos parámetros que son los que controlan el comportamiento de la serie, xn está entre cero y uno y representa la fracción

de individuos en un territorio y r que es la tasa combinada de natalidad y mortalidad. El modelo comienza a presentar un comportamiento caótico a partir de r = 3.57, sin embargo presenta secciones donde no hay caos hasta llegar ar= 4.

2. Mapa Cuadrático: Es una ecuación cuadrática recurrente y su expresión matemática es la ecuación 3.5.

xn=c−x2n−1 (3.5)

Como se puede ver en su diagrama de bifurcación (figura 3.2), el caos inicia cuando su parámetro c≃1.5.

Figura 3.2: Diagrama de bifurcación mapa cuadrático [101]

3. Mapa Ikeda: Es un modelo desarrollado por Kensuke Ikeda en 1979 y de-scribe el comportamiento de una luz que viaja a través de un resonador óptico no lineal [102]. Las ecuaciones 3.6, 3.7,3.8 son la representación de un modelo 2D del mapa.

(55)

yn+1 =u(xnsin(tn) +yncos(tn)) (3.7)

tn= 0.4

6 1 +x2

n+y2n

(3.8)

En este último modelo se encuentran tres parámetros, xn y yn que son los

puntos iniciales yu que es un parámetro que representa la pérdida del reson-ador, así que se cumpleu≤1. El sistema presenta un comportamiento caótico cuando se cumple que u≥0.6.

3.3 Experimentación

Para la experimentación se utiliza la herramienta MATLAB 2018b, y a continuación se presentan las características del equipo utilizado:

• Procesador: Intel(R) Core(TM) i3-2328M CPU @ 2.20GHz.

• Memoria (RAM): 6 GB.

• Sistema Operativo: Windows 7 Pro.

Se plantean tres experimentos diferentes con el fin de determinar la calidad del cifrado que produce el modelo propuesto, basado en los parámetros de desempeño que se mencionan en la sección 2.5 (NPCR, Correlación, UACI, Entropía y AMI), además de características del algoritmo como lo son el espacio de llaves y la sensi-bilidad.

(56)

Dentro de las señales establecidas para evaluar los modelos se presentan, dos imágenes en blanco y negro (figura 3.3), dos imágenes a color (figura 3.4) y tres señales de audio (figura 3.5). En la tabla 3.1 se pueden observar las características de cada una de las imágenes propuestas.

Título Dimensión Color Tamaño 1 Toma aérea 364*366 No 102 KB 2 Cameraman 256*256 No 63,7 KB

3 Faro 480*640 Sí 416 KB

4 Lenna 512*512 Sí 462 KB

Tabla 3.1: Características imágenes

Las imágenes 3.3a, 3.3b y 3.4a son tomadas del toolbox de MatLab®de proce-samiento de imágenes. La imagen restante (Figura 3.4b), es la conocida ”Lenna”, tomada de Wikipedia; esta última es usada en [89] y [93] para evaluar el desempeño de los algoritmos propuestos.

(a) Toma aérea (b) Cameraman

(57)

(a) Faro (b) Lenna

Figura 3.4: Imágenes en color

Las señales de audio son una estéreo (3.5a) y dos mono (3.5b,3.5c). La primera, es una voz de una mujer que dice ”La vida es bella”, al ser estéreo cada canal se representa con un color diferente, la segunda el sonido de una melodía interpretada en una flauta china y la tercera es una voz femenina en francés. En la tabla 3.2, se pueden observar sus características.

Título Duración (s) Audio Frecuencia N° muestras Tamaño

1 Voz en español 2 Estéreo 44100 216910 424 KB

2 Flauta china 14 Mono 44100 618546 1209 KB

3 Voz en francés 4 Mono 8000 39120 77 KB

(58)

(a) Voz en español (b) Flauta china

(c) Voz en francés

Figura 3.5: Audios

3.3.1 Modelo de encriptación con redes caóticas de una capa

Para realizar el cifrado de las señales propuestas (figuras 3.3,3.4,3.5) se escoge una arquitectura de una sola capa y para la asignación de pesos se utilizarán las tres series caóticas propuestas en la sección 3.2, teniendo en cuenta que el mapa de Ikeda tiene componente enx y y, se usan ambos de manera independiente. Además dado que no es posible conocer a priori el rango de valores de la llave para el cual se tiene un cifrado satisfactorio, se diseñó un algoritmo que recorre los posibles valores de cada uno de los parámetros de cada una de las series de tiempo.

(59)

Parámetro Inicio Paso Fin

Logístico xn 0 0.03 1

r 3.5 0.005 4

Cuadrático xn 0 0.05 1

c 1 0.01 2

Ikeda (X)

u 0.6 0.01 0.9

xn 0 0.1 1

yn 0 0.1 1

Ikeda (Y)

u 0.6 0.01 0.9

xn 0 0.1 1

yn 0 0.1 1

Tabla 3.3: Parámetros series caóticas

3.3.2 Análisis de sensibilidad y espacio de llaves

Se conoce como espacio de llaves a la cantidad posible de llaves que tiene un algo-ritmo de cifrado, se encuentra relacionado con la seguridad que presenta el algoalgo-ritmo en caso de ser atacado por fuerza bruta. Es por esto que se busca que sea lo más grande que sea posible.

Teniendo en cuenta la propiedad que tienen los sistemas dinámicos que presentan caos, un pequeño cambio en las condiciones iniciales que para este caso resulta ser la llave, genera una señal caótica completamente diferente, lo que debería significar una desencriptación incorrecta de la señal. Es por esto que es necesario realizar esta comprobación, realizando variaciones de la llave en pasos cada vez más pequeños. La resolución que de MatLab® es de252, por lo que la variación se hará cambiando los bits de a uno, teniendo en cuenta el rango donde mejor se comporte cada una de las series de tiempo caóticas. Mediante este experimento es posible es posible inferir el espacio de llaves de la arquitectura propuesta.

3.3.3 Modelo de encriptación con redes caóticas multicapa

(60)

los rangos en que mejor se comporta el algoritmo. Se plantean tres arquitecturas diferentes, la primera con dos capas caóticas, la segunda con tres capas caóticas y finalmente con cuatro capas caóticas . En primer lugar se realizará un experimento con el fin de conocer si el modelo posee la propiedad conmutativa con las capas caóticas con el fin de no hacer experimentación redundante.

Para las diferentes arquitecturas propuestas, se plantean la distribución de las capas como se ve en la tabla 3.4.

Siendo:

1. Mapa Logístico

2. Mapa Cuadrático

3. Mapa de Ikeda (X)

4. Mapa de Ikeda (Y)

Dos capas Tres capas Cuatro capas [1,2] [1;2;3]

[1;2;3;4] [1,3] [1;2;4]

[1;4]

[1;3;4] [2;3]

[2;4]

[2;3;4] [3;4]

Tabla 3.4: Distribución de las series caóticas

3.4 Resultados

3.4.1 Resultados obtenidos con redes de una capa

(61)

Serie de tiempo # Experimentos Mapa Logístico 3300 Mapa Cuadrático 2121 Mapa de Ikeda (X) 3751 Mapa de Ikeda (Y) 3751

Tabla 3.5: N° de experimentos

3.4.1.1 Mapa Logístico

Se realizaron 3300 experimentos para cada una de las diferentes señales, se variaron los parámetros según se muestra en la tabla 3.6, dado que no es posible conocer a priori los rangos en los cuales la encriptación presentará el mejor resultado. Se midieron los cinco parámetros de la sección 2.5. En esta sección se presentan los resultado de ”Lenna”, los resultados de las otras señales se pueden observar en el apéndice A.

Parámetro Inicio Paso Fin #Puntos

r 3.5 0.005 4 100

xn 0 0.03 1 33

Tabla 3.6: Experimentación mapa logístico

En la figura 3.6 se presenta el NPCR de cada uno de los experimentos realizados para la segunda imagen a color (”Lenna”, figura 3.4b). Se puede observar como salvo unos pocos casos el porcentaje de bits que cambian es bastante alto, pues en el 96% de los experimentos el cambio es mayor al 95%. El cambio fuerte que se produce alrededor de 3.83 cuando baja el NCPR a 0.87 se debe a que alrededor de ese valor de

(62)

Figura 3.6: NPCR de Lenna usando el mapa logístico

En la figura 3.7 se presenta el coeficiente de correlación lineal de todas las imá-genes que resulta al cifrar con las llaves experimentadas ”Lenna” (figura 3.4b). Los diferentes colores representan un xn diferente. Se puede observar que en las zonas

(63)

Figura 3.7: Correlación lineal de Lenna usando el mapa logístico

En la figura 3.8 se presenta el UACI las imágenes resultantes de cifrar con las llaves experimentadas ”Lenna” (figura 3.4b). Cada color representa un x diferente. Se observa que en las zonas en las cuales la serie de tiempo no presenta un com-portamiento caótico el parámetro xn influye notablemente pues hace que el UACI

presente valores dispersos, caso contrario a la zonas donde la serie de tiempo es caótica el parámetro xn no presenta relevancia, ya que como se puede observar el

(64)

Figura 3.8: UACI de Lenna usando el mapa logístico

(65)

Figura 3.9: ∆de Entropía de Lenna usando el mapa logístico

(66)

Figura 3.10: AMI de Lenna usando el mapa logístico

3.4.1.2 Mapa Cuadrático

Se realizaron 2121 experimentos por cada una de las diferentes señales, se variaron los parámetros según se muestra en la tabla 3.7, dado que no es posible conocer a priori los rangos en los cuales la encriptación presentará el mejor resultado. Se midieron los cinco parámetros de la sección 2.5. En esta sección se presentan los resultado de ”Faro”, los resultados de las otras señales se pueden observar en el apéndice A.

Parámetro Inicio Paso Fin #Puntos

c 1 0.01 2 101

xn 0 0.05 1 21

Tabla 3.7: Experimentación mapa cuadrático

En la figura 3.11 se presenta el NPCR de cada uno de los experimentos realizados para la primera imagen a color (”Faro”, figura 3.4a). Cada uno de los colores representa un valor de xn diferente. Se puede observar que cuando la serie de

Figure

Figura 3.9: ∆ de Entropía de Lenna usando el mapa logístico
Figura 3.17: Correlación lineal de Cameraman usando el mapa de Ikeda
Figura 3.24: ∆Entropía de Voz en español usando el mapa de Ikeda
Figura 3.25: AMI de Voz en español usando el mapa de Ikeda
+7

Referencias

Documento similar

Debido a la calidad y el legado de nuestra compañía, los cuales se reflejan en nuestros pianos, elegir un instrumento hecho por Steinway &amp; Sons tiende a ser una decisión

desarrollo del país y cumplir con la misión que se ha propuesto, tiene la intención de impulsar un Plan de Formación en Educación Financiera y Económica para mujeres cabeza de

En Redes Neuronales, se utilizó todos los datos (101 exportaciones), para la obtención del mejor modelo se empleó la opción de Redes Neuronales &gt; perceptrón multicapa, en la

Se estima una distancia de más de 11 millones de años luz hablando de una cantidad de sistemas solares que no tendrían espacio en nuestra mente y esto solo hablando del grupo

Porcentaje de radiación solar interceptada (RSI; 0,35 - 2,5 µm) y de radiación fotosintéticamente activa interceptada (RFAI) a lo largo del ciclo de cultivo para las

“La unificación de la clasificación de empresas otorgada por las CC.AA.”, “La unificación de criterios en la acreditación de los servicios de prevención de riesgos

Pero antes hay que responder a una encuesta (puedes intentar saltarte este paso, a veces funciona). ¡Haz clic aquí!.. En el segundo punto, hay que seleccionar “Sección de titulaciones

&#34;No porque las dos, que vinieron de Valencia, no merecieran ese favor, pues eran entrambas de tan grande espíritu […] La razón porque no vió Coronas para ellas, sería