¿Hay algún cifrado indescifrable?

Joseph Mauborgne coinventor del cuaderno de un solo uso
Joseph Mauborgne coinventor del cuaderno de un solo uso

La respuesta a la pregunta que da título a esta entrada es: sí, el cuaderno de un solo uso. El sistema lo inventaron en 1914 Joseph Oswald Mauborgne, militar de la armada norteamericana, y Gilbert Sandford Vernam, empleado de la American Telephone and Telegraph Company.

En 1949 Claude Shannon, un matemático e ingeniero norteamericano, considerado el padre de la teoría de la información, publicó Communication Theory of Secrecy Systems. En este trabajo demostró que si se cifra un texto usando un cuaderno de un solo uso, del texto cifrado no se puede obtener NINGUNA información sobre el texto original.

El sistema tiene ventajas evidentes como su indescifrabilidad, pero también tiene inconvenientes, como se verá, que limitan su uso a situaciones muy concretas.

Un ejemplo de su funcionamiento

Cifrado

  1.  Se asigna un código numérico a cada uno de los posibles caracteres. Por ejemplo para cifrar textos constituidos por letras A..Z, dígitos 0..9 y ‘_’, el código numérico podrían ser los números del 0 al 37, según se muestran el la imagen:
    otp01
  2. Cada carácter del mensaje a cifrar se sustituye por su código numérico:
    otp02
  3. Se genera una clave constituida por números aleatorios entre 0 y 37 tan larga como caracteres tenga el mensaje a cifrar.
  4. Cada número de la clave se suma al código que corresponde al carácter a cifrar y si la suma es mayor o igual que 38 se le resta este número. Este conjunto de números, entre 0 y 37, es el mensaje cifrado. Si se quiere en forma de texto solo habría que utilizar los símbolos que corresponden según el código utilizado.
    otp03

Descifrado

Para descifrar se procede de la siguiente manera:

  1. Si el mensaje cifrado está en forma de texto, se transforma en números utilizando el código.
  2. A cada uno de los número que forman el mensaje cifrado se le resta el correspondiente de la clave utilizada para cifrarlo, sumándole 38 al resultado si fuese negativo.
  3. Haciendo uso del código, se obtiene el texto descifrado.

otp04Archivo con el ejemplo anterior.

La esencia del cuaderno de un solo uso

Una forma de tratar de captar la esencia del método es analizarlo al enviar, 1 bit, que es la mínima cantidad de información. Se envía un mensaje constituido por una opción elegida entre dos, por ejemplo la posible respuesta a una pregunta del tipo ¿va a haber reunión? Las posibles respuestas que se quieren transmitir son, SI, NO. Para codificarlas usamos los números 0 y 1. El SI se codifica como 1 y el NO como 0. La clave es en este caso un número elegido al azar entre 0 y 1, con una probabilidad para cada uno de 1/2. El siguiente paso es sumar mensaje codificado y clave. La suma se hace normalmente salvo que en el caso que sean 1 y 1. En este caso se toma como resultado 0.  El mensaje cifrado será un 0 o un 1. En la tabla se muestran los casos posibles según sea el mensaje enviado y la clave.

otp05Como se observa en la tabla, al añadirle la clave, perdemos completamente la información del texto original. La mitad de las veces el mensaje cifrado sera 0 y la otra mitad 1.

Cualquier mensaje se puede transformar en una secuencia de ceros y unos sin más que cambiar el código utilizado de base 10 a base 2.

Condiciones para que sea indescifrable

Para que el texto cifrado sea realmente indescifrable se han de cumplir los siguientes requisitos en relación con la clave utilizada:

  • tiene que tener la misma longitud que el mensaje que se quiere cifrar.
  • tiene que ser realmente aleatoria. No valen los generadores de números pseudoaleatorios que con frecuencia se usan en los ordenadores.
  • hay que usar una nueva clave cada vez. Las claves no se pueden reutilizar.
    Obviamente es necesario que la clave se mantenga oculta, es decir, que solo el emisor y el receptor del mensaje la conozcan.
  • La longitud de un mensaje puede aportar información sobre el mismo, sobre todo si el mensaje es corto. Para evitar esto es necesario que el mensaje cifrado que se envía tenga siempre la misma longitud.

