Könyvrejtjel

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt hozzászólók, és jelentősen eltérhet a 2017. november 25-én felülvizsgált verziótól ; az ellenőrzések 20 szerkesztést igényelnek .

A könyvrejtjel  olyan titkosítási típus, amelyben minden egyszerű szöveges elemet (minden betűt vagy szót) egy másik kulcsszöveg hasonló elemének mutatója (például oldal-, sor- és oszlopszám) helyettesít.

A visszafejtéshez rendelkeznie kell a privát szöveggel és egy további kulcsszöveggel is. Kiegészítő szövegként gyakran használtak közönséges könyveket, vagy olyan könyveket, amelyek nagy valószínűséggel mind a feladó, mind a címzett birtokában voltak [1] .

Létrehozási előzmények

A tudósok és történészek a mai napig nem rendelkeznek egyértelmű információval arról, hogy mikor és ki használta először a könyvrejtjelet. Ennek a rejtjelnek az egyik legkorábbi példája az Aeneas-könyvrejtjel , amely a szteganográfiára utal . Lehetséges, hogy ez az első kísérlet a kézzel írott szöveg titkosítására volt a könyvrejtjel létrehozásának kezdete [2] .

Ezenkívül nem lehet figyelmen kívül hagyni a hasonlóságot a könyvrejtjel használata és a Polybius-négyzet használatával történő titkosítás között . Sőt, a könyvrejtjel a Polybius által javasolt módszerek egyike , csak jelentősen továbbfejlesztve. A Polybius négyzetben minden betűhöz két szám van hozzárendelve, és ugyanazon betűk esetén a számok is azonosak lesznek. A könyvrejtjel előnye, hogy a forrásszöveg minden betűje saját azonosítóval rendelkezik. Ha azonban például egy könyv egy oldalát a Polybius számos különböző négyzetére osztják, akkor a titkosítási rendszerek ugyanazok lesznek.

Később, 1849-ben a braunschweigi Meissner a könyvrejtvény tanulmányozásán és továbbfejlesztésén dolgozott, újabban pedig Voltaire Winterthurban . A Szovjetunióban a könyvrejtjelet széles körben használta és kutatta az RSDLP(b) bolsevik párt . Több módosításának létrehozását a híres bolsevik Jelena Dmitrievna Stasova nevéhez fűződik .

Az algoritmusok gyakorlati megvalósítása és változatai

Titkosítás vers segítségével

A könyvrejtjeles módszer lényege, hogy tetszőleges szöveget választunk ki egy könyvből, ahol egy bizonyos betűvel kezdődő szavak számai, vagy maguk a betűk koordinátái (sor, szám egy sorban) az eredeti üzenet titkosításaként működnek. . Ebben az esetben egy kezdőbetűnek több karakter is megfelelhet [3] .

A gyakorlati megvalósítás példájaként tekintsük át a híres szociáldemokrata Viktor Katin-Jarcev visszaemlékezéseit, aki a szentpétervári „Küzdelem Uniója” élén állt [4] .

Tegyük a titkosítás kulcsát egy részlet A. S. Puskin verséből : "Cigányok" .

A "Gimnázium" szót titkosítani kell. A szó első betűje „G”, 4/4-et jelölünk, ahol a számláló a karakterlánc, a nevező a betűk sorrendje ebben a karakterláncban. Javasolták a változatosabb bevezetést, a kulcs különböző helyeiről kölcsönözni egy-egy levelet, hogy a külső szakértők nehezítsék meg a leírtak megfejtését. Ekkor a „Gimnázium” szó titkosítása a következő szöveg lesz: „4/4, 7/3, 7/19, 4/9, 2/4, 1/14, 3/8, 1/11”.

Vagy binárisan: 0010000100, 0011100011, 0011110011, 0010001001, 0001000100, 0000101110, 0001101000, 0010101.

A költői rejtjelben a kulcs egy előre meghatározott vers, amely megegyezett méretű téglalapba van írva. Ez a téglalap a könyvrejtjel kulcsoldala.

Annak ellenére, hogy a közvetlenül a kulcskönyv segítségével történő titkosítás könnyen használható, ennek a módszernek jelentős hátrányai vannak. Ha a titkosítást nem végzik el körültekintően, akkor például az ismétlődő numerikus sorozatok megkönnyíthetik a támadó számára a szöveg visszafejtését. Felveti továbbá a szóközök vagy olyan konkrét megjelölések használatát, amelyek nemcsak a hackelést egyszerűsíthetik, hanem közvetlenül a címzett számára is problémássá tehetik az üzenet elolvasásának folyamatát.

Ebben a tekintetben megvizsgáljuk ennek a titkosítási módszernek több fejlettebb változatát.

világháborús könyvrejtjel [5]

Ennek a módszernek a fő alkotóeleme az úgynevezett raszterek, bizonyos számú furatú négyzetlapok voltak. A raszterlap két oldalán elhelyezkedő karaktereket és sorokat "kulcsfejléceknek" nevezték el, amelyek segítségével az üzenet titkosítása, majd visszafejtése megtörtént. Az üzenet kezdeti helyének meghatározásához a raszter középső részében csoportos indikátorokat használtak, amelyek előre előkészített helyeken helyezkedtek el.

A továbbított üzenet minimális mérete legalább 35 karakter, a maximális pedig legfeljebb 115 karakter.

Az üzenetnek rövidnek és világosnak kellett lennie, sztereotip kifejezések és ismétlések használata tilos. Megengedett volt a rövidítések használata, de legfeljebb három karakter, kivéve a „Kilométer” szót, amelyet a „KM” váltott fel.

Az 1-től 24-ig terjedő sorokba öt titkosított karakterből álló csoportokat írtak. A jobb felső sarokban lévő szóközt az üzenet feladójának azonosítására használták. A raszterlap minden sorában és oszlopában pontosan 3 lyuknak kellett lennie. A lyukak elhelyezésének a következő feltételeknek kellett megfelelnie:

  1. A bal oldali lyuk 14-19 oszlopon belül, a középső 15-25, a jobb oldali 21-26 oszlopon belül kellett hogy legyen.
  2. A lyukakat úgy kellett elosztani, hogy minden oszlopban csak 1 lyuk legyen, mielőtt megjelent benne a második.

A raszter minden egyes mezőjének azonosítására 26 karakterből álló ábécét használtunk. Egyrészt az oszlopokat 1-től 13-ig, másrészt 14-től 26-ig számozták. Az 1. oszloptól kezdve a 2. és 3. sorban rögzítettek bizonyos karaktersorozatokat, ezeket a sorozatokat a numerikusakkal együtt , „kulcscímek” voltak.

Most nézzük meg ennek a titkosítási módszernek az egyik fő összetevőjét - a "kulcsfejlécet", amelynek segítségével az üzenet további titkosítása és visszafejtése történik.

Legyen a kulcs ebben az esetben a következő karakterkészlet: " fsgjhcvmxzqrt ", fontos, hogy hossza ne haladja meg a 13 karaktert. A szabályoknak megfelelően ezt a kulcsot a második sorban kell megadni, közvetlenül az 1-13 számsor alatt. A további munkához szükséges numerikus sorozat felépítése a következőképpen történik:

  1. A billentyű betűi ábécé sorrendben vannak számozva, vagyis a „c” betűhöz a 3-as számot kell rendelnünk, de mivel ebben a sorrendben az ábécé minden betűje szerepel, ezért az 1-es számot adjuk hozzá. it, f a 2-es számhoz stb.
  2. Ezután a kapott számsort a negyedik oszlopba írjuk.

A negyedik sorban a 14-26 szekvencia alatt írjuk a kapott numerikus sorozatot, a harmadikba pedig a sorozatot, amely a következőképpen alakul: az 1-es számhoz az a szimbólumot rendeljük, mivel az első az ábécében választottuk, 2 - b, 3- c stb. Mindezek után eltávolítjuk a kulcsot a második sorból.

Az így létrejövő numerikus és karaktersorozatokat "kulcsfejlécnek" nevezik.

Miután megismerkedtünk a módszer elméleti részével, térjünk át a gyakorlati részre, és a következő példán keresztül illusztráljuk ennek a rejtjelnek a működését.

Tegyük fel, hogy titkosítani akarjuk az üzenetet: "A békítő az, aki etet egy krokodilt, abban a reményben, hogy az eszi meg utoljára."

Kezdésként töltsük ki a "kulcscímeket". Először is az 1-13. sorrendben oszlopokkal dolgozunk. A második oszlopba írjuk a karaktersorozatot: " uytetjgshdbvx ", a harmadikba: " bicedakflmghj ", a negyedikbe pedig a korábban kapott számsort, azaz " 2 9 3 5 4 1 11 6 12 13 7 8 10 ". Most ugyanezt fogjuk tenni a 14-26 sorozat alatti sorokkal, de a „mgdhacnbvzxl I”, „bicedakflmghj” és „2 9 3 5 4 1 11 6 12 13 7 8 10” raszterrel kezdjük. tetszőleges szabad mező.

Ezt követően a felső számsorrendnek megfelelően a raszter jobb oldalára oszloponként írjuk a sima szöveget. Például a felső sorban lévő 1-es szám az "aoahl" karakteroszlopnak felel meg, ezt írjuk először a jobb oldali 1-es sorba stb. Az ötödik sort hagyjuk szabadon, mivel ez lesz a kezdet indikátorcsoportja az üzenetből, amely a következőképpen alakul: az első 2 karakter a raszter bal oldali részének második és harmadik oszlopából kerül ki (az üzenet kezdeti sorából, ebben a példában a hetedikről), a harmadik karakter kerül kiválasztásra tetszőlegesen a negyedik és ötödik karakter a raszter felső részének (17. oszlop) második és harmadik sorából származik.

Az üzenet visszafejtéséhez csak a kulcsot kellett ismerni, esetünkben ez az "fsgjhcvmxzqrt" karaktersorozat és az indikátorcsoport, hogy tudjuk, a raszter melyik mezőjétől kezdődik az üzenet. Ezután az összes lépést fordított sorrendben végrehajtva megkapjuk az eredeti üzenetet.

A könyvrejtjel modern változata

Most nézzük meg ennek a titkosítási módszernek egy modernebb változatát, amelyet 2010-ben fejlesztettek ki [6] .

Korábban ezt a titkosítást csak a könyvek, karaktersorozatok stb. alapján történő titkosítás szempontjából vettük figyelembe, most azonban, hatalmas számú elektronikus eszköz feltalálásával, megpróbáljuk ezt a titkosítási módszert az oldalról szemlélni. másik oldal.

Ha közelebbről megvizsgálja a számítógépeken általunk kezelt fájlokat, legyen szó zenéről, fotókról, dokumentumokról vagy videókról, ezek mindegyike hasonló felépítésű, mindegyiket bitekként, 0 vagy 1-ként ábrázoljuk. Ha egy számítógépet úgy tekintünk, mint az ilyen típusú fájlok tárháza, akkor miért ne használja "kulcskönyvként" az üzenetek titkosításához.

Nézzük meg közelebbről ennek az algoritmusnak az ötletét.

Ebben az esetben a kulcs a közönséges számítógépes fájlok halmaza: (1. fájl, 2. fájl,…, N fájl).

Az első lépés a k szám kiválasztása: k∈N, k≥1.

Ezután a forrásszöveget bináris sorozattá alakítjuk, és s részre osztjuk, ahol minden rész k bit hosszúságú. Ha az utolsó rész hossza kisebb, mint k, akkor nullákkal töltjük ki.

Az első két lépés után a szövegünk egy s részből álló halmaz, jelöljük D-vel: D = (D1…Ds).

Tegyük meg az előző lépéseket, de ne sima szöveggel, hanem egy olyan fájlkészlettel, amelyet a legelején kulcsnak választottunk: (1. fájl, 2. fájl ... N fájl).

Minden fájlt bitsorozatként ábrázolunk, amit aztán részekre osztunk, minden rész hossza k bit, ha kevesebb, akkor a többit nullákkal töltjük ki.

Miután elvégeztük ezt a műveletet az összes fájllal, kapunk egy blokkkészletet, és mindegyikhez rendelünk egy címet. A cím annak a fájlnak a számából fog állni, amelyből ez a blokk érkezett, valamint magának a blokknak a száma az összes blokkkészletből, amely ezt a fájlt alkotja.

Ezt követően a Di minden részét, ahol i ∈(1 ... s) lecseréljük egy tetszőlegesen választott blokkcímre, aminek eredményeként azt kapjuk, hogy az eredeti nyílt szöveg véletlenszerű címek halmazává változott: (1. cím ... cím s).

A kapott szöveg visszafejtéséhez ugyanarra a kulcsra van szükségünk, amellyel a sima szöveget is titkosítottuk, vagyis egy halmazra (1. fájl, 2. fájl ... N fájl) és magára a titkosított tesztre.

Minden címhez megtaláljuk a hozzá tartozó fájlt a címben található fájl- és blokkszámok alapján.

Ezután minden rejtjelezett címet lecserélünk a készlet megfelelő D elemeire (D1… Ds), és átalakítjuk az eredeti egyszerű szöveggé.

Alkalmazástörténet

egy 2 3 négy 5 6 7 nyolc 9 tíz
egy H Nál nél P O W E L ÉS E R
2 H E B O E L b H És Nak nek
3 H E NÁL NÉL E TÓL TŐL E L DE én D
négy E Y TÓL TŐL DE D És TÓL TŐL b Nak nek O
5 H O G És B O TÓL TŐL S G R
6 És E D NÁL NÉL DE P R És Nak nek R
7 H E TÓL TŐL T S D És TÓL TŐL én H
nyolc E T O M H O G És x TÓL TŐL
9 NÁL NÉL És ÉS Nál nél én NÁL NÉL Nak nek O T O
tíz T DE Nak nek Nál nél H És T b TÓL TŐL én
Ha a szöveg „Jelentés” szóval kezdődött, akkor egy ilyen táblázat szerint többféleképpen titkosítható: „4/3, 5/2, 8/6, 2/3, 1/5, 7/7, 10/1, 6 /2…” vagy „10/9, 1/4, 8/3, 5/5, 1/5, 8/8, 9/9, 6/2…” stb. A számláló minden tört a sor száma , a nevező pedig az oszlop száma. Mivel a táblázat nem tartalmazza a „Ш” betűt, helyette a „Ш” betűt használjuk, de ez nem zavarja az üzenet visszafejtését. A forradalmárok egyik hibája azonban az volt, hogy gyakran használták a demokraták azon szerzőinek műveit, akiket a rendőrség ismert. Ez sokkal könnyebbé tette a titkosított üzenetek megfejtését, mivel a titkosítás gondolatát a rendőrség ismerte. Védelem csak akkor biztosított, ha a kulcs egy „titkos vers” volt. Egy másik hiba, amely megkönnyíti a visszafejtést, a szokásos szavak és kifejezések gyakori használata volt: "Inform ...", "Küldöm ...", "megjelenés", "cím" és így tovább. Ugyanazon kulcsvers gyakori használata megkönnyítette az üzenetek olvashatóságát a rendőrök számára is, akik hatékonyan kihasználták ezeket a hibákat.
  1. 1901 októberében Nadezhda Krupskaya ügynökén, Concordia Zakharován keresztül azt kérte, hogy Spinoza életrajzát küldjék el Münchenbe kulcskönyvként:

"Kommunikálj Nikolaevvel… Kulcs: Spinoza életrajza , 60. o.".

.

  1. 1902 januárjában az RSDLP Harkovi Bizottsága titkosításnak választotta Lev Tolsztoj életrajzát .
  2. 1902 nyarán az RSDLP ismét Spinoza életrajzához fordul:

„Általánosságban elmondható, hogy a bizottság megfelelő kapcsolatokat akar kialakítani, a régi kapcsolatok elvesztek... A rejtjel azt javasolja, hogy a bizottság egy citrommal Spinozáról, Pavlenkov életrajzi kiadásáról jelölje meg az oldalt egy számmal, majd egy tört: a számláló a vonalat jelöli felülről, a nevező - a betűt a bal oldalról "

Biztonság

A könyvrejtjel szembetűnő előnye a titkos kulcs előkészítésével és továbbításával kapcsolatos problémák hiánya, mivel a kódszöveg egyszerre több példányban létezik. Ez a rejtjel azonban, mint a többi, a kriptoanalízis minden szokásos eszközének alá van vetve. Ezek az eszközök pedig lehetővé teszik a kriptoanalizátor számára, hogy nem nulla valószínűséggel találja ki a kódszavakat, és néha teljesen megtöri a kódot a kulcsszöveg felfedésével. A kódszöveg felfedése azonban nem az egyetlen módja annak, hogy feltörjük a könyv rejtjelét. A könyvrejtjel még mindig érzékeny a gyakori kriptográfiai módszerekre, mivel gyakran egy könyv ugyanazokat az oldalait használják a titkosításhoz, és gyakran ugyanazokat a szavakat ezeken az oldalakon. Így például William Friedman és felesége , Elizabeth Friedman könyv nélkül is fel tudták törni a könyv titkosítását, mivel a tudósítók néha többször is ugyanazt az oldal- és sormegjelölést használták ugyanarra a betűre. Friedmanéknak sikerült elolvasniuk a titkosszolgálati adatokat dicsőítő indiai nacionalisták levelezését egy régi német-angol szótáron alapuló könyvrejtjel segítségével. A tárgyalás idejére sikerült megszerezniük a végső bizonyítékot - magát a szótárat [10] .

Ha a titkosítást körültekintőbben használják, akkor annak megbízhatósága jelentősen megnő, mivel homofonikus rejtjelként fog működni, rendkívül sok ekvivalenssel. Ezt azonban egy nagyon nagy rejtjelezett szövegbővítés árán fogják elintézni.

Az irodalomban

Arthur Conan Doyle A terror völgye című detektívtörténetében a főszereplő Sherlock Holmes egy könyvrejtjellel titkosított üzenetet kap postán, azonban nincs információja a használt kulcskönyvről. Feltöri a titkosítást, és sikeresen sejti , hogy a könyv Whitaker népszerű almanachja volt

Az Osztrák-Magyar hadsereg tiszteinek kiképzése a könyvrejtjel használatára Jaroslav Hasek A jó katona Svejk kalandjai című művében rendkívül parodisztikus – az összes tiszt ül és elolvassa az „Atyák bűnei” című könyv 161 oldalát, annak ellenére, hogy az a tény, hogy ez az oldal szerepel a kriptográfiai tankönyvben. Ráadásul a balszerencsés Schweik rossz kötetet hozott. A tisztek végül arra a „vigasztaló” következtetésre jutnak, hogy a háborúban nem lesz idő a rejtjelezésre [11] .

Graham Greene A mi emberünk Havannában című regényének hőse , a szerény porszívókereskedő, Wormald parodisztikus kémkarrierje kezdetén egy könyvrejtjelet használ. Legközelebbi barátja, Dr. Hasselbacher azonnal észreveszi egy új könyv megjelenését: Shakespeare for Youth, és minden nehézség nélkül elolvassa a hamis jelentéseket, még akkor is, ha a könyv ugyanazt a példányát használja. Green, aki maga is egykori titkosszolgálati ügynök volt, megmutatja a könyvrejtjel megbízhatatlanságát.

Ken Follet The Key to Rebecca című könyve egy kairói német kémről mesél, aki Daphne du Maurier Rebecca című regényét használta a titkosítás alapjául.

Lord Peter Wimsey a Nagy Honvédő Háborúban a nácik által megszállt Európában a brit hírszerzés megbízásából a The Presumption of Death -ben John Donne írásain alapuló titkosítást használ . A németek arra gyanakodva, hogy a titkosszolgálat az angol irodalom klasszikus műveit választja titkosításra, szisztematikusan átkutatják ezeket a műveket, amíg meg nem találják a megfelelőt, ami gyakorlatilag a kémek elfogásához vezet. Wimsey ezután egy új titkosítást készít egy kiadatlan szöveg alapján, amelyet csak ő és felesége ismer.

Jegyzetek

  1. A. V. Babash, G. P. Shankin „A kriptográfia története. I. rész M.: Helios, 2002";
  2. Y. Volkova: "A kriptográfia története";
  3. V. V. Jascsenko: "Bevezetés a kriptográfiába" ;.
  4. 1 2 A. V. Szinelnikov: „Oroszország titkosítói és forradalmárai”;
  5. Michael van der Meulen "A Wehrmacht könyvrejtjelező rendszere"
  6. Changda Wang, Shiguang Ju "Újszerű módszer a könyvrejtjel megvalósításához"
  7. The Nihilist Cipher and its Development Archivált : 2016. március 4. a Wayback Machine -nél ;
  8. A. V. Szinelnikov: „Oroszország titkosítói és forradalmárai. 2. rész";.
  9. Albert C. Leighton, Stephen M. Matyas "A kulcskönyv keresése Nicholas Trist könyvrejtjeihez"
  10. The Friedman Legacy: A Tribute to William and Elizebeth Friedman az NSA webhelyén, 197-198. o. Archiválva : 2010. május 27. a Wayback Machine -nél ;
  11. J. Hasek "A jó katona Schweik kalandjai (3. rész, 1. fejezet)" .

Irodalom