Publicado: Sab Dic 19, 2020 6:28 pm
por Kurt_Steiner
Las computadoras Colossus se usaron en el criptoanálisis de las comunicaciones de alto nivel alemanas, que estaban cifrada, naturalmente. La información de inteligencia reveló que los alemanes llamaron a los sistemas de transmisión de teleimpresores inalámbricos "Sägefisch" (pez sierra). Esto llevó a los británicos a llamar al tráfico de teleimpresores alemanes cifrados "Fish", y a la máquina desconocida y sus mensajes interceptados "Tunny" (tunafish). Para el cifrado los alemanes usaban máquinas Lorenz SZ 40 y SZ 42 Schlüsselzusatz (cifrado adjunto) dotadas de circuitos de teletipo Lorenz estándar.

Antes de que los alemanes aumentaran la seguridad de sus procedimientos operativos, los criptoanalistas británicos diagnosticaron cómo funcionaba la máquina invisible y construyeron una imitación llamada "British Tunny". Colossus tenía cinco procesadores, y cada uno podría operar a 5,000 caracteres por segundo. Al disponer de registros especiales y un reloj interno, los procesadores podrían operar simultáneamente en paralelo. Colossus podía trabajar con hasta 25,000 caracteres por segundo. Después de cientos de horas de trabajo los científicos idearon una computadora del tamaño de un camión y formada por entre 1.500 y 2.000 válvulas de vacío. Por su gran tamaño y capacidad se decidió llamarla "Colossus".

Parte de la operación Colossus consistía en emular electrónicamente la máquina mecánica de Lorenz. Para cifrar un mensaje con la máquina de Lorenz, el texto plano se combinaba con un flujo de BITs clave, en grupos de cinco. El flujo clave se generaba usando doce ruedas: cinco fueron clasificadas (por los británicos) como ruedas {\displaystyle \chi }\chi («Χ»), otras cinco como {\displaystyle \psi }\psi («Ψ»), y las dos restantes como «ruedas motoras». Las ruedas {\displaystyle \chi }\chi rotaban regularmente con cada letra que se cifraba, mientras que las ruedas {\displaystyle \psi }\psi rotaban irregularmente, controladas por las ruedas motoras.

En agosto de 1941, un error de los operadores alemanes provocó la transmisión de dos versiones del mismo mensaje con idénticas configuraciones de máquina. Estos fueron interceptados y descrifrados por Bletchley Park. Primero, John Tiltman, un criptoanalista de GC&CS muy talentoso, derivó un flujo de claves de casi 4000 caracteres. Luego, Bill Tutte, un miembro recién llegado de la Sección de Investigación, usó este flujo de claves para elaborar la estructura lógica de la máquina de Lorenz. Dedujo que la máquina tenía doce ruedas que constaban de dos grupos de cinco, a los que llamó ruedas χ (chi) y ψ (psi), y a las dos restantes las llamó ruedas μ (mu) o "motor". Las ruedas chi picaban regularmente con cada letra que estaba encriptada, mientras que las ruedas psi picaban irregularmente, bajo el control de las ruedas del motor. Utilizaban una técnica de cifrado de Vernam en los caracteres del mensaje en el código telegráfico estándar ITA2 de 5 bits. Lo hizo combinando los caracteres de texto sin formato con un flujo de caracteres clave utilizando la función booleana XOR para producir el texto cifrado.

Con una secuencia de claves suficientemente aleatoria, un cifrado de Vernam elimina la propiedad del lenguaje natural de un mensaje de texto de tener una distribución de frecuencia desigual de los diferentes caracteres, para producir una distribución uniforme en el texto cifrado. La máquina Tunny lo hizo bien. Sin embargo, los criptoanalistas descubrieron que al examinar la distribución de frecuencia de los cambios de carácter a carácter en el texto cifrado, en lugar de los caracteres simples, había una desviación de la uniformidad que proporcionaba una oportunidad de descrifrado. Esto se logró mediante la "diferenciación" en la que cada bit o carácter se XOR-ed con su sucesor. Después de que Alemania se rindió, las fuerzas aliadas capturaron una máquina Tunny y descubrieron que era la máquina de cifrado en línea electromecánica Lorenz SZ (Schlüsselzusatzgerät, accesorio de cifrado).

Para poder leer los mensajes, se tuvieron que realizar dos tareas- La primera era romper las ruedas (wheel breaking), que consistía en descubrir los patrones de leva para todas las ruedas. Estos patrones se configuraron en la máquina de Lorenz y después se usaban durante un periodo de tiempo establecido para un número de mensajes diferentes. Alan Turing inventó un método para romper ruedas que se conoció como Turingery. La técnica de Turing se desarrolló aún más en "Rectangling", para lo cual Colossus podía producir tablas para análisis manual. Colossus 2, 4, 6, 7 y 9 tenían un "artilugio" para ayudar en este proceso. El proceso de establecer las ruedas encontraba la posición inicial de las ruedas para un mensaje dado. Inicialmente Colossus se usó para ayudar a averiguar la posición inicial de las ruedas, después se demostró que la máquina podía ser adaptada también para el proceso de romper las ruedas.

La segunda tarea consistía en "ajustar" las ruedas (wheel setting), que determinaba las posiciones de inicio de las ruedas para un mensaje en particular, y solo podía intentarse una vez que se conocían los patrones de las levas. Para esta tarea se diseñó inicialmente Colossus. Para descubrir la posición inicial de las ruedas chi de un mensaje, Colossus comparó dos flujos de caracteres, contando las estadísticas de la evaluación de funciones booleanas programables. Los dos flujos fueron el texto cifrado, que se leyó a alta velocidad desde una cinta de papel, y el flujo de claves, que se generó internamente, en una simulación de la máquina alemana desconocida. Después de una sucesión de diferentes ejecuciones de Colossus para descubrir las configuraciones probables de la rueda chi, se verificaron examinando la distribución de frecuencia de los caracteres en el texto cifrado procesado. Colossus produjo estos recuentos de frecuencias.

Colossus era operado en Newmanry, la sección de Bletchley Park responsable de los métodos mecánicos contra la máquina de Lorenz, liderada por el matemático Max Newman.

Colossus se desarrolló debido a un proyecto anterior que produjo una máquina comparadora opto-mecánica llamada «Heath Robinson». El mayor problema de la máquina Robinson era la sincronización de dos cintas perforadas, una perforada con el mensaje cifrado y la otra representando los patrones producidos por las ruedas de la máquina de Lorenz, pero cuando se tenía que leer a una velocidad de más de 1000 caracteres por segundo, resultaba en una infinidad de cálculos. Colossus solucionó el problema reproduciendo electrónicamente una de las cintas. La otra cinta se podía introducir en Colossus a mayor velocidad y podía ser contada con mucha mayor fiabilidad.

Aparentemente se destruyeron ocho de las 10 máquinas Colossus de Bletchley Park en 1946, por orden directa de Winston Churchill. Una sobrevivió hasta los años 1950, y la última fue desmantelada en 1960 cuando todos los diagramas de sus circuitos y sus planos fueron quemados. Se sabe que varios científicos norteamericanos vieron funcionar a Colossus en visitas secretas a Bletchley Park después de la guerra, pero el gobierno británico vetó toda la información sobre la máquina durante 30 años.