Colossus: diferència entre les revisions

Contingut suprimit Contingut afegit
m neteja i estandardització de codi
m neteja i estandardització de codi
Línia 11:
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 criptoanalista 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 de temps 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 [[Bletchley Park|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]].
Línia 27:
El '''[[Newmanry]]''' va ser atès pels criptoanalistes, 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 Collossus. 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 realitzar 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ó ==
Línia 55:
 
=== Procés ===
Mitjançant l'ús de diferenciació i sabent que les rodes psi no van avançar amb tots els caràcters, Tutte va calcular que tractar només dos seccions diferenciades (impulsos) de la ji al corrent en contra del text xifrat diferenciat produiria una estadística que no seria a l'altzar. Això es va conèixer com a Tutte "Roptura 1 + 2". Es tractava de calcular la següent funció booleana:<blockquote>'''∆Z<sub>1</sub>&nbsp;⊕ ∆Z<sub>2</sub>&nbsp;⊕ ∆<sub>1</sub>&nbsp;⊕ ∆<sub>2</sub>&nbsp;=&nbsp;•'''</blockquote>i comptant el nombre de vegades que s'ha produït "fals" (zero). Si aquest nombre excedeix un valor llindar per defecte conegut com el "total d'ajust", s'imprimeix. El criptoanalista examinaria la còpia impresa per determinar quina de les posicions d'inici putatiu era més probable que sigui el correcte per als txi-txi-1 i 2 rodes.
 
Aquesta tècnica podria llavors ser aplicada a altres parells de, o individuals, impulsos per determinar la posició d'inici probable dels cinc rodes txi. A partir d'aquest, el de-txi (D) d'un text xifrat es podria obtenir, de la qual el component psi podria ser eliminat per mètodes manuals. [25] Si la distribució de freqüències dels personatges en la versió de la ji del text xifrat estava dins de certs límits, es va considerar "configuració de la roda" de les rodes txi que s'ha aconseguit, i el missatge ajustos i de-txi es va passar a la "Testery". Aquesta va ser la secció en Bletchley Park dirigit pel Major [[Ralph Tester]], on la major part de la feina desxifrar fet per mètodes manuals i lingüístiques.
 
Colossus també podria derivar la posició d'inici de les rodes psi i motors, però això no s'ha fet molt fins als últims mesos de la guerra, quan hi havia un munt de Colossus disponibles i el nombre de missatges ''Tunny'' havia disminuït.
{| class="wikitable"
|+Notació