miércoles, 16 de marzo de 2011

Cifrando con autómatas celulares

Hoy traigo un pequeño experimento, este es un cifrado que se basa en el mismo concepto que otro código anterior [ Un autómata celular para generar números pseudo-aleatorios ], pero en vez de generar números aleatorios, sirve como cifrado de flujo [ http://pastebin.com/uX1WpGjF ] .

La idea es simple, se toma un campo de la variante "3-4 life" ya que genera patrones mas caóticos, se le introduce una figura que se sabe que se expande rápidamente [ http://videobin.org/+2be/2ly.html ], se avanza 200 generaciones, se hace XOR de las céldas y una clave ( cada celda con un bit de la clave ), y se vuelve a avanzar 75 generaciones.

Después los bits de cada estado hacen XOR con los bits correspondientes del archivo, se pasa al estado siguiente cuando se acaben los bits del anterior y se finaliza el programa cuando se haya cifrado todo el archivo.

Nota:Dudo que sea seguro por que, por ejemplo, hay más bits a 0 que a 1, cuando no debería ser así.

Sobre el script, si no se le pasan parámetros ya pide el la clave y los archivos, sino los parámetros son:
./cell.py <clave> <entrada> <salida> ["-"]

El "-" (que en realidad puede ser cualquier cosa) lo único que hace es activar el mostrar los estados por los que pasa el autómata.

Hasta otra.

No hay comentarios:

Publicar un comentario