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 ["-"]

===============================================================================

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.

untagged

Como monitorear un terminal desde otro [tip] » « Adivina el lenguaje [solución]