Professional Documents
Culture Documents
Antofagasta, Chile
Resumen
El estudio de las redes neuronales articiales comenzó en 1943 con un trabajo sobre neurosio-
logía y lógica matemática realizado por McCulloch y Pitts. Así, las redes neuronales articiales
se han desarrollado como modelos para representar y simular la forma en que el cerebro realiza
una tarea o función.
Dado el gigantesco aumento del uso de smartphones, tablets, notebooks e Internet como medios
de comunicación y colaboración es necesario desarrollar mecanismos de seguridad para proteger
la información privada de cada usuario. Ejemplos de esto son el comercio electrónico, transac-
ciones bancarias y protección de datos. Así, en los últimos años se ha explorado el desarrollo de
la criptografía basada en redes neuronales articiales.
En este curso se presentan los conceptos matemáticos fundamentales sobre las redes neuronales
articiales y su aplicación en la seguridad de la información, por ejemplo, intercambio de llaves.
1
1. Introducción
El estudio de las redes neuronales articiales comenzó en 1943 con un trabajo sobre neurosiología
y lógica matemática realizado por McCulloch y Pitts. Así, las redes neuronales articiales se han
desarrollado como modelos para representar y simular la forma en que el cerebro realiza una tarea
o función.
Las redes neuronales articiales consideran áreas de investigación en neurociencias, matemáticas,
estadística, ciencias de la computación y física.
La capacidad de aprender y almacenar el conocimiento adquirido hace de las redes neuronales
articiales tengas diversas áreas de aplicación, como en reconocimiento de patrones, sistemas de
sensores, procesamiento de señales, procesamiento de imagenes y criptografía, por mencionar algunas.
La gura 1 muestra un esquema de una neurona biológica, cuyos elementos fundamentales son
el cuerpo de la celula, estructuras formadas por la dendritas (que reciben los estimulos), el axón y
los terminales sinápticos, al nal del axón, que transmiten las señales de salida, que son impulsos
eléctricos. Estos impulso se inician en el cuerpo de la celula y se transmiten a través del axón a otras
neuronas. Estas señales de salida pueden estimular o inhibir a otras neuronas.
Dado el gigantesco aumento del uso de smartphones, tablets, notebooks e Internet como me-
dios de comunicación y colaboración es necesario desarrollar mecanismos de seguridad para proteger
la información privada de cada usuario. Ejemplos de esto son el comercio electrónico, transaccio-
nes bancarias y protección de datos. Así, en los últimos años se ha explorado el desarrollo de la
criptografía basada en redes neuronales articiales.
Sin duda que la Internet ha revolucionado nuestro estilo de vida y la importancia de esta herra-
mienta ha crecido en forma exponencial en los últimos veite años [1].
Hay mucha información circulando por Internet en correos electrónicos, Tweets, Facebook, videos,
fotos, comercio electrónico CyberDay, secretos militares, secretos industriales, etc. Pero la Internet
es una red pública e insegura, en la cual hay buenos y malos usuarios. Siempre hay noticias sobre
sitios web que han sido hackeados, clonación de tarjetas de crédito, adulteración de imágenes, etc.
Esto motiva la necesidad de proteger la información con mecanismo que impidan a los usuarios no
autorizados (los intrusos o hackers) acceder a ésta. Esta necesidad de protección de la información
es satisfecha por la Criptología, que es la ciencia de la Criptografía y el Criptoanálisis. En la Figura
2 se muestra una taxanomía breve.
2
Figura 2: Taxonomía breve de la Criptología.
3
2. Conceptos básicos sobre Redes Neuronales Articiales
Esta sección es un resumen de los aspectos básicos presentados en los cápitulos 1 al 4 del libro
de S. Haykin [2], mientras que las refenrencias [3] [4] están listadas como recomendación para una
lectura complementaria.
Comencemos por denir una red neuronal articial (RNA) como un procesador masivamente
distribuido y paralelo, es decir, es un computador capaz de desarrollar muchas tareas en forma
simultánea. Está formada por muchas unidades individuales de procesamiento llamadas neuronas.
La gura 3 muestra un modelo para una neurona, donde {x1 , x2 , · · · , xm } es el conjunto de
las señales de entrada, {wk1 , wk2 , · · · , wkm } es el conjunto de los pesos sinápticos de la k − ésima
neurona, el parámetro bk es llamado el bias de la k − ésima neurona, vk es el campo local inducido
o potencial de activación, ϕ (·) es la función de activación e yk es la señal de salida de la k − ésima
neurona.
si vk ≥ 0
1
yk = ϕ (vk ) = (3)
0 si vk < 0
4
Figura 4: Función de Heaviside.
si v ≥ 12
1
y = ϕ (v) = v si − 12 < v < 1
2 (4)
0 si v ≤ − 12
3. Función Sigmoidal: Es una función estrictamente creciente que tiene un comportamiento que
balancea lo lineal con lo no-lineal. Un ejemplo es la función Logística denida como
1
y = ϕ (v) = (5)
1 + e−av
5
Figura 6: Función sigmoidal.
2) Un enlace con nodo inicial en el j-ésimo nodo y nodo nal en el k-ésimo nodo tiene una función
de transferencia asociada, que especica la manera en que la señal yk depende de la señal xj
en el j-ésimo nodo. Ver las guras 7 y 8 .
6
La señal de salida de un nodo es la suma algebraica de todas las señales que entran en este
nodo. Esto es llamado convergencia sináptica. La gura 9 muestra esta regla.
Una señal en un nodo es transmitida a través de todos los enlaces que salen del nodo, en
forma independiente de las funciones de transferencia. Esto es llamado divergencia sináptica.
La gura 10 muestra esta regla.
Así, una neurona y una red neuronal pueden ser representadas por grafos dirigidos como muestran
las guras 11 y 12, respectivamente.
Figura 12: Modelo de una Red Neuronal como un grafo dirigido [2].
7
Denición matemática de una RNA: Una red neuronal es un grafo dirigido formado por nodos
con interconexión sináptica y enlaces de activación, y tiene las siguientes propiedades:
a) Cada neurona es representada como un conjunto de enlaces sinápticos lineales, un bias aplicado
externamente y un enlace de activación posiblemente no-lineal. El bias es mostrado como un
enlace sináptico conectado a una entrada ja en x0 = 1.
b) Los enlaces sinápticos de una neurona le dan peso a sus respectivas señales de entrada.
c) La suma de las señales de entrada con sus respectivos pesos dene el campo local inducido de
una neurona.
d) El enlace de activación actúa sobre el campo local inducido de la neurona para producir una
salida.
Figura 13: Modelo de una Red Neuronal Feedforward de Capa Simple [2].
8
en cada capa de la red tienen como entradas sólo las señales de salida de la capa precedente.
El conjunto de señales de salida de las neuronas en la capa de salida (última) de la red forman
la respuesta total de la red al patrón de activación dado por los nodos fuentes en la capa de
entrada (primera capa). La gura 12 muestra esta arquitectura.
III. Redes Recurrentes (Recurrent Networks)
Estas redes se distinguen por tener a lo menos un loop de retroalimentación (feedback).
En la gura 14, la red no tiene loops de auto-retroalimentación, ya que para ninguna neurona
su propia salida alimenta su entrada. Y no existe una capa oculta. Por otra parte, en la gura
15, hay neuronas ocultas y la retroalimentación se origina desde las neuronas ocultas como
también de las neuronas en la salida.
Figura 15: Modelo de una Red Neuronal Recurrente con neuronas ocultas [2].
9
En el mundo real de las aplicaciones de máquinas inteligentes, se dice
que una buena solución depende de una buena representación del conocimiento.
Información previa: el estado del mundo conocido, ¾qué es conocido? y ¾qué ha sido cono-
cido?
Observaciones (o medidas) del mundo: son obtenidas por medio de sensores, que examinan
el ambiente en el cual la red neuronal está operando.
Las observaciones pueden estar distorsionadas debido al ruido de los sensores y las imperfecciones
del sistema.
Así, las observaciones obtenidas forman un conjunto de información, desde el cual son obtenidos
los ejemplos para entrenar a la red neuronal. Los ejemplos pueden ser:
a) Etiquetados: cada ejemplo representa una señal de entrada que está pareada con la correspon-
diente respuesta deseada.
b) No etiquetados: los ejemplos consisten de realizaciones diferentes de la señal de entrada por sí
misma.
El conjunto de entrenamiento T es usado en el proceso de diseño de una RNA y que consiste en:
10
Aprendizaje: seleccionamos una arquitectura para la RNA adecuada para al problema, con-
siderando una capa de entrada con nodos fuentes y una capa de salida. Se entrena con un
subconjunto de datos de T .
Generalización: el performance de reconocimiento de la red entrenada es probado con datos
(o ejemplos) que no se usaron durante el aprendizaje. Entonces, el performance de la red
es probado comparando la respuesta entregada por la red y la respuesta verdadera, que es
conocida previamente.
En la etapa de aprendizaje se deben considerar casos verdaderos y falsos, para que la RNA pueda
disminuir la cantidad de respuestas confusas.
Denición del aprendizaje: El aprendizaje es un proceso a través del cual los parámetros libres
(sus pesos sinápticos y nivel del bia) de una RNA son adaptados mediante un proceso de
estimulación producido por el medio ambiente, en el cual está inmersa la red. El tipo de
aprendizaje está determinado por la manera en que los parámetros libres son modicados.
Según esta denición el aprendizaje de una RNA tiene tres etapas, que son mostradas en la gura
17.
11
el vector señal x(n) , que es producido por una o más capas de neuronas ocultas, las cuales a su vez
son estimuladas por un vector de entrada aplicado a los nodos fuentes (capa de entrada) de la RNA.
El parámetro n representa un tiempo discreto, es decir, un paso de tiempo en un proceso iterativo
para ajustar los pesos sinápticos de la k − ésima neurona. La señal de salida de la k − ésima neurona
es yk (n), y representa la única salida de esta red neuronal. La señal de respuesta deseada o salida
objetivo de la k − ésima neurona es dk (n). Las señales yk (n) y dk (n) son comparadas, a través de
la señal de error denida como,
La señal de error ek (n) acciona un mecanismo de control, que aplica una secuencia de ajustes
correctivos en los pesos sinápticos de la k − ésima neurona, tal que la señal yk (n) se aproxime a la
señal dk (n) paso a paso. Para esto se minimiza la función de costo o índice de performance dada
por:
1 2
ε (n) = e (n) (8)
2 k
A esto se le llama la Regla Delta o Regla de Widrow-Ho.
Sea wkj (n) es el valor del j − ésimo peso sináptico de la k − ésima neurona excitado por la
componente xj (n) del vector señal x(n) en el tiempo n. Siguiendo la regla delta el ajuste del peso
sináptico wkj (n) en el tiempo n, se dene como:
12
n−→ o
x i , di / i = 1, . . . , N
−→
donde x i es un vector de entrada y di es la salida deseada correspondiente.
−→
Cuando se clasica un vector de prueba x test , que no ha sido visto previamente por la red, se
−→
recuperan y analizan todos los datos de entrenamiento en una vecindad (local) del vector x test .
Así, para el aprendizaje basado en memoria existen dos elementos importantes:
−→
El criterio usado para denir la vecindad (local) del vector x test .
13
Figura 19: La regla de aprendizaje de corrección de error (error-correction learning rule).
Cada neurona en la red tiene una función de activación no lineal diferenciable en todas partes.
La más común es la sigmoidal no lineal denida por la función logística en la ecuación (5) con
a = 1.
La red tiene una o más capas ocultas que no pertenecen a la entrada ni a la salida. Estas
capas ocultas le permiten a la red aprender tareas complejas a través de la extracción de
características válidas desde los patrones (vectores) de entrada.
La red tiene un alto grado de conectividad, determinado por las sinapsis en la red. Un cambio
en la conectividad de la red requiere hacer un cambio en la población de conexiones sinápticas
o de sus pesos respectivos.
Figura 20: Grafo de un perceptron multicapa, con dos capas ocultas [2].
14
En la gura 21 se muestra el movimiento de las señales a través de la red en dirección forward,
usando echas de línea sólida. Mientras que el movimiento de las señales de error es en dirección
contraria, es decir, en sentido backward y se describen con echas de líneas segmentadas.
Cada neurona oculta o de salida (nodos de cálculo) de un perceptrón multicapas está diseñada
para realizar dos cálculos:
1. Calcular la función de señal que aparece en la salida de una neurona, que se expresa como una
función continua no lineal de la señal de entrada y pesos sinápticos asociados con esta neurona.
2. Calcular una estimación del vector gradiente (los gradientes de la supercie de error con respec-
to a los pesos conectados a las entradas de una neurona), el cual es necesario para propagación
hacia atrás a través de la red.
para C el conjunto de todas las neuronas en la capa de salida de la red. Y el valor promedio del
error se calcula como:
N
1X
εav = ε (n) (13)
N n=1
donde N es el número total de ejemplos de entrenamiento. Así, para un conjunto de entrenamiento
T el valor promedio del error εav se considera como una función de costo para medir el performance
del aprendizaje.
El objetivo de un proceso de entrenamiento es minimizar εav ajustando los pesos sinápticos y
bias. Para esto el método hace los ajustes patrón-por-patrón hasta completar la presentación de
todo el conjunto de entrenamiento T , esto se llama una época. Los ajustes en los pesos son hechos
de acuerdo con los respectivos errores calculados para cada uno de los patrones presentados a la red.
15
La gura 22 muestra el ujo de señales en la j − ésima neurona en la iteración n, donde las
señales de entrada son producidas en la capa a la izquierda de esta neurona. El campo inducido,
para m señales de entrada, está dado por:
m
X
vj (n) = yi (n) wji (n)
i=0
Igual que antes, en la ecuación (1), el bias está considerado en el peso sináptico wj0 (n) = bj y
con señal de entrada y0 = 1. Entonces, la señal de salida de la j − ésima neurona en la iteración n
es obtenida como yj (n) = ϕj (vj (n)) .
Considerando a ε (n) como una función de los pesos sinápticos de la j − ésima neurona en la
iteración n, esto es,
ε (n) = f (wj0 (n) , wj1 (n) , · · · , wjm (n))
El algoritmo hace ajustes 4wji (n) en los pesos sinápticos wji (n) de la j − ésima neurona en la
iteración n que son proporcionales a la derivada parcial
∂ε (n)
4wji (n) = −η (14)
∂wji (n)
donde η > 0 es una constante de proporcionalidad que determina la tasa de aprendizaje del
algoritmo Back-propagation.
La ecuación (14) representa al gradiente descendiente de ε (n), e indica la dirección de busqueda
para minimizar el valor de ε (n).
16
Considerando el gradiente local δj (n) para la j − ésima neurona en la iteración n denido como
se pueden reescribir los ajustes 4wji (n) en los pesos sinápticos de la ecuación (14) en la siguiente
forma
a) La k − ésima neurona está en la capa de salida, como se muestra en la gura 23. Entonces, la
señal de error ek (n) se cálcula usando directamente la fórmula (11), ya que se conoce la señal
deseada dk (n), y con ek (n) se determina el valor de δk (n).
b) La j − ésima neurona está en una capa oculta, como se muestra en la gura 23. En esta posición
no se conoce la señal deseada dj (n). Entonces, el gradiente local δj (n) para la j − ésima
neurona se reescribe en la fórmula (16).
∂ε (n) X
= − δk (n) wkj (n)
∂yj (n)
k
Entonces, el gradiente local δj (n) para la j − ésima neurona oculta está dado por
X
δj (n) = ϕ0j (vj (n)) δk (n) wkj (n) (17)
k
17
Figura 23: Flujo de las señales a través de la j-ésima neurona oculta y la k-ésima neurona en la capa
de salida [2].
En la fórmula (17) el cálculo de ϕ0j (vj (n)) depende sólo de la j − ésima neurona, mientras que
los términos de la sumatoria δk (n) wkj (n) dependen de las neuronas que están en la capa continua
a la derecha de la j − ésima neurona, y que tienen un enlace directo con esta neurona cuyo peso
sináptico es wkj (n). Esta situación está representada en la gura 24.
Otro elemento importante es la función de activación ϕ (v) que debe ser continuamente diferen-
ciable, un ejemplo es la función logística descrita en la subsección 2.1.
Como se dijo anteriormente los ajustes de los pesos sinápticos se hacen durante el entrenamiento
de RNA.
Un tipo de entrenamiento es el secuencial, en el cual los ajustes de los pesos sinápticos se hacen
después que un ejemplo de entrenamiento ha sido presentado a la red, comenzando por el primero y
siguiendo el orden secuencial hasta el último de los ejemplos de entrenamiento.
Finalmente, el Algoritmo Back-propagation se detiene cuando la norma Euclideana del vector
gradiente
∇ε (n) = ∇f (wj0 (n) , wj1 (n) , · · · , wjm (n))
18
alcanza valor sucientemente pequeño, por ejemplo,
19
3. Criptografía
Esta sección presenta algunos elementos básicos de la criptografía. Para profundizar se recomien-
da la lectura de las referencias [5] [6] [7] [8] [9] [10] [11].
La Figura 25 muestra el esquema básico de un criptosistema para un canal inseguro (llamado CA-
NAL), que está constituido por dos usuarios autorizados (Alice y Bob) y un usuario no autorizado
(Eve) que puede escuchar todo lo que se transmite por el CANAL. Para una comunicación segura Ali-
ce y Bob deben acordar el uso de un criptosistema, es decir, un método de encriptación (E k (m) = c)
para ocultar el mensaje original m en un mensaje encriptado c, y un método de desencriptación
(D k (c) = m) para recuperar desde c el mensaje original m. Estos métodos son llamados algorit-
mos de encriptación y de desencriptación, respectivamente. Ambos algoritmos usan una clave o llave
secreta k , que sólo conocen Alice y Bob.
¾Qué pasa con Eve? Bueno por algún medio ella logra conocer el criptosistema acordado por
Alice y Bob, pero no sabe cuál es la llave secreta k , que ellos comparten. Entonces, los ataques que
hace Eve tienen como objetivo descubrir la llave secreta k . Lo más importante es que el algoritmo de
encriptación sea fácil de utilizar con la llave secreta k , y por el contario el algoritmo de desencriptación
sea muy dícil y casi imposible de utilizar si no se conoce la llave secreta k .
La Figura 25 corresponde a un criptosistema simétrico o de llave simétrica, esto es, Alice y Bob
deben usar la misma llave secreta k en los algoritmos de encriptación y de desencriptación. Lo que
plantea el gran problema del intercambio de la llave secreta k entre ellos. Por ejemplo, que Alice le
entregue la llave k en forma segura a Bob, de manera que Eve no la pueda descubrir. Debido a que
todos los canales de transmisión son inseguros, un cartero puede ser sobornado o torturado para que
entregue la llave secreta k , una conversación teléfonica puede ser escuchada, un servidor de correo
electrónico puede ser atacado, etc.
Algunos objetivos de la criptografía son:
a) La privacidad o condencialidad de la información signica que ésta está disponible sólo para
aquellos usuarios autorizados para conocerla. Por ejemplo, el número de una tarjeta de crédito
y su contraseña.
e) La rma digital es un medio para identicar y diferenciar a un usuario en particular del resto de
los usuarios.
f) La no-repudiación es un mecanismo para que los usuarios no puedan negar o descirtir de sus
acciones. Por ejemplo, negar la compra de un bien a través de un sitio web, después de haberlo
recibido.
20
Figura 25: Esquema de un Criptosistema
21
3.1. Criptografía de llave pública
En esta sección se presentan tres soluciones al gran problema del intercambio de la llave secreta
entre los usuarios autorizados, debido a que todos los canales de transmisión son inseguros. Estos se
clasican dentro del problema del logaritmo discreto y la factorización de números gigantes en sus
factores primos. Existen otros tipos de problemas pero no se abordarán en este cursillo.
La Cripotgrafía de llave pública o asimétrica nace con el trabajo de Die y Hellman en 1976.
ka kb
6. La llave secreta que comparten ambos es k = (B) = (A) = αka kb mod (p), y que no fue
transmitida por ningún canal.
La seguridad de este esquema se basa en la dicultad de calcular el logaritmo discreto, en campos
nitos, de las llaves públicas A = αka mod (p) y B = αkb mod (p). Estos es, determinar el valor exacto
de las llaves secretas ka y kb .
Ejemplo: Bob elige p = 13, α = 6 ∈ {2, 3, . . . , 11}. Alice selecciona su llave privada ka = 5 < 13, y
calcula su llave pública como
A = 65 mod (13) = 7,776 mod (13) = 2 (18)
Por su parte, Bob selecciona su llave privada kb = 8 < 13, y cálcula su llave pública como
Otra solución para el problema del intercambio de llaves es algoritmo criptográco asimétrico
RSA (Rivest, Shamir y Adleman) publicado en 1978, que en la actualidad es ampliamente usado. Y
su fortaleza está en la dicultad de factorizar el producto de dos números primos gigantes.
Los algoritmos de encriptación y de desencriptación son realiazados usando un anillo entero
Zn = {0, 1, 2, . . . , n − 1} y aritmética modular.
El mensaje original m se representa como un elemento de Zn , que debe ser menor que n.
Generación de llaves: Para generar sus llaves pública y secreta Bob sigue los siguientes pasos:
22
1. Elige dos números primos distintos p y q extremadamente grandes (de 1024 bits o de 100
dígitos a lo menos), de igual longitud para garantizar la seguridad del sistema. A continuación
calcula
n = pq (20)
Atención: Los dos números primos p y q deben permanecer secretos.
2. Calcula
Φ (n) = (p − 1) (q − 1) (21)
3. Selecciona su llave pública (exponente) aleatoria k = e ∈ {1, 2, . . . , Φ (n) − 1} tal que gcd (e, Φ (n)) =
1.
4. Calcula su llave privada (exponente) d tal que
y gcd (d, n) = 1.
Algoritmo de Encriptación:
Bob publica n y e.
Alice encripta un mensaje m para Bob de la siguiente forma:
donde m, c ∈ Zn .
Ejemplo: Para p = 47 y q = 71, n = 3337. La llave pública e no debe tener factores en común con
Φ (3337) = (46) (70) = 3220. Así, Bob puede elegir e = 79. Entonces, calcula su llave privada
como d ≡ 79−1 mod (3220) = 1019.
Si Alice, quiere enviarle a Bob el mensaje m = 688 lo encripta usando la llave pública de Bob,
e = 79 y n = 3337. Calcula
23
c) Le transmite a Alice el par (m,sb ).
d) e
Alice calcula x ≡ (sb ) mod (n). Entonces,
Bob usa su llave privada d para rmar y Alice usa la llave pública e de Bob para vericar la
rma.
Ejemplo: Bob elige p = 13, β = 6, x = 5 y calcula y ≡ 65 mod (13) = 7776 mod (13) = 2. Publica p = 13,
β = 6 e y = 2.
Alice encripta el mensaje m = 10 eligiendo en forma aleatoria k = 4. Entonces, determina los
valores de
a = 64 mod (13) = 1296 mod (13) = 9 y b = 24 10 mod (13) = 160 mod (13) = 4
4
! 4 !
65
4 (2) 10 10
mod (13) = mod (p) = mod (13) = 10 = m
95 (64 )
5
(64 )
5
24
m = (xa + kb) mod (p − 1)
El par (a, b) es la rma digital de Bob.
Alice verica la rma de Bob calculando:
a b
y a ab mod (p) = (β x ) βk mod (p) = β (xa+kb) mod (p) = β m mod (p)
Ejemplo: Bob elige p = 11, β = 2, x = 8 y calcula y ≡ 28 mod (11) = 256 mod (11) = 3.
Bob publica y = 3, β = 2 y p = 11, y mantiene secreto x = 8.
Para rmar el mensaje m = 5, selecciona un número aleatorio secreto k = 9 que es un primo
relativo con p − 1 = 10.
Calcula a = β k mod (p) = a = 29 mod (11) = 512 mod (11) = 6.
A continuación, usa el algoritmo extendido de Euclides para encotrar el valor de b en la
ecuación:
5 = (8 · 6 + 9 · b) mod (10) = (8 + 9 · b) mod (10)
25
4. Intercambio de llaves basado en redes neuronales articiales
En esta sección se presenta un esquema para el intercambio de llaves entre dos usuarios usando
un par de RNAs. Para más detalles se recomienda leer las referencias [12] [13] [14] [15] [16].
Como se dijo anteriormente el esquema usa dos RNAs del tipo feedforward, que pueden sincro-
nizar sus pesos sinápticos mediante el intercambio y aprendizaje, donde la salida de una alimenta la
entrada de la otra y viceversa.
La gura 26 muestra la arquitectura usada por el transmisor (S) y receptor (R), que en este caso
es un perceptron de doble capa, con K neuronas ocultas y N señales de entrada por cada neurona
oculta. Así, el vector de las señales de entrada tiene KN componentes xkj = ±1, con 1 ≤ k ≤ K y
1 ≤ j ≤ N . Las salidas de cada una de las neuronas ocultas son y1 , y2 , . . . , yK . No tiene sobreposición
entre las distintas señales. Los pesos sinápticos son números enteros wkj ∈ [−L, L], y representan al
j − ésimo peso de la k − ésima neurona oculta. Al número L se le llama la profundidad sináptica
de la red. Y la salida de cada red O es el resultado de multiplicar entre si todas las salidas de las K
neuronas ocultas, esto es,
O = y1 · y2 · . . . · yK
.
Figura 26: Arquitectura con K neuronas ocultas y N señales de entrada por neurona [12]
Las llaves privadas (secretas) del transmisor y receptor son los valores iniciales de los pesos
sinápticos de cada red. Donde wkj S
y wkj
R
son los pesos sinápticos del transmisor y del receptor,
respectivamente.
Cada red es entrenada con la salida de la otra, considerando un vector de señales de entrada
(xkj ) común y público para el transmisor y el receptor.
En la gura 26 se consideran K = 3 y N = 5. Así, la señal de salida, en cada red, se obtiene
como
XN
yk = signo wkj xkj k = 1, 2, 3
j=1
1 si x > 0
signo (x) =
−1 si x < 0
Para el caso particular x = 0, el transmisor considera signo (x) = 1, mientras que el receptor
considera signo (x) = −1.
Luego, se calcula la señal de salida de cada red como sigue:
26
OS = y1S · y2S · y3S y OR = y1R · y2R · y3R
A continuación el transmisor y el receptor intercambia las señales de salida OS y OR de cada
red, para ser usadas en el entranamieto.
El entrenamiento sigue si OS · OR < 0, es decir, mientras sean distintas, y termina cuando ambas
redes tienen la misma salida.
Durante el entrenamiento los pesos son ajustado siguiendo la siguiente regla de aprendizaje, en
cada red:
a) Para una salida particular O desde una de las RNAs se tienen diferentes representaciones con las
salidas y1 , y2 , . . . , yK de las neuronas ocultas. Por ejemplo, para la gura 26, O = 1 puede
ser el resultado de multiplicar una de las conguraciones (1, 1, 1) , (1, −1, −1) , (−1, 1, −1) ,
(−1, −1, 1) . Por tanto, el intruso no puede determinar el vector de pesos sinápticos que se está
usando.
b) Como cada componente está acotada por la profundidad sináptica de la red L, el intruso no
puede invertir laa operaciones en las ecuaciones (23), ya que la red olvida.
27
Referencias
[1] Internet Live Stats, http://www.internetlivestats.com/.
[2] S. Haykin, Neural Networks. A Comprehensive Foundation, Second Edition, ISBN: 81-7808-
300-0. Pearson Prentice Hall. 1999.
[3] M. A. Arbib, The Handbook of Brain Theory and Neural Networks, Second Edition, ISBN:
0262011972. A Bradford Book THE MIT PRESS. 2003
[4] J. Hertz, A. Krogh, R.G. Palmer, Introduction to the Theory of Neural Computation,
ISBN: 0-201-51560-1. Addison-Wesley Publishing Company, 1990.
[6] C. Paar, J. Pelzl, Understanding Cryptography. A Textbook for Students and Practitioners,
ISBN:978-3-642-04100-6. Springer-Verlag, Berlin, 2010.
[7] B. Schneier, Applied Cryptography:Protocols, Algorithms, and Source Code in C, Second Edi-
tion, ISBN:0471117099. John Wiley and Sons, Inc. 1995.
[9] R. Rivest, A. Shamir, L. Adleman, A Method for Obtaining Digital Signatures and Public-
Key Cryptosystems, Communications of the ACM, Vol. 21 (2), pp.120-126, 1978.
[10] T. ElGamal, A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Loga-
rithms, IEEE Transactions on Information Theory 31 (4): 469472, 1985.
[13] Chao-Jung Cheng, Teh-Lu Liao, Jun-Juh Yan, Chi-Chuan Hwang, Synchronization of
neural networks by decentralized feedback control,Physics Letters A 338 (2005) 2835. Elsevier
B.V. 2005.
[15] N. Mu, X. Liao, An Approach for Designing Neural Cryptography, C. Guo, Z.-G. Hou, and
Z. Zeng (Eds.): ISNN 2013, Part I, LNCS 7951, pp. 99108. Springer-Verlag Berlin Heidelberg
2013.
28