Colossus fou una col·lecció d'ordinadors desenvolupada per cripto-analistes britànics des de 1943 fins a 1945 amb l'objectiu d'ajudar en la criptoanàlisi del codi Lorenz. El Colossus feia servir vàlvules termoiòniques per resoldre l'àlgebra de Boole i operacions de càlcul. Colossus va ser d'aquesta manera considerat el primer ordinador programable, electrònic i digital, tot i que va ser programat per mitjà d'interruptors i clavilles i no per un per un ordinador de programa emmagatzemat.
Colossus va ser dissenyat per l'enginyer i investigador de telecomunicacions Tommy Flowers per tal de resoldre el problema plantejat pel matemàtic Max Newman al Government Code and Cypher School (GC&CS) del Bletchley Park. L'ús de la probabilitat d'Alan Turing a la criptoanàlisi va contribuir al seu disseny. De vegades ha sigut declarat erròniament que Turing va dissenyar el Colossus amb l'objectiu de facilitar la criptoanàlisi de l'Enigma. La màquina de Turing que va ajudar a descodificar l'Enigma, va ser el Bombe electromagnètic, no el Colossus.
El prototip, Colossus Mark 1, va ser presentat per estar en funcionament al desembre de 1943 i vas ser operacional el 5 de febrer de 1944. En una versió millorada, el Colossus Mark 2, que feia servir registres de desplaçament per quintiplicar la velocitat de processament, va estar en funcionament per primera vegada el dia 1 de juny de 1944, just a temps pel Desembarcament de Normandia. Deu Colossus van estar en funcionament cap al final de la guerra i un onzè va ser encarregat. L'ús d'aquestes màquines empleat pel Bletchley Park va permetre als països aliats de la Segona Guerra Mundial obtenir prou quantitat d'informació de la intel·ligència militar d'alt nivell mitjançant la intercepció de missatges radiotelegrafiats entre l'Oberkommando der Wehrmacht (OWK) i els seus comandants de l'exèrcit situats arreu de l'Europa envaïda.
La destrucció de les màquines Colossus i els seus documents, com a part de l'esforç per guardar el secret del projecte que es va mantenir durant la dècada de 1970, va privar a molts dels involucrats en el Colossus del crèdit per l'avenç pioner en computació electrònica digital al llarg de la seva vida. Una rèplica en funcionament de l'ordinador Colossus va ser completada l'any 2007 i es troba exposada en exhibició al National Museum of Computing del parc Bletchley.
Propòsit i orígens La màquina de Lorenz fou utilitzada pels alemanys per xifrar teletips de les comunicacions d'alt nivell. Contenia 12 rodes amb un total de 501 dents. Per xifrar un missatge amb la màquina de Lorenz, el text pla es combinava amb un flux de BITs clau, en grups de cinc. El flux clau es generava utilitzant les 12 rodes: cinc van ser classificades (pels britànics) com a rodes χ («X»), unes altres cinc com a ψ («Ψ»), i les dues restants com a «rodes motores». Les rodes χ rotaven regularment amb cada lletra que es xifrava, mentre que les rodes ψ rotaven irregularment, controlades per les dues motores.
Bill Tutte, un cripto-analista de Bletchley Park, va descobrir que els fluxos de claus produïts per la màquina mostraven una predisposició a una desviació estadística de l'aleatori, i que aquelles predisposicions podien ser utilitzades per trencar el xifratge i llegir els missatges. Per poder llegir-los, hi havia dues feines a fer: la primera era trencar les rodes (wheel breaking), que consistia a descobrir els patrons de les dents per a totes les rodes. Aquests patrons s'establien una vegada en la màquina de Lorenz i després s'utilitzaven durant un període establert i per un nombre de missatges diferents. La segona feina consistia a establir les rodes (wheel setting), cosa que podia fer-se un cop es coneixien els patrons de les dents. Cada missatge xifrat utilitzat per la màquina de Lorenz es codificava amb una posició inicial de les rodes diferent. El procés d'establir les rodes trobava la posició inicial de les rodes amb un missatge donat. Inicialment, Colossus es va utilitzar per a descobrir la posició inicial de les rodes, però després es va demostrar que la màquina podia ser adaptada també per al procés de trencar les rodes.
Colossus era operat en Newmanry, la secció de Bletchely Park responsable dels mètodes mecànics contra la màquina de Lorenz, liderada pel matemàtic Max Newman.
Colossus es va desenvolupar degut a un projecte anterior que va produir una màquina comparadora opto-mecànica anomenada «Heath Robinson». El problema més gran de la màquina Robinson era la sincronització de dues cintes perforades, una perforada amb el missatge xifrat i l'altra representava els patrons produïts per les rodes de la màquina de Lorenz, però quan s'havia de llegir a una velocitat més alta que 1000 caràcters per segon, donava com a resultat una infinitat de càlculs. Colossus va solucionar el problema gràcies a la reproducció electrònicament d'una de les cintes. L'altra cinta es podia introduir a Colossus a major velocitat i podia ser comptada amb molta més fiabilitat.
Aparentment es van destruir vuit de les deu màquines Colossus de Bletchley Park el 1946, per ordre directa de Winston Churchill. Una més va sobreviure fins als anys cinquanta, i l'última fou desmantellada el 1960 quan tots els diagrames dels seus circuits i dels seus plans foren cremats. Se sap que diversos científics nord-americans van veure funcionar el Colossus en visites secretes a Bletchley Park després de la guerra, però el govern britànic va vetar tota la informació sobre la màquina durant trenta anys. Les raons no van ser només militars, sinó també polítiques, ja que se sap que va haver-hi almenys un bombardeig alemany a una ciutat anglesa que es podia haver evitat gràcies a Colossus, però que es va deixar efectuar per protegir un dels secrets més ben guardats de la Segona Guerra Mundial.
Disseny i construcció El Colossus va ser desenvolupat pel "newmanry", la secció encapçalada pel matemàtic Max Newman. El disseny Colossus va sorgir d'un projecte anterior que produeix una màquina de comptar anomenada "Heath Robinson". Els principals problemes amb Heath Robinson eren la lentitud relativa de les parts electromecàniques i la dificultat de sincronitzar dues cintes de paper, una perforada amb el missatge xifrat, i l'altra que representa el flux de clau de la màquina de Lorenz. Aquelles cintes tendien a estirar-se quan s'estaven llegint, a uns 2000 caràcters per segon, el que resultava poc fiable.
Tommy Flowers va ser un enginyer elèctric i cap del grup de commutació a l'Estació d'Investigació de l'oficina de correus en Dollis Hill, que havia estat nomenat MBE el juny de 1943. Abans del seu treball en el Colossus, havia estat involucrat amb GC & CS en Bletchley Park des del febrer de 1941 en un intent de millorar la Bombe que es va utilitzar en la cripto-anàlisi de la màquina alemanya de xifrat Enigma. Alan Turing, que havia estat impressionat pel seu treball en la Bombe, va recomanar a Max Newman en treballar en el Colossus.
Operació El Newmanry va ser atès pels cripto-analistes, els operadors de Servei Reial Naval de la Dona (WRNS) - conegut com a "Wrens" - i enginyers que estaven permanentment a la seva disposició per reparar el Colossus. El primer treball en l'operació del Colossus per a un missatge nou era preparar el llaç de cinta de paper. Això realitzava pels operadors Wren que connectaven els dos extrems junts utilitzant Bostic, assegurant-se que no hi havia una longitud 150 caràcter de cinta en blanc entre el final i l'inici del missatge. Amb un punxó especial per a les mans que s'inserien, es realitzava un orifici entre els canals tercer i quart al final de la secció en blanc, i un orifici d'atur entre els canals quart i cinquè al final dels caràcters del missatge. Aquests eren llegits per fotocèl·lules especialment posicionades i s'indicaven al processador quan el missatge estava a punt de començat i quan acabava. Llavors, l'operador roscava la cinta de paper a través de la porta, i al voltant de les politges de la carcassa de llit s'ajustava la tensió. El disseny de la carcassa de llit de dues cintes havia estat portada a terme a partir de Heath Robinson perquè una cinta podia carregar mentre que l'anterior s'executava. Un interruptor en el panell de selecció especificava si estava "a prop" o "lluny" la cinta.
Després de fer diverses tasques de reposició i posada a zero, l'operador Wren fixaria els 12 patrons de roda que havien estat determinats pel procés de trencament de la roda i les posicions d'inici per a l'execució actual. Llavors, sota la isntrucció del criptoanalista, que operaria els interruptors dècada "totals presentats" i els interruptors i clavilles per aconseguir l'algoritme desitjat.
Programació Howard Campaign, matemàtic i criptoanalista de l'OP-20-G de la Marina dels Estats Units va escriure el següent en un pròleg a Flowers'1983 paper "The Design of Colossus".El meu punt de vista del Colossus va ser la del criptoanalista-programador. Li vaig ordenar a la màquina que fes certs càlculs i recomptes, i després d'estudiar els resultats, li vaig dir que fes un altre treball. No recordava el resultat anterir, ni podria haver actuat sobre ell si hagés estat capacitada. El Colossus i jo ens alternàvem en una interacció que de vegades aconseguia una anàlisi d'un sistema de xifrat alemany inusual, anomenat "Geheimschreiber" i "Fish" per als criptoanalistes.El Colossus no era un ordinador de programa emmagatzemat. Les dades d'entrada per als cinc processadors paral·lels es llegien de la cinta de paper en missatge en bucle i els generadors de patrons electrònics per a les rodes "chi", la ISP i del motor. El programes per als processadors s'establien i es mantenien en els interruptors i connexions del panell connector. Cada processador podria avaluar en funció de Boole, comptar i mostrar el nombre de vegades que s'obtenia el valor especificat de "fals" (0) o "vertader" (1) per a cada passada de la cinta de missatge.
D'entrada als processadors de dues fonts, s'introduïen els registres de desplaçament de la cinta de lectura i els anells thyraton que emulaven les rodes de la màquina "Tunny". Els caràcters de la cinta de paper s'anomenaven Z i els caràcters de l'emulador "Tunny" feien referència a les lletres gregues que Bill Tutte havia donat quan treballava fora de l'estructura lògica de la màquina. Al tauler de selecció, els interruptors especificats bé Z o bé ΔZ; o Δ o bé Δ es passaven les dades a la presa i el camp "Panell Q". Aquests senyals dels simuladors de roda podrien ser especificats.
El panell Q tenia un grup d'interruptors a la banda esquerra per especificar l'algoritme. Els interruptors en el costat dret seleccionaven el taulell on s'omplia el resultat. El panell de connexions permetia condicions menys especialitzades que havien d'imposar-se. En general, els interruptors del panell Q i el panell de connexions permetia unes cinc mil milions de combinacions diferents de les variables seleccionades.
A tall d'exemple: un conjunt de carreres per una cinta de missatge podria implicar inicialment dues rodes tx, com en l'algoritme 1 + 2 de Tutte. Tal execució de dues rodes s'anomenava "a llarg termini", tenint una mitjana de vuit minuts llevat que el paral·lelisme es va utilitzar per reduir el temps per un factor de cinc. Les execucions posteriors només es podien portar a terme a l'establiment d'una roda txi, donant un curt termini tenint aproximandament dos minuts. Inicialment, després de la llarga carrera inicial, l'elecció del següent algoritme per ser jutjat era especificat pel criptoanalista. L'experiència ha demostrat, però, que els arbres de decisió per a aquest procés iteratiu es podrien produir per l'ús dels operadors Wren en una proporció de casos.
Procés de desxiframent miniatura|La màquina Lorenz SZ40, Tunny.