Az Enigma - ha jól tudom - titkosítása pl. két egymás után leütött A betűre két különböző jelet adott. Az Enigma előtti titkosítások - ahol az eredeti üzenetben ugyanarra a jelekre ugyanazon kódjeleket kapjuk - hogyan törhetőek?
Az egyszerűség kedvéért Pl. mind az üzenet szótára, mind pedig a kódszótár álljon az A, B, C, D, és E betűkből.
A kódolás a következő:
A := C
B := A
C := D
D := E
E := B
Mondjuk, hogy lekódolom azt az üzenetet, hogy 'DEADBABE'. A kód ugye ez lesz:
EBCEACAB
Tegyük fel, nekem csak a kód van meg.
Mi az a technika - természetesen a nyers erővel való próbálgatáson _KíVÜL_ -, amivel vissza lehet következtetni, hogy a szótárban a kódolás során mik a megfelelő cserepárok?
Hogyan törhetőek az ilyen "primitív" titkosítások?
Hát van több féle módszer is, a legegyszerűbb nyilván hogy elkezded permutálni a lehetséges variációkat amíg valami értelmeset nem kapsz.
Ennél jobb megoldás ha először analizálod a kódot adott nyelvi tulajdonságok után kutatva. Például ha tudod a leggyakoribb betűt akkor valószínűleg a kódban a leggyakoribb karakter azt cserélte.
Ez ismételhető jellegzetes betűkarokkal, ragokkal, kötőszavakkal, egyéb nyelvi formákkal
Ha a kód szavakra van bontva még egyszerűbb a feltörése, mivel elkezdhetsz egy szótárból X betűs szavakat keresni.
Ezt kombinálva az előző módszerekkel már relatíve primitív kódfejtő gépek is képesek voltak feltörni ilyen kódokat.
azért azt tudd, hogy a kódok jellemzően nem úgy működtek, mint amit írsz. nem összevissza feleltették meg egymásnak a betűket, hanem eltolással.
tehát pl. A->C; B->D; C->E stb.
ennek az az előnye, hogy így nem kell magadnál tartani a kódtáblát, az bármikor reprodukálható, ha emlékszel az eltolásra.
persze baromi nagy hátránya, hogy kevés a lehetőségek száma. erre azt találták ki, hogy fogtak egy kódszót legyen pl. macsek és ennek megfelelő eltolást használtak, azaz
A->M az első betűre
A->A a második betűre
A->C a harmadik betűre
stb.
ez, a kódszó hosszától függően, egész jó titkosítást adott.
az enigma is egyébként azt csinálja, hogy van három (vagy öt) tárcsája, amik önmagukban ilyen A->C; B->A; C->D stb. tehát amit írtál keverések, ezeket léptetik, megfuttatják rajta a betűt, aztán összecserélik mégegyszer, aztán újra átfuttatják a tárcsákon és kész is kódolás.
"azért azt tudd, hogy a kódok jellemzően nem úgy működtek, mint amit írsz. nem összevissza feleltették meg egymásnak a betűket, hanem eltolással"
De hisz az Enigma tárcsáján belül is ezt csinálták a vezetékeléssel, nemde?
Egyébként meg _az_én_esetemben_ de, erről lenne szó : összevissza van megfeleltetve. Tegyük fel, hogy nem probléma a kódtábla megőrzése.
Na, a kérdés az, hogy ilyen esetben is törhető marad-e a titkosítás?
"Egyébként meg _az_én_esetemben_ de, erről lenne szó : összevissza van megfeleltetve. Tegyük fel, hogy nem probléma a kódtábla megőrzése."
ha csak sima keverést használsz, akkor simán törhető.
statisztikai alapon egy adott nyelv szabályszerűségeit ismerve, nagyon gyorsan redukálható a lehetőségek száma a maradék meg végigpróbálgatható.
a Wermacht enigmában 3 tárcsa működik és 5 tárcsából lehet választani, a sorrend nem mindegy és minden tárcsán 26 betű van, azaz a lehetőségek száma 5*4*3*26*26*26 ami 1.054.560 lehetőség, ami semmi. ha az általan felvázol ötbetűs kódszavas eltolást használod, akkor 26^5 a lehetőségek száma ami kb. 11szer ennyi.
de egyébként nem is a tárcsa az enigma nehézége, hanem a kapcsolótábla, amihez tartozott 13 kábel, amivel keresztbe lehetett kötni a betűket és közben nem is kellett mindet felhasználni. ha ez önmagában 150 trillió lehetőséget adott.
ami egyébként tulajdonképpen ugyanaz, mint a te kevergetésed, csak ez el van rejtve egy folyamatosan változó, de egyébként nem túl bonyolult kód mögé, ezért nem lehet kistatisztikázni.
illetve ki lehet, mert az enigma legnagyobb hibája, hogy sosem kódol egy betűt önmagába, és ez elegendő fogást adott rajta, hogy feltörjék.
a Wermacht változatot még a lengyelek a háború előtt.
a Kriegsmarine változatot, ami 5 tárcsás volt is ugyanígy törték fel, csak az már kicsit nehezebb volt.
Itt egy pompás animáció, hogyan működött.
https://www.youtube.com/watch?v=ybkkiGtJmkM
Minden betűt más kulccsal kódolt, ez volt a nagy újítás viszont a kulcsok - utólag már tudjuk - gyengék voltak. Ezért tudták feltörni az angolok.
A #6-os elég jól leírta az Enigmát, én csak annyit tennék hozzá, hogy pusztán statisztikai módszerekkel is feltörhető.
A háború idején erre nem volt mód, mert nem állt rendelkezésre elegendő számítási kapacitás, de ma simán meg lehet csinálni. Az "A-ból soha nem lesz A" mellett ugyanis az Enigmának van egy másik súlyos hibája is: egy részlegesen helyes kulcsról meg lehet állapítani, hogy közelebb áll-e a valódi kulcshoz, mint egy másik részlegesen helyes kulcs. Ennek az az oka, hogy ha a helyes kulcshoz közelebb álló részleges kulccsal próbálod visszafejteni a kódolt szöveget, akkor az eredményül kapott szöveg bizonyos statisztikai tulajdonságaiban közelíteni fog a természetes nyelvre, ahogy a használt kulcs közelít a teljes mértékben helyeshez. (Részlegesen helyes kulcs alatt azt értem, hogy mondjuk a tárcsák sorrendje és állása helyes, de a kapcsolótábla nem. Vagy a kapcsolótáblán mondjuk a kapcsolatoknak csak a fele helyes.)
Ezt a britek is kihasználták, sikerült ugyanis kifejleszteniük egy kézi statisztikai módszert, amivel elég jó bizonyossággal meg lehetett jósolni, hogy a tengerészeti Enigma 5 tárcsájából a két leggyorsabban forgó milyen típusú. Ez pedig lényegesen meggyorsította a gépi elemzést, mert 336 helyett csak 120 lehetséges tárcsakombinációt kellett kipróbálni (ha jól számoltam).
Illetve volt még egy harmadik hibája is, ami a kapcsolótábla feltörését segítette: ha egy, a táblán lévő feltételezett kapcsolatból megpróbálsz más kapcsolatokat kikövetkeztetni, de az elemzésed során ellentmondásra jutsz (pl két betűnek is ugyanahhoz a harmadik betűhöz kéne kapcsolódnia), akkor nem csak a kezdeti feltételezett kapcsolatot vetheted el, de az összes többi köztes lépésben szereplőkről is megtudod, hogy hamisak.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!