Enciclopedia de Conocimientos Fundamentales
UNAM ˜ SIGLO XXI


regreso








4.4.3 Criptografía básica

La intención primaria (ya se han mencionado muchas otras, como firmas o identificación) de la criptografía es lograr que dos personas o, para ser más generales, dos entidades diferentes (A y B) logren comunicarse de modo que sólo ellos puedan entender el significado de los mensajes. Se presupone entonces la existencia de una tercera entidad, el enemigo, que está permanentemente al acecho procurando comprender lo que A y B se dicen. Para que el enemigo no tenga éxito, A y B deben enviarse mensajes cifrados.

Existe otra área dedicada al ocultamiento de los mensajes, se denomina esteganografía,  pero no será posible tratarla en el espacio de este libro. A su vez, la criptografía es parte de un área más general llamada criptología. Otra parte de la criptología es el criptoanálisis, que se encarga de intentar descifrar las comunicaciones secretas.

Cifrar datos es entonces representarlos de tal forma que resulten ininteligibles para quien "no está autorizado". El proceso criptográfico básico es un algoritmo que recibe como entrada los datos claros, comprensibles para cualquiera, y un elemento adicional llamado clave de cifrado; la salida del algoritmo es el conjunto de datos cifrados. El mensaje cifrado es entonces transmitido o almacenado, a través de o en un medio, respectivamente, que es susceptible de ser intervenido por el enemigo. El receptor del mensaje, por su parte, debe recuperar los datos originales, para lo cual ejecuta también un algoritmo. El algoritmo de descifrado recibe como entrada los datos cifrados, una clave de descifrado, que puede o no ser la misma que se usó para cifrar, y produce como salida los datos claros originales que fueron cifrados por el emisor, solamente en el caso de que la clave de descifrado sea la correspondiente a la clave de cifrado. Así que la "persona autorizada" es aquella que conoce esta clave.

esquemacifrado
Figura 9. Esquema básico de cifrado.

En la criptografía clásica, los algoritmos son simétricos; es decir, la clave de cifrado y descifrado son iguales. En este caso, se trata de diseñar los algoritmos de cifrado y descifrado de manera tal que únicamente las personas que conozcan la clave puedan entender los mensajes. Ésta es la criptografía que permite cifrar y descifrar más rápidamente, y existen algoritmos que se usan mucho para hacer esto, como los basados en el estándar des (Data Encryption Standard), pero tiene el inconveniente de que cada pareja de personas que se desean comunicar, primero deben ponerse de acuerdo en una clave secreta que sólo ellos conozcan. Sería mucho más eficiente tener dos claves: una pública y otra secreta; de tal forma que Arcadio pudiera publicar en un directorio su clave pública y todo aquel que la viera pudiera enviarle mensajes que solamente él pueda leer con la correspondiente llave secreta. Hasta antes de los años setenta se creía que esto era imposible, pero en un trabajo publicado en 1976 por Diffie y Hellman —donde muestran cómo se puede lograr que dos personas que solamente se pueden comunicar a través de un canal inseguro, al que cualquiera tiene acceso, se pongan de acuerdo en una clave secreta— nace la criptografía de llave pública. Ahora existen algoritmos de este tipo, llamados asimétricos, usados en todas las transacciones seguras de internet. Uno muy usado es el RSA (por las iniciales de los apellidos de sus creadores: Ron Rivest, Adi Shamir y Len Adleman). Sin embargo, los que se conocen son mucho más lentos que los simétricos usados.

En el lenguaje de la efe usado por Úrsula, la introducción de las letras "f " es lo que ocasiona que el mensaje cifrado ya no sea reconocible de inmediato cuando se le escucha. Luego de introducir cada letra "f " se duplica la vocal que la precedió, así que por cada vocal del mensaje original, en el mensaje cifrado existen dos, de hecho la misma: una está antes y otra después de la "f ". Existen mucho otros algoritmos simples de cifrado, los métodos clásicos son:

Transposición: reordena las letras de un mensaje; por ejemplo, "necesito ayuda" se podría convertir en "enecisotyadua".

Sustitución: cada letra se sustituye por otra; por ejemplo, "necesito ayuda" se podría convertir en "ofdftjupbzveb" al cambiar cada letra por la que le sigue en el alfabeto.

El lenguaje efe sólo ha servido para ilustrar los conceptos, y en realidad no es más útil que cualquiera de los métodos de transposición o sustitución. Cualquiera de estos métodos es fácil de descifrar sin necesidad de tener la clave secreta, usando una computadora y viendo suficientes mensajes cifrados. La idea básica para hacer esto es tomar estadísticas acerca de la frecuencia de las letras o combinaciones de éstas en un conjunto suficientemente grande de mensajes cifrados, y compararlas con las estadísticas conocidas del idioma español (o en el que se estén escribiendo los mensajes a descifrar). En efecto, con el advenimiento de veloces computadoras que pueden analizar miles y miles de posibilidades por segundo, la criptografía cambió.

La intensa interacción entre el criptoanálisis y la criptografía se volvió indispensable. Es muy fácil diseñar algoritmos que aparentemente "transforman mucho" un mensaje, de manera que parezca imposible descifrarlo, hasta que se hace un sofisticado criptoanálisis y se logra. Un esquema criptográfico realmente útil es mucho más complicado, y dado que en realidad no se sabe cómo probar con toda certeza cuándo un esquema práctico es seguro, se publica el esquema y la comunidad internacional lo criptoanaliza, y si no logra violarlo durante mucho tiempo se considera que el esquema es seguro. Hay esquemas criptográficos actuales con los cuales se logra que, por ejemplo, el cambio de uno solo de los cientos de bits que posee el mensaje de entrada genere la alteración total del mensaje cifrado.


Inicio de página