Šifreerimismasinad
Sissejuhatus
Üldiselt krüpteerimisest. Mis see on? Krüpteerimine on tegevus, mille käigus informatsiooni või sõnumeid muudetakse loetamatuks, et nende sisu oleks mõistetav vaid kindlale vastuvõtjale ja varjatud kõigi asjasse mittepuutuvate osapoolte eest. Et salastatud sisu edastamine oleks edukas, on tarvis ka, et vastuvõtja suudaks sõnumi dekrüpteerida. Võimalusi krüpteerimiseks on mitmeid, näiteks peites salajane sõnum mingi teise teksti sisse, muutes tähtede järjekorda sõnumis, asendades tähti mingi kindla võtme abil jne. Põhjuseid informatsiooni krüpteerimiseks võib olla samuti mitmeid – sõjalistel eesmärkidel, varjates näiteks enda üksuste asukohti ja suurusi; äriliste saladuste kaitsmiseks, näiteks siidi tootmine Hiinas, tänapäeval ka erinevate arvutisüsteemide, isikuandmete jms kaitseks ehk turvalisus küberkuritegude vastu.[1]
Ajalugu
Vana-Egiptus
Esimesed ilmingud tekstide krüpteerimisest tulevad Vana-Egiptusest, kust sai krüpteerimine alguse peaaegu 4000 aastat tagasi. Krüpteeringud olid toona võrdlemisi lihtsad ja seisnesid hieroglüüfide osalise asendamisega tekstides ning seetõttu oli üsna lihtne antud tekste ka asjasse mittepuutuvatel isikutel dekrüpteerida ja sõnumi sisu välja lugeda. [2]
Kreeka
5. sajandil eKr kasutati Kreekas, täpsemalt Spartas krüpteerimismeetodit nimega scytale. Scytale kujutab endast kindlate mõõtmetega silindritaoliste objektide, keppide kasutust, mille ümber mässiti kitsas naha- või papüüruseriba, millele olid omakorda kirjutatud pealtnäha suvalises järjestuses tähed. Eelduseks oli, et mõlemal osapoolel olid samade mõõtmetega silindrikujulised kepid, mille abil sõnumisaatja sai teksti valmis kirjutada ja vastuvõtja seda lugeda. Silindrikujulist abivahendit salajase sõnumiga muidugi kaasa ei saadetud.[2] [3]
Rooma keisririik ja Julius Caesar
Esimene krüpteerimismeetod, mida kasutati sõjalistel eesmärkidel oli Caesari šiffer või Caesari nihe, mille puhul kasutati tähestikku ja võtit, mis määras ära, mitme koha võrra igat sõnumis sisalduvat tähte tähestikus edasi nihutati. Tegemist on väga lihtsa, kuid toona väga efektiivse meetodiga, arvestades asjaolu, et väga vähesed inimesed suutsid lugeda, veel vähem siis mõista krüpteeritud sõnumeid. Caesar kasutas antud meetodit, et vahetada salastatud informatsiooni oma vägedega sõdade keskmes. https://www.giac.org/paper/gsec/1555/history-encryption/102877 https://www.sans.org/reading-room/whitepapers/vpns/history-encryption-730
20. sajand
Jeffersoni ratasšiffer
Thomas Jefferson töötas 20. sajandi viimasel kümnendil välja 26 kettast koosneva šifreerimissüsteemi, millele sarnaneva süsteemi nimega M-94 töötas välja ja võttis kasutusele ka Ameerika Ühendriikide sõjavägi 1922. aastal. Kettaid oli võimalik süsteemist eemaldada ja nende järjekorda muuta ning ketaste järjestus määraski ära võtme, mida nii saatja kui vastuvõtja pidid teadma, et salastatud informatsioon edukalt osapoolte vahel liiguks. Kui vastuvõtja on kettad õigesse järjestusse paigutanud, pruugib tal vaid kettaid keerata nii, et tekiks eelnevalt kokkulepitud salastatud kiri või lause ning seejärel lugeda teistelt tekkinud ridadelt salastatud sõnumeid. https://maritime.org/tech/csp488.htm https://www.giac.org/paper/gsec/1555/history-encryption/102877
Raadio ja telefonikõnede krüpteerimine
Choctaw indiaanlaste kasutamine Esimeses Maailmasõjas Lisaks kirjalikele šifritele ja šifreerimismasinatele võib tekkida vajadus varjata ka suulisel teel edastatavat informatsiooni, näiteks telefonikõnede teel edastatavad sõnumid. Esimese Maailmasõja lõpu poole tekkis USA sõjaväel samuti probleem telefonikõnede pealt kuulamisega Saksa luure poolt ning vastupanuks sellele otsustati võtta kasutusele Choctaw indiaanlaste keeruline keel. Salajaste sõnumite edastamiseks kasutati Choctaw indiaanlaste abi, mida Saksa luure ei suutnud dešifreerida ning sellega mõjutati ka oluliselt I MS kulgu. Choctaw indiaanlaste rakendamine Esimeses Maailmasõjas andis ka inspiratsiooni Teises Maailmasõjas kasutatud Navajo indiaanlaste keele kasutamiseks. https://www.giac.org/paper/gsec/1555/history-encryption/102877 Allikad: https://www.sans.org/reading-room/whitepapers/vpns/history-encryption-730 https://www.giac.org/paper/gsec/1555/history-encryption/102877 https://interestingengineering.com/11-cryptographic-methods-that-marked-history-from-the-caesar-cipher-to-enigma-code-and-beyond https://maritime.org/tech/csp488.htm
Saksamaa
Enigma
Varajased Enigma masinad
Aastaks 1918 ehk esimese maailmasõja lõpuks oli sakslasest insener Arthur Scherbius patenteerinud rootoritest koosneva šifreerimismasina konstruktsiooni, pannes sellele nimeks Enigma. Peale patenteerimist üritasid Scherbius ja Ritter, viimasega lõi Scherbius oma firma, šifreerimismasinat hakata müüma Saksa mereväele ning välisministeeriumile, kuid kumbki ei näidanud ülesse suurt huvi masina vastu. Esimest korda nägi Enigma masin päevavalgust alles 1923. aastal.
Esialgne Enigma, mis 1923. aastal tehti, erines märgatavalt sellest, mida kasutas Saksa sõjavägi teise maailmasõja ajal – tegemist oli suure, kohmaka ja raske masinaga, mis oma olemuselt meenutas kirjutusmasinat, kaaludes pea 50 kilogrammi. Esialgselt saigi masinaga trükkida kodeeritud, dekodeeritud ja tavalist teksti otse paberile, kuid Enigma masinat arendati edasi ning loodi uued versioonid, millest kõige olulisem variant on 1926. aastal tehtud Enigma D, mis sarnanes oma ehituse ja tööpõhimõtte poolest kõige rohkem just teise maailmasõja ajal kasutatud Enigma masinatele. Enigma D suurim erinevus võrreldes esialgse nn Handelsmaschine-ga oli tema nn lampidest ja tähtedest koosnev alus, mille tähed süttisid põlema, kui teksti kodeerida ning vastupidi ning vast kõige tähtsam erinevus oli masina kaal, mis vähenes märgatavalt, muutes masina palju paremini kaasaskantavaks.
1926. aastal hakkas Saksa sõjavägi Enigma masina vastu huvi üles näitama. Nad soovisid saada Enigma D variandi peale ehitatud spetsiaalset mudelit, mida hiljem kasutama hakata. 1932. aastaks valmis lõplikult Saksa sõjaväele nende Enigma masin nimega Enigma I ning samuti sai Saksa sõjavägi õigused otsustamaks, kellele masinat müüa ja toota tohib – enam Enigma masinaid kommertsiaalseks kasutuseks niisama müüa ei saanud.
Enigma I ehitus
Enigma I masinal, mida kasutas ennekõike Saksa sõjavägi, oli mitu erinevat komponenti. See masin koosnes kirjutusmasinale sarnasest klaviatuurist, nn pistikplaadist (ingl. k. plugboard), sisendkettast (ingl. k entry wheel), rootoritest, reflektorist, akust/patareidest ja lampidest ja tähtedest koosnevast ekraanist. Pistikplaat asub Enigma masina ees ning koosneb 26 pistikust, millest igaüks on mõeldud ühe tähe jaoks ning on üks olulisimaid muudatusi, mis tehti masinale, kui see muudeti ümber kommertsiaalsest kasutusest sõjaliseks kasutamiseks. Selle põhiline eesmärk on tähtede muutmine teisteks tähtedeks enne ja pärast seda, kui masin neid tähti rootorite abiga krüpteerima hakkab. See annab masinale tugevama krüpteerimisvõimekuse ja -tugevuse. Selleks, et pistikplaati kasutada, peab ühendama kaks tähte omavahel spetsiaalse juhtmega paari – üldjuhul kasutati kümmet tähtede ühendust.
Sisendketas asus masinas enne rootoreid ning selle ülesandeks oli pistikplaadist tulevaid juhtmeid ühendada esimese rootori ühenduskohtadega. Kommertsiaalne Enigma kasutas … (ehk pane juurde midagi siia)
Rootorid on Enigma masina krüpteerimise seisukohalt võtmerolliga. Rootoreid oli valikus 5 tükki, millest vastavakt ettekirjutustele tuli Enigma masinasse panna maaväe puhul 3 rootorit, mereväe puhul 4 rootorit, mis tagas mitmekordse tähe krüpteerimise. Rootorid on ringikujulised kettad, millel igaühel on sees keerukad elektrijuhtmete ühendused, tagamaks, et rootor krüpteeriks mingi antud tähe ära. Rootoritel on mõlemal pool ühenduskohad, mis ühendavad masinas olevad 3 rootorit omavahel. Rootoril on tähestikujärjekorras peal tähed või osadel masinatel arvud, kus 01 vastab täht „A“, 02 vastab täht „B“, 03 vastab täht „C“ jne ning nende abil sai masinat üles seadistada enne kasutama hakkamist. Rootori tähtede asetust elektrijuhtmete suhtes sai muuta.
Reflektor on Enigma masina komponent, mis asub peale 3 rootorit. Selle eesmärgiks on peegeldada läbi rootorite tulnud elektrisignaal tagasi läbi nende rootorite, mille kaudu see signaal reflektorini jõudis. Reflektor ise muudab ka tähte enne tagasi peegeldamist.
Enigma masina tööpõhimõte
Oletame, et raadiooperaator vajutab klaviatuuril tähte „T“. Enigma masinal on klaviatuurist tulnud 26 klahvi ühendatud elektrijuhtmete kaudu pistikplaadiga, mis teeb esmase tähtede segamise, muutes tähti vastavalt pistikplaadil ühendatud tähtedele, ehk kui täht „T“ on ühendatud tähega „K“, siis masin muudabki tähed sellele vastavalt. Seejärel liigub elektrisignaal sisendkettale, millel on ringikujuliselt 26 ühenduskohta, mis seovad sisendketast ja järgnevat rootorit omavahel ning signaal liigub läbi esimese rootori, muutes tähe „K“ täheks „U“. Seejärel liigub signaal veel läbi kahe järgneva rootori, tekitades tähed „P“ ja siis „H“. Järgmisena liigub signaal läbi reflektori, mis omakorda muudab tähe „H“ täheks „D“ ning seejärel liigub elektrisignaal tagasi läbi kolme rootori, muutes tähe „D“ omakorda tähtedeks „F“, „I“, „Y“ kuniks signaal jõuab tagasi pistikplaadini, mis omakorda oma ühenduste kaudu muudab tähe „Y“ täheks „J“ ning seejärel kuvatakse viimane saadud täht lampidest koosnevale ekraanile. Sellise tsükli teeb ühe tähe vajutamine iga kord masinast läbi.
Oluline on, et rootorid pole püsivas asendis, ehk iga klaviatuurinupu vajutusega mingi rootor liigub ühe koha võrra edasi, luues uut sorti ühendusteed rootorite vahel ja seeläbi segades tähti igal korral erinevalt. Parempoolne rootor liigub iga klaviatuuri vajutusega, keskmine rootor liigub siis, kui parempoolne rootor on teinud täisringi endale peale ning vasakpoolne rootor liigub omakorda kui keskmine rootor on teinud täisringi endale peale.
Enigma sõnumite edastamise protseduur
Enigma masin ise ei edastanud ühtegi sõnumit, vaid lihtsalt krüpteeris tekste. Selleks, et Enigma sõnumit saaks edastada, oli vaja kahte operaatorit, kellest üks kasutas masinat ja teine pani masinast tulnud krüpteeritud või dekrüpteeritud sõnumit kirja. Kui Enigma operaatorid olid mingi kindla sõnumi ära krüpteerinud, saadeti see krüpteeritud sõnum morse koodis teisele üksusele, kes seejärel said saadud sõnumit oma Enigma masinaga dekrüpteerima hakata. Sõnumid pandi kirja paberile viietäheliste tähtede jadana, näiteks „MKOXL DFAMU“ jne.
Kõigepealt, et Enigma masinat saaks kasutama hakata, tuli paika panna masina seadistus, kuna selleks, et sõnumivahetus erinevate raadiooperaatorite vahel toimiks, peab olema mõlemal operaatoril Enigma masin samamoodi seadistatud – ainult nii saab Enigma masinast tulnud krüpteeritud teksti dekrüpteerida. Selleks väljastas Saksa sõjavägi igal kuul masina seadistamiseks kasutatavaid koodilehti, millel olid kirjas vajalikud algandmed igaks päevaks, et masin korrektselt üles seadistada. Nendel koodilehtedel oli kirjas kuupäev, rootorite number ja õige järjestus, rootori tähtede asetus, pistikplaadi ühendused ja identifitseerimisgruppide tähed. Koodilehtedel oli päevad asetatud kasvavas järjekorras ülevalt alla, ehk päev 1 oli võige viimane rida. See oli mugavuse pärast, kuna operaator sai paremini kasutatud päeva ära lõigata.
Selleks, et identifitseerida antud päeva algandmeid, pidi operaator valima ja trükkima nõndanimetatud identifitseerimisgrupi. Identifitseerimine oli oluline selleks, et sõnumi saanud operaator saaks kindlaks määrata, mis päeva algandmeid antud sõnumi jaoks kasutati. Identifitseerimisgrupp moodustati nii, et operaator valis kaks suvalist tähte ja ühe neljast ette kirjutatud identifitseerimisgrupi tähtede kombinatsioonist, mis koosnes kolmest tähest, ning kirjutas selle esimeseks tähtede grupiks. Ehk kui identifitseerimisgruppide tähed olid koodilehele kirja pandud „QZE TRF IOU TGB“, siis oleksid sobilikud identifitseerimisgrupid näiteks „ASQZE“ või „TRFVG“. Oluline oli, et krüpteerimisel või dekrüpteerimisel ei tohtinud neid esimesi viite tähte masinasse trükkida, muidu oleks tekst vale tulnud. Sakslastel oli reegel, et enne sõnumi krüpteerimist tuleb igal Enigma masina operaatoril valida oma salajane sõnumi võti ehk masina rootorite algasend ning igal sõnumil pidi olema just talle vastav sõnumi võti. Selleks valis ta suvalised kolm tähte ja suvalise sõnumi võtme. Näiteks valis operaator EHZ ja XWB. Seejärel seadistab operaator masina vastavalt koodilehele ning seab rootorite algasendiks EHZ ning trükib sisse sõnumi koodi, saades krüpteerituna TBS. Operaator seadistab masina oma valitud sõnumi koodi järgi, ehk XWB järgi ning nüüd saab hakata sõnumit krüpteerima. Lõpuks pannakse kirja esialgne algasend EHZ, siis krüpteeritud sõnumi kood TBS, siis viietäheline identifitseerimisgrupp näiteks TVEXS ja seejärel sõnum, mida edastada soovitakse, krüpteerituna.
Enigma masina lahti murdmine
US&A
USA krüptomasinad enne teist maailmasõda
Esimese maailmasõjaga oli raadioside muutnud oluliselt sõjapidamisviisi. Komandöridel tekkis vahetu side oma vägedega strateegiliste plaanide elluviimiseks. Tolleaegne side ei olnud aga turvaline ning sõjajärgselt avastati, et vastane on murdnud nende šifrid suurema vaevata. Sõja käigus selgus, et vananenud manuaalsed šifrimeetodid enam ei tööta ja tekkis tungiv vajadus turvalisema ja kergelt kasutatava seadme järele.
USA-s tegi geniaalse avastuse šifritehnoloogias Edward Hebern (1869 – 1952), kelle ideeks oli kasutada elektriskeeme, mis mehhaniseeriks polüalfabeetilise krüpteerimise. 1917. aastal valmistas ta esimese ühe rootoriga krüpteerimisseadme. 1918-1919 tulid samade ideedega välja kolm leiutajat Euroopas, sealhulgas Arthur Scherbius, kelle arendusest sündis kuulus Enigma. [1]
Ühe rootoriga krüpteerimisseade oli oma krüpteerimisomaduste poolest suhteliselt nõrk, kuid tohutu eelis oli selles, et käsitsi šifreerimine asendus automaatsega, tehnoloogia oli kasutajasõbralik ning välistas suuremas mahus inimtekkelised vead. Hiljem tuli Hebern välja ka 3- ja 5-rootoriliste seadmetega, milles oli oluliselt suurenenud šifri tugevus. Mõned 5-rootorilised seadmed müüdi USA mereväele ja armeele. 1924. aastal paluti USA armee krüptoanalüütiku William F. Friedmani (1891- 1969) abi, et välja selgitada Heberni seadme krüpteeritud sõnumite turvalisus. William F. Friedman murdis edukalt 5-rootorilise Heberni koodimasina, kuid see teadmine vaikiti maha, et vastavat oskust kasutada mistahes sarnase šifrimasina murdmiseks. Kuna Heberni masina 5 rootorit pöörlesid samamoodi nagu masinal Enigma (odomeetri tööle sarnaselt), langes ka hiljem Enigma masin Friedmani koodimurdmise oskuse ohvriks. [2] William F. Frieldmani juhtimise all murdis USA 1940. aastal ka Jaapani krüptoseadme Purple, avalikustades Jaapani sõjasaladusi juba enne, kui USA sisenes teise maailmasõtta.
SIGABA
William F. Friedman mõistis, et turvalisuse parandamiseks tuleks rootormasinas rootorite liikumine muuta vähem ette prognoositavaks. Freidman ja tema meeskond ehitas krüpteerimismasina M-134, mis kasutas viit rootorit, mille liikumise juhuslikkuse määras paberilindile (võtmelindile) kantud aukude ebaregulaarne asetus. Sõnumi dekodeerimiseks pidanuks vastuvõtja jaamal olema samasugune lint. Freidmani assistent Frank Rowlett (1908 – 1998) kahtles juhusliku lindi loomise võimaluse üle ning oli veendunud, et see reaalses stressirohkes olukorras ei toimiks. Paberlindi koopiate valmistamine ja levitamine oli keeruline, neid tuli hoolikalt hoida ja käsitleda, sealjuures linti ei tohtinud kasutada rohkem kui ühe korra. Asendusena haprale paberlindile mõtles Rowlett juhuslike väljundite genereerimiseks välja süsteemi teisest rootorite komplektist, mis juhiks peamiste šifrirootorite liikumist.[2] Esialgu lahendus Freidmanile ei meeldinud, kuid hiljem ta leebus ning 1935. aastal tutvustasid nad seadme ideed ka USA mereväele. Ebatavalises armee ja mereväe koostöös, kus ühel poolel oli olemas geniaalsed ideed ning teisel poolel inseneri teadus ja rahalised vahendid, sündis krüpteerimismasinate lipulaev, mida armee kutsus SIGABA-ks ja merevägi ECM Mark II-ks. [3] Aastal 1941, enne rünnakut Pearl Harborile, olid nii USA mereväel kui armeel kõrgturvalisusega krüptograafiasüsteem olemas ja kasutusel. [4]
SIGABA-l oli kokku 15 rootorit, millest 5 šifrirootorit tegelesid sisendmärkide šifreerimisega samamoodi nagu Enigmas või Heberni masinates. Ülejäänud kümne (st. 5 juhtrootori ja 5 indeksrootori) ülesanne oli genereerida pseudojuhuslik muster, mille tulemusena tekiks šifrirootorite ettearvamatu edasiliikumine. Turvalisuse suurendamiseks seadistati iga päev ringi rootorite algasetused. Igat indeksrootorit sai asetada 10-sse erinevasse fikseeritud positsiooni ning igat juhtrootorit 26-de algpositsiooni. Šifrirootorid ja juhtrootorid olid vahetatavad (eemaldatavad), mis andis seadmele suurema turvalisuse ka füüsiliste rünnakute osas. [2]
Kuigi SIGABA oli väga turvaline, tundsid ameeriklased selles osas muret. Kui nemad suutsid murda nii sakslaste Enigma kui jaapanlaste Purple, võis sama saatus tabada ehk ka SIGABA-t. Uuriti hoolikalt vaenlaste püütud sõnumeid ja küsitleti sõjavange vihjete osas, mis võiks viidata, et USA krüptograafia on kuidagi ohustatud, kuid puuduvad avalikud tõendid, et vastased oleks selles osas mingeid edusamme teinud. SIGABA jäi murdmatuks. [2]
SIGABA suureks miinuseks oli tema suurus ja mehaaniline keerukus, ta polnud kaugeltki nii praktiline kui Enigma, mistõttu tema kasutamine maapealsete lahingoperatsioonide ajal oli raskendatud. Seetõttu leidis SIGABA suuremat kasutust mereväe poolt nii allveelaevades kui lahinglaevades, kus kaal ja suurus ei olnud probleemiks. Taktikalise välisuhtluses kasutati navaho koodi kõnelejaid või vähem turvalisi, samas väiksemaid, kergemaid ja kindlamaid masinaid nagu M-209. Strateegilisemaks suhtlemiseks, mis vajas suuremat turvalisust, kasutati SIGABA-t. [2]
SIGABA-si valmistati kokku umbes 10 000 tükki ning neid kasutati kuni 1959. aastani. USA merevägi loobus nende kasutamisest kui nad olid muutunud liiga aeglaseks, et täita kaasaegsemaid mereside tingimusi. Pärast seda, kui SIGABA asendati uuemate ja kiiremate krüptograafiasüsteemidega, hävitati SIGABA-sid süsteemselt, et kaitsta nende saladusi. Seetõttu on täna alles neist vaid mõned üksikud eksemplarid. [4]
M-209
M-209 autoriks on Boris Hagelin (1892 – 1983), venemaa juurtega rootsi ärimees ja krüptograaf, mitmete šifreerimisseadmete leiutaja. Aastatel 1937-1939 oli Hagelin korduvalt püüdnud oma leiutisi USA-le müüa. W.F.Friedman, olles USA juhtiv krüptoanalüütik, uuris väga põhjalikult kõiki krüptoseadmeid, mis maailmas tollel perioodil leiutatud ja toodetud, et tuvastada nende leiutiste turvalisus ja vajadusel takistada USA armeel nende kasutuselevõtt. [5] Friedmanile meeldis Hagelin (neist said head sõbrad), küll aga mitte tema seadmed ning Hagelin naasis Rootsi oma leiutisi täiustama. Tulemusena sündis C-38, mis oli eelkäijate edasiarendus ja turvalisem versioon. 1940. aastal sõitis Hagelin taas USA-sse eesmärgiga müüa C-38 USA armeele. Friedman andis seadmele hinnangu, et see pole sugugi täiuslik, küll aga rahuldaks vajadused, mida muidu oleks vaevalt suudetud täita. [6]
Hagelin täiustas veel veidi disaini ning müüs C-38 patendiõigused USA valitsusele. USA asus tootma (Smith & Corona tehastes) seadmeid, mida armee tundis M-209 ja merevägi CSP-1500 nime all. USA armee hakkas kasutama M-209 taktikalise šifrivahendina väeosade tasemel ja allpool, SIGABA-t kasutati sõjaväe kõrgemate tasemete üksustes. M-209-st saab USA armee tööhobune. Sõja lõpuks on Smith & Corona ehitatud valmis umbes 140 000 M-209 seadet. See tegi Hagelinist miljonäri. Ta säilitas autoritasuta reprodutseerimisõiguse ja müüs hiljem seadme tsiviilvarianti C-38 nime all. USA-s rakendati M-209-t peamiselt teise maailmasõja ajal, kuid need jäid kasutusse kuni Korea sõja lõpuni. [6]
M-209 oli kerge (umbes 2,7 kg), väike (nagu lõunasöögi karp), kaasaskantav seade šifreerimiseks ja dešifreerimiseks. Masin koosnes ainult mehaanilistest osadest ega vajanud kasutuseks elektrit. Tekst sisestati täht-tähelt. Keerates seadme vasakul oleva rõnga soovitud sisestustähele ja pöörates paremal olevat hooba ühe täispöörde võrra, printis seade krüpteeritud väljundtähe kitsale paberribale. Tähed grupeeriti omakorda viietäheliste rühmadena tekstiks. Krüpteeritud tekst edastati raadioside operaatorile, kes morse koodi või telegraaf vahendusel teate edastas. Mõnikord volditi paberriba kokku väiksesse kapslisse, mis edastamiseks kinnitati tuvi jala külge. [6]
Kuna M-209-ga sama algoritmi rakendvad Hagelin seadmed olid kaubanduslikult müüa, ei olnud need põhimõtted ka vastastele teadmata. M-209 algoritm rakendas polüalfabeetilist asendusšifrit, st kasutati iga tähe asenduse jaoks erinevat tabelit, mis sündis masina sissehitatud tihvtirataste ja trumli koostööst. Koostöö nende vahel, aga määrasid eelseadistatud võtmeelemendid. Sisemise võtme moodustasid tihvtirataste tihvtide ja trumli kõrvade asetused. Seda sätet muudeti igapäevaselt vastavalt šifrivõtmete loendile, mis igale divisjonile oli kuupäevaselt ette kirjutatud. Välimine võti koosnes kuuest juhuslikult rivistatud tähest võtmeratastel ning iga sõnumi jaoks tuli valida uus kombinatsioon. [7] Seega võis vastane teada seadme krüptograafilist algoritmi, kuid teate dešifreerimiseks pidi välja selgitama tihvtide, trumli kõrvade ja stardiratta algseaded. Seda oli raske teha, kuid mitte võimatu…
M-209 krüptograafiline tugevus oli selle aja kohta mõistlik. Alates 1943. aastast eeldati USA poolt, et sakslastest koodimurdjad on võimelised koodi lahti muukima 4 tunniga. Sellegipoolest kasutati seda taktikaliste sõnumite edastamiseks, mis mitme tunni möödudes muutusid tähtsusetuks. Praegusel ajal arvatakse, et suurusjärk, mida tegelikult lahti suudeti muukida, oli 10-30% kätte saadud sõnumitest. [6]
NAVAHODIDE koodikeel
Sõnumite saatmine ja dekodeerimine krüptograafiliste seadmetega oli küllalti aeglane, sõjas võis aga iga viivitus saada saatuslikuks. USA armee vajas alternatiivi kiirema süsteemi näol ning 1942. aastal pakkus ideaalse lahenduse välja Philip Johnston (1892- 1978). Johnston pärines misjonäride perekonnast ning oli üles kasvanud navaho indiaanlaste hõimu keskel, olles üks väheseid valgetest, kes valdas vabalt nende keelt. Ta tuli mõttele, et navaho keelt oleks võimalik kasutata kiirel sidepidamisel. USA armee sideohvitseridele tehtud demonstratsioonil suutsid kaks navahot kodeerida ja dekodeerida kolmerealise sõnumi 20 sekundiga (koodimasinatel oleks sama tegevus võtnud aega u 30 minutit). [8]
Navahod aitasid koostada sõnastiku, kus spetsiifilised sõjalised terminid asendati looduslike objektidega navahode keeles. Nii said näiteks lennukid lindude nimed ja laevad kalade nimed. Täielik sõnastik sisaldas 274 sõna. Sellele lisandus kodeeritud tähestik, et saaks edastada isiku- ja kohanimesid ning ettenägematuid sõnu. Iga täht sai samuti mingi looduslähedase inglise keelse vaste sõnana (või ka mitu), mis tõlgiti navaho keelde. Näiteks A=Ant, sipelgas navaho keeles on Wol-la-chee. Kui süsteemi katsetustega valmis oldi, pandi see proovile USA mereväeluure üksusele korraldusega püüda sõnumeid dešifreerida. Mitu nädalat kestnud pingutused ei andnud vähimatki tulemust. Nad kinnitasid, et ei suutnud seda kirjagi panna, rääkimata selle murdmisest. Leiutatud salakeel oli osutunud niivõrd tõhusaks. [8]
USA kasutas navahode koodikeelt edukalt mitmetes lahingutes jaapanlaste vastu. On teada, et jaapanlased ei suutnud seda kunagi murda. Kuni 1968. aastani hoiti selle koodi sisu USA julgeoleku huvides saladuses. [8]
Jaapan
Mida paljud inimesed ei tee on see, et vahetult enne teist maailmasõda töötasid jaapanlased välja rea krüpteerimismasinaid. Need loodi, võttes eeskuju Enigma masinast ja neid kasutati kõrgel tasemel sõjaliste saladust transportimiseks.[1]
Jaapani parun Hiroshi Oshima ostis sakslastelt, Hitleri ja teiste Saksa ametnike usaldusel, kommertsliku Enigma masina, lootes jaapanlastele sellest uus versioon luua. Jõupingutuse tulemuses loodi uus “enigma masin”, mis sai ameeriklastelt koodnimeks Red. Jaapani merevägi kasutas seda umbes 1931- 1936 aastatel kuni USA Signaalluure teenistus koodi murdis. USA kahjuks ei suutnud masina murdmist eriti saladuses hoida ja jaapanlased hakkasid kahtlustama. Varsti peale seda hakkasid jaapanlased sõnumite krüpteerimiseks uut süsteemi looma.[1]
PURPLE(97-shiki O-bun In-ji-ki)
Jaapanlased lõid 1937. aastaks uue masina, mis sai nimeks “97-shiki O-bun In-ji-ki” või “97 Alphabetical Typewriter”, kuid masinat tuntakse ameeriklaste poolt loodud nime all Purple. Purple põhineb kahel kirjutusmasinal ja 25-tähelise tähestikuga elektrilisel rootori tehnoloogial.[1]
Purple masinat nimetatakse ka Type B Machine-ks, sest see oli Jaapani šifrimasina Red järeltulijaks, mida nimetati Type A Machine-ks. Purple pärandas Red-lt paljud omadused, kuid ehitamise käigus parandati mõned turvavead, mis Red-il esinesid. Purple masinal oli kõrgeim turvakood, mida jaapanlased teise maailmasõja ajal kasutasid, lisaks kolmele madalamale šifrile. Üks tähtsamaid nendest oli JN-25, mis oli taktikaline kood ja seda kasutas Jaapani merevägi.[2]
Jaapanlased kasutasid Purple šifrimasinat, et tähtsaid krüpitud sõnumeid saata välismaale. Peamiselt diplomaatidele ja sõjaväeametnikele Washingtonis, Berliinis ja Londonis.[1]
Purple-l on 3 põhikomponenti: sisendpaneel, permutatsioonilülitid ja väljundpaneel. Sisendpaneel koosneb kahest osast, sisemisest ja välisest tähestikust.[3]
Purple masin oli asendusseade, mis asendas iga tavalise teksti tähe krüptteksti tähega või vastupidi permuteeritud tähestikust. Tähestiku permutatsioon muutus pärast iga tähe krüptimist või dešifreerimist, tekitades polüalfabeetilise asendussüsteemi. Sisendi ja väljundi tagasid kaks elektrilist kirjutusmasinat.[4]
Purple masin kodeeris sõnumeid nelja rootori ja jaotuskilbi abil. Sarnaselt Enigmaga oli sellel tundmatu krüptimismeetod ja ka salajane võti, mida muudeti igapäevaselt. See oli hea, sest isegi kui masin oleks varastatud, oleks see ilma võtmeta kasutu olnud.[1]
Purple masina peamine krüptograafiline element on 25 positsiooniline astmelüliti. Seade ühendab sisendterminali ühe 25-st väljundklemmiga. Lüliti külge kinnitatud elektromagnet viib elektrilise impulsi tulemusel lüliti järgmisse asendisse. Kui magnet on korralikult kirjutusmasina vooluringiga ühendatud, liigub astmelüliti järgmisse järjestikkusesse asendise iga kord kui kirjutusmasina klaviatuuril klahvi vajutatakse. Jõudes 25-sse positsiooni, viib pulss lüliti tagasi asendisse 1.[4] Purple masin kasutaks tuhandeid šifri tähestikke ennem ühe kordamist, välistades sellega šifri teksti ilmselgeid mustreid. See muutis masina- täpselt nagu Enigma masina- erakordselt keeruliseks.
Igapäevane võti sisestati seadmesse jaotuskilbi ja rootorite paigutusega. Jaotuskilbi 25 ühendusest oli võimalik korraldada 6-te ühenduste paari, mis andis üle 70 triljoni võimaliku korralduse.[1]
Erinevalt Enigma-masinast, mis esitas teksti vilkuvate tuledega, kasutas Purple teist elektrilist kirjutusmasinat, mis kirjutas šifri teksti või krüpteeritud kirja paberile. Selle eeliseks oli, et masin nõudis ainult kahte inimest opereerimiseks- üht kirjutamiseks ja teist prognooside salvestamiseks. Seesugune süsteem aitas vähendada inimlikke vigu. Kirjutusmasin ehitati nii, et see ühilduks inglise, romaji ja romaani keelega, lisades keelevaliku kaudu salapära.[1]
1939.aastal palkas USA armee krüptograafiaeksperdi William Friedmani, kes töötas Purple šifri murdmisega. Olenemata tema vaimse tervise probleemidest ja tema paigutamisest hoolekandeasutusse, suutsid teised tiimiliikmed Friedmani saavutuste põhjal tööd jätkata. Lõpuks ehitasid ameeriklased kaheksa Purple masina koopiat, olenemata sellest, et nad ei olnud originaalset masinat kunagi näinud, ja lõpuks avastati Purple masina krüpteerimismeetod täielikult. See aga ei tähendanud, et sõnumeid saaks murdma hakata, sest igapäevased võtmed olid koodimurdjate jaoks endiselt mõistatus.[1]
Purple masina murdmine oli vastastele raske ülesanne mitte ainult seepärast, et kood ise oli keerukas, vaid kood murjatel oli vähe šifreeritud teksti. Koodi murdmine on lihtsam siis kui šifreeritud tekste on võimalikult palju. Nende kahjuks aga oli Purple masin alles uus ja neid ei olnud massiliselt toodetud. Masinat kasutati ainult kõige salajasemate sõjaväe sõnumite saatmiseks ja šifreeritud koodi oli väga vähe. Kuna koodide saatjad ei olnud uue masinaga kogenud, siis kogemata saadeti sõnumid nii Purple masinale kui ka katkisele Red masinale, mis andis vastastele võimaluse tekste võrrelda. Aja möödudes hakati Purple masinat rohkem kasutama ja US-il oli koodi murdmiseks rohkem šifritekste. [1] Purple masin suudeti esimes korda murda augustis 1940. William Friedman ja U.S. Signal Intelligence Service liikmete poolt suudeti luua masinast töötav koopia, mis imiteeris masina operatsioone.[2]
Olenemata sellest, et Purple-i lahtimurdmine oli keerukas, olid sellel siiski omad nõrkused, mida vastane sai ära kasutada.[3]
Erinevus Enigma-masinaga tõi probleemi, mis oli masina suurus ja kaal, mis muutis masina kasutamise lahingu kohtades sobimatuks.[1]
Artiklis Cryptanalysis of Purple, Japanese WWII Cipher Machine jõuti järeldusele, et Purple-it oleks palju raskem olnud lõhkuda kui tähti ei oleks jagatud 6-20ga. Seda oleks saanud vältida, kui masin oleks ühendatud nii, et kõik 26 tähte tähte ühendataks kõigi teiste 26 tähega. Lisarootorite lisamine suurendaks masina keerukust, kuna see suurendaks permutatsioonide koguarvu.[3]
Purple masina töökäigu proovimiseks on loodud simulaator pythonis.
JN-25(BLACK CODE)
1938. aastal muutis Jaapani merevägi oma tegevuskoodi asendades süsteemi, mis oli kasutuses alates 1931. aastast. Asendatavat süsteemi nimetasid ameeriklased siniseks koodiks, kuid see ei kestnud kaua. Juba 1939. Aastal võttis Jaapani merevägi kasutusele kaks uut üldotstarbelist krüpteerimis koodi. Ühte nimetasid ameeriklased „Flag Officers Code“, kuid teist JN-25-ks. 1941. aasta detsembris lõpetasid Ameeriklased jõupingutused „Flag Officers Code“ murdmiseks ning seda ei murtudki kunagi, kuid JN-25-st sai üks kõige enam kasutatavaid Jaapani mereväe süsteeme ja lõpuks liitlastele kriitiline luureallikas.[5]
JN-25 koosnes umbes 27500 sissekandega koodiraamatust ja lisaraamatust koodiraamatu väärtuste superkodeerimiseks. Lisaraamat koosnes 300 leheküljest ja igal lehel oli 100 juhuslikku viiekohalist gruppi. Lisaraamat ei olnud ühekordne n.ö. müür, vaid viiekohalisi gruppe kasutati vajadusel uuesti. [5]
JN-25 uurimisel pidid USA krüptoanalüütikud aja jooksul kokku panema palju Jaapani sõnumeid. Krüptoanalüütikud kasutasid IBM-i masinaid, et korreleerida ja võrrelda JN-25-e väärtuseid põhisidel. See võimaldas neil tuvastada sügavused, mis olid võtmeks sõnumites kasutatud numbrite taastamiseks. See meetod võimaldas tuvastada „rämpskontrolli“, mida jaapanlased kasutasid sõnumite õigeks kopeerimiseks ja dekodeerimiseks, mis oli esmatähtis väärtus aitamaks eemaldada lisanumbrid ja jõuda aluseks olevate koodiraamatu väärtusteni. Taastades iga sõnumi indikaatori, mis näitas asukohta, kust koodiraamatust oli number võetud, leiti ja eemaldati lisandnumbrid, et jõuda koodiraamatu väärtusteni. Lõpuks taastati koodikirja alusel selgesõnaline jaapani tähendus, mis võimaldas vähemalt osaliselt sõnumeid lugeda.[5]
JN-25 dekrüpteerimist hõlbustas jaapanikeelsetes sõnumites sisalduv teave koos laevaliikluse teabega. Ameeriklased leidsid, et Jaapani mereväeohvitseride register on koodirühmade taastamisel abiks.[5]
JN-25 dekrüpeerimine hoiatas ameeriklasi admiral Isoroku Yamamoto kavandatud visiidist Saalomoni saartele. See pidi olema kontrollkäik laevastiku ülema poole, kes oli Pearl Harbori rünnaku taga. Ta oli agressiivne ja tugev juht, kes inspireeris oma mehi kui ka kogu Jaapani elanikkonda. See pidi olema teha lähim lähenemine lahingutsoonile ja USA kuulas pealt tema teekonna marsruuti. Tänu Yamamoto sunniviisilisele täpsusele, said ameeriklased kalkuleerida tema täpse asukoha ja plaanisid rünnata 10 minutit enne maandumist. Ameeriklastel õnnestus isegi hoida saladuses jaapanlaste salakirja rikkumine kui nad panid paika, et Austraalia rannavalvurid said vihje sõbralikult Saalomoni saarlaselt. USA suutis lennuki alla tulistada ja see mõjus Jaapani elanikkonnale laastavalt. Olulisem oli see Jaapani sõjaväele, sest uus juht oli vähem agressiivne ja uuendusmeelne, muutes selle väejuhi varitsuse märkimisväärseks.[5]
JN-25 murdmine oli oluline tegur mereväe võidul Midway lahingus olles pöördepunktiks sõjas Jaapaniga.[2]