10 abril 2008

Disappearing Cryptography


El problema que tienen los libros de criptografía es que o bien requieren de una licenciatura en matemáticas para entenderlos, o bien se quedan en una serie de recetas algorítmicas para programadores. Encontrar una obra como esta, que sepa contentar tanto a los que buscan una base teórica sólida como a los que buscan un acercamiento más práctico resulta extremadamente difícil.

Y es que el autor ha sabido estructurar un libro en diferentes capas que permiten un acercamiento progresivo a la materia sin que sea necesario profundizar en los detalles más arcanos para acabar la obra con una visión bastante clara de los fundamentos de la criptografía de ocultación o esteganografía. Así, cada capítulo comienza con una descripción general del tema tratado para ir entrando poco a poco en materia matemática. El lector puede saltar en cualquier momento esta parte matemática para ir a la algorítmica en la que se describen posibles formas de sacar partido práctico a todo lo anterior. Es tan didáctico y asequible que, aun careciendo de conocimientos previos de esteganografía, a un lector con cierta agilidad en un lenguaje de programación no le costará realizar sus propias herramientas de ocultación de datos tras acabar el libro.

Además, es bastante extensivo, tocando un amplio rango de técnicas de ocultación de información. Por ejemplo, resulta extremadamente interesante el capítulo dedicado a la esteganografía mediante gramáticas en la que usa códigos estructurados en árboles de tal manera que textos aparentemente anodinos contengan mensajes ocultos completamente distintos. El ejemplo que usa a partir de una supuesta retransmisión deportiva es de lo más revelador... Por supuesto, trata también las técnicas (más populares), de ocultación en imágenes y en sonidos entrando además en materias avanzadas, como la manipulación de los coeficientes de la FFT para ocultar información en formatos comprimidos de imagen, o diversas técnicas para realizar marcado al agua o watermarking resistentes a la supresión o manipulación. Toca también otros temas, que quizás no entren en el apartado de esteganografía desde un punto de vista ortodoxo, pero que desde luego resultan interesantes para cualquiera que estudie la materia. Se trata de la anonimización de los servicios de correo electrónico o navegación a través de remailers y redes anónimas respectivamente.

Los anexos merecen una mención aparte ya que en ellos el autor profundiza en la faceta práctica del libro. En uno de ellos ofrece un ejemplo práctico en Java de algunos de los temas tratados. En otro utiliza LISP para ilustrar el capítulo de la esteganografía respecto a gramáticas. Y en otro realiza una revisión intensiva de las herramientas esteganográficas disponibles en la red, así como la literatura disponible para profundizar en la materia.

En definitiva, un libro altamente recomendable tanto para los ya expertos en criptografía y esteganografía como para aquellos que buscan iniciarse en esta disciplina.