Académique Documents
Professionnel Documents
Culture Documents
1. Introduccin
Un autmata celular es un modelo matemtico para un sistema dinmico que
evoluciona en pasos discretos. Es adecuado para modelar sistemas naturales o
artificiales que puedan ser descritos como una coleccin de objetos simples que
interactan localmente unos con otros.
Se aplican con xito en:
- En el estudio de evolucin de ecosistemas en biologa
- En deteccin de fuegos en los bosques
2. Autmatas celulares 1D
Se considerar, por simplicidad, una vecindad de radio 1. Eso quiere decir que
para calcular el estado de la clula i-sima en la etapa t, es decir para calcular s i( t ) ,
se usar el estado de las clulas i-1, i, i+1 en la etapa anterior, es decir, se usar
( t 1) ( t 1)
s i 1 , s i y s i(+t 11) . Un esquema se representa en la figura 1:
Figura 1: Esquema
En este grfico la fila superior indica el estado de la clula central (la clula i) y
de sus dos clulas vecinas en una determinada etapa y, en la fila inferior, el estado
de la clula central en la siguiente etapa. Por ejemplo, en el primer caso de la figura
2: si el estado de una clula en una determinada etapa es 1 (negro) y sus dos
vecinas en esa misma etapa tambin estn a 1 (negro) entonces el estado de la
clula en la siguiente etapa ser 0 (blanco). De la misma forma se interpretan el
resto de los 7 casos.
Se considerar un autmata con N clulas que indicaremos por: s0, s1, , sN-1.
Partiendo de una configuracin inicial C(0) y con la regla de la figura 2 se podr
recalcular el estado en cada nueva etapa de las clulas s1, , sN-2, pero se
necesitan establecer unas condiciones en la frontera para poder recalcular s0 y sN-1.
Es habitual considerar como condiciones en la frontera las establecidas en la figura
3 conocidas como condiciones peridicas.
f(1,1,1) = 0
f(1,1,0) = 0
f(1,0,1) = 0
f(1,0,0) = 1
f(0,1,1) = 1
f(0,1,0) = 1
f(0,0,1) = 1
f(0,0,0) = 0
Si repetimos esta idea para las 128 primeras filas del tringulo se obtiene la
imagen de la figura 7. La relacin entre la regla 90 y el tringulo de Pascal queda
patente cuando se comprueba que la regla 90 es equivalente a la siguiente
expresin:
# A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 1 2 3 4
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
Por otro lado, un nmero entre 0 y 31 se escribe en binario con 5 bits: entre
00000 (correspondiente al 0) y 11111 (correspondiente al 31).
M={01000,10000,01100,00001}
(t) ( t +1) ( t + 2)
si , si , si , ...
Por ejemplo, se elige i=15 y t=25. Como el mensaje a cifrar tiene 20 bits, se
obtendra la siguiente secuencia de 20 bits:
+ 0 1
0 0 1
1 1 0
Para cifrar el mensaje se hace una suma XOR bit a bit, que se indicar con el
smbolo , o lo que es lo mismo, una suma mdulo 2 pero bit a bit, entre las
secuencias M y K, obteniendo:
D=MK=00110101011111111101
Ya que la suma XOR de una secuencia de bits K con ella misma es siempre
una secuencia de ceros que se ha indicado por . Despus, la suma XOR de una
secuencia de bits M con una secuencia de ceros, da como resultado,
evidentemente, la propia M. En resumen, M=DK, propiedad que se utilizar para
descifrar.
En esta seccin se ver cmo cifrar una imagen digital en lugar de un mensaje
de texto. Se podra usar una variacin del mtodo descrito en la seccin anterior,
pero se llevar a cabo otro mtodo distinto tambin basado en autmatas celulares.
En este trabajo se ver un algoritmo para cifrar una imagen que emplea
autmatas celulares 1D. Es una versin simplificada del mtodo propuesto por
Martn, Rodrguez & de la Villa (2007, pp. 571-578).
1
(t)
si = p s i(+t p1) + s i( t 2) = 1 s i(t 11) + 0 s i( t 1) + 1 s i(+t 11) + s i( t 2) (mod 2) (1)
p = 1
Como sumar y restar en Z2 es lo mismo, eso quiere decir que la frmula (1) se
puede escribir tambin de la forma:
1
s i( t 2) = p s i(+t p1) + s i( t ) (mod 2) (2)
p =1
Esta frmula indica que podemos dar marcha atrs y recuperar el valor de la
configuracin C( t 2) , si se conocen las configuraciones C ( t 1) y C ( t ) . Por esta razn,
este tipo de autmatas se llaman autmatas reversibles.
Cada fila tendr 256 pxeles, lo que hace un total de 2568=2048 bits. Se
cogern las filas de dos en dos. Pues bien, los 2048 bits de la primera fila sern el
estado inicial C (0) de un autmata y anlogamente los 2048 bits de la segunda fila
sern el estado C (1) . Despus se efectan una serie determinada de iteraciones T,
obteniendo las sucesivas configuraciones del autmata C ( 2) , C (3) , , C (T 1) , C (T ) .
Pues bien C (T 1) y C (T ) sern dos vectores con 2048 bits cada uno. Se pasa a
decimal cada grupo de 8 bits y se obtendrn dos vectores de 256 componentes que
sern las dos primeras filas de la imagen cifrada. De esta misma forma se van
cogiendo de dos en dos las sucesivas filas de la imagen original.
Como el autmata es reversible, basta con dar marcha atrs para recuperar la
imagen original para lo que har falta saber, lgicamente, la clave secreta.
1
s i( t ) = p s i(+t p1) + s i( t 2) (mod 256) (3)
p =1
Una idea similar se puede aplicar en dos dimensiones (lvarez, Hernndez &
Martn, 2005, pp. 411-418).
Figura 12: Una clula en la posicin (i,j) (en rojo) y sus 8-vecinas (en azul)
Se pasa cada nivel de gris de un pxel a binario. De manera que la primera fila
que tiene 256 pxeles se convertir en una secuencia de 256x8=2048 bits. Como la
imagen empleada tiene 256 filas, se obtendr entonces una matriz de tamao
2562048 de ceros y unos. La matriz binaria anterior ser la configuracin inicial
C( 0 ) de un autmata 2D. Despus se crear una matriz pseudoaleatoria de ceros y
unos exactamente del mismo tamao, es decir 2562048, que ser la configuracin
C( 1) . A continuacin, se pone el autmata a trabajar usando la siguiente frmula:
1
s ((it,)j) = k, p s ((it +1k), j+ p) + s ((it,j)2) (mod 2) (4)
k , p = 1
6. Conclusiones
Las ideas han surgido de dos artculos de investigacin (lvarez et al., 2005,
pp. 411-418 y Martn et al., 2007, pp. 571-578). Se propusieron a alumnos de la
titulacin de Ingeniera Informtica una implementacin de dichas ideas, aunque en
versiones simplificadas. Se ha acercado as la investigacin a la docencia
universitaria.
Por otro lado, los alumnos han usado Matlab para implementar las tcnicas
aqu descritas. Esto les sirve de paso para conocer y afianzar el lenguaje de
programacin de Matlab que se est convirtiendo en una herramienta de gran
utilidad para un ingeniero.
Bibliografa
lvarez, G., Hernndez, L., Martn, A. (2005). A new secret sharing scheme for
images based on additive 2-Dimensional cellular automata. Lecture Notes in
Computer Science, 3522, 411-418.
Bhasin, H., Kumar, R., Kathuria, N. (2013). Cryptography Using Cellular Automata.
International Journal of Computer Science and Information Technologies, 4
(2),355-357.
Aguirre, J.R. (2006). Material de Seguridad Informtica y Criptografa. Recuperado
el 22 de marzo de 2016, de
http://www.deic.uab.es/material/26118-09CifraClasica.pdf
Gardner, M. (1970). Mathematical Games The fantastic combinations of John
Conway's new solitaire game "life". Scientific American, 223, 120123.
Martn, A., Rodrguez, G., de la Villa, A. (2007). A protocol to cipher digital images
based on cat maps and cellular automata. Lecture Notes in Computer Science,
4477, 571-578.
Seredynski, F., Bouvry, P., Zomaya, P. (2004). Cellular automata computations and
secret key cryptography. Parallel Computing, 30, 753-766.
Wolfram, S. (1986,a). Random sequence generation by cellular automata. Advances
in Applied Mathematics, 7, 123-169.
Wolfram, S. (1986,b). Cryptography with cellular automata. Lecture Notes in
Computer Science, 218, pp. 429-432.
Wolfram, S. A New Kind of Science. Wolfram Media, Inc., 2002.
Yampolskiy, R.V, Rebolledo-Mendez, J. D., Hindi, M.M. (2014). Password Protected
Visual Cryptography via Cellular Automaton Rule 30. Transactions on Data Hiding
and Multimedia Security IX, Lecture Notes in Computer Science, 8363, 57-67.
Autores: