sábado, 14 de febrero de 2009

Criptografía para románticos

Sí, también tengo un lado romántico; si no me creen, pregúntenle a mi esposa (no crean que es casualidad el hecho de llamarme Romeo :-D). Lo que pasa es que no uso con frecuencia mi romanticismo, que es diferente. Pero, ¿qué tiene qué ver la criptografía con el romance? Absolutamente todo. Yo mismo usaba la técnica del cifrado César hace muchos años para comunicarme con una novia que tuve: ella me escribía, o yo le escribía, pero siempre usando un sencillo algoritmo de sustitución de letras y una llave compartida previamente (me estoy refiriendo a una llave criptográfica, k=3, no sean mal pensados). La llave no era otra cosa sino un número que representa cuántas letras hay que desplazar. Por ejemplo, si ella quería escribirme: "necesito verte", simplemente cambiaba la 'n' por 'q' (3 letras después), la 'e' por 'h', y así sucesivamente hasta tener: "qhfhvlwr yhuwh", mensaje que se ingeniaba para mandarme por un medio no tan seguro (con alguna amiga). Yo recibía aquél papelito perfumado y procedía a decodificarlo, aplicando la llave con el algoritmo en sentido contrario: la 'q' por 'n' (3 letras antes), la 'h' por 'e', la 'f' por 'c', hasta tener el mensaje. Nuestro sistema funcionó correctamente y, dado que no nos descubrieron, puedo decir que nadie lo rompió nunca a pesar de su sencillez... el rompimiento fue otro. Así es la vida. ;-)

Ahora que me doy cuenta, creo que debí haber escrito todo esto usando algún cifrado, porque ahora que lo lea mi esposa se me va a armar tremendo lío. :-D

Sin embargo, ¿quién usa el cifrado César hoy en día? (En todo caso, les recomiendo usar cifrado Vigenère, que también es sencillo y prácticamente irrompible). Tal vez cifrar los mensajes mantenga fuera de la vista de los padres y otros curiosos las declaraciones de amor entre romeos y julietas, a menos que tengan un papá o mamá criptoanalistas... (hijos: si están leyendo esto y no quieren que me entere de algún mensaje que les intercepte, tendrán que ir investigando sobre criptografía de curva elíptica o, quizá para entonces, criptografía cuántica... o mejor aún, ¡cuéntenmelo todo!, ¿para qué se complican? :-D).

En fin, todo sea por conservar algo de intimidad y guardar secretos, pero siguiendo un principio básico en criptografía: estar de acuerdo. No vaya a pasar como aquella canción de Juan Luis Guerra que dice: "te mando señales de humo como un fiel apache, pero no comprendes el truco y se pierde en el aire". Ya me imagino, el cuate aquél mandando las señales con código morse ("y un código morse transmite el 'te quiero' de un ángel, se pierde en el aire"), y la amada ni en cuenta. ¡Que alguien le enseñe código morse, por favor!.

Aunque es cierto que un mensaje cifrado (encriptado, pues) hace evidente que hay un secreto guardado en el mensaje (es decir, si alguien ve un papel perfumado que dice: "qhfhvlwr yhuwh", va a saber que hay algo secreto y sentirá la curiosidad de saber qué es lo que dice), pero ¿qué tal si el mensaje es digital y contiene una fotografía o una canción en MP3? ¿qué tal si en la fotografía o en la canción va oculto un mensaje, imperceptible a simple vista o a simple oído? Eso ya no sería tan evidente. Esto es posible gracias a la esteganografía y otras técnicas de covert channels, pero de eso hablaré en otra ocasión; hoy no, porque la esteganografía no es tan romántica como la criptografía.

Bueno, los dejo con una frase de amor pseudo-geek, en cifrado César, que dice:

"dpru hv phprulcdu vx gluhfflrq ls, hq oxjdu gh xvdu gqv"

Hasta luego.

:wq!

Nota cultural: Para aquellos que siempre quisieron saber la secuencia que usó el fiel apache de la canción para transmitir "te quiero" en las señales de humo, la representación en Morse es: - . / --.- ..- .. . .-. --- (es cierto, por mis venas corre sangre de telegrafista: feliz día del telegrafista).