Ir al contenido principal

Criptografía (CCCLXXVII): la máquina Hebern de 1 rotor

Al final de la Primera Guerra Mundial (1914-1918) surgen las primeras máquinas de cifrado basadas en rotores; máquinas que supusieron un cambio de paradigma en el cifrado de las comunicaciones y que fueron remplazando el uso de otros métodos de cifrado.

En esta entrada voy a hablar de una de ellas: la máquina Hebern de 1 rotor, aunque esta máquina en concreto no tuvo éxito comercial, ya que se demostró que era vulnerable.

En 1917, el estadounidense Edward Hebern inventó, de forma simultánea e independiente de Arthur Scherbius (el creador de la máquina Enigma), una máquina de cifrado cuya unidad de cifrado la constituía un rotor, es decir, ambos, junto con algun inventor más y éstos también de forma independiente, inventaron el rotor como elemento de cifrado.

Inicialmente, el primer modelo, que imprimía, era muy voluminoso y posteriormente la impresora se sustituyó por un panel de lámparas (similar al de la máquina Enigma). 

En la imagen (Fuente: Computer History Museum) se puede ver el segundo modelo de una máquina Hebern de 1 rotor.


Posteriormente, Edward Hebern fue perfeccionando su invento y la máquina pasó a tener tres rotores y luego cinco.

El segundo modelo de la máquina de 1 rotor se asemeja a una pequeña máquina de escribir con 26 letras. El rotor, situado en la parte superior, dirige la señal eléctrica que circula entre las letras del teclado y el panel luminoso. Al teclear cada letra, el rotor gira una posición, generando una nueva secuencia de cifrado. Por tanto, esta secuencia se repite tras cada 26 letras del mensaje, por lo que se trataba de un cifrado relativamente débil.

Consta de:

- 1 teclado con las 26 letras del alfabeto inglés.

- 1 rotor como unidad de cifrado.

- 1 panel luminoso con 26 lámparas en el que se ilumina, tras pulsarse una tecla, la letra cifrada o la letra correspondiente al texto plano, según se esté realizando la operación de cifrado o descifrado, respectivamente.

- 1 Batería.

- 1 interruptor que permite alternar entre el modo de cifrado y el de descifrado ('Encipher/Decipher'). En el modo de cifrado la corriente eléctrica pasa del teclado al rotor, lo atraviesa de derecha a izquierda y luego llega al panel luminoso. En el modo de descifrado, la corriente fluye de izquierda a derecha.
El rotor se puede colocar en un sentido o en el otro, puede girar en sentido horario y antihorario, y, además, se puede cifrar en modo descifrado ('Decipher') y descifrar en modo de cifrado ('Encipher').

La clave del mensaje a cifrar consta de: el rotor utilizado (si hay varios rotores disponibles), el modo ('Encipher/Decipher'), la posición inicial del rotor y el sentido en el que girará el rotor.

Pongo un ejemplo:

Cifrado:

La máquina Hebern se puede simular mediante una tabla en la que la columnas representan las letras del texto en claro y las filas las posiciones del rotor. En este ejemplo la tabla que simula el cifrado es:
Como se observa en la figura anterior, para cifrar:

- Se busca en la posición del rotor 'H' (una posición más que la inicial del rotor, 'G', ya que la máquina avanza antes del cifrado) la intersección de esta fila con la columna 'C' (primera letra del texto en claro), en la que se halla la 'L', que será la primera letra del criptograma.

- Se busca en la posición del rotor 'I', ya que la máquina anvanza antes del cifrado, la intersección de esta fila con la columna 'I' (segunda letra del texto en claro), en la que se halla la 'M', que será la segunda letra del criptograma.

- Se busca en la posición del rotor 'J', ya que la máquina anvanza antes del cifrado, la intersección de esta fila con la columna 'F' (tercera letra del texto en claro), en la que se halla la 'I', que será la tercera letra del criptograma.

- Se busca en la posición del rotor 'K', ya que la máquina anvanza antes del cifrado, la intersección de esta fila con la columna 'R' (cuarta letra del texto en claro), en la que se halla la 'N', que será la cuarta letra del criptograma.

- Y así sucesivamente hasta terminar con todas las letras del texto en claro, obteniéndose el siguiente criptograma:

LMINH MEHXX AXADC IBTLO JKQPJ UD

Descifrado:
En este ejemplo la tabla que simula el descifrado es:
Como se observa en la figura anterior, para descifrar:

- Se busca en la posición del rotor 'H' (una posición más que la inicial del rotor, 'G', ya que la máquina avanza antes del descifrado) la intersección de esta fila con la columna 'L' (primera letra del criptograma), en la que se halla la 'C', que será la primera letra del texto en claro.

