Cifrado Vernam

Gilbert S. Vernam

El cifrado de Vernam, que es un criptosistema irrompible, fue desarrollado por Gilbert S. Vernam y Joseph Mauborgne hacia 1918. Empieza por representar el mensaje como una secuencia de 0s y 1s. Esto puede lograrse escribiendo todos los números en binario, por ejemplo, o usando ASCII. Pero el mensaje también podría ser una señal de video o audio digitalizada.

La clave es una secuencia aleatoria de 0s y 1s de la misma longitud que el mensaje. Una vez que se utiliza una clave, se descarta y nunca se vuelve a utilizar. Cada mensaje nuevo requiere una nueva clave de la misma longitud que el nuevo mensaje.



Cifrado

Los pasos para cifrar usando ese algoritmo son los siguientes:
  1. Convertir en una cadena de bits todos los caracteres del mensaje claro usando su código ASCII.
  2. Generar una llave aleatoria de bits de la misma longitud que el mensaje claro.
  3. Realizar la función XOR entre el mensaje claro y la llave.
  4. El resultado se transforma en números decimales de 8 bits que son el código ASCII del texto cifrado resultante.

Ejemplo:

Mensaje claro: 00101001
XOR
Llave aleatoria: 10101100
Texto cifrado: 10000101

Descifrado

Los pasos para descifrar usando ese algoritmo son los siguientes:
  1. Convertir en una cadena de bits todos los caracteres del texto cifrado usando su código ASCII.
  2. Utilizar la llave aleatoria de bits que se utilizó para cifrar el mensaje.
  3. Realizar la función XOR entre el texto cifrado y la llave.
  4. El resultado se transforma en números decimales de 8 bits que son el código ASCII del mensaje claro descifrado.

Texto cifrado: 10000101
XOR
Llave aleatoria: 10101100
Mensaje claro: 00101001

Referencias

  1. Ramió, J. (1999). Aplicaciones Criptográficas. Dpto. de Publicaciones EUI-UPM: Dpto. de Publicaciones EUI-UPM.
  2. Ramió, J. (2006). Seguridad Informática y Criptografía. Dpto. de Publicaciones EUI-UPM: Dpto. de Publicaciones EUI-UPM.