tiistai 24. marraskuuta 2015

Enigman "ehdottomasta ei-murtamattomuudesta"

Enigma -laite Lontoon Science museumissa.
Enigmalla on hyvin legendaarinen maine. Esimerkiksi Alan Turingin elämään liitetty "Imitation Game" kuvaa sitä ikään kuin voittamattomana mahtipontisena urakkana. Eli ajatuksena oli se, että Enigma olisi laitteena vähän kuin Natsi-Saksan vertauskuva ; Jokin joka on suuri, mahtava ja joka näyttää voittamattomalta. Mutta joka sitten ovelan ja superälykkään Turingin ja hänen kryptografiryhmänsä avulla voittivat kaikkia todennäköisyyksiä vastaan.

Kuitenkin tosiasiassa "Enigma" ei ollut mikään voittamaton suojaus. Ja luultavasti juuri sen vuoksi sen purkamiseen onkin panostettu. Turing on, toisin kuin elokuvassa annetaan ymmärtää, todennäköisesti ollut konsulttina armeijalle jo aiemmin. Ja kuten monet ehkä tietävät, Britannian talous oli toisen maailmansodan aikana hyvin tiukoilla. Varoja on saatu nimenomaan mahdollisiin projekteihin. Ja mahdollinen oli se, joka kuvasi Enigmaa hyvinkin vahvasti. Turing ei tavoitellut mahdottomia, vaan mahdollisia. (Tästä ei toki synny yhtä hauskaa elokuvaa.)

Enigmalla oli muita puolia.

Ensinnäkin se oli laite ja koneet ovat teknologiaa. Tämä oli tarpeen sillä sotilaista kaikilla ei ole matemaatikon tutkintoa. Enigma on itse asiassa kohtuullisen hyvä salaaja. se on ollut sopiva jo aikanaan siihen tarkoitukseen, että estetään yleinen tietojen vuotaminen mutta joka ei torju vakavia ja mahtipontisia yrityksiä, joka tarkoittaa sitä että Saksalla tuskin oli hirveitä harhakäsityksiä Enigman voittamattomuudesta. Se on siis "riittävän hyvä". Ja ennen kaikkea laite on jopa nykystandardeilla käytettävyydeltään hyvä. Se on niin helppokäyttöinen että sitä ei tarvitse edes kurssittaa. (Painat nappulaa ja valo syttyy, kirjaat ylös kirjaimen jossa valo syttyy. Painat seuraavaa nappulaa, valo syttyy .. jatka kunnes viesti on lopussa.) Jos osaa käyttää kirjoituskonetta osaa käyttää Enigmaa. Näin ollen saatiin laajalle leviävä salaus jota voidaan kantaa mukana ja jota kaikki voivat käyttää. Enigma oli myös toimintavarma. Itse asiassa monet sodanaikaiset Enigma -laitteet toimivat täysin ongelmattomasti nykypäivänäkin. Tämä on tärkeää kun puhutaan laiteesta jota käytetään laajasti sota-aikana.

Enigmalla oli tosin vähälle huomiolle jäänyt heikkouskin. Tämä liittyy siihen miksi suurisuuntaiset salaliittoteoriat eivät ole uskottavia : Salaliitot vuotavat sitä todennäköisemmin mitä useampia jäseniä niissä on. Enigma -laitetta ja siihen liittyviä vihkosia ja muita aineistoja joista selviää mitkä asetukset laitteeseen piti kunakin päivänä asettaa levisi useita kappaleita. Ja tosiasiassa tässä kohden Enigman helpoin turvallisuusaukko on siinä että jos saa haltuunsa edes yhden tälläisen, voidaan sitten vain säätää omakin laite näille asetuksille ja purkaa viestejä niin kauan kuin tätä vihkoa riittää. Tämäkin korostaa sitä että Saksa oli tuskin hirveän voittamattomuusluuloissa Enigman kanssa. Se oli enemmän kompromissi. Se oli riittävän hyvä ja riittävän käytettävä. ; Kohtuu vahvasti salatulla menetelmällä voidaan periaatteessa lähettää salaisia viestejä julkisesti, vaikka radiolla. Joka säästää esimerkiksi rahaa.

Hieman tarkemmin itse laitteesta ja sen salaisuuden purkamisesta.

Saksa uskoi että sillä oli Enigmassa hyvin laadukas salausjärjestelmä. Syynä on se, että se oli tehokas kun sitä arvioitiin perinteisiin kynällä ja paperilla tehtyyn salaukseen. Enigmassa oli ominaispiirteenä se, että jos kryptatussa viestissä oli kahdessa kohdassa sama kirjain, se ei tarkoittanut että alkuperäisessä viestissä nämä olisivat sama kirjain. Toisaalta jos painat peräkkäin samaa kirjainta, Enigma kryptaa ne niin että ne ovat eri kirjaimia. Tämä oli sen verran tehokasta että se esti monia helppoja salaviestinkääntömenetelmiä. Enigma oli siis tältä katsoen hyvin laadukas laite. (En hyökkää sen laatua vastaan, en vain oikein jaksa uskoa että Saksalaiset olisivat uskoneet sen olevan voittamaton laite. Tai brititkään, sen puoleen.)

Enigma toimi siten että siinä oli roottorit. Niitä oli useita peräkkäin. Jokaisen kerran kun painaa nappia, roottorin reunimmainen siirtyy mekaanisesti askeleen eteenpäin. Ja kun tämä on kiertänyt, siirtyy seuraava roottori askeleen eteenpäin ja niin edespäin. Jokainen roottorin osanen vaikuttaa siihen miksi painettu kirjain muuttuu. Joten näiden roottorien asennon täsmällinen tietäminen oli tarpeen jotta viestin voi purkaa. Periaatteessa aivan karkeimmillaan laitteen sisällä on lamppuja jotka päätyvät patteriin ja virtapiiriin. Ja roottorien sisällä oli "johtospagetti" jotka johtivat siihen että eri virtapiiri sulkeutui kun roottori on eri asennossa.

Tätä toki mutkistettiin johtoasetuksilla joissa yhdistettiin yhdellä johdolla kaksi kirjainta. Tämä muutti viestiä vielä hieman. Johtoja voitiin käyttää eri lukumääriä, ja niiden ainoana rajoitteena oli se, että jokaista kirjainta edusti yksi reikä, yhdessä johdossa on kaksi päätä ja samaan reikään ei saa menemään kahta johtoa.

Näin ollen kun painaa kirjainta, ensin "virta menee" tähän plugistoon jossa eri kirjaimia on yhdistetty toisiin kirjaimiin. Sen jälkeen se menee roottorille 1, 2, 3.. jonka jälkeen se palasi takaisin ...3,2,1. Jonka jälkeen se meni plugiston läpi vielä kerran ja tämä ratkaisi mikä virtapiiri sulkeutui.

Enigma -laitteessa on kuitenkin yksi virhe, joka on siitä kiinnostava että se ei vaikuta maallikosta omituiselta. Mutta jo aivan perustason kryptografiaosaaminen kertoo välittömästi että siinä on puute johon tarttua. Enigma oli hieno koska se tuottaa samalla nappulalla eri kirjaimen. Se oli kuitenkin heikko koska kirjain ei koskaan ole sama kuin mikä on painettu. Eli jos painat A:ta se voi olla mikä muu tahansa kirjain kuin A. Tämä johtaa siihen, että jos on tiedossa sanoja tai sanontoja joita viesteissä esiintyy, voidaan tätä kautta purkaa sen päivän koodi.

Tässä merkitykselliseksi päätyikin saksalainen järjestelmällisyys. Kun joka päivä kello 6.00. lähetettiin standardoitu sääraportti Enigma -koodattuna, tarvitsi viestistä etsiä sanaa "WETTERBERICHT". Samoin jos etsi viestien loppupuolelta ajatusta "HEIL HITLER" saatiin pätkä johon verrata. Iloisinta tässä asiassa on tietenkin se, että Enigman heikkouden vuoksi ei tarvinnut kuin laittaa merkkijono sen käännössanaa vastaan. Ja jos jossain kohden viestiä on sama kirjain kuin tuossa odotettavassa sanassa, niin tätä sanaa ei ole tässä kyseisessä kohdassa. Siirtelemällä saadaan merkkijono joka ei osu yhdenkään kirjaimen kohdalla. Ja tämä on se oikea kohta. (Temppuna on se, että kun merkkijono on kohtuu pitkä, se itse asiassa säätää mahdollisuuksia yllättävänkin paljon. Yksikään kirjain ei saa osua samaan kohtaan on melko tiukka vaatimus jos merkkijonot venyvät.)

Kun tuo kohta on löydetty, voitiin aloittaa itse asetusten purkaminen. Turing ja Gordon Welchman tekivät tästä purkamisesta mekaanista. "Bombe machine" kykeni ratkomaan tuollaisen pulman 20 minuutissa. (Mikä kertookin että miten "voittamaton" salaus todella oli.) Tämä tehtiin melko nokkelalla tavalla. Sillä Turing keksi miten eri kytkentävaihtoehtoja saataisiin eliminoitua isoina joukkoina. Kaikkia vaihtoehtoja ei tarvinnut kokeilla erikseen ja verrata että synnyttääkö se tuosta annetusta syötteestä (kuten sääraportista tai HH -tervehdyksestä) sen merkkijonon joka oli tarjottu salaviestissä. (Tämän jälkeen tarvitsikin vain tietää viestin pituus. Joka oli julkista tietoa koska ne morsekoodilla lähetetyt radioviestit oli tietenkin kaapattu alusta lähtien.)

Turingin periaate perustui siihen että viestiä ei purettu suoraan, vaan eliminoitiin mahdottomia vaihtoehtoja tekemällä arvaus. Jos esimerkiksi arvattiin että laitteessa oli A oli kytkettynä B:hen. Ja jotta saataisiin oikea lopputulos koneen pyöräyttämisen jälkeen, olisi jonkin toisen kytkennän pakko tapahtua. Esimerkiksi D olisi kytkettynä O:hon. Joskus näissä tuli ristiriitaisuuksia, jolloin esimerkiksi O:n pitäisi olla kytkettynä A:han. Jota se ei voi olla koska A oli oletettu kytkettäväksi B:hen. Ja jos näin oli, niin tiedettiin että arvaus oli väärä. Ja lisäksi tiedettiin että O ei voi olla kytkettynä A:han. Eikä D O:hon. Tai mitä vaihtoehtoja tähän asti oli sitten käytykään. Kytkentöjen muuttumattomuus ja johdon kaksipäisyys ja se, että enigma ei koskaan tarjonnut samaa kirjainta viestiin ja kryptattuun viestiin eliminoivat isoja kasoja kytkentämahdollisuuksia. Ja jäljelle jäi lukumäärältään nopeasti maltillistuva määrä mahdollisia vaihtoehtoja. Joista oikea oli mahdollista hakea. (Ja testata muilla sen päivän kaapatuilla viesteillä. Jos ne avautuvat saksan kielelle, tiedettiin että oikeat säädöt oli kytkettynä.)

Ei kommentteja: