El autor es Catedrático del Departamentop de Matemáticas del Recinto de Humacao de la UPR.
Vivimos tiempos gloriosos para la Matemática. Pocas veces antes en la historia se habían visto usos tan tangibles de su poder y de la confianza que la ciencia y la tecnología depositan en el rigor y la fuerza del pensamiento matemático. Una de las aplicaciones de mayor interés y en actual estado de cambio y ebullición, es el desarrollo de esquemas criptográficos que usan los gobiernos, los ejércitos, el comercio, la banca y, con intensidad creciente, la Internet.
Criptografía, viene del griego kripto que significa oculto. Se crean esquemas criptográficos para transmitir mensajes privados (clasificados, los llaman los gobiernos) y asegurarse de que su contenido sea inaccesible a intrusos. Todos somos de alguna forma tocados por la criptografía. Si entramos en un sistema de computadoras se nos requiere un nombre de usuario y a la vez una contraseña. El primero es público y sirve para que el operador sepa quién soy; la contraseña es privada y sirve para que la computadora me identifique como usuario genuino y me dé acceso a mi cuenta. Mi contraseña es un palabra que sólo yo conozco, que no la comparto con nadie y ni siquiera el operador, que tiene acceso a los interiores de la computadora, puede conocerla. El día que me dan una cuenta en la computadora yo decido qué palabra voy a usar como contraseña, se la «digo» a la computadora y ésta la registra encriptada, es decir, no como la palabra es, sino como una sucesión indescifrable de caracteres extraños. Si olvidara mi contraseña, como suele sucederme, el operador no puede recuperarla, es críptica para él. Simplemente me asigna otra que luego yo cambio y recupero mi secretividad.
La criptografía se ha usado en el pasado sobre todo con fines bélicos. A sus generales en el frente, Julio César les enviaba mensajes escritos y los hacía crípticos escribiendo en lugar de cada letra del mensaje, la que está tres letras más adelante, cíclicamente (a la Z le sigue la A), en el alfabeto. Así la palabra ATAQUEN la escribía DWDTXHQ, incomprensible para el mensajero o para cualquier enemigo que lo interceptara.
Los generales podían descifrar el mensaje porque previamente habían recibido la clave secreta del propio César. Por supuesto que un enemigo inteligente podría quebrar el código, es decir, deducir la clave y descifrar el mensaje, porque el esquema del César es muy ingenuo. Modernamente los esquemas criptográficos son más sofisticados y robustos y se les usa por la necesidad de privacidad de vastos aspectos de la vida. Hay necesidad de privacidad de nuestros expedientes médicos, de las transacciones comerciales, de movimientos bancarios, de cartas de amor, etc. Hace unos días, al comprar un libro por la Internet, el comerciante me informó cómo automáticamente se encriptaba la información que yo le proveía, para darme garantía de que el número de mi tarjeta de crédito no caería en manos ajenas al negocio que él y yo efectuábamos.
Un esquema criptográfico debe ser robusto para poder soportar ataques criptoanalíticos, al menos mientras tenga vigencia la privacidad de la información. Un mensaje críptico de Romeo a Julieta sobre un encuentro secreto el próximo viernes tiene a lo más una semana de vigencia. Un Capuletto que tarde ocho días en quebrar el código será un criptoanalista fracasado. Existen ejemplos célebres de sistemas criptográficos temporalmente robustos que fueron quebrados determinando incluso cambios en el curso de la historia.
Durante la Segunda Guerra Mundial, cuando la flota alemana dominaba el Atlántico Norte, el alto comando se comunicaba con ella por radio usando mensajes encriptados por la famosa máquina Enigma, mientras antenas inglesas los interceptaban sin que nadie pudiera descifrarlos. Un equipo de matemáticos británicos, dirigidos por el célebre Alan Turing -- figura central en el fundamento de la ciencia de cómputos actual--- infligió a esa data sistemáticos ataques criptoanalíticos logrando quebrar los códigos, delatar la ubicación y planes de las naves enemigas y cooperar en el cambio de rumbo de la guerra.
Por siglos la criptografía ha usado claves privadas. La clave es el mecanismo necesario para descifrar el mensaje. Clave privada significa que el emisor y el receptor del mensaje deben estar de acuerdo en la clave, y esto puede significar un encuentro personal privado previo al intercambio de mensajes. También significa que yo, como emisor que cuido de la información que manejo, debo tener confianza absoluta en que mi «interlocutor» cuidará celosamente de la clave y no permitirá filtraciones ni robos ni infidencias. ¿Qué garantía podía tener el César de estar a salvo de traidores?
Esta característica de las claves privadas se llama simetría, es decir ambos lados del esquema tienen el mismo poder sobre el mensaje secreto. En el último cuarto de siglo la investigación matemática nos ha provisto de formas asimétricas de manejar las claves secretas, lo que significa una verdadera revolución en la criptografía. De acuerdo a esto quien espera comunicación hace pública su clave para encriptar los mensajes que se le envíen y es el único poseedor de la clave para descifrarlos, es el solo centinela de su propia información, quedando así liberado de filtraciones o infidencias. Uno de los esquemas criptográficos de clave pública más conocidos y usados es el RSA cuyas letras corresponden a sus creadores (Rivest, Shamir y Adleman, 1978) y del que me ocupará en una futura columna.
El esquema de clave privada más conocido y usado y que en su más o menos larga vida ha probado ser robusto, es el Data Encription Standard (DES), producido en 1977 inicialmente para uso del gobierno de los Estados Unidos. Un texto, o texto llano, es encriptado convirtiendo primero sus caracteres en sucesiones binarias de ceros y unos. Una forma ingenua de hacer esto es convertir cada letra o número en su representación binaria, es decir, ceros y unos o código ASCII. El largo de cada código ASCII es ocho
dígitos binarios o «bits» por lo que el tamaño del texto quedaría automáticamente octuplicado; pero esta inflación ya existe pues la computadora no archiva los caracteres como los humanos los vemos, sino archiva sus códigos ASCII. Al texto convertido en ceros y unos --ya críptico pero nada indescifrable-- DES lo fracciona en bloques de 64 bits y a cada bloque lo somete a 16 bien definidas permutaciones, fraccionamientos y restauraciones que son operaciones generadas de manera única a partir de una cadena de 56 bits que forman la clave.
Esta clave puede ser una palabra de siete caracteres («GUINEOS», por ejemplo) que convertida en código ASCII da una sucesión de 56 bits. Lo ingenioso de este esquema es que el receptor del mensaje críptico lo puede descifrar («decriptar») con la misma clave, es decir, como si quisiera reencriptarlo y el resultado sería el texto llano original. Es como si el César, en lugar de mover las letras 3 lugares hacia adelante, lo hiciera por 13 lugares. Como 13 es la mitad de 26, necesitaríamos la misma clave para encriptar que para decriptar. El uso del DES requiere que los comunicantes compartan previamente la clave privada.
Lo más privado tiene que ser un encuentro privado. Pero las comunicaciones pasan fronteras, y hacer encuentros privados cada vez que sea necesario intercambiar claves puede ser muy oneroso. La solución de este problema se hizo usando un esquema que permite el intercambio de claves entre dos comunicantes sin que intrusos, con acceso a los canales de comunicación, puedan detectar la clave. Esta ingeniosa estrategia la debemos a dos matemáticos de nombres Diffie y Hellman (1976) y a la dificultad monstruosa de resolver un problema de logaritmos discretos en teoría de números. Para que el lector tenga un sabor de lo que esto significa permítanme hacer un poco de matemáticas.
Primero recuerde que cuando en la escuela dividíamos números enteros, nos daban dos números, dividendo y divisor, y debíamos hallar dos resultados: el cociente y el residuo. Los residuos que origina un divisor entero fijo forman conjuntos cerrados para las operaciones de suma y multiplicación (módulo ese entero). Por ejemplo, si el divisor es 7, los residuos que uno halla pueden ser sólo 0,1,2,3,4,5,6. Si sumamos dos residuos, 4 y 5 por ejemplo, el resultado es 2. Porque 4 + 5 = 9 que al dividir por 7 deja residuo 2.
Lo
mismo se hace con la multiplicación. Además debemos saber que si usamos como divisor un número primo (no tiene factores) siempre hay un residuo distinto de cero --se llama generador-- cuyas potencias sucesivas dan todos los otros residuos distintos de cero. Para el primo 11, por ejemplo, 2 es un generador. Verifíquelo. Como 2 elevado a 6 es 9, el logaritmo, llamado discreto, de 9 en base 2 es 6. En general, dada una base (por ejemplo, 2) y un exponente (por ejemplo, 6) es muy
fácil y muy rápido hallar el residuo potencia (9). Por el contrario, es sumamente difícil conseguir el exponente (logaritmo) si se conocen la base y la potencia. Es tan difícil que si el número primo fuera muy grande, de 100 dígitos por ejemplo, hallar un logaritmo discreto tomaría varios años aun a la computadora más rápida hoy conocida. Esta abismal diferencia de dificultad entre elevar a una potencia y hallar un logaritmo discreto es la base del esquema de intercambio de clave de Diffie-Hellman.
Y funciona así: Alicia y Berto van a usar DES para intercambiar archivos secretos. Para eso necesitan una clave y uno de ellos pone en su página de la Internet un par de números: uno primo P de 100 o más dígitos y otro G de menos dígitos que servirá de generador. Sí, hay programado comercial que los provee al instante. Alicia y Berto están de acuerdo en esos dos números P y
G y quien tenga acceso a la Internet también los puede ver, son públicos. Entonces Alicia escoge un número a que guarda secretamente y usa como exponente y, privadamente, eleva G al exponente a, le calcula el residuo al dividir por P, y pone ese resultado en la Internet para que Berto lo vea. Por su parte Berto hace lo propio con un número
b que ha escogido y que también guardará celosamente. Entonces Alicia ve Gb y Berto ve Ga . Cualquier fisgón cibernético también los puede ver. Ahora Alicia, como es dueña de a, calcula (Gb)ay Berto por su parte calcula (Ga)b.
Ambos números son iguales, es decir, el mismo. Alicia y Berto lo comparten, no es público y cualquier intruso conoce sólo el resultado de Ga o de Gb, pero no los exponentes a ni b. Para conocer el número que Alicia
y Berto comparten, el intruso debe hallar a ó b, es decir, resolver un problema de logaritmos discretos que es muy difícil. Alicia y Berto usarán entonces ese número, que sólo ellos conocen, como la base de una clave para DES, con la confianza que no puede ser calculado.
Para el lector que ha soportado el penoso último párrafo, a fin de que tenga una idea de la dificultad del logaritmo discreto, le he preparado el siguiente problemita. Escogí el primo P = 3251, el generador G = 947 y un exponente a que yo guardo secretamente, y calculé G a = 2053 ( el residuo de dividir
G a por P) . Halle a . A MathematicaTM le tomará unos minutos; ¿y si P tuviera 100 dígitos?
En este esquema criptográfico de intercambio de clave hay matemática buena, fuerte y sólida, producto de muchos años de investigación de las propiedades de los números. El desarrollo de algoritmos que pueden hacer velozmente estos cálculos y la confianza científica de que el problema de los logaritmos discretos es realmente difícil, es resultado de investigación moderna, de matemáticos y científicos aún jóvenes y nos muestra la vitalidad y el vigor de la investigación matemática.
|