Distributed computers kauwen op Enigma-berichten

Een aantal enthousiaste codekrakers heeft zich ten doel gesteld om met een gedistribueerd computerproject (open-source) na 64 jaar de inhoud van een aantal nog op de plank liggende berichten van Hitlers zeestrijdkrachten wereldkundig te maken. Het gaat om berichten die met de Duitse Enigma-codeermachines werden versleuteld en waarvan wordt aangenomen dat de geallieerden er niet in slaagden ze te ontcijferen - de pogingen van het team van computergodfather Alan Turing ten spijt. De inhoud van de berichten is niet wereldschokkend te noemen, in ieder geval getuige de eerste met succes gekraakte boodschap:

Radiosignaal 1851/19/252: "F T 1132/19 rapporteert: Gedwongen te duiken gedurende aanval. Dieptebommen. Laatste waargenomen positie van de vijand 0830h AJ 9863, koers 220 graden, snelheid 8 knopen. Aan het volgen. Barometer daalt met 14 millibar, wind noord-noord-west, kracht 4, zicht 10 zeemijlen."

Vierrotorige Enigma-codeermachine De boodschappen werden gecodeerd met een vierrotorige codeermachine, waarbij rotoren letters door anderen vervingen. De complexiteit kwam voort uit het feit dat de rotoren op ieder moment anders ten opzichte van elkaar konden staan. Daarnaast had de versleutelaar ook nog een schakelbord tot zijn beschikking waarmee vóór de rotoroperatie twee letters omgewisseld konden worden. Hiermee meenden de Duitsers een onkraakbaar coderingssysteem in handen te hebben. Zonder het schakelbord kunnen de codekrakers het decodeerprobleem met brute-force aanpakken - ofwel alle combinaties van de rotoren uitproberen en de taalkundig meest waarschijnlijke string eruit vissen - maar met het schakelbord erbij wordt het aantal combinaties dat afgegaan moet worden te groot. Daarom zoeken de krakers niet de hele ruimte van mogelijkheden af die door de schakelbordinstellingen wordt opgespannen, maar proberen ze voor iedere rotorcombinatie steeds betere combinaties van schakelbordvariabelen te vinden, door alleen de waarden te onthouden die tot een taalkundig waarschijnlijkere oplossing lijken te leiden en de rest te negeren.

Om nog twee andere berichten te ontcijferen kunnen mede-kraakenthousiastelingen een client downloaden. Daarmee kunnen op verschillende computers verschillende delen van de combinatieruimte afgezocht worden, en zal de wereld naar verwachting over enige tijd twee al dan niet wereldschokkende onderzeebootberichten uit de Tweede Wereldoorlog rijker zijn.

Turing bomb

Door Mick de Neeve

27-02-2006 • 23:55

67 Linkedin

Bron: ByteReef

Reacties (67)

67
66
42
22
8
13
Wijzig sortering
Toch knap om in die tijd zo'n geavanceerde codering te verzinnen die we ruim 60 jaar later nog via distributed computing moeten oplossen...
Dat komt omdat het algoritme nooit 'gekraakt' is.
Dat de engelsen de versleutelde berichten konden lezen kwam door fouten in de bediening, en doordat als je een woord uit het bericht kent, je de rest ook kunt ontcijferen.
Dus wat deden de Engelsen als ze geen woorden voorhanden hadden ? Dan bombardeerden ze een stad plat.....
Nee, ze hebben een enigma en een codeboek buit weten te maken op de duitsers. Ze hadden dus welgeteld 1 enigma zelf. (Is zelfs verfilmd) dus het was gewoon een kwestie van ontcijferen. Overigens hebben de amerikanen heel lang niet geweten van de 'engelse buit' allerlei intel die ontcijferd was en aan de amerikanen doorgespeeld werd, werd in het begin door de amerikanen afgedaan als onbetrouwbaar.

Dat de amerikaanse ooskust een doelwit zou worden was bekend, ze waren er voor door de engelsen gewaarschuwd. De amerikanen hebben die informatie niet geloofd, en hebben daardoor heel wat onnodige verliezen geleden.
Anoniem: 106923
28 februari 2006 00:03
De complexiteit kwam voort uit het feit dat de rotoren op ieder moment anders ten opzichte van elkaar kunnen staan. Daarnaast had de versleutelaar ook nog een schakelbord tot zijn beschikking waarmee vóór de rotoroperatie twee letters omgewisseld konden worden.
Een initiele permutatie (p-box) maakt het algoritme niet complexer. Het schakelbord had daarom ook bijna geen invloed op de de zogenaamde 'turingbomb' een in serie geschakelde rij enigmas.

DES gebruikt ook een initiele permutatie, die wel rekenkracht gebruikt, maar de excryptie niet complexer maakt. Dat is ook een van de redenen waarom de initiele permutatie bij AES is weggelaten.
* geeft een zeer simpel model van de Enigma in zeer simpele taal

Als er bij de Enigma een letter op het 'toetsenbord' werd ingedrukt, liep er stroom door één van de 26 draden in de Enigma. Aan elke rotor zitten twee maar 26 contactpunten, die op een bepaalde wijze aan elkaar zitten gekoppeld. Die koppeling is vrij willekeurig (alleen heeft elke Enigma uiteraard dezelfde verbindingen :P).

De stroom loopt dus eigenlijk van toetsenbord door vier van die rotoren, waarbij dus vier keer het alfabet door elkaar gehusseld wordt, en wordt het vervolgens verzonden. Omdat die rotoren ook nog eens na elke letter doordraaien (als in een kilometerteller, niet allemaal tegelijk dus), verandert de transformatie van toetsenbordletter naar verzonden letter dus elke keer.

Waar daapah het nu over heeft, is het schakelbord dat tussen het toetsenbord en de rotoren zit. Hierdoor wordt het alfabet ook door elkaar gegooid, maar dit gebeurt bij elke letter op dezelfde manier: dat schakelbord wordt niet veranderd tijdens het bericht. En het is volgens mij vrij makkelijk te bewijzen dat dat niet veel complexiteit toevoegt aan welk algoritme dan ook (dus ook DES en AES, twee moderne encryptieschema's), dus dat schakelbord (of zo'n p-box) had (en heeft) niet heel veel zin.
De boodschappen werden gecodeerd met een vierrotorige codeermachine
Wil je meehelpen met een vierprocessorige decodeermachine, is de software single threaded :(
Dit soort single threaded software kan je gewoon 1 keer per core opstarten?
Anoniem: 148147
28 februari 2006 08:11
Wie zich in dit onderwerp interesseert, wil zeker het boek Cryptonomicon (door Neal Stephenson) lezen.
Een leuk en spannend verhaal die deels om die Duitse cryptomachines gaat maar ook over hedendaagse cryptotechnieken, zoals Wim van Eck zijn beeldbuis afluistermethode en zo voort.

Voor iedere ICTer een must read.

In het Nederlands ook verkrijgbaar:
http://www.nnbh.com/nurpa...ind=9024546494#9024546494
http://www.bbc.co.uk/history/war/wwtwo/enigma_04.shtml

De code's waren allang gekraakt destijds ? Ook met de komst van het zogenaamde "4de wiel".

Aangezien de geallieereden allang van de machine's op de hoogte waren paste ze hierop hun strategie aan. Het veroveren van 2 machine's met de code boeken erbij maakten het daarna kinderspel voor ze om alles te ontcijferen.

Dat ze het lang geheim hebben kunnen houden dat de code gekraakt was heeft er mede voor gezorgd dat de oorlog verkort werd. Begrijp dan ook niet helemaal waarom ze zo happig zijn op deze 2 berichten, daar deze naar alle waarschijnlijkheid gedoceerd zijn destijds, maar mogelijk niet als zodanig zijn vermeld in logboeken. Beetje nutteloos imo, dan kunnen ze beter de Navaho indianen codeer sleutel "breken" welke werd ingezet tegen de jappaners destijds, welke overigens nooit is gebroken :)
Die code is niks meer dan een aangepaste versie van het Navajo (aangepast, omdat de Navajo-indianen nou eenmaal geen woorden hadden voor dingen zoals Tank).

Die code is per definitie niet te kraken via een sleutel, net zo min als dat je "engels" kan kraken via een sleutel. Je moet woord-voor-woord een lexicon aanleggen.

Dit is extra lastig, omdat er zeer weinig opgeschreven Navajo voorhanden is.
Ik geloof dat je twee dingen door elkaar haalt. Volgens mij waren het de amerikanen die het Navajo gebruikten als codetaal omdat er maar een paar mensen waren die het spraken en die woonden ook nog in Amerika. Zoals je kunt lezen maakte de enigma gebruik van een aantal wielen die het bericht codeerden, dat heeft weinig met het Navajo te maken.
klopt helemaal en bovendien werden aan woorden een andere betekenis gegeven dan dat in het Navajo het geval was.
Volgens mij klopt er nog iets niet in het stukje gedecodeerde tekst. 14 millibar overleef je denk ik niet, gemiddeld is de buitenlucht namelijk 1013 millibar. Of zie ik nou iets over het hoofd ??
Ja om ruimte te sparen laten ze de duizend weg, is very common in de nautische wereld :)
Barometer DAALT met 14 millibar. Het zou juist niet kloppen als de daling 1014 millibar zou zijn ;)
belangrijk security issue: er wordt een user 'enigma-client' aangemaakt onder xp met het password 'nominal'

dit is nodig om een scheduled taak aan te kunnen maken.
als je dat niet nodig vind kun je het account gewoon weggooien en anders:

Goto Start -> Control Panel
Click on "User Accounts"
Click on "enigma-client"
Click "Change the password"
Enter a new secure random password
Remember or write down the password
Click "Change password"

Goto Start -> All Programs -> Accessories -> System Tools
Click on "Scheduled Tasks"
Right click "ecrunXP"
Click on "Properties"
Click on "Set password"
Enter the new password
Click "OK"
Click "Apply"
Click "OK"
Jaja, staat in de readme dat je dat moest veranderen!

Kortom:
Bij XP het batch-bestandje even openen, en het wachtwoord (op eerste en een van de laatste regels) veranderen in iets anders.

Ook wil bij XP NL de client niet altijd even goed op gang komen.
Ga dan naar C:\EnigmaClient en start 'ecrunXP.bat'.
Het DOS-venster met het programma gewoon aan de kant zetten/minimaliseren etc.

Volgens de site zou het met 100 Celerons maar 4 dagen duren, dus wij Tweakers met AMD X2 4800+ processoren hebben het binnen een dag klaar, dan kan die hele handel weer van je schijf af :)
Oeps, en dat voor Open Source :o |:(
Hadden ze niet in de setup ee veldje kunnen opnemen voor een random, secure password??
De inhoud van de berichten is niet wereldschokkend te noemen
Ik vind de boodschap zeer schokkend, ik wist namelijk niet dat de nederlandse onderzeeërs uit die tijd ook enigma gebruikten als ze er al waren. Of ze spraken aan boord van de U-boten nederlands, dat kan ook.
Voor de liefhebber dan maar even het oorspronkelijke bericht dat ze hebben ontcijferd. Niks geen Nederlands of Engels, gewoon in het "Duits

Von Looks:

Funktelegramm 1132/19 Inhalt:

Bei Angriff unter Wasser gedrueckt, Wasserbomben. Letzter Gegnerstandort
08:30 Uhr, Marqu AJ 9863, 220 Grad, 8 Seemeilen, stosse nach. 14 Millibar
faellt, NNO 4, Sicht 10.
eigenlijk was het originele bericht:

vonvonjlooksjhffttteinseinsdreizwoyyqnnsneuninhaltxx
beiangriffunterwassergedruecktywabosxletztergegner
standnulachtdreinuluhrmarquantonjotaneunachtseyhs
dreiyzwozwonulgradyachtsmystossenachxeknsviermb
faelltynnnnnnooovierysichteinsnull

er was uiteraard een heel protocol. om bijvoorbeeld letters die verwaaring konden veroorzaken 3 keer te sturen,
zie nnnnnnooo -> NNO
uhuh, als dat het orginele bericht was dan waren ze niet erg bang als de inhoud bekend werd. Dit is gewoon leesbaar. (Ik zeg het er maar bij voor de mensne die je informatief gewaardeerd hebben ;))

(Een letter kan bij een enigma machine niet in zichzelf gecodeerd worden)
Dat is de eerste versie van het gedecodeerde bericht.

Het gecodeerde bericht was meer zo:

nczwvusxpnyminhzxmqxsfwxwlkjahshnmcoccakuqpmkcsmhkseinjusblkiosxckubhmllx
csjusrrdvkohulxwccbgvliyxeoahxrhkkfvdrewezlxobafgyujqukgrtvukameurbveksuh
hvoyhabcjwmaklfklmyfvnrizrvvrtkofdanjmolbgffleoprgtflvrhowopbekvwmuqfmpwp
armfhagkxiibg
Dat bericht is een tussenproduct van het ontcijferen, zie http://www.bytereef.org/m4-project-first-break.html
Als het zo simpel was had het denk ik ook niet ruim 60 jaar geduurd voordat het was ontcijferd.

[edit: bszz had dezelfde gedachte en heeft dezelfde pagina bekeken als ik zie ik]
Anoniem: 136863
@kodak28 februari 2006 07:32
[sarcasm]Grappig ik had nooit een taalkundig of logisch vorm gevonden, wie zoekt er nou naar een Duits bericht verstuurd met de Enigma..[/sarcasm]
Volgensmij had Nederland in die tijd geen onderzeërs. We waren in de 2e wereld-oorlog niet goed bevoorraad, en dus gebruikten we wapens uit het museum. :+ En ik neem aan dat Napoleon nooit een werkende onderzeër heeft gemaakt.
Gevonden op het net:
De Nederlandse onderzeeër O-20, die tijdens de Tweede Wereldoorlog op 19 december 1941 verloren ging, werd onlangs door een duikploeg van de Internationale Association for Handicapped Divers (IAHD) voor de oostkust van Maleisië teruggevonden op aanwijzingen van het Comite Nabestaanden Onderzeeboten 1940-1945.

We hadden dus wel degelijk minimaal 1 onderzeeër. Verder is het zo dat de snorkel waarmee de Duitsers op het eind van de oorlog hun onderzeeërs uitrustten en Nederlands vinding was. Hiermee kon een onderzeeër op periscoopdiepte varen terwijl hij zijn dieselmotoren gebruikt. Een cruciale verbetering ten opzichte van de oude situatie dat duiken betekende dat men meteen op de electromotoren moest overgaan, met het bijbehorende snelheidsverlies. Een beetje konvooi liep een onderwater op elektromotoren varende u-boot er gewoon uit.
Nederland geen onderzeeboten tijdens de tweede wereldoorlog???

Ga jij maar eens een geschiedenisboek over de nederlandse marine tijdens de tweede wereldoorlog scoren bij de bibliotheek. Nederland had een van de modernste onderzeebootvloten van de wereld. Uiteraard niet zo groot als die van de Duitsers. Nederland beschikte toen over 27 onderzeeers. Deze onderszeeers hebben tijdens de oorlog 69 japanse en duitse schepen tot zinken gebracht. Bij elkaar goed voor 278910 ton aan scheepsruim.
Terwijl de Pzkpfw IV's binnen kwamen gingen ze hier weerstand bieden op de fiets...die ze later in moesten leveren.
Blablabla, wist je dat de Duitsers in mei 1940 de moderne kazematten op de Afsluitdijk bestormden met, inderdaad, een eenheid fietsers ;)
De gekraakte boodschap in het nieuwsbericht hier bedoel je? Volgens mij is die vertaald, in de bron (zie bovenaan nieuwsbericht, ByteReef) staat een Duitse tekst.
Wat ik alleen nog niet snap is hoe ze er nu achter komen dat een decodering succesvol is. Iedere poging zou succesvol genoemd kunnen worden als je de inhoud van het oorspronkelijke bericht niet weet.
Anoniem: 78792
@kodak28 februari 2006 17:34
de kans dat je 2 keer een bericht ontcijfert dat gramatikaal klopt is erg klein, maar inderdaad aanwezig.

Dan heb je een probleem, want als je de eerste hebt gevonden zoeken we niet verder en gaat (50%kans) de verkeerde de geschiedenis in als correct.
de kans dat je 2 keer een bericht ontcijfert dat gramatikaal klopt is erg klein
Bij de volgende oorlog Breezah taal coderen :P

de kans dat je dan een gramatikaal corect bericht eruit krijgt is erg klein.
Of nog leuker: in 1337 taal en dan met veel ('s $'s en !-en. Als een normaal mens zoiets zou kunnen decoderen hebben ze nog wel wat meet tijd nodig :P
Met statistieken over alle andere berichten die ooit gekraakt zijn, kan je bepalen of de gebruikte sleutel de juiste is. Je laat steeds de laagste kanshebbers afvallen en op een gegeven moment heb je dan gewoon je bericht.

Drie jaar geleden hebben we hem zelf nog eens gekraakt mbv een supercomputer: http://www.win.tue.nl/~jfg/educ/2R660/2002.html
Het kan natuurlijk ook gewoon zijn dat ze zo nu en dan expres een onzinbericht de wereld in stuurden, om de ontcijferaars te ontgoochelen. Dan kunnen we puzzelen wat we willen, er gaat gewoon niets zinvols uitkomen :)
Of dingen zoals dubbele codering :*)

Op dit item kan niet meer gereageerd worden.

Tweakers maakt gebruik van cookies

Tweakers plaatst functionele en analytische cookies voor het functioneren van de website en het verbeteren van de website-ervaring. Deze cookies zijn noodzakelijk. Om op Tweakers relevantere advertenties te tonen en om ingesloten content van derden te tonen (bijvoorbeeld video's), vragen we je toestemming. Via ingesloten content kunnen derde partijen diensten leveren en verbeteren, bezoekersstatistieken bijhouden, gepersonaliseerde content tonen, gerichte advertenties tonen en gebruikersprofielen opbouwen. Hiervoor worden apparaatgegevens, IP-adres, geolocatie en surfgedrag vastgelegd.

Meer informatie vind je in ons cookiebeleid.

Sluiten

Toestemming beheren

Hieronder kun je per doeleinde of partij toestemming geven of intrekken. Meer informatie vind je in ons cookiebeleid.

Functioneel en analytisch

Deze cookies zijn noodzakelijk voor het functioneren van de website en het verbeteren van de website-ervaring. Klik op het informatie-icoon voor meer informatie. Meer details

janee

    Relevantere advertenties

    Dit beperkt het aantal keer dat dezelfde advertentie getoond wordt (frequency capping) en maakt het mogelijk om binnen Tweakers contextuele advertenties te tonen op basis van pagina's die je hebt bezocht. Meer details

    Tweakers genereert een willekeurige unieke code als identifier. Deze data wordt niet gedeeld met adverteerders of andere derde partijen en je kunt niet buiten Tweakers gevolgd worden. Indien je bent ingelogd, wordt deze identifier gekoppeld aan je account. Indien je niet bent ingelogd, wordt deze identifier gekoppeld aan je sessie die maximaal 4 maanden actief blijft. Je kunt deze toestemming te allen tijde intrekken.

    Ingesloten content van derden

    Deze cookies kunnen door derde partijen geplaatst worden via ingesloten content. Klik op het informatie-icoon voor meer informatie over de verwerkingsdoeleinden. Meer details

    janee