Colossus
# Colossus

Las máquinas Colossus fueron los primeros dispositivos calculadores electrónicos usados por los británicos para leer las comunicaciones cifradas alemanas durante la Segunda Guerra Mundial. Colossus fue uno de los primeros computadores digitales.

La máquina Colossus fue diseñada originalmente por Tommy Flowers en la Post Office Research Station (Estación de Investigación de la Oficina Postal), Dollis Hill. El prototipo, Colossus Mark I, entró en funcionamiento en Bletchley Park en febrero de 1944. Una versión mejorada, el Colossus Mark II, se instaló en junio de 1944, y se llegaron a construir unos diez Colossus hasta el final de la guerra.

Las máquinas Colossus se usaron para descifrar los mensajes cifrados que se interceptaban de las comunicaciones de la Alemania nazi, usando la máquina Lorenz SZ40/42. Colossus comparaba dos flujos de datos, contando cada coincidencia basada en una función programable booleana. El mensaje cifrado se leía a gran velocidad a través de una cinta de papel. El otro flujo de datos era generado internamente, y era una simulación electrónica de la máquina de Lorenz en varias combinaciones.

## Propósito y orígenes

Las computadoras Colossus se usaron en el criptoanálisis para las comunicaciones de alto nivel alemanas, mensajes que habían sido cifrados usando la máquina Lorenz SZ 40/42. Parte de la operación Colossus era 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 $\chi$ («Χ»), otras cinco como $\psi$ («Ψ»), y las dos restantes como «ruedas motoras». Las ruedas $\chi$ rotaban regularmente con cada letra que se cifraba, mientras que las ruedas $\psi$ rotaban irregularmente, controladas por las ruedas motoras.

Bill Tutte, un criptoanalista de Bletchley Park, descubrió que los flujos de claves producidos por la máquina mostraban una predisposición a una desviación estadística de lo aleatorio, y que esas predisposiciones podían ser usadas para romper el cifrado y leer los mensajes. Para poder leer los mensajes, había dos tareas que debían realizarse. La primera de las tareas era romper con las ruedas (wheel breaking), que consistía en descubrir los patrones de los dientes para todas las ruedas. Estos patrones se establecían una vez en la máquina de Lorenz y después se usaban durante un periodo de tiempo establecido y para un número de mensajes diferentes. La segunda tarea consistía en establecer las ruedas (wheel setting), que podía realizarse una vez que se conocía los patrones de los dientes. Cada mensaje cifrado usando la máquina de Lorenz, se codificaba con posición inicial de las ruedas diferente. 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.

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.

Destino incierto

Aparentemente se destruyeron ocho de las 10 máquinas Colossus de Bletchley Park en 1946, por orden directa de Winston Churchill. Una más 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. Las razones no fueron solo militares, sino también políticas, pues se sabe que hubo al menos un bombardeo alemán a una ciudad inglesa que pudo haberse evitado gracias a Colossus, pero que se dejó proceder (a costa de un sinnúmero de muertes) para proteger uno de los secretos mejor guardados durante la Segunda Guerra Mundial.

## La construcción de Colossus

Un equipo liderado por Tommy Flowers dedicó diez meses (desde principios de febrero hasta principios de diciembre de 1943) diseñando y construyendo la computadora Colossus en la Post Office Research Station, Dollis Hill, al noroeste de Londres. Después de una prueba funcional el 8 de diciembre de 1943, la máquina fue desmontada y enviada al norte de Bletchley Park. Después fue montada en el bloque F en las navidades de 1943. La Mark 1 tuvo éxito en su primera prueba con un mensaje real cifrado en enero de 1944. Fue seguido de nueve máquinas Colossus Mark 2, la primera de ellas se instaló en junio de 1944 mientras que la Mark 1 original fue convertida a Mark 2. La máquina Colossus número once se terminó justo al final de la guerra.

La máquina Colossus Mark 1 tenía 1500 válvulas electrónicas. La Colossus Mark 2, con 2400 válvulas, era cinco veces más rápida y más fácil de operar que la Mark 1: ambas características aumentaron considerablemente el proceso de decodificación. La Mark 2 se diseñaba mientras la Mark 1 era construida. En comparación, la ENIAC de 1946 usaba 17 468 válvulas y la Manchester Mark I de 1949 usó alrededor de 4200.

Colossus contaba con la segunda cinta diseñada para la máquina Robinson que generaba los patrones electrónicamente y procesaba 5000 caracteres por segundo con la cinta de papel circulando a 12 metros por segundo. Los circuitos eran sincronizados por una señal de reloj, generada por las perforaciones de la cinta. La velocidad de cálculo estaba limitada por los mecanismos del lector de la cinta. El diseñador Tommy Flowers testeó el lector de cinta hasta los 9700 caracteres por segundo antes de que la cinta se desintegrase. Él configuró 5000 caracteres por segundo como la velocidad más deseable para un funcionamiento óptimo. Algunas veces, dos o más Colossus probaron diferentes combinaciones de trabajo simultáneo, lo que ahora se denomina computación paralela, aumentando notablemente el proceso de decodificación.

Colossus incorporaba por primera vez el uso de registros lineales y arrays sistólicas, permitiendo cinco tests simultáneos, implicando más de 100 cálculos booleanos, en cada uno de los cinco canales de la cinta perforada (no obstante, en funcionamiento normal, solo uno o dos canales eran examinados en cada ejecución).

Inicialmente Colossus se usaba solamente para determinar las posiciones iniciales de las ruedas para un mensaje concreto (denominado posición de rueda). El Mark 2 incluía mecanismos para ayudar a determinar los patrones de los dientes de las ruedas (rotura de rueda). Ambos modelos eran programables usando interruptores y paneles acoplados que la máquina Robinson no tenía.

## Diseño y operado

Colossus usaba unos tubos de vacío (válvulas termoiónicas), tiratrones y fotomultiplicadores para leer de forma óptica una cinta de papel y después aplicar una función lógica programable a cada carácter, contando cuántas veces la función devolvía «verdadero». Aunque se sabía que las máquinas con muchas válvulas eran propensas a altas tasas de averías, también se reconocía que las averías de las válvulas solían ocurrir al encender la máquina, de tal forma que las máquinas Colossus, una vez encendidas, nunca se apagaban a no ser que comenzasen a funcionar de forma incorrecta...

Colossus fue la primera de las máquinas digitales en incorporar una limitada programabilidad. No obstante no era una computadora de propósito general, no siendo Turing completa, aunque las Colossus se basaban en la definición de Alan Turing y este trabajó en Bletchley Park, donde las Colossus fueron operadas. En aquella época no era tan importante que las máquinas fuesen Turing-completas; la mayoría del resto de las primeras máquinas computacionales tampoco lo eran, como por ejemplo la Computadora de Atanasoff-Berry, Harvard Mark I, la primera máquina electromecánica, las máquinas de relés de los Laboratorios Bell (de George Stibitz et alt), los primeros diseños de Konrad Zuse y demás. La noción de una computadora como una máquina de propósito general, y no como una gran calculadora dedicada a resolver problemas difíciles pero singulares, no se destacó hasta unos años después.

Colossus fue precedido por una serie de computadoras, la mayor parte de ellas las primeras de su categoría. Zuse Z3 fue la primera computadora completamente programable funcional, y estaba basada en relés electromecánicos, igual que (las menos avanzadas) máquinas de Bell Labs a finales de la década de 1930 (George Stibitz, et al). El ABC Computer era electrónico y binario (digital), pero no programable. Las computadoras indicadas eran semiprogramables; algunas fueron construidas mucho antes de la década de los años 30 del siglo XX (eg, Vannevar Bush). Anterior a estas, está la máquina analítica de Babbage (en la mitad del siglo XIX), que era digital y programable, pero nunca fue construida totalmente y nunca funcionó realmente. Colossus fue la primera máquina que combinaba su funcionamiento digital, parcialmente programable y electrónico.

## Conceptos erróneos acerca de Colossus

Uno de los errores más comunes de la literatura derivada es la creencia de que Colossus fue utilizado contra Enigma. De hecho, hay muchas historias sorprendentes sobre Colossus en los libros de historia. Georges Ifrah, un autor e historiador francés de las matemáticas, llegó incluso a decir que Colossus producía texto sin cifrar en inglés del texto cifrado en alemán. Como ya se ha explicado, el resultado de Colossus era una serie de órdenes que indicaban la posición correcta de las ruedas de ajuste (o, más tarde, el patrón de las ruedas).

Un gran error hace referencia a la propiedad de la idea de Colossus. Muchos identifican a Turing como la figura clave del diseño de la máquina. En un artículo biográfico sobre Turing, el historiador de la informática J.A.N. Lee dijo que "la influencia de Turing en el desarrollo de Colossus es reconocida", y en un artículo sobre Flowers, Lee se refirió a Colossus como "la máquina cripto-analítica diseñada por Alan Turing y otros". Incluso en el libro a la venta en el Museo de Bletchley Park se explica que en los laboratorios de Bletchley Park "Turing trabajó...en lo que hoy en día conocemos como búsqueda informática", hecho que llevó al "primer ordenador programable y electrónico del mundo, el Colossus ".