- Se busca en la posición del rotor 'I', ya que la máquina anvanza antes del descifrado, la intersección de esta fila con la columna 'M' (segunda letra del criptograma), en la que se halla la 'I', que será la segunda letra del texto en claro.

- Se busca en la posición del rotor 'J', ya que la máquina anvanza antes del descifrado, la intersección de esta fila con la columna 'I' (tercera letra del criptograma), en la que se halla la 'F', que será la tercera letra del texto en claro.

- Se busca en la posición del rotor 'K', ya que la máquina anvanza antes del descifrado, la intersección de esta fila con la columna 'N' (cuarta letra del criptograma), en la que se halla la 'R', que será la cuarta letra del texto en claro.

- Y así sucesivamente hasta terminar con todas las letras del criptograma, obteniéndose el siguiente texto en claro:

CIFRADOMAQUINAHEBERNUNROTOR

En un próximo post pondré un simulador de la máquina Hebern de 1 rotor en python, que se podrá descargar al final de la entrada.

Quizás también te interese:

Comentarios

Entradas populares de este blog

Criptografía (I): cifrado Vigenère y criptoanálisis Kasiski

Hace unos días mi amigo Iñaki Regidor ( @Inaki_Regidor ), a quien dedico esta entrada :), compartió en las redes sociales un post titulado "Criptografía: el arte de esconder mensajes"  publicado en uno de los blogs de EiTB . En ese post se explican ciertos métodos clásicos para cifrar mensajes , entre ellos el cifrado de Vigenère , y , al final del mismo, se propone un reto consistente en descifrar un mensaje , lo que me ha animado a escribir este post sobre el método Kasiski  para atacar un cifrado polialfabético ( conociendo la clave descifrar el mensaje es muy fácil, pero lo que contaré en este post es la forma de hacerlo sin saberla ). El mensaje a descifrar es el siguiente: LNUDVMUYRMUDVLLPXAFZUEFAIOVWVMUOVMUEVMUEZCUDVSYWCIVCFGUCUNYCGALLGRCYTIJTRNNPJQOPJEMZITYLIAYYKRYEFDUDCAMAVRMZEAMBLEXPJCCQIEHPJTYXVNMLAEZTIMUOFRUFC Como ya he dicho el método de Vigenère es un sistema de sustitución polialfabético , lo que significa que, al contrario que en un sistema...

Criptografía (XXIII): cifrado de Hill (I)

En este post me propongo explicar de forma comprensible lo que he entendido sobre el cifrado de Hill , propuesto por el matemático Lester S. Hill , en 1929, y que se basa en emplear una matriz como clave  para cifrar un texto en claro y su inversa para descifrar el criptograma correspondiente . Hay tres cosas que me gustan de la criptografía clásica, además de que considero que ésta es muy didáctica a la hora de comprender los sistemas criptográficos modernos: la primera de ellas es que me "obliga" a repasar conceptos de matemáticas aprendidos hace mucho tiempo y, desgraciadamente, olvidados también hace demasiado tiempo, y, por consiguiente, que, como dice  Dani , amigo y coautor de este blog, me "obliga" a hacer "gimnasia mental"; la segunda es que, en la mayoría de las ocasiones, pueden cifrarse y descifrase los mensajes, e incluso realizarse el criptoanálisis de los criptogramas, sin más que un simple lápiz y papel, es decir, para mi es como un pasat...

Criptografía (CLXXXIV): Soluciones Retos criptografía de CyberOlympics 2017

En este post pongo las soluciones a los retos de  criptografía que he ido resolviendo de la edición del año 2017 de CyberOlympics , competición en modalidad  'on-line' , estilo  'Capture the Flag'  y formato  'Jeopardy'  dirigida a centros educativos y organizada por el Instituto Nacional de Ciberseguridad (INCIBE) en el marco de la actividad llamada CyberCamp. En esta edición la mayoría de los retos presentaron un  nivel  de dificultad bajo  ( ★ ★ ☆☆☆ ) , lo que entiendo adecuado por el colectivo al que van dirigidos. Las soluciones al resto de desafíos de criptografía de esta edición, cuyos archivos asociados tenga (no me han pasado todos) y que consiga resolver, las pondré en otra entrada. Reto 1 (Criptografía) : Enunciado : Todas las mañanas cuando me despierto, me miro en el espejo y no entiendo lo que veo. Hoy me he levantado dando un salto mortal y no voy a apartarme de mi “otro yo” hasta que no descubra el mensaje. Parece q...