martes, 28 de septiembre de 1999

Cifrado seguro utilizando una simple baraja de póker

Bruce Schneier ha diseñado un algoritmo de cifrado seguro que emplea
únicamente una baraja de póker de 54 cartas. Se trata de un algoritmo de
cifrado en ristra o flujo ("stream", en inglés), y ha sido diseñado para
que sea sencillo y fácil de realizar a mano, sin apoyo informático. El
algoritmo se llama "solitaire" y fue creado para la novela
Cryptonomicon, de Neal Stephenson, publicada esta primavera.
El algoritmo se basa en mover las cartas del mazo siguiendo una serie de
pasos, y combinar sus resultados con el documento a cifrar. La clave
está constituida por la disposición inicial de las 54 cartas de la
baraja de póker, por lo que su fortaleza aparente es de 54! (54
factorial), aproximadamente 236 bits.

Se dá la curiosa circunstancia de que este algoritmo parece lo bastante
seguro como para que sea considerado como tecnología de doble uso (como
las minas o las balas de ametralladora) por parte del gobierno
estadounidense. Este hecho podría suponer la ilegalidad de exportar el
conocimiento de dicho algoritmo a países extranjeros.

Sin embargo la legislación de EE.UU. protege la libertad de expresión
escrita, por lo que se permitiría la exportación sin problemas si el
algoritmo se describiese en un libro editado de forma legal, con ISBN,
etc. Y eso es precisamente lo que se hace en la novela de Neal
Stephenson, en la que "solitaire" aparece como un apéndice.

Parece increíble que un algoritmo criptográfico tan sencillo, que puede
memorizarse y utilizarse de forma manual, pueda estar sujeto a
legislación militar. Pero la legislación norteamericana es así. En
cualquier caso Bruce Schneier ha tomado la iniciativa y ha decidido
publicar una página web en la que describe con todo detalle el
algoritmo, proporciona ejemplos, consejos de uso, código fuente para los
que deseen utilizarlo con un ordenador y vectores de prueba para
comprobar que las implementaciones son correctas.

El documento original está escrito en inglés, pero Jesús Cea Avión se ha
encargado de traducirlo al castellano y hablar con Bruce Schenier para
que añada enlaces a la traducción. En este momento, además de la versión
en inglés y la versión en castellano recientemente traducida, existen
también traducciones oficiales el francés y al alemán.


Jesús Cea Avión
jcea@argo.es
http://www.argo.es/~jcea/


Más información:

The Solitaire Encryption Algorithm
http://www.counterpane.com/solitaire.html

El Algoritmo de Cifrado "Solitaire"
http://www.argo.es/~jcea/artic/solitaire.htm