La idea de que el interés de Turing en la electrónica contribuyó en la inspiración por Colossus es muy común. Esta afirmación es a menudo expuesta en exhibiciones sobre decodificación en museos importantes, y en los Anales de la Historia de la Computación Lee y Holtzman dicen que Turing "concibió a partir de la construcción y uso de aparatos electrónicos de alta velocidad; y estas ideas fueron implementadas en la máquina Colossus ". Aun así, el informe general de 1945 sobre Tunny deja las cosas claras: "el Colossus fue idea completamente del Sr. Flowers ". En 1943 la electrónica había sido la pasión de Flowers durante más de una década y no necesitó ninguna ayuda de Turing. Además, este último estaba en Estados Unidos durante el período crítico de los inicios de 1943 cuando Flowers propuso su idea a Newman y elaboró el diseño del Colossus en papel. Flowers enfatizó en una entrevista que Turing "no hizo ninguna contribución" en el diseño del Colossus. Dijo: "Yo inventé el Colossus. Nadie más estaba capacitado para hacerlo ".

## Tras la guerra

Si Flowers hubiera patentado las invenciones que hizo para contribuir en el asalto a Tunny, lo más probable es que hubiera logrado conseguir grandes riquezas. A Newman le ofrecieron un OBE, un Orden del Imperio Británico, por su contribución en la derrota de Alemania, pero lo rechazó, remarcando a sus ex-colegas de Bletchley Park que él consideraba la oferta grotesca. Tutte no recibió ningún reconocimiento público por su trabajo vital. En cuanto a Turing, él sí que aceptó un OBE.

Al terminar las hostilidades, se recibieron órdenes de Churchill para acabar con Colossus, y todos los involucrados con la máquina y el desciframiento de Tunny fueron silenciados por la Official Secrets Act, una legislación utilizada en el Reino Unido y en otros países que pertenecieron al Imperio Británico que provee protección a los secretos de estado y a la información oficial, generalmente relacionada con la seguridad nacional. La existencia del Colossus debía ser clasificada indefinidamente. Flowers describió sus reacciones:

   "Cuando al terminar la guerra me dijeron que Colossus debía mantenerse en secreto indefinidamente, naturalmente estuve decepcionado. No tenía ninguna duda, una vez ya había triunfado, de que Colossus era un descubrimiento histórico, y su publicación habría colocado mi nombre en círculos de científicos e ingenieros -una convicción confirmada por la acogida pactada a ENIAC, el equivalente americano hecho público una vez terminó la guerra. Tuve que soportar todas las ovaciones que se le dieron a aquella empresa sin ser capaz de revelar que yo lo había anticipado. Lo que perdí en prestigio personal y los beneficios que comúnmente se acumulan en estas circunstancias, ahora sólo pueden ser imaginados. Pero en el momento, acepté la situación filosófica y, con la euforia de que habíamos ganado la guerra, perdí toda preocupación acerca de lo que podía pasar en el futuro ".

El ENIAC, encargado por el ejército estadounidense en 1943, fue diseñado para calcular trayectorias de proyectiles de artillería. Aunque no estuvo operacional hasta el final de 1945 -dos años después de que funcionara el Colossus por primera vez- ENIAC es normalmente descrito como el primer ordenador electrónico digital. La visión que Flowers tuvo sobre el ENIAC era que simplemente se trataba de un descodificador de números -el Colossus, con sus instalaciones más elaboradas para operaciones lógicas, era "mucho más un ordenador que el ENIAC".

La Newmanry pasó a dominio público al final de la guerra para convertirse, como el ENIAC, en el músculo electrónico de una instalación para la investigación científica. Los ingenieros de la Newmanry rápidamente adaptaron el equipamiento para aplicaciones de tiempo de paz. Churchill mandó destruir el Colossus, lo cual representó un terrible golpe para la ciencia y la industria británica.

En abril de 1946, las operaciones de desencriptación de códigos se trasladaron desde Bletchley Park hasta unos edificios a Eastcote, el Londres suburbano. En el momento del traslado, el antiguo nombre de la organización 'Government Code and Cypher School' fue formalmente cambiado a 'Government Communication Headquarters' (GCHQ). Seis años más tarde se produjo otro traslado, y entre 1952 y 1954 el GCHQ envió su personal y su equipamiento, incluyendo la maquinaria de desencriptación, lejos del área de Londres, a un lugar más grande en Cheltenham. Dos de los Colossus se trasladaron de Bletchley Park a Eastcode y luego a Cheltenham. Fueron acompañados de dos réplicas de la máquina Tunny, manufacturadas en Dollis Hill. Uno de los Colossus, conocido en GCHQ como 'Colossus Blue', fue desmantelado en 1959 tras 14 años de servicio en tiempo de paz. Se cree que el Colossus restante dejó de funcionar en 1960.

Probablemente los Colossus tuvieron aplicaciones adicionales después de la guerra. Quizás fueron utilizados para hacer recuentos de caracteres del tráfico cifrado del enemigo, o tal vez los Colossus del GCHQ incluso fueron utilizados contra máquinas Tunny alemanas reacondicionadas, teniendo en cuenta que los ejércitos invasores británicos capturaron muchas Tunny durante las últimas fases de la guerra.

Hasta los 70, muy pocos sabían que la computación electrónica se había utilizado exitosamente durante la Segunda Guerra Mundial. En 1975, el Gobierno británico hizo públicas un conjunto de fotografías de los Colossus. Hacia 1983, Flowers recibió permiso para publicar un informe del hardware del primer Colossus. Los detalles de los Colossus posteriores aún se mantienen en secreto. Sin embargo, toda la información sobre cómo la maquinaria de computación de Flowers fue utilizada para romper códigos no se pudo publicar. Las autoridades británicas dijeron a Flowers que 'la descripción técnica de las máquinas como el Colossus' se podía dar a conocer, pero no podía revelar ninguna información sobre 'las funciones que realizaron'. También se le permitió describir algunos aspectos de Tunny, pero había una prohibición general sobre decir nada en relación con 'las debilidades que nos llevaron al éxito'. De hecho, un censor clandestino objetó algunas partes del informe que Flowers escribió, al que se le ordenó que las retirara antes de la publicación.

Estos asuntos quedaron ocultos hasta 1996, cuando el Gobierno estadounidense desclasificó unos documentos de la época de guerra que describían las funciones de la máquina. Estos habían sido enviados a Washington durante la guerra por parte de oficiales estadounidenses estacionados en Bletchley Park. Sin embargo, el documento más importante permaneció clasificado: el Informe General de 500 páginas sobre Tunny escrito en Bletchley Park por Jack Good, Donald Michie y Geoffrey Timms. Gracias sobre todo a las campañas sin descanso de Michie, el informe fue desclasificado por el Gobierno británico en junio del año 2000, terminando de una vez por todas con los secretos.

## El Colossus y el ordenador moderno

Actualmente, la manera de hacer que un ordenador cumpla la función que el usuario que lo utiliza quiere que lleve a cabo es abriendo el programa apropiado de la memoria del ordenador. Pero no fue siempre tan simple. El Colossus no guardaba programas en su memoria. Así pues, para preparar el Colossus para otra tarea, era necesario modificar a mano algunos de los cableados de la máquina, utilizando enchufes e interruptores. El Colossus, el ENIAC y similares se denominan ordenadores de control de programas, para diferenciarlos de los modernos ordenadores archivadores de programas.

El principio básico del ordenador moderno, que es controlar las operaciones de la máquina a través de un programa con instrucciones mediante un código archivado dentro de la memoria del ordenador, fue pensado por Turing en 1936. En el momento, Turing era un estudiante tímido y excéntrico de la Universidad de Cambridge. Su 'máquina computadora universal', como él la llamaba, poco después fue conocida simplemente por el nombre de máquina universal. Turing pensó en una máquina abstracta de computación digital que pudiera computar 'todos los números que pudieran ser considerados naturalmente como calculables'.

La máquina universal de Turing consistía en una memoria ilimitada en la que tanto los datos como las instrucciones se pudieran guardar en una forma encriptada simbólica y un escáner que se movía de un lado a otro de la memoria, símbolo por símbolo, leyendo todo lo que encontrase y escribiendo símbolos adicionales. Introduciendo los diferentes programas en la memoria, la máquina podría lograr solucionar cualquier tarea algorítmica. Por eso mismo Turing la llamó máquina universal.

La innovadora idea de Turing era solo eso: una única máquina de estructura fija que, utilizando instrucciones codificadas y guardadas en su memoria, se pudiera cambiar a sí misma, como un camaleón, de una máquina dedicada a hacer una tarea concreta a otra máquina dedicada a hacer otra tarea completamente diferente -por ejemplo, de calculadora en procesador de texto. Hoy en día, cuando prácticamente todo el mundo cuenta con un modelo de la realización física de la máquina universal de Turing en su casa, la idea de una máquina computadora que solo puede llevar a cabo una acción específica puede parecer muy obsoleta, pero en 1936, cuando los ingenieros pensaban en términos de construcción de máquinas diferentes para propósitos diferentes, el concepto de un ordenador universal con programas archivados era revolucionario.

En 1936, la máquina universal de Turing existía solo como una idea. Ya desde el principio, Turing estaba interesado en la posibilidad de construir la máquina, al igual que Newman, pero antes de la guerra no conocían ninguna manera práctica de construir un ordenador con programas archivados. No fue hasta la llegada del Colossus que el sueño de construirla se hizo cada vez más posible. Flowers había afirmado decisivamente que la maquinaria de computación electrónica de gran escala era practicable, y poco después del final de la guerra, Turing y Newman se embarcaron separadamente en proyectos para crear la máquina universal de Turing físicamente.

Incluso en medio del ataque a Tunny, Newman estaba pensando en la máquina universal de Turing. Enseñó a Flowers el documento de Turing de 1936 sobre la máquina universal, 'On Computable Numbers', con su idea clave de almacenar simbólicamente las instrucciones cifradas en la memoria, pero Flowers, al no ser un experto en lógica matemática, no acabó de entenderlo. Hay una pequeña duda de si hacia el año 1944 Newman ya se había decidido firmemente a probar a construir la máquina universal de Turing utilizando tecnología electrónica. En febrero de 1946, unos meses después de su designación en la Universidad de Mánchester, Newman escribió al matemático americano-húngaro von Neumann, que también fue fuertemente influenciado por el documento de Turing en 1936 y que tenía un papel crucial en los desarrollos post-ENIAC que se estaban llevando a cabo en Estados Unidos:

   "Estoy...esperando embarcarme en una sección de máquinas computadoras aquí, habiendo estado muy interesado en aparatos electrónicos de este tipo durante los últimos dos o tres años. Hace 18 meses aproximadamente decidí intentar construir una unidad de máquina cuando saliera...Estoy evidentemente en contacto con Turing ".

La implicación del equipamiento electrónico de Flowers también fue obvia para Turing. Flowers dijo que una vez el Colossus estuviera en funcionamiento, solo era cuestión de esperar para ver qué oportunidad se podía presentar para poner la idea de la máquina universal en práctica. Hacia finales de la guerra, Turing se había formado a sí mismo sobre ingeniería electrónica. Su oportunidad llegó en 1945, cuando John Womersley, jefe de la división de matemáticos del National Physical Laboratory en Londres, lo invitó a diseñar y desarrollar un ordenador digital electrónico con programas almacenados. El informe técnico de Turing 'Proposed Electronic Calculator', datado de finales de 1945 y que contenía su diseño para la ACE, Automatic Computing Machine, su máquina universal, fue la primera especificación relativamente completa de un ordenador digital electrónico con programas almacenados. Harry Huskey, el ingeniero electrónico que se encargó de dibujar los primeros diseños de la maquinaria detallada para el EDVAC, dijo que 'la información que había en First Draft no fue da ninguna ayuda'. Turing, en cambio, suministró diseños detallados de los circuitos, especificaciones completas de las unidades de maquinaria, programas muestra en código de la máquina, e incluso una estimación del coste de la construcción de la máquina.

Turing pidió a Flowers construir la ACE, y en marzo de 1946 Flowers dijo que una ACE mínima estaría lista hacia agosto o septiembre de aquel mismo año. Desafortunadamente, Dollis Hill estaba abrumado por unos retrasos de trabajo urgente en el sistema de teléfonos nacional, lo cual causó que Flowers no pudiera mantener su horario fijo. Finalmente fue el equipo de Newman el que, en junio de 1948, ganó la carrera de construir el primer ordenador con programas almacenados. El primer programa fue insertado de manera manual, dígito a dígito, utilizando un panel de interruptores. Las noticias de que la máquina de Mánchester había funcionado con un pequeño programa de solo 17 instrucciones fue 'recibida con hilaridad' por el equipo de Turing, que trabajaba en un modelo de la ACE mucho más sofisticado .

Un modelo piloto del ACE hizo funcionar su primer programa en mayo de 1950. Con una velocidad de operación de 1MHz, aquel modelo piloto fue durante un tiempo el ordenador más rápido del mundo. Este fue la base para los exitosos ordenadores DEUCE, que se convirtieron en una base fundamental para la naciente industria británica de ordenadores.

## Reconstrucción

Una réplica del Colossus Mark 2 se comenzó a construir por un equipo liderado por Tony Sale. Una reconstrucción puede verse en el Museo de Bletchley Park en Milton Keynes, Buckinghamshire.