¿Qué es una clave aleatoria? ¿Cómo se puede generar?

Una secuencia de números aleatorios, de los que se necesitan para el cuaderno de un solo uso, es un conjunto de números no relacionados entre si, que se han obtenidos al azar, pertenecientes a un cierto intervalo, en nuestro ejemplo [0..37] y todos ellos con la misma probabilidad de aparecer. En el ejemplo 1/38.
Para generarlos se hace uso de dispositivos que emplean algún fenómeno físico impredecible como podría ser el ruido en una calle con mucho tráfico. En la Wikipedia hay  información sobre  dispositivos comerciales que generan números aleatorios.

Ventajas e inconvenientes del Cuaderno de un solo uso

Si se aplica correctamente es indescifrable y a diferencia de la mayoría de los sistemas que se usan en la actualidad no se necesita un ordenador para implementarlo ya que los cálculos son muy sencillos. Con frecuencia se usa algún tipo de ayuda para reducir los cálculas que hay que realizar. En la imagen, a continuación, se ve una tabla usada por la Agencia de Seguridad Norteamericana. A la izquierda está la clave y con la tabla de la derecha se cifra o se descifra el texto.

Cuaderno de un solo uso
Cuaderno de un solo uso usado por la NSA

Un gran inconveniente que limita el uso de los cuadernos de un solo uso, frente a los sistemas de clave pública, es la necesidad de compartir previamente la clave mediante algún canal seguro. La otra gran desventaja es el tener que generar claves aleatorias, de un solo uso, tan largas como los mensajes que se quieran transmitir.

Un poco de historia

Se conocen casos en los que fue posible descifrar mensajes cifrados con cuadernos de un solo uso debido a un uso incorrecto del mismo. En la segunda guerra mundial los servicios de inteligencia norteamericanos fueron capaces de descifrar mensajes alemanes y soviéticos en los que se habían usado claves más de una vez o claves que no eran realmente aleatorias, por ejemplo las que preparaban operarios al escribir aleatoriamente con una máquina de escribir.

En los últimos cien años han usado el cuaderno de un solo uso: militares, diplomáticos, espías, … En 1963 después de la crisis de los misiles cubanos, los gobiernos norteamericano y soviético establecieron un sistema de comunicación conocido popularmente como el  teléfono rojo que está basado en un cuaderno de un solo uso. Para compartir las claves se usa la valija diplomática.

Emisoras de números

Si uno recorre con una radio las bandas de onda corta encuentra fácilmente emisoras en varios idiomas en las que una voz humana o sintetizada lee secuencias de números, letras o palabras.
Aunque no se ha reconocido públicamente por ningún gobierno, está claro que un gran numero de estas emisoras transmiten información a espías usando cuadernos de un solo uso. Es un sistema fácil de implementar ya que el espía que recibe la información solo necesita una radio de onda corta, papel, lápiz y la clave, que al ocupar poco, puede ocultarse fácilmente.

A continuación un ejemplo de emisión. Grabación realizada el 26 de noviembre de 2016 a las 09:57 (CET) en 12180,0_khz:

Más información

Dirk Rijmenants mantiene una página sobre criptografía con mucha información sobre el cuaderno de un solo uso.

En el Crypto Museum hay información sobre cuadernos de un solo uso y otros muchos temas relacionados con la criptografía y su historia.

Priyom.org es un sitio web  con información sobre emisoras de números. Incluye horarios de futuras emisiones. Si no se dispone de un receptor de onda corta para escuchas emisoras de números, puede controlar y escuchar uno en está página de la universidad holandesa de Twente.

La obra definitiva sobre la historia de la criptografía:
Kahn, David. 1996.The Codebreakers. (Scribner: New York)

Deja un comentario