7 simulador enigma

28
SEGURIDAD EN TIC’S | Miguel Angel Moreyra Alvarez Objetivo Demostrar el funcionamiento de la Máquina Enigma Objetivos específicos Analizar el funcionamiento electro-mecánico de la Máquina Enigma Bajar e instalar el archivo de la aplicación de la Máquina Enigma, lnsall_EnigmaSim.zip. Link: http://www.criptored.upm.es/software/sw_m006a.htm Codificar y decodificar mensajes usando la aplicación. Realizar un reporte técnico de los experimentos. Introducción La introducción de la máquina Enigma supuso un gran avance, especialmente necesario para la nueva concepción de guerra relámpago introducida por Alemania. Al contrario que en la primera guerra mundial, la movilidad de las unidades era la clave de la Blitzkrieg, y esa movilidad necesitaba un sistema seguro de radiar las órdenes, sobre todo para los submarinos, que debido a su escaso número, debían utilizarse al máximo tanto en rentabilidad como en capacidad operativa. En ese caso, además, no existía otro método de comunicación. Además Enigma, amen de la seguridad, introducía un nuevo concepto más, el de la facilidad de manejo y transporte en relación a sistemas anteriores. Se desarrollaron diferentes códigos para las diferentes necesidades. Unos ejemplos de ellos en la marina pueden ser el código Hydra, para los barcos del mar Báltico; Thetis, para los submarinos no operacionales en el mar del norte; Tibet para los barcos de reabastecimiento; Hermes, para las unidades del mediterráneo, o el famoso Tritón, conocido por los aliados como Shark y que fue uno de sus peores dolores de cabeza, al introducirse en febrero de 1942 un rotor más a la máquina.

Upload: randy-eastman

Post on 21-Dec-2015

40 views

Category:

Documents


3 download

DESCRIPTION

este es una proyecto n el cual se verifica el decrigrad de enigma. asi mismo esta viene con el decigrado de venergem

TRANSCRIPT

Page 1: 7 Simulador Enigma

Objetivo

Demostrar el funcionamiento de la Máquina Enigma

Objetivos específicos

Analizar el funcionamiento electro-mecánico de la Máquina Enigma Bajar e instalar el archivo de la aplicación de la Máquina Enigma,

lnsall_EnigmaSim.zip. Link: http://www.criptored.upm.es/software/sw_m006a.htm Codificar y decodificar mensajes usando la aplicación. Realizar un reporte técnico de los experimentos.

Introducción

La introducción de la máquina Enigma supuso un gran avance, especialmente necesario para la nueva concepción de guerra relámpago introducida por Alemania.

Al contrario que en la primera guerra mundial, la movilidad de las unidades era la clave de la Blitzkrieg, y esa movilidad necesitaba un sistema seguro de radiar las órdenes, sobre todo para los submarinos, que debido a su escaso número, debían utilizarse al máximo tanto en rentabilidad como en capacidad operativa. En ese caso, además, no existía otro método de comunicación. Además Enigma, amen de la seguridad, introducía un nuevo concepto más, el de la facilidad de manejo y transporte en relación a sistemas anteriores.

Se desarrollaron diferentes códigos para las diferentes necesidades. Unos ejemplos de ellos en la marina pueden ser el código Hydra, para los barcos del mar Báltico; Thetis, para los submarinos no operacionales en el mar del norte; Tibet para los barcos de reabastecimiento; Hermes, para las unidades del mediterráneo, o el famoso Tritón, conocido por los aliados como Shark y que fue uno de sus peores dolores de cabeza, al introducirse en febrero de 1942 un rotor más a la máquina.

La poca prudencia del personal encargado de manejar dicha máquina propició que los códigos de la Wehrmacht y la Luftwaffe fueran desencriptados por los aliados. Ejemplos flagrantes de ello podrían ser el envío del mismo mensaje, plano primero y cifrado acto seguido, para regodeo de los científicos de Bletchley Park. Los aliados también desarrollaron sus propios sistemas para conseguir la información que necesitaban. Una vez rotos los códigos de la Luftwaffe, principal encargada de las transmisiones metereológicas, no costaba demasiado reconstruir

 | 

 | 

Page 2: 7 Simulador Enigma

Analizar el funcionamiento electro-mecánico de la Máquina Enigma

Desarrollo

La máquina Enigma en sí era un artilugio electromagnético muy parecido a una máquina de escribir. Estaba constituido por un teclado y un tablero luminoso de 26 letras; tres rotores o modificadores, que podían permutar sus posiciones, montados sobre sendos ejes, con 26 posiciones posibles, y un clavijero, cuyo cometido era llevar a cabo un primer intercambio de letras en función del modo en que se dispusieran las clavijas.

El proceso físico de cifrado era relativamente sencillo. En primer lugar, el emisor disponía las clavijas y los rotores en una posición de salida especificada por el libro de claves que estuviera vigente en ese momento. A continuación, tecleaba la primera letras del mensaje llano y la máquina, de forma automática, generaba una letra alternativa que se mostraba en el tablero luminoso: la primera letra del mensaje cifrado.

Una vez completado este proceso, el primer rotor llevaba a cabo una rotación que lo situaba en la siguiente de sus 26 posiciones posibles. La nueva posición del modificador traía consigo un nuevo cifrado de los caracteres, y el emisor introducía entonces la segunda letras, y así sucesivamente. Para descodificar el mensaje, bastaba con introducir los caracteres cifrados en otra máquina Enigma

Uno de los sistemas más sencillos de encriptar mensajes es la transposición simple, es decir, que cada letra es sustituida por otra. El problema es que por análisis de frecuencia podemos descubrir que si en un mensaje la letra que más se repite es la “I", se puede inferir que está sustituyendo a la “e” la más común en nuestro idioma.

Si, en vez de sustituir la “e” por la “I” siempre, vamos variando la sustitución por diferentes caracteres, el análisis de frecuencias ya no sería tan útil, y con los medios de la época, el

 | 

Máquina Enigma

Page 3: 7 Simulador Enigma

trabajo podría ser imposible. Esto es lo que hace básicamente la Enigma.

La Enigma tiene tres rotores (Walzen) con un cableado fijo que establece las transposiciones simples, pero que al combinarse, pasando la señal por tres, crea una transposición múltiple y variable. Estos rotores se identifican con números romanos. Estas son las correspondencias:

Estos rotores podían intercambiarse de posición, e inicialmente había un juego de cinco, para mayor dificultad.

El reflector (umkehrwalze) es un cableado fijo que hace “reflejarse” la señal de nuevo por los rotores, lo que permite un cifrado y descifrado; es decir, que si con una combinación de tres rotores y en una posición concreta, una A nos queda cifrada como una G, a la inversa, con las mismas condiciones mencionadas, una G nos devolverá una A, lo que permite el descifrado.

Cada vez que se pulsa una tecla, la letra cifrada se iluminaba en el panel, con lo que era usual que trabajaran dos operadores para evitar errores y agilizar el trabajo.

Como si de una cuenta kilómetros se tratara, cada pulsación hace avanzar el rotor de la derecha, y al completar una revolución hace avanzar una posición al rotor central, y lo mismo sucede con el izquierdo respecto al central. Los pasos de letras que hacían avanzar al siguiente son:

 | 

Page 4: 7 Simulador Enigma

La combinación de los tres rotores da una cifra posible de 17.576 cifras (26 X 26 X 26); es decir, que si un mensaje tuviera más de 17.576 letras, aparecerían repeticiones.

El panel de clavijas (Steckerbrett) era un conjunto de las veintiséis letras que podían ser puenteadas por medio de unos cables (venían diez con cada máquina) que servían para puentear una letra con otra. Como ejemplo, si conectáramos la F con la R, al teclear una de ellas, sería enviada a los rotores la otra, con lo que aumentaba la complejidad del cifrado.

Con todos estos sistemas, se garantiza que una letra no puede ser cifrada como sí misma.

¿Cómo lograron los aliados vulnerar a la Máquina Enigma durante la Segunda Guerra Mundial?

Estas databan de 1923 y eran modelos comerciales que se distribuyeron por todo el mundo. Si bien es cierto que las máquinas se fueron complicando en sus versiones militares, el principio de funcionamiento ya era conocido.

La codificación de un mensaje en Enigma obligaba a los operadores a introducir 3 letras, dos veces, al iniciar el mensaje, una especie de bandera. La Luftwaffe no modificaba esta secuencia y, por tanto, era un patrón que siempre se repetía y que fue aprovechado por Marian Rejewski que fue capaz de descifrar el código gracias a unas máquinas electromecánicas denominadas bombas criptológicas que eran unas máquinas Enigma de procesamiento en paralelo y que buscaban las codificaciones posibles. Los criptógrafos polacos trabajaron junto a los británicos en Bletchley Park para descifrar los códigos alemanes (en este equipo se encontraba Alan Turing).

El 9 de mayo de 1941 la Royal Navy capturó el submarino alemán U-110 (a cuya tripulación del fallaron las cargas explosivas para hundirlo) y pudo hacerse con una máquina Enigma y con el preciado libro de claves. Esta captura se mantuvo en secreto y se hizo creer a la opinión pública que el submarino había sido hundido, para que las claves no fuesen cambiadas.

La suma de estos factores obtuvo como resultado el descifrado de los mensajes de Enigma y, por tanto, la drástica disminución de las pérdidas Aliadas en el Atlántico Norte. Ante las sucesivas derrotas, los Alemanes evolucionaron Enigma y crearon una nueva máquina, la M4 pero fue vencida gracias a Colossus, un computador diseñado para descifrar los códigos alemanes.

 | 

Page 5: 7 Simulador Enigma

El simulador EnigmaSim

A continuación se describirá el simulador desde el punto de vista del usuario, haciendo un recorrido por todas las funcionalidades del mismo a modo de manual de usuario.

Se describirá el interfaz de usuario, sus menús, la barra de herramientas y de estado, la representación gráfica de la Enigma y las distintas ventanas de configuración, compendiando de ese modo los distintos elementos que han sido elaborados a lo largo del diseño.

Esto permitirá obtener una idea clara del programa, lo cual resultará muy útil a la hora de abordar la tarea de la comprensión de la funcionalidad del mismo.

Visión general del programa

Se comienza con una visión de conjunto del programa. En la siguiente imagen se puede ver la ventana principal del simulador de la Enigma en funcionamiento en modo de cifrado.

Figura 1 Ventana principal

La ventana principal se puede considerar una especie de centro de control del programa. Contiene el menú, la barra de herramientas y la barra de estado. Además en ella se muestran los cuadros de texto donde se ubican parte del texto en claro y del texto cifrado, así como la configuración actual (clave) utilizada por el simulador de la Enigma para trabajar en el modo de operación que se escoja (modo de cifrado o descifrado). En la zona izquierda se aprecia una representación gráfica de la Enigma que permite al usuario visualizar el proceso de cifrado equivalente que sería realizado por una Enigma.

En la siguiente imagen de la aplicación se pueden observar la ventana principal y la

 | 

Page 6: 7 Simulador Enigma

ventana de configuración de la clave:

Figura 2 Ventana principal y ventana de configuración de la clave

En la ventana de configuración de la clave se presenta toda la información que comprende el establecimiento de la clave para el simulador de la Enigma, tanto para el uso sólo con clave de día o también con clave de mensaje.

Otra visión del programa muestra la ventana principal junto con la ventana del simulador de la Bombe, como se muestra a continuación:

Figura 3 Ventana principal y ventana del simulador de la Bombe

A través de la ventana del simulador de la Bombe se introducen los parámetros de entrada a la Bombe, que la configuran para su funcionamiento, cuyo progreso se monitoriza también en dicha ventana, así como los resultados alcanzados por la Bombe.

A continuación se pasa a describir en detalle cada uno de los módulos que componen el programa.

 | 

Page 7: 7 Simulador Enigma

Ventana principal

Figura 4 Ventana principal

La ventana principal mostrada en la figura anterior se puede dividir en las siguientes partes:

Menú: permite realizar todas las funciones de configuración y funcionamiento del programa.

Barra de herramientas: contiene botones de acceso rápido a las tareas más comunes que se pueden realizar con el programa como cambiar la clave, el modo de operación o iniciar el simulador de la Bombe.

Barra de estado: en ella se podrán ver mensajes de ayuda y el modo de operación del simulador de la Enigma.

Zona del texto: comprende dos cuadros de texto, uno para introducir el texto en claro y otro para el texto cifrado, que se pueden utilizar o quedan deshabilitados según el modo de operación del simulador.

Zona de la clave: informa sobre los distintos parámetros de la clave que está actualmente seleccionada para el simulador, como son la disposición y orientación de los rotores, el anillo y las conexiones del clavijero, así como la clave de mensaje en caso de uso de la misma.

Representación gráfica de la Enigma: esta parte muestra una imagen de la Enigma de tres rotores que ilustra el funcionamiento de forma paralela a la utilización del simulador mediante la introducción del mensaje en la zona de texto.

A continuación se verán las opciones que ofrecen cada una de las partes.

 | 

Page 8: 7 Simulador Enigma

Menú

El menú del programa se encuentra dividido en cuatro secciones: Aplicación, Enigma, Bombe y Ayuda. Haciendo uso de ellas se accederá de forma rápida a todas las funciones del programa.

Menú Aplicación

Figura 5 Menú Aplicación

En la figura anterior se muestra el menú Aplicación, que permite realizar tareas como cerrar la aplicación y la apertura de un fichero de texto cifrarlo o descifrarlo en otro. El menú consta de las siguientes opciones:

Abrir: abre un fichero de texto para cifrarlo o descifrarlo como se muestra en la Figura 6, dependiendo del modo de operación (modo cifrar o descifrar) en que se encuentre el simulador en ese momento. Al seleccionar esta opción, se abre una ventana de diálogo Abrir de Windows que permite seleccionar el fichero de texto a abrir, para proceder a trabajar con él del siguiente modo:

o Si el programa se encuentra en modo cifrar, abre el fichero de texto en el bloc de notas de Windows y muestra el comienzo (los primeros 1023 caracteres) del mismo en el cuadro de texto en claro del simulador. El texto se cifra según la clave que se indique en el recuadro Claves de la ventana principal y el comienzo del mismo aparece en el cuadro de texto cifrado del simulador, además de que el resultado del cifrado se muestre en otro fichero de texto que igualmente se muestra abierto con el bloc de notas.

o Si el programa se encuentra en modo descifrar, el fichero seleccionado se muestra en el cuadro de texto cifrado y se descifra en el cuadro de texto en claro siguiendo la clave que se indica en el recuadro Claves de la ventana principal, además de lo cual tanto el fichero a descifrar como su resultado se muestran en dos ficheros abiertos con el bloc de notas.

En ambos modos de operación, el fichero resultante se guarda en el directorio del archivo de origen, con el nombre TextoEnigmaSalida.txt.

Salir: esta opción del menú Aplicación cierra el simulador EnigmaSim.

 | 

Page 9: 7 Simulador Enigma

Figura 6 Cifrado de un fichero

Menú Enigma

Figura 7 Menú Enigma

El menú Enigma (Figura 7) permite conmutar entre los dos modos (cifrado y descifrado) de operación del simulador de la Enigma, así como configurar los parámetros que se refieren a la clave a utilizar por el simulador. Las opciones del menú Enigma se describen en detalle a continuación:

Cifrar: cuando se selecciona esta opción de menú, en la ventana principal se mostrará activo el cuadro de texto en claro, mientras que el cuadro de texto cifrado se observará en estado de sólo lectura. Con este modo de operación seleccionado, el usuario puede teclear en el cuadro de Texto en claro el mensaje que desee cifrar, y el resultado se irá mostrando conforme lo escriba en el cuadro de Texto cifrado.

Descifrar: cuando se selecciona esta opción de menú, en la ventana principal se mostrarán los cuadros de texto en el estado opuesto respecto al modo de operación anterior. Es decir, el cuadro Texto cifrado se mostrará esta vez activo (donde el usuario escribirá el mensaje a descifrar) y será el cuadro Texto en claro el que se muestre como de sólo lectura en esta ocasión (donde el simulador mostrará el resultado del descifrado).

La clave que el simulador tomará para cifrar o descifrar podrá observase en el recuadro informativo Claves de la ventana principal mientras se introduce el mensaje en el cuadro

 | 

Page 10: 7 Simulador Enigma

de texto correspondiente.

Clave: esta opción abre la ventana de configuración de la clave, donde se pueden seleccionar los distintos parámetros que conforman tanto la clave del día como la clave de mensaje. En el apartado 1.4 se comentarán en detalle estos parámetros de la ventana de configuración de la clave.

Menú Bombe

Figura 8 Menú Bombe

El menú Bombe (Figura 8) posee una única opción:

Romper cifrado: permite abrir la ventana del simulador de la Bombe de Turing, con la que el usuario puede operar para descifrar mensajes cifrados con la Enigma sin disponer de la clave de cifrado. La funcionalidad que ofrece la ventana correspondiente al simulador de la Bombe se comentará en detalle en el punto 1.5.

Menú Ayuda

Figura 9 Menú Ayuda

La finalidad de este menú pretende dar un soporte de ayuda al usuario durante la utilización del simulador. Las opciones que contiene (Figura 9) son:

Contenido: abre esta ventana de ayuda, donde se puede encontrar información sobre el funcionamiento del programa y su uso.

Presentación histórica: muestra una presentación en la que se relatan aspectos históricos concernientes a la Enigma y a la Bombe.

Acerca de EnigmaSim: Abre el cuadro de diálogo mostrado en la siguiente figura que aporta información sobre la versión del programa y el autor, así como el departamento universitario correspondiente.

 | 

Page 11: 7 Simulador Enigma

Figura 10 Cuadro de diálogo Acerca de EnigmaSim

Barra de herramientas

Una vez descrito el menú de la ventana principal, se pasará a describir ahora cada uno de los botones de la barra de herramientas. Dichos botones permiten acceder de forma sencilla y rápida a las funciones más importantes del programa. La barra de herramientas se muestra al completo en la figura que sigue:

Figura 11 Barra de herramientas

Los botones son los siguientes:

Abre un fichero de texto para cifrarlo o descifrarlo, guardando el resultado correspondiente en otro fichero.

Conmuta el simulador al modo de funcionamiento de cifrado, de manera que el texto de entrada aparecerá en el cuadro Texto en claro y el resultado del cifrado aparecerá en Texto cifrado.

Conmuta el simulador al modo de funcionamiento de descifrado, de manera que el texto de entrada aparecerá en el cuadro Texto cifrado y el resultado del desciframiento aparecerá en Texto en claro.

Abre la ventana de configuración de la clave, permitiendo cambiar los parámetros que conforman tanto la clave de día como la clave de mensaje.

Abre la ventana del simulador de la Bombe, permitiendo así configurarlo y ponerlo en marcha, así como visualizar el progreso y los resultados de su trabajo.

Abre una ventana de ayuda donde el usuario puede encontrar información acerca de

 | 

Page 12: 7 Simulador Enigma

la utilización y el funcionamiento del programa.

Hay que reseñar que los botones que corresponden a los modos de funcionamiento de cifrado y descifrado no pueden estar hundidos a la vez. Así que cuando se pulsa uno de ellos, el otro automáticamente se despulsa, manteniéndose dicha situación hasta seleccionar el botón correspondiente al modo de operación contrario.

Barra de estado

Figura 12 Barra de estado

En la barra de estado mostrada en la figura se pueden observar mensajes de ayuda relacionados con los menús o botones de la barra de herramientas sobre los que se pasa el ratón.

En la parte derecha de la misma se muestra el modo de funcionamiento que esté seleccionado en ese momento, ya sea el de cifrado o descifrado.

Zona de texto (en claro y cifrado)

Figura 13 Zona de texto

La zona de texto está formada por dos cuadros de texto, como puede observarse en la figura anterior. Cada uno de los cuadros de texto posee una barra de desplazamiento que permite recorrer el texto cuando éste supera el tamaño del recuadro donde se muestra el texto. Según el modo de funcionamiento:

Si se trata del modo de cifrado, la entrada de texto se mostrará en el cuadro de Texto en claro y el resultado se mostrará en el cuadro Texto cifrado.

Si se trata del modo de descifrado, la entrada de texto se mostrará en el cuadro de Texto cifrado y el resultado del desciframiento se mostrará en el cuadro Texto en claro.

 | 

Page 13: 7 Simulador Enigma

En el cuadro de entrada de texto para cada caso se pueden escribir los caracteres que se deseen. Sin embargo, para cifrado y descifrado, el simulador sólo trabaja con los 26 caracteres alfabéticos ‘abcdefghijklmnopqrstuvwxyz’ (o sus correspondientes mayúsculas), por mantener la coherencia con el teclado de veintiséis letras que la máquina Enigma poseía. De este modo, si al introducir texto éste incluye espacios, signos de puntuación, caracteres acentuados o caracteres especiales, éstos serán ignorados por el simulador, ya que no forman parte del juego de caracteres que la máquina Enigma permitía cifrar.

Por su parte, el texto de salida se muestra en bloques de cinco letras (separados entre sí por un espacio), para respetar la similitud con la trascripción que realizaba el operador de la Enigma de cara a ofrecer el mensaje al operador de radio, que lo transmitiría en Morse.

Zona de claves (de día y de mensaje)

Figura 14 Zona de claves

En la zona de claves de la ventana principal se muestran los datos referentes a la clave de día (y a la clave de mensaje, en caso de que ésta también sea utilizada) que el simulador utiliza actualmente para los procesos de cifrado y descifrado.

Según muestra la Figura 14, en la zona de claves se distinguen los datos que se refieren a la Clave del día y los datos que se refieren a la Clave de mensaje.

El cuadro de la Clave del día ofrece todos los datos necesarios para configurar la Enigma:

Clavijero: el simulador permite conectar desde cero hasta trece pares de letras mediante el clavijero, las cuales resultan intercambiadas por el mismo. La forma de indicar cada par de letras intercambiado se muestra mediante ‘/’ y la separación entre las distintas parejas de letras intercambiadas por el clavijero se muestra mediante comas.

Disposición de rotores: se muestra la disposición de los rotores que se situarían en el eje de una Enigma real (correspondiendo el rotor indicado por el primer número al rotor lento y el indicado por el tercer número el correspondiente al rotor rápido), separados cada par de rotores entre sí mediante un guión. Se observa un número

 | 

Page 14: 7 Simulador Enigma

(entre 1 y 5) para cada rotor debido a que el simulador dispone de un juego de cinco rotores entre los que se eligen tres.

Posición de los anillos: indica la posición del anillo que rodea el disco interno de cada rotor de la Enigma que se simula. El número que se indica para cada rotor se refiere a qué contacto (entre los veintiséis del rotor) está alineada la letra ‘A’ del anillo. Si la posición del anillo es ‘1’, el lugar sobre el que se encuentra la letra ‘A’ del rotor corresponde al contacto ‘1’ del rotor, de manera que en este caso el propio anillo indicaría el contacto del rotor.

Orientación de rotores: la orientación de los rotores indica la letra hasta la que el operador de la Enigma gira cada rotor, la cual se verá por la ventanilla de los rotores cuando la tapa de los rotores esté colocada. Se sigue el mismo orden que para la posición del anillo y la disposición de los rotores y se separan igualmente con guiones.

El cuadro de la Clave de mensaje indica los siguientes datos:

Orientación de rotores: indica la reorientación de los rotores que se efectúa en la Enigma con objeto de cifrar el mensaje mediante un procedimiento con clave de mensaje. La orientación de cada pareja de rotores se separa mediante un guión.

Clave de mensaje cifrada: ofrece la clave de mensaje cifrada dos veces por la clave de día, tras lo cual se reorientarían los rotores de la Enigma a la orientación de rotores que indique la propia clave de mensaje. Cada trío representante del cifrado de la clave de mensaje está separado del otro mediante un par de guiones. Se ofrece la clave de mensaje doblemente cifrada con el objeto de que el usuario pueda elaborar la cabecera del mensaje que finalmente se enviaría.

Nótese que el presentar la información de este modo (la clave de mensaje cifrada de forma repetida) no es más que algo informativo. Es decir, el programa, con la orientación elegida para la clave de mensaje no hace más que reorientar los rotores a dicha posición, con lo que el hecho de que se haya cifrado el triplete que da la clave de mensaje una o dos veces es irrelevante.

El hecho de mostrar la clave de mensaje cifrada dos veces persigue ofrecer al usuario la información necesaria para que éste pueda dar el formato deseado al mensaje (es decir, elaborar la cabecera del mensaje que finalmente se enviaría).

Es decir, si por ejemplo se quiere trabajar con clave de mensaje repetida, se toma el texto resultado que ofrece el simulador y se le añaden como cabecera los dos tripletes dados por la clave de mensaje cifrada. Si por el contrario se quiere seguir un sistema indicador sin repetición de clave de mensaje, sólo se le añadiría el primer triplete de la clave de mensaje cifrada. También se podría añadir a la cabecera del mensaje la orientación de los rotores que completa la clave del día, y el primer triplete de la clave de mensaje cifrada con la clave de día.

 | 

Page 15: 7 Simulador Enigma

Representación gráfica de la Enigma

Figura 15 Representación gráfica de la Enigma

La figura anterior recoge un instante del funcionamiento del simulador donde puede observarse que la tecla ‘M’ se encuentra pulsada y la letra ‘R’ se encuentra encendida en el panel de bombillas. Además, la representación de la Enigma muestra a través de las ventanillas de la tapa de los rotores la orientación de los mismos.

La representación gráfica de la Enigma que ofrece el simulador permite:

Visualizar paralelamente el proceso de cifrado o descifrado en el teclado y el tablero de bombillas de la Enigma. Es decir, cuando el usuario pulsa una de las letras del alfabeto de la Enigma, la correspondiente tecla aparecerá pulsada y seguidamente la bombilla resultante del proceso criptográfico.

Visualización de la orientación y el movimiento de los rotores mediante las letras que aparecen a través de las tres ventanas de la tapa de los rotores. La ‘anomalía’ del movimiento del rotor medio puede observarse configurando uno mismo una situación de los notches de los rotores (notch Y, M, D, R, H o turnover Q, E, V, J, Z para los rotores respectivos I, II, III, IV, V) que la produzcan o mediante el seguimiento del ejemplo que sigue:

o Se configura la Enigma de manera que la disposición para los rotores sea 1-2-3 y la orientación de los mismos sea ‘EDV’ (la configuración del anillo es irrelevante debido a que el mecanismo de turnover está adherido al anillo, no al disco).

o Así, la situación que se tiene es tal que el rotor rápido se encuentra en su posición de turnover y el rotor medio está a una posición de su posición de

 | 

Page 16: 7 Simulador Enigma

turnover, como puede comprobarse según la lista de notch y turnover de los rotores que se ha dado antes.

o Lo que se espera entonces es que, al pulsar la siguiente tecla, la palanca entre los rotores derecho y medio puede engancharse al notch del rotor derecho, que acarreará en su movimiento al rotor medio. Es decir, la orientación de los rotores pasará a ser ‘EEW’.

o En ese momento, al avanzar una posición, el rotor medio se encuentra en su posición de turnover, de modo que al pulsar la siguiente tecla la palanca entre los rotores izquierdo y medio se enganchará al notch del rotor medio. Así, el rotor medio acarreará al rotor lento en su movimiento. Sin embargo, el rotor rápido también se habrá movido, ya que lo hace con cada pulsación de teclado, de modo que en realidad se mueven los tres rotores. Es decir, la orientación de los rotores pasará a ser ‘FFX’.

Posibilidad de elección de la clave (en cuanto a reorientación de rotores) a través de la pulsación en la rueda dentada de los rotores, previa apertura de la tapa de los rotores pulsando en la cogida metálica situada en la esquina inferior izquierda de la tapa. Al pulsar sobre la rueda dentada, la letra que aparece en la ventanilla va recorriendo el alfabeto de forma circular y en el sentido ascendente, partiendo de la letra mostrada en la ventanilla. La tapa puede bajarse pulsando de nuevo en la cogida mencionada, aunque con ella levantada el simulador funciona igualmente.

Hay que tener en cuenta que las conexiones de clavijero que aparecen no son realistas, sino que éstas aparecen en la zona de claves de la ventana principal.

Ventana de configuración de la clave

Figura 16 Ventana de configuración de la clave

A esta ventana se accede a través de la opción Clave del menú Enigma o a través del icono con forma de llave que aparece en la barra de herramientas. La ventana de configuración de la clave permite cambiar los valores de los distintos parámetros que conforman la clave de día (y, en su caso, la clave de mensaje).

 | 

Page 17: 7 Simulador Enigma

Gran parte del área de la ventana mostrada en la figura está ocupada por los datos referentes a la clave del día (que comprende las conexiones del clavijero, la disposición de los rotores, la posición de los anillos y la orientación de los rotores), ya que la clave de mensaje sólo difiere de la clave de día en lo que a la orientación de los rotores respecta, debido a que se trata de una reorientación de los mismos.

Los datos que componen la clave del día comprenden todo lo necesario para disponer la Enigma según una configuración inicial determinada. Para elegir la clave del día, se procede como sigue:

En el recuadro Clavijero pueden elegirse de cero a trece pares de letras que serán intercambiadas por el clavijero (recuérdese que el clavijero es recíproco, lo que implica que cambia la letra original por la intercambiada y viceversa), aunque el ejército alemán solía usar comúnmente seis o diez pares. No se permite elegir una misma letra para más de un intercambio, lo cual será indicado por un mensaje de error, en caso de que ocurriese.

En la parte de Disposición de rotores se pueden escoger tres rotores (de un juego de cinco) que representan los rotores montados en el eje de la Enigma en los lugares conocidos como Lento, Medio y Rápido. No se permite escoger un mismo rotor para más de un lugar a la vez, lo cual será indicado por un mensaje de error, en caso de que ocurriese.

La Posición de los anillos permite elegir una de las 26 posibles correspondencias entre el anillo móvil que rodea al rotor y el disco que contiene su cableado interno, de manera que el número que se elige representa el contacto del rotor sobre el que se sitúa la letra ‘A’ del anillo. Es posible elegir la misma configuración del anillo para más de un rotor a la vez (de hecho, incluso los tres rotores podrían tener el anillo en la misma posición a la vez).

La elección de la Orientación de rotores se realiza escogiendo para cada uno de los rotores la letra que se observaría por las ventanillas de la tapa de los rotores tras la configuración. En este caso, se puede elegir la misma orientación para más de un rotor al mismo tiempo (de hecho, se pueden orientar los tres rotores según la misma letra).

Aparte de la clave del día, el simulador ofrece la posibilidad de utilizar también clave de mensaje. El ejército alemán utilizó distintos formatos para sus mensajes, y mediante el simulador se puede hacer uso de ellos.

Figura 17 Elección de la clave de mensaje

 | 

Page 18: 7 Simulador Enigma

Para trabajar con clave de mensaje se debe seleccionar (tal como se muestra en la figura) el recuadro de la opción Usar clave de mensaje, en cuyo caso aparecen tres nuevas casillas que permiten seleccionar la nueva orientación de los rotores que aporta la clave de mensaje.

La clave de mensaje se puede utilizar de diversas formas, según el formato que se dé al mensaje. En particular, en la presente implementación del simulador y como ya se ha comentado, en la ventana principal se proporciona la información de la clave de mensaje doblemente cifrada

Finalmente, cuando ya se han elegido los datos de la clave a utilizar, pulsando Aceptar se validan los cambios realizados y se actualizan los valores de la clave según las opciones elegidas. Por su parte, si se pulsa Cancelar se descartan los cambios realizados en la configuración, de forma que las elecciones hechas no serán guardadas. De este modo, el simulador permite conservar la última clave válida dentro de cada sesión de trabajo con el mismo (es decir, desde que se arranca la aplicación hasta que se sale de ella).

Al cambiar la clave hay que tener en cuenta que el simulador permite actuar de dos modos (permitiendo que el cambio de clave sólo afecte al texto introducido a continuación del escrito anteriormente al cambio de clave o el reprocesado de la totalidad del texto según la nueva clave):

Si se sigue introduciendo texto detrás del anterior, el simulador no recifrará o redescifrará todo el texto anterior, sino que seguirá su proceso con la nueva clave.

Para que al cambiar la clave en medio de la escritura, el texto se recifre o se redescifre por completo, será necesario cambiar algo del texto introducido anteriormente al cambio de la clave (por ejemplo, tomar el texto y volverlo a pegar en el recuadro, introducir un espacio antes de la primera letra del mensaje o borrar el último carácter escrito antes del cambio de clave).

Ventana del simulador de la Bombe

Figura 18 Ventana del simulador de la Bombe

 | 

Page 19: 7 Simulador Enigma

A esta ventana se puede acceder desde la opción Romper cifrado del menú Bombe o también desde el icono de la barra de herramientas que representa una bomba. La ventana del simulador de la Bombe consta de varias zonas diferenciadas:

Zona de configuración de la Bombe: es a través de ella por donde el usuario introduce los datos necesarios para que la Bombe comience a funcionar y consta de los siguientes campos.

o Criba: la información que se introduce en este campo es, según la terminología criptoanalítica, una porción de texto cifrado para el que se supone un cierto texto en claro adivinado. Los datos deben introducirse como una cadena de caracteres alfabéticos (pertenecientes a los 26 caracteres que conforman el alfabeto de la Enigma) y sin espacios, siguiendo así el modelo de trabajo de la Bombe. Además, la longitud en número de caracteres de la criba no puede superar la longitud del texto cifrado correspondiente a ella que se introduce en el siguiente recuadro, sino que como máximo puede ser tan larga como dicho campo de texto cifrado.

o Texto cifrado corresp.: la información que se introduce en este campo debe estar formada sólo por caracteres alfabéticos del juego de 26 que conforma el alfabeto de la Enigma y sin espacios entre ellos. Además, la longitud en número de caracteres de este campo debe ser, como mínimo, igual a la longitud en caracteres de la criba.

o Posición de la primera letra de la criba: este campo recoge la correspondencia entre la criba y el texto cifrado en cuanto a dónde comienzan a equivaler, en el texto cifrado, los caracteres de la criba con los del texto cifrado. En dicho campo sólo es posible introducir caracteres numéricos mayores que cero y sin espacios. La posición indicada para la primera letra de la criba debe ser tal que la última letra de la criba pueda corresponderse con alguna letra de texto cifrado.

Indicador de progreso del trabajo de la Bombe: con él se indica de forma visual la cantidad de posibilidades exploradas por la Bombe conforme ésta está trabajando. A su derecha, la barra de progreso lleva asociado un indicador numérico que muestra el número de posibilidades exploradas hasta el momento, de forma que presenta un resultado más preciso que la propia barra de progreso, que por su parte ofrece la facilidad de que el usuario pueda hacerse una idea del progreso sólo con echar un vistazo a la misma.

Zona de presentación de resultados: cuando la Bombe alcanza una parada, muestra la posible solución obtenida para la configuración de una Enigma a través de los datos siguientes.

o Clave encontrada: muestra la disposición y orientación de los rotores, así como las conexiones del clavijero encontradas. La notación para las conexiones indica con ‘!’ que se trata de una conexión confirmada, nada si es normal o ‘?’ si es

 | 

Page 20: 7 Simulador Enigma

posible (debido a que existan otras conexiones posibles que impliquen alguna de las mismas letras que otra).

o Posible texto descifrado: muestra el texto descifrado según la clave obtenida, de forma que el usuario puede decidir si continuar probando posibilidades o quedarse con el texto obtenido. Para descifrarlo sólo se toman las conexiones confirmadas y normales del clavijero, aunque de ese modo el texto no quede tan inteligible, siendo tarea del criptoanalista ir probando con las conexiones posibles halladas para ver cuál es la correcta entre las que implican la misma letra.

Botones:

o Empezar: tras verificar que los datos que configuran la Bombe son correctos (en caso contrario se muestran mensajes de error que indican que es necesario volver a introducirlos, hasta que representen una opción de configuración coherente), inicia la labor de la Bombe, de manera que ésta comienza a trabajar con los datos de configuración y los prueba buscando una configuración de Enigma que satisfaga, bajo ciertas conexiones del clavijero, que la criba se cifre como el texto cifrado correspondiente o viceversa. Cuando el botón Empezar se encuentra activo, sólo el botón Volver también lo está, ya que son las dos únicas acciones posibles antes de iniciar el trabajo de la Bombe. Sin embargo, al pulsar el botón Empezar, éste pasa a mostrarse como deshabilitado, y se muestran activos los botones Detener y Volver.

o Detener: para el funcionamiento de la Bombe, permitiendo entonces al usuario varias opciones, mostradas por los botones activos en esos momentos. Al pulsar Detener, dicho botón pasa a estado deshabilitado y las opciones posibles son: Empezar, Volver y Continuar.

o Continuar: esta opción permite reanudar el trabajo de la Bombe por donde se hubiese dejado al pulsar Detener. Es decir, al pulsar Detener la Bombe estaría probando si los datos de configuración de la misma resultan coherentes para alguna posición de los rotores en la Enigma y alguna configuración válida del clavijero. Y es en esa posición para la que se estuviese probando por donde se reanuda la búsqueda al pulsar Continuar, en cuyo caso se pasa a la misma situación de los botones que tras pulsar Empezar.

o Volver: sale de la ventana de la Bombe, parando el trabajo de la misma previamente, y vuelve a la ventana principal del simulador EnigmaSim.

Conclusión

La historia de Enigma así como su funcionamiento me resulta muy interesante. Creo que es una maravilla tecnológica y, en el fondo, de un funcionamiento extremadamente avanzado para la época en la que se diseñó. Tanto es así que gracias a la criptografía durante la Segunda Guerra Mundial nacieron los primeros computadores que, precisamente, se destinaron a descifrar códigos.

 |