Legújabb hírek, cikkek a DoclerWeb életében

Informatikai biztonság I. - Kriptográfia, titkosítás a regényekben

Informatikai biztonsággal foglalkozó sorozatunk előző részében a kriptográfia alapvető fogalmait, történetét vizsgáltuk. Kiderült, hogy a titkosító és a kódfeltörő harca ősi, és az emberi kíváncsisággal egyidős.

Nem csoda tehát, hogy a téma számos irodalmi műben is feltűnik, mint az emberi találékonyságot és a titok felderítésének izgalmait sűrítő jelenség. Lássuk a két talán legismertebb példát, Poe és Verne műveit.

Edgar Allan Poe 1843-ban írta meg Az aranybogár című novelláját, aminek hatására egy csapásra mindenki a titkosítás és a kódfejtés szépségeiről beszélt. Poe tudatában volt, hogy milyen lavinát indított el, és meg is lovagolta: 1840-ben megkérte olvasóit, próbálják ki kódtörő képességeit, küldjenek neki feladványokat. Kissé mulatságos látni ezek után, hogy Az aranybogárban milyen egyszerű titkosítást fejt meg a főszereplő, milyen egyszerű módszerrel: a józan ésszel és a leleményességgel.

A novellában, amiben a főszereplők elásott kincseket találnak meg egy titkosított szöveg megfejtésének segítségével. Egy régi pergamenen ugyanis egyikük az alábbi feliratot találja:

83:=++[Π835]5705*]++(!)9525*5-+(†+3)-8]828*4?)-++*83:1++];6-8*45(++978(!(85-8)-5]8)-5]]808;66(5*:25*5-50)++1+80535-5)48;8†6]535*0+=800854505018=250)-898*50+Π8)480:8*8;+0*:6083:8*8)8*515++0+;Π8*052(5

A főhős megszállottja lesz a kód megfejtésének, és végül sikerre jut. A módszer egyszerű: tudja, hogy a szöveg angol nyelven íródott, az aláírás ezt elárulja. Ezután megszámolja az egyes karakterek gyakoriságát, és kiderül, a 8-asból 29, az 5-ösből 28 darab van, és így tovább. Mivel ismeri az adott nyelv karaktereinek gyakoriságát az írott szövegben (mint említettük, ez egy jól mérhető és nyilvános statisztika), úgy sejti, a 8-as karakter jelöli a leggyakoribb angol betűt, az "E"-t. Persze elsőre ráhibázik, ami ilyen rövid szöveg esetén nagy szerencse. Ezután megkeresi a névelőket: "a"-t, "az"-t, és ilyen módon egyre több szócsonkot fedez fel, amikből további helyettesítésekre bukkan. Végül kiderül, mi volt az eredeti szöveg:

"Egy jó üveg a káplán korcsmában az ördög székében - huszonegy fok tizenhárom percre - az észak-északkeleti irányban - az alsó fő elágazás hetedik ágán keletre - lőjél le a halálfej bal szemén - a lövés helyétől nyílegyenesen a fától ötven lábra."

Maga a titkosítási algoritmus egy egyszerű behelyettesítés volt, és mivel a kódtörő az angol nyelv sajátságait alapul véve fejtette meg, nem volt szükség a kulcs kitalálására. Mindenesetre a novella felvetette a lehetőségét, hogy bárki lehet kódtörő, ha használja az eszét és a vele született kíváncsiságot és kitartást. Ahogy a műben is elhangzik:

"Körülményeim s elmém bizonyos egyoldalúsága miatt érdeklődöm az efféle feladványok iránt, és igencsak kétséges, hogy emberi találékonyság alkothat-e olyan titkosírást, amely emberi találékonysággal és helyes megközelítéssel nem oldható meg. Valóban, ha egyszer összefüggő és olvasható jelekre találok, nemigen törődöm a nehézséggel, melynek árán értelmüket megfejtem."

A mű elolvasható itt: http://mek.niif.hu/03500/03575/html/01.htm#21

De mi van akkor, ha az üzenet titkosítása bonyolultabb? Mi van, ha nem egyszerű karaktercseréket használ a titkosító, hanem egy hosszabb kulccsal minden karakternél más és más eltolást alkalmaz? Így egyáltalán nem biztos, hogy egy "E" betű a következő szóban szerepelve ugyanúgy "8"-ra változik, a kulcstól függően ott bármilyen más karakter válhat belőle. A nyelv betűgyakoriságának ismerete itt nem segít.

Jules Verne A Jangada című regénye egy ilyen esetet képzel el. A könyv ezzel a bekezdéssel indít:

e b g e é u r á q q d c x b d e i y x b q s i d y m c s ü e v k x y a r r n g z u h h l n j o x t s v k o x l á h r b q y u c g m e x ü c p j v j u r p a x s p d p n h l j a o m o s o d y á é a p v j u x j p g p x d p q j o é ö ö z j u s o g v j i e y p g ö e d g q ü z á n s d ö b ö ö y c n o u m l c b y b k y c o é o y p k c q b ö v c l z j ö y g n j m m é v v n á q i ö h s á k c h ö f ö x ö g ü á m h y p á u n s v x o z u m x b v j v i o r ö é m l g p k o a s o v é n d d c n o t d o d v p é c i ö ö j m v q r g z j n d p d l x b v é z c q é ü t ü l z é p i b v r é k s u v j h d -

A könyv elolvasható itt: http://www.gutenberg.org/ebooks/14806

Vicente Jarriquezé a feladat, hogy a műben megfejtse az üzenetet. A szokásos Caesar-módszer nem segít, vagyis hiába csúsztatja el az ABC betűinek sorában a fenti karaktereket, nem kap értelmes szöveget. A betűk gyakorisága sem utal a francia nyelv sajátosságaira, így azt is el lehet vetni, hogy a betűket egyszerűen összekeverték. Aztán Jarriquez rájön, hogy van más lehetőség is: ha ismerjük a kulcsot, és azt a titkosított szöveg alá írjuk egymás után, folyamatosan, akkor a kulcs által jelzett eltolásokat visszapörgetve megkaphatjuk az eredeti üzenetet.

A legutóbbi posztban jelzett módszerrel egy matematikus gyorsan nekiállt volna megfejteni a kulcs hosszát, majd magát a kulcsot, de Jarriquez esetében a szerencsére volt szükség. Találomra kipróbálta az Ortega nevet kulcsként, és bevált a terv (így hívták a könyvben szereplő gyémántrablót, aki a fenti üzenettel leplezte le magát)-

A megfejtéshez leírta a titkosított szöveg első hat karakterét, majd alá Ortega nevét. A két karakter közötti távolság lett a kulcs:

e b g e é u
O r t e g a
5 3 3 6 1 4

Ahogy tehát elkezdte a titkosított szöveg betűit visszacsúsztatni a helyükre - az "e"-t 5 karakterrel vissza, "a"-ra, a "b"-t 3-mal vissza, "z"-re -, az alábbi szöveget olvashatta ki:

"Az ezernyolczszázhuszonhat január huszonkettedikén történt gyémántrablás s a kísérő katonák meggyilkolása bűntettének valódi elkövetője tehát nem Joam Dacosta, kit igazságtalanul halálra ítéltek emiatt, hanem én, a gyémántkerület nyomorult tisztviselője, igen, én voltam az, ki saját kezemmel s nevem aláírásával erősítem ezt meg. Ortega."

Természetesen ismét egy generáció szeretett bele a kódtörésbe, és noha ez még nem a számítógépes hekkerek generációja - 1881-ben járunk -, elültette az izgalom magját a 20. századra.

« Vissza az előző oldalra

ITbiztonság titkosítás