Cifrados históricos

--Originally published at Computer Security

La necesidad de ocultar información de personas no autorizadas parece ser tan vieja como la misma humanidad. A lo largo de la historia ha habido muchas formas de hacer esto. Dos métodos de interés para cifrar texto son el cifrado césar y el cifrado de Vigenère.

Ambos métodos se basan en la simple idea de cambiar las letras de un texto por una cierta cantidad para ocultar la información contenida en el texto. Esto se hace relacionando cada letra del alfabeto que usa el texto a un número (A=1, B=2, etc.). Mover una letra implica aumentar el número relacionado a ésta y ver que letra resulta, cuando se llega al final del alfabeto se regresa al inicio. Para decifrar un mensaje cifrado por uno de estos métodos es necesaria una llave que indica cuantas veces se debe mover una letra para regresar al mensaje original.

El cifrado césar es muy simple y fácil de hacer o implementar. En este método se usa una letra del alfabeto como llave, lo que indica cuantas veces se mueve cada letra del mensaje. Por ejemplo, si la llave es B, todas las letras del mensaje se moverán en 2, por lo tanto A se convierte en C, B en D, etc.

 

Este método es excesivamente débil por varias razones. La cantidad de llaves posibles está muy limitada (26  si se usa el alfabeto inglés), lo que permite un simple ataque por fuerza bruta.  El método es muy vulnerable al análisis de frecuencia, ya que existen letras más frecuentes que otras, lo que permite reconocer patrones en el texto cifrado y permite determinar la llave que se usó.

El cifrado de Vigenère es similar a césar, la principal diferencia es que la llave es una palabra en vez de una letra. Este toma la llave y la transforma para que su longitud coincida con la del texto a cifrar. Después se aplica el mismo cambio de letras que ocurre con césar para cada letra del texto usando la letra correspondiente de la llave transformada.

Por ejemplo, si el texto que queremos cifrar es "hola a todos" y la llave es "casa", la llave se transforma a "casacasaca" (se ignoran los espacios en blanco). Después se pasa por el texto con la nueva llave. El texto resultante en este ejemplo es "jodactgdqs".

Para revertir la encriptación, se hace el mismo proceso pero moviendo a la izquierda las letras usando la llave.

Vigenère es mucho más fuerte que césar debido a que el número de posibles llaves es mucho más grande ya que son palabras de tamaño arbitrario. Al usar letras distintas para mover las letras del texto, se oculta mejor la frecuencia de éstas mismas lo que hace un análisis de frecuencia mucho más difícil. Este método resistió por 300 años los intentos para romperlo.

Aunque ninguno de estos métodos ofrece protección suficiente en la era moderna de la computación, es sumamente interesante darse cuenta que los orígenes de la criptografía precede la computadora por mucho tiempo.