Whitfield Diffie es uno de los criptógrafos más exuberantes de su generación. Nació en
1944, y pasó la mayor parte de su infancia en Queens, Nueva York. De niño se fascinó con las matemáticas y leyó libros que iban del Manual de tablas matemáticas de la Compañía de goma química al Curso de matemática pura de G. H. Hardy. Después fue a estudiar
matemáticas en el MIT (Massachusetts Institute of Technology), graduándose en 1965. Entonces ejerció una serie de empleos relacionados con la seguridad informática, y para comienzos de los años setenta se había convertido en uno de los pocos expertos en seguridad verdaderamente independientes, un criptógrafo por libre, no empleado por el gobierno o por alguna de las grandes compañías. En retrospectiva, fue el primer cifropunk, o punk de las cifras *.
Diffie estaba particularmente interesado en el problema de la distribución de claves y se dio cuenta de que quien lograra encontrar una solución pasaría a la historia como uno de los mejores criptógrafos de todos los tiempos. Se sentía tan cautivado por el problema de la distribución de claves que lo convirtió en la anotación más importante de su cuaderno especial, titulado «Problemas para una Teoría Ambiciosa de la Criptografía». Parte de la motivación de Diffie provenía de su visión de un mundo interconectado. En los años sesenta, el Departamento de Defensa de Estados Unidos comenzó a financiar una
vanguardista organización de investigación llamada ARPA (Advanced Research Projects Agency, Agencia de Proyectos Avanzados de Investigación), y uno de los proyectos más avanzados de ARPA era encontrar una manera de conectar los ordenadores militares a través de grandes distancias. Esto permitiría que un ordenador que se hubiera deteriorado transfiriera sus responsabilidades a otro de la red. El objetivo principal era fortalecer la infraestructura informática del Pentágono ante la posibilidad de un ataque nuclear, pero la red permitiría también que los científicos intercambiaran mensajes y realizasen cálculos sacando partido a la capacidad de espacio de ordenadores remotos. ARPANet nació en 1969, y para finales de ese año había cuatro emplazamientos conectados. ARPANet creció constantemente, y en 1982 generó Internet. A finales de los años ochenta, se dio acceso a Internet a usuarios no académicos y no gubernamentales, y a partir de entonces el número de usuarios se disparó. Hoy día, más de cien millones de personas utilizan Internet para intercambiar información y enviar mensajes de correo electrónico, o e-mail.
Cuando ARPANet estaba todavía en pañales, Diffie tuvo la suficiente visión de futuro para pronosticar la llegada de la superautopista de la información y la revolución digital. Un día, la gente corriente tendría su propio ordenador, y estos ordenadores estarían interconectados mediante las líneas telefónicas. Diffie creía que si la gente usaba entonces sus ordenadores para intercambiar e-mails, merecía el derecho a cifrar sus mensajes para garantizar su privacidad. Sin embargo, el cifrado requería el intercambio seguro de claves. Si los gobiernos y las grandes compañías estaban teniendo problemas para hacer frente a la distribución de las claves, entonces al público en general le resultaría imposible y de hecho se vería privado del derecho a la privacidad. .
Diffie imaginó dos extraños que se conocen a través de Internet y se preguntan cómo podrían enviarse un mensaje codificado el uno al otro. También consideró la posibilidad de una persona que quisiera comprar un producto en Internet. ¿Cómo podría esa persona enviar un e-mail que contuviera detalles codificados de su tarjeta de crédito de modo que sólo ese vendedor en particular pudiera descifrarlos? En ambos casos, parecía que las dos partes necesitaban compartir una clave, pero ¿cómo podrían intercambiar claves de una forma segura? El número de contactos casuales y la cantidad de e-mails espontáneos entre la gente sería enorme y esto significaría que la distribución de claves no sería práctica. Diffie temía que la necesidad de la distribución de claves impediría que la gente tuviera acceso a la privacidad digital y se obsesionó con la idea de encontrar una solución al problema.
En 1974, Diffie, todavía un criptógrafo itinerante, visitó el laboratorio Thomas J. Watson de la IBM, donde le habían invitado a dar una charla. Habló sobre varias estrategias para atacar el problema de la distribución de claves, pero todas sus ideas eran muy tentativas y
respuesta positiva a la presentación de Diffie fue la de Alan Konheim, uno de los expertos criptográficos veteranos de la IBM, que mencionó que otra persona había visitado
recientemente el laboratorio y había dado también una conferencia que abordaba el tema de la distribución de claves. Se trataba de Martin Hellman, un profesor de la Universidad de Stanford, en California. Esa misma tarde, Diffie se montó en su coche y comenzó el viaje de 5.000 km a la costa oeste para conocer a la única persona que parecía compartir su obsesión. La alianza entre Diffie y Hellman se convertiría en una de las asociaciones más dinámicas de la criptografía.
Martin Hellman había nacido en 1946 en un barrio judío del Bronx, en Nueva York, pero
cuando tenía cuatro años su familia se mudó a un barrio predominantemente católico irlandés. Según Hellman, esto cambió para siempre su actitud ante la vida: «Los demás niños iban a la iglesia y aprendían que los judíos mataron a Cristo, así que me llamaban "asesino de Cristo". También me daban palizas. Al principio, yo quería ser como los demás niños, quería un árbol de navidad y quería regalos cristianos. Pero luego me di cuenta de que no podía ser como todos los demás niños, y para defenderme adopté una actitud de "¿A quién le interesa ser como todos los demás?"»Hellman ve el origen de su interés en las cifras en este persistente deseo de ser diferente. Sus colegas le habían dicho que estaba loco por hacer investigación en criptografía, porque estaría compitiendo con la NSA y su
presupuesto multimillonario en dólares. ¿Cómo podía esperar descubrir algo que ellos no supieran ya? Y si llegaba a descubrir algo, la NSA lo clasificaría.
Justo cuando Hellman estaba comenzando su investigación, encontró The Codebreakers («Los descifradores») del historiador David Kahn . Este libro era la primera exposición detallada del desarrollo de las cifras, y como tal era la obra perfecta para un criptógrafo en ciernes. The Codebreakers era el único compañero de Hellman en su investigación, hasta que en septiembre de 1974 recibió una inesperada llamada de teléfono de Whitfield Diffie, que acababa de cruzar el continente en su coche para conocerlo. Hellman nunca había oído hablar de Diffie, pero aceptó de mala gana una cita de media hora esa misma tarde. Al final del encuentro, Hellman se dio cuenta de que Diffie era la persona mejor informada que había conocido.
Como Hellman no contaba con mucha financiación, no se podía permitir emplear a su nuevo compañero como investigador. En vez de eso, Diffie se matriculó como estudiante graduado. Juntos, Hellman y Diffie comenzaron a estudiar el problema de la distribución de claves, intentando desesperadamente encontrar una alternativa a la pesada tarea de
transportar las claves físicamente cruzando grandes distancias. A su debido tiempo, se les unió Ralph Merkle. Merkle era un refugiado intelectual, que había emigrado de otro grupo de investigación en el que el profesor no sentía ninguna simpatía por el sueño imposible de resolver el problema de la distribución de claves.
Todo el problema de la distribución de claves es una situación clásica de círculo vicioso. Si dos personas quieren intercambiar un mensaje secreto por teléfono, el emisor debe
codificarlo. Para codificar el mensaje secreto, el emisor debe usar una clave, que es en sí misma un secreto, de modo que entonces hay el problema de transmitir la clave secreta al receptor para transmitir el mensaje secreto. En resumen, antes de que dos personas puedan intercambiar un secreto (un mensaje codificado) deben ya compartir un secreto (la clave).
Al considerar el problema de la distribución de claves resulta útil imaginar a Alicia, Benito y Eva, tres personajes ficticios que se han convertido en estándares en las discusiones sobre criptografía. (Los nombres originales en inglés son Alice, Bob y Eva. En este contexto informático, Bob (diminutivo de Robert) se traduce generalmente como Benito en castellano para conservar la inicial «B» que se usa al explicar los cálculos. Eve deriva de eavesdropper, "cotilla" y se traduce por Eva)
En una situación típica, Alicia quiere enviar un mensaje a Benito, o viceversa, y Eva está tratando de enterarse. Si Alicia está enviando mensajes secretos a Benito codificará cada uno de ellos antes de enviarlo, utilizando una clave distinta cada vez. Alicia se tiene que enfrentar continuamente al problema de la distribución de claves, porque tiene que
transmitir las claves a Benito de una manera segura, de otra forma él no podrá des codificar el mensaje. Una manera de solucionar el problema es que Alicia y Benito se encuentren una vez a la semana e intercambien suficientes claves para cubrir los mensajes que podrían enviar durante los siete días siguientes. Intercambiar claves en persona es sin duda seguro, pero presenta muchos inconvenientes y si Alicia o Benito se ponen enfermos, todo el sistema se viene abajo. Como alternativa, Alicia y Benito podrían contratar a mensajeros, lo que sería menos seguro y más caro, pero al menos delegarían parte del trabajo. En cualquier caso, parece que la distribución de claves es inevitable. Durante dos mil años esto se
consideraba un axioma de la criptografía -una verdad indiscutible-. Sin embargo, Diffie y Hellman eran conscientes de una anécdota que parecía desafiar al axioma.
Imagine que Alicia y Benito viven en un país donde el sistema postal es completamente inmoral, y los empleados postales leen toda la correspondencia desprotegida. Un día, Alicia quiere enviar un mensaje sumamente personal a Benito. Lo mete en una caja de hierro, la cierra y le pone un candado. Pone la caja cerrada con candado en el correo y se queda con la llave. Sin embargo, cuando Benito recibe la caja, no puede abrirla porque no tiene la llave. Alicia podría considerar poner la llave dentro de otra caja, cerrarla con candado y enviársela a Benito, pero sin la llave del segundo candado, él no puede abrir la segunda caja, de modo que no puede obtener la llave que abre la primera caja. La única manera de evitar el problema parece ser que Alicia haga una copia de la llave y se la dé a Benito de antemano cuando queden para tomar un café. Hasta ahora, lo único que he hecho es plantear el mismo viejo problema en una nueva situación. Evitar la distribución de la llave parece lógicamente imposible, indudablemente, si Alicia quiere encerrar algo en una caja para que sólo Benito pueda abrirla, debe darle una copia de la llave. O, en términos de criptografía, si Alicia quiere codificar un mensaje para que sólo Benito pueda descifrarlo, debe darle una copia de la clave. El intercambio de la clave es una parte inevitable de la codificación, ¿o no?.
Ahora imaginé la siguiente situación. Como antes, Alicia quiere enviar un mensaje
sumamente personal a Benito. De nuevo, mete su mensaje secreto en una caja de hierro, la cierra con candado y se la envía a Benito. Cuando llega la caja, Benito añade su propio candado y vuelve a enviar la caja a Alicia. Cuando Alicia recibe la caja, ahora está cerrada con dos candados. Ella retira su propio candado, dejando que sólo el candado de Benito cierre la caja. Finalmente, vuelve a enviar la caja a Benito. Y aquí está la diferencia crucial: ahora Benito puede abrir la caja porque está cerrada sólo con su propio candado y
Las implicaciones de esta pequeña historia son enormes. Demuestra que un mensaje secreto se puede intercambiar de manera segura entre dos personas sin que tengan necesariamente que intercambiar una clave. Por vez primera, aparece una insinuación de que el intercambio de claves podría no ser una parte inevitable de la criptografía. Podemos reinterpretar la historia en términos de codificación. Alicia usa su propia clave para codificar un mensaje para Benito, el cual vuelve a codificarlo con su propia clave y lo devuelve. Cuando Alicia recibe el mensaje doblemente codificado retira su propia codificación y se lo devuelve a Benito, que entonces puede retirar su propia codificación y leer el mensaje.
Parece que el problema de la distribución de claves podría estar resuelto, porque la estratagema de la codificación doble no requiere ningún intercambio de claves. Sin embargo, hay un obstáculo fundamental para la puesta en práctica de un sistema en el que Alicia codifica, Benito codifica, Alicia descodifica y Benito descodifica. El problema radica en el orden en que se realizan las codificaciones y las descodificaciones. En general, el orden de la codificación y la descodificación es crucial, y debería obedecer la máxima «lo último que se pone es lo primero que se quita». En otras palabras, la última fase de codificación debería ser la primera en ser descodificada. En la situación anterior, Benito realizó la última fase de la codificación, de modo que esto debería ser lo primero que se descodifique, pero fue Alicia la que retiró su propia codificación primero, antes de que Benito retirase la suya. La importancia del orden se comprende más fácilmente al examinar algo que hacemos todos los días. Por la mañana nos ponemos los calcetines, y luego nos ponemos los zapatos, y por la noche nos quitamos los zapatos antes de quitamos los calcetines: es imposible quitarse los calcetines antes que los zapatos. Debemos obedecer la máxima «lo último que se pone es lo primero que se quita».
Algunas cifras muy elementales, como la cifra del César, son tan simples que el orden no importa. Sin embargo, en los años setenta parecía que cualquier forma de codificación potente siempre debe obedecer la regla de «lo último que se pone es lo primero que se quita». Si un mensaje está codificado con la clave de Alicia y luego con la clave de Benito, entonces debe ser descodificado con la clave de Benito antes de poder descodificarlo con la clave de Alicia. El orden es crucial incluso con una cifra de sustitución monoalfabética. Imagine que Alicia y Benito tienen cada uno su propia clave, como se muestra a
continuación, y observemos lo que sucede cuando el orden es incorrecto. Alicia usa su clave para codificar un mensaje dirigido a Benito, luego Benito vuelve a codificar el resultado utilizando su propia clave; Alicia usa su propia clave para realizar una
descodificación parcial, y finalmente Benito trata de utilizar su propia clave para realizar la descodificación completa. Clave de Alicia a b c d e f g h i j k 1 m n o p q r s t u v w x y z H F S U G T A K V D E O Y J B P N X W C Q R I M Z L Clave de Benito a b c d e f g h i j k 1 m n o p q r s t u v w x y z
C P M G A T N O J E F W I Q B U R Y H X S D Z K L V
Mensaje n o s v e m o s a m e d i o d í a Codificado con la clave de
Alicia
J B W R G Y B W H Y G U V B U V H Codificado con la clave de
Benito
E P Z Y N L P Z O L N S D P S D O Descodificado con la clave de
Alicia
K P Y M Q Z P Y L Z Q C J P C J L Descodificado con la clave de
Benito
x b r c n w b r y w n a i b a i y
El resultado no tiene ningún sentido. Sin embargo, usted puede comprobar por sí mismo que si el orden de la descodificación se invirtiera y Benito descodificara antes que Alicia, obedeciendo así la regla de «lo último que se pone es lo primero que se quita», entonces el resultado habría sido el mensaje original. Pero si el orden es tan importante, ¿por qué pareció que funcionaba el sistema en la anécdota de la caja cerrada con candados? La respuesta es que el orden no es importante para los candados. Podemos ponerle veinte candados a una caja y quitarlos en cualquier orden, y al final la caja estará abierta.
Desgraciadamente, los sistemas de cifrado son mucho más sensibles que los candados en lo que respecta al orden.
Aunque el enfoque de la caja cerrada con dos candados no funcionaría en la criptografía de la vida real, inspiró a Diffie y Hellman a buscar un método práctico para resolver el
problema de la distribución de claves. Pasaron mes tras mes tratando de encontrar una solución. Aunque cada idea terminaba en fracaso se comportaron como perfectos tontos y perseveraron. Su investigación se centró en el examen de varias funciones matemáticas. Una función es cualquier operación matemática que convierte un número en otro. Por ejemplo, «doblar» es un tipo de función, porque convierte el número 3 en el número 6, o el número 9 en el número 18. Además, podemos considerar todas las formas de codificación por ordenador como funciones, porque convierten un número (el texto llano) en otro número (el texto cifrado).
La mayoría de las funciones matemáticas son clasificadas como funciones de doble vía, porque son fáciles de hacer y fáciles de deshacer. Por ejemplo, «doblar» es una función de doble vía porque es fácil doblar un número para generar un nuevo número y es igual de fácil deshacer la función y obtener otra vez el número original partiendo del número
doblado. Por ejemplo, si sabemos que el resultado de doblar es 26, es muy simple invertir la función y deducir que el número original era el 13. La manera más fácil de comprender el concepto de función de doble vía es desde el punto de vista de una actividad cotidiana. El acto de pulsar un interruptor de la luz es una función, porque convierte una bombilla normal en una bombilla encendida. Esta función es de doble vía porque si se enciende el
Sin embargo, Diffie y Hellman no estaban interesados en las funciones de doble vía. Concentraron su atención en las funciones de una sola vía. Como su nombre sugiere, una
función de una sola vía es fácil de hacer pero muy difícil de deshacer. En otras
palabras, las funciones de doble vía son reversibles, pero las funciones de una sola vía son irreversibles . Una vez más, la mejor manera de ilustrar una función de una sola vía es
desde el punto de vista de una actividad cotidiana. Mezclar pintura amarilla y azul para hacer pintura verde es una función de una sola vía, porque es fácil mezclar las pinturas, pero es imposible separarlas. Otra función de una sola vía es cascar un huevo, porque es fácil cascado, pero es imposible volver a poner el huevo en su condición original.