Knižní šifra

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 25. listopadu 2017; kontroly vyžadují 20 úprav .

Knižní šifra  je typ šifry, ve které je každý prvek otevřeného textu (každé písmeno nebo slovo) nahrazen ukazatelem (například číslem stránky, řádku a sloupce) podobného prvku v dalším klíčovém textu.

Pro dešifrování musíte mít soukromý text i text dalšího klíče. Jako doplňkový text byly často používány běžné knihy nebo knihy, které s největší pravděpodobností měl odesílatel i adresát [1] .

Historie vytvoření

Vědci a historici dodnes nemají jasné informace o tom, kdy a kým byla knižní šifra poprvé použita. Jeden z nejčasnějších příkladů této šifry je známý jako Aeneas knižní šifra , která odkazuje na steganografii . Je možné, že tento první pokus využít ručně psaný text pro šifrování byl počátkem vzniku knižní šifry [2] .

Navíc si nelze nevšimnout podobnosti mezi použitím knižní šifry a šifrováním pomocí Polybiova čtverce . Knižní šifra je navíc jednou z metod navržených Polybiem , jen výrazně vylepšenou. V Polybiově čtverci jsou každému písmenu přiřazena dvě čísla a pro stejná písmena budou čísla také totožná. Výhodou knižní šifry je, že každé písmeno výchozího textu bude mít svůj identifikátor. Pokud je však například stránka knihy rozdělena na velké množství různých Polybiových čtverců, pak budou šifrovací systémy stejné.

Později, v roce 1849, Meissner v Braunschweigu pracoval na studiu a vylepšení knižní šifry a nedávno Voltaire ve Winterthuru . V Sovětském svazu byla knižní šifra široce používána a zkoumána bolševickou stranou RSDLP(b) . Vytvoření několika jeho modifikací je připisováno slavné bolševici Eleně Dmitrievně Stasové .

Praktická implementace a varianty algoritmů

Šifrování pomocí básně

Podstatou metody knižní šifry je výběr libovolného textu z knihy, kde čísla slov začínající na určité písmeno nebo souřadnice (řádek, číslo v řádku) samotných písmen fungují jako šifra původní zprávy . V tomto případě může jednomu počátečnímu písmenu odpovídat několik znaků [3] .

Jako příklad praktické realizace uveďme paměti slavného sociálního demokrata Viktora Katin-Jartseva, který stál v čele petrohradského „Svazu boje“ [4] .

Položme klíč k šifře bude úryvek z básně A. S. Puškina : "Cikáni" .

Je nutné zašifrovat slovo: "Gymnasium". První písmeno slova je „G“, označujeme ho 4/4, kde čitatel je řetězec, jmenovatel je pořadí písmen v tomto řetězci. Bylo doporučeno zavést větší rozmanitost, půjčovat si dopis z různých míst v klíči, aby bylo pro externí odborníky obtížné rozluštit, co bylo napsáno. Pak bude šifrou slova "Gymnasium" tento text: "4/4, 7/3, 7/19, 4/9, 2/4, 1/14, 3/8, 1/11".

Nebo binárně: 0010000100, 0011100011, 0011110011, 0010001001, 0001000100, 0000101110, 0001101001, 001001.

V básnické šifře je klíčem předem určená báseň, která je napsána v obdélníku dohodnuté velikosti. Tento obdélník je klíčovou stránkou knižní šifry.

Navzdory skutečnosti, že šifrování přímo pomocí knihy klíčů je snadné, má tato metoda značné nevýhody. Pokud není šifrování provedeno pečlivě, pak například opakované číselné sekvence mohou útočníkovi usnadnit dešifrování textu. Vyvstává také otázka používání mezer nebo jakýchkoli specifických označení, která mohou nejen zjednodušit úkol hackování, ale také ztížit proces čtení zprávy přímo pro příjemce.

V tomto ohledu zvážíme několik pokročilejších variant této metody šifrování.

Druhá světová válka knižní šifra [5]

Hlavní složkou této metody byly tzv. rastry, čtvercové listy s určitým počtem otvorů. Znakům a řádkům umístěným na obou stranách rastrového listu se říkalo „hlavičky klíče“, s jejichž pomocí byla zpráva zašifrována, stejně jako její následné dešifrování. Pro určení výchozího umístění sdělení v centrální části rastru byly použity skupinové indikátory, které byly umístěny na předem připravených místech.

Minimální velikost přenášené zprávy měla být alespoň 35 znaků, maximální - ne více než 115.

Sdělení muselo být krátké a jasné, používání stereotypních frází a opakování bylo zakázáno. Bylo povoleno používat zkratky, ne však kratší než tři znaky, s výjimkou slova „Kilometr“, které bylo nahrazeno „KM“.

Na řádky 1 až 24 byly napsány skupiny pěti znaků šifrového textu. Mezera v pravém horním rohu sloužila k identifikaci odesílatele zprávy. Každý řádek a sloupec rastrového listu musel obsahovat přesně 3 otvory. Umístění otvorů muselo splňovat následující podmínky:

  1. Levá díra musela mít 14-19 sloupců, prostřední 15-25 a pravá 21-26.
  2. Otvory musely být rozmístěny tak, aby každý sloupec obsahoval pouze 1 otvor, než se v něm objevil druhý.

K identifikaci každého pole v rastru byla použita abeceda o 26 znacích. Na jedné straně byly sloupce očíslovány od 1 do 13 a na druhé straně od 14 do 26. Počínaje 1. sloupcem byly ve 2. a 3. řádku zaznamenány určité sekvence znaků, tyto sekvence spolu s číselnými , byly „klíčové nadpisy“.

Nyní se podívejme na jednu z hlavních součástí této metody šifrování - "hlavičku klíče", pomocí které bude provedeno další šifrování a dešifrování zprávy.

Nechť je klíčem v tomto případě následující sada znaků: " fsgjhcvmxzqrt ", je důležité, aby jeho délka nepřesáhla 13 znaků. V souladu s pravidly se tento klíč zadává do druhého řádku, přímo pod číselnou sekvenci 1-13. Konstrukce číselné sekvence pro další práci se provádí takto:

  1. Písmena klíče jsou číslována v abecedním pořadí, to znamená, že musíme přiřadit číslici 3 písmenu „c“, ale protože jde v tomto pořadí na prvním místě ze všech písmen v abecedě, přiřadíme číslo 1 it, f na číslo 2 atd.
  2. Poté se výsledná číselná posloupnost zapíše do čtvrtého sloupce.

Na čtvrtém řádku, pod posloupností 14-26, zapíšeme výslednou číselnou posloupnost a na třetí posloupnost, která je vytvořena takto: číslu 1 je přiřazen symbol a, protože je na prvním místě v abecedě si vybrali, 2 - b, 3- c atd. Po tom všem vyjmeme klíč z druhého řádku.

Výsledná sada číselných a znakových sekvencí se nazývá „hlavička klíče“.

Po seznámení s teoretickou částí metody přejděme k praktické a ilustrujme fungování této šifry na následujícím příkladu.

Řekněme, že chceme zašifrovat zprávu „Smiřovatel je ten, kdo krmí krokodýla v naději, že ho sežere jako poslední“

Vyplňme pro začátek „klíčové nadpisy.“ Nejprve pracujeme se sloupci v pořadí 1-13. Do druhého sloupce napíšeme sekvenci znaků: " uytetjgshdbvx ", do třetího sloupce: " bicedakflmghj " a do čtvrtého sloupce zapíšeme číselnou posloupnost, kterou jsme obdrželi dříve, tedy " 2 9 3 5 4 1 11 6 12 13 7 8 10". Nyní s řádky pod sekvencí 14 - 26 uděláme totéž, ale se sekvencemi "mgdhacnbvzxl I", "bicedakflmghj" a "2 9 3 5 4 1 11 6 12 13 7 8 10". libovolné volné pole.

Poté, v souladu s horní číselnou posloupností, zapíšeme prostý text sloupec po sloupci na pravou stranu rastru. Například číslo 1 v horním řádku odpovídá sloupci znaků " aoahl ", píšeme ho jako první do řádku 1 vpravo atd. Pátý řádek necháme volný, protože to bude skupina indikátorů začátku zprávy, která je tvořena následovně: první 2 znaky se převezmou z druhého a třetího sloupce levé části rastru (z řádku, kde zpráva začíná, v tomto příkladu ze sedmého), zvolí se třetí znak libovolně čtvrtý a pátý znak jsou z druhého a třetího řádku horní části rastru (17. sloupec).

K dešifrování zprávy bylo potřeba znát pouze klíč, v našem případě je to sekvence znaků "fsgjhcvmxzqrt" a skupina indikátorů, abychom věděli, ze kterého pole v rastru zpráva začíná. Poté, když provedeme všechny kroky v opačném pořadí, dostaneme původní zprávu.

Moderní verze knižní šifry

Nyní zvažte modernější verzi této metody šifrování, která byla vyvinuta v roce 2010 [6] .

Dříve jsme tuto šifru zvažovali pouze z hlediska šifrování založeného na libovolných knihách, sekvencích znaků atd., ale nyní, s vynálezem obrovského množství elektronických zařízení, se pokusíme na tuto šifrovací metodu podívat z druhá strana.

Pokud se blíže podíváte na soubory, které provozujeme na počítačích, ať už se jedná o hudbu, fotografie, dokumenty nebo videa, všechny mají podobnou strukturu, všechny jsou reprezentovány jako bity, 0 nebo 1. Pokud považujeme počítač za úložiště tohoto typu souborů, tak proč jej nevyužít jako „knihu klíčů“ k šifrování zpráv.

Pojďme se blíže podívat na myšlenku tohoto algoritmu.

Klíčem v tomto případě bude sada běžných počítačových souborů: (Soubor 1, Soubor 2,…, Soubor N).

Prvním krokem je vybrat číslo k: k∈N, k≥1.

Dále zdrojový text převedeme do binární sekvence a rozdělíme na s částí, kde každá část má délku k bitů. Pokud je délka poslední části menší než k, pak ji vyplníme nulami.

Po prvních dvou krocích je náš text množinou skládající se ze s částí, označme ji D: D = (D1…Ds).

Udělejme předchozí kroky, ale ne s prostým textem, ale se sadou souborů, které jsme zvolili hned na začátku jako klíč: (Soubor 1, Soubor 2 ... Soubor N).

Každý soubor reprezentujeme jako bitovou sekvenci, kterou pak rozdělíme na části, délka každé části je k bitů, pokud je méně, pak zbytek doplníme nulami.

Po provedení této operace se všemi soubory získáme sadu bloků a každému z nich přiřadíme adresu. Adresa se bude skládat z čísla souboru, ze kterého je tento blok přijat, a čísla samotného bloku z množiny všech bloků, které tento soubor tvoří.

Poté nahradíme každou část Di, kde i ∈(1 ... s) libovolně zvolenou blokovou adresou, v důsledku čehož dostaneme, že se původní otevřený text změnil na množinu náhodných adres: (adresa 1 ... adresa s).

K dešifrování výsledného textu potřebujeme stejný klíč, kterým jsme zašifrovali prostý text, tedy sadu (Soubor 1, Soubor 2 ... Soubor N) a samotný šifrovaný test.

Pro každou adresu najdeme soubor, který jí odpovídá podle čísel souborů a bloků, které adresa obsahuje.

Dále nahradíme každou adresu šifrovaného textu odpovídajícími prvky D ze sady (D1… Ds) a převedeme ji na původní otevřený text.

Historie aplikací

jeden 2 3 čtyři 5 6 7 osm 9 deset
jeden H V P Ó W E L A E R
2 H E B Ó E L b H A Na
3 H E V E Z E L ALE D
čtyři E Y Z ALE D A Z b Na Ó
5 H Ó G A B Ó Z S G R
6 A E D V ALE P R A Na R
7 H E Z T S D A Z H
osm E T Ó M H Ó G A X Z
9 V A A V V Na Ó T Ó
deset T ALE Na V H A T b Z
Pokud by text začínal slovem „Report“, pak by podle takové tabulky mohl být zašifrován několika způsoby: „4/3, 5/2, 8/6, 2/3, 1/5, 7/7, 10/1, 6/2…“ nebo „10/9, 1/4, 8/3, 5/5, 1/5, 8/8, 9/9, 6/2…“, atd. Čitatel každý zlomek je číslo řádku a jmenovatel je číslo sloupce. Vzhledem k tomu, že tabulka neobsahuje písmeno „Ш“, použije se místo něj písmeno „Ш“, ale to neruší dešifrování zprávy. Jednou z chyb revolucionářů však bylo časté používání děl těch autorů demokratů, kteří byli policii známí. Díky tomu bylo mnohem snazší dešifrovat utajované zprávy, protože samotná myšlenka šifrování byla policii známa. Ochrana byla poskytnuta pouze tehdy, když byla klíčem „tajná báseň“. Další chybou usnadňující dešifrování bylo časté používání standardních slov a výrazů: „Informuj...“, „Posílám vám...“, „vzhled“, „adresa“ a podobně. Časté používání stejné klíčové básně také usnadnilo čtení zpráv policií, která těchto chyb efektivně využívala.
  1. V říjnu 1901 Naděžda Krupská prostřednictvím své agentky Concordie Zakharové požádala, aby byl do Mnichova zaslán životopis Spinozy jako klíčová kniha:

"Komunikujte s Nikolaevem…Klíč: Spinozův životopis , str. 60".

.

  1. V lednu 1902 byla biografie Lva Tolstého vybrána jako šifra Charkovským výborem RSDLP .
  2. V létě 1902 se RSDLP opět obrací ke Spinozově biografii:

„Obecně chce výbor navázat správné vztahy, stará spojení se ztratila... Šifra navrhuje, aby výbor s citronem na Spinoze, životopisné vydání Pavlenkova, označil stránku číslem a poté zlomek: čitatel označuje řádek shora, jmenovatel - písmeno z levé strany "

Zabezpečení

Znatelnou výhodou knižní šifry je absence problémů spojených s přípravou a přenosem tajného klíče, protože text kódu existuje v několika kopiích najednou. Tato šifra však stejně jako ostatní podléhá všem obvyklým prostředkům dešifrování. A tyto nástroje umožňují kryptoanalytikovi uhodnout kódová slova s ​​nenulovou pravděpodobností a někdy zcela prolomit kód odhalením klíčového textu. Odhalení textu kódu však není jediný způsob, jak prolomit knižní šifru. Knižní šifra je stále náchylná k častým metodám kryptoanalýzy, protože často se pro šifrování používají stejné stránky v knize a na těchto stránkách často stejná slova. Tak například William Friedman a jeho manželka Elizabeth Friedmanová dokázali prolomit knižní šifru bez knihy, protože korespondenti někdy použili stejné označení stránky a řádku pro stejné písmeno několikrát. Friedmanovi se podařilo přečíst korespondenci indických nacionalistů, kteří glorifikovali zpravodajská data pomocí knižní šifry založené na starém německo-anglickém slovníku. Do soudního procesu se jim podařilo získat konečný důkaz - samotný slovník [10] .

Pokud je šifra používána opatrněji, její spolehlivost se výrazně zvýší, protože bude fungovat jako homofonní šifra s extrémně velkým počtem ekvivalentů. To však bude uspořádáno za cenu velmi rozsáhlého rozšíření šifrového textu.

V literatuře

V detektivce Arthura Conana Doyla Údolí teroru dostává hlavní hrdina Sherlock Holmes poštou zprávu zašifrovanou knižní šifrou , ale nemá informace o použité knize klíče. Rozluští šifru a úspěšně uhodne, že kniha byla Whitakerovým oblíbeným almanachem

Výcvik důstojníků rakousko-uherské armády v používání knižní šifry v Dobrodružství dobrého vojáka Švejka Jaroslava Haška je extrémně parodický - všichni důstojníci sedí a čtou 161 stran knihy "Hříchy otců" navzdory skutečnost, že tato stránka je uvedena v učebnici kryptografie. Nešťastný Švejk navíc přinesl špatný svazek. Nakonec důstojníci dojdou k „utěšujícímu“ závěru, že na šifry ve válce nebude čas [11] .

Hrdina románu Grahama Greena Náš muž v Havaně , skromný prodavač vysavačů Wormald, používá na začátku své parodické špionážní kariéry knižní šifru. Jeho nejbližší přítel, doktor Hasselbacher, si okamžitě všimne, že se objevila nová kniha: Shakespeare pro mládež, a bez větších potíží si přečte falešné zprávy, dokonce i pomocí stejného výtisku knihy. Green, sám bývalý zpravodajský agent, ukazuje nespolehlivost knižní šifry.

Kniha Kena Folleta The Key to Rebecca vypráví o německém špionovi v Káhiře, který jako základ pro šifru použil román Daphne du Maurier Rebecca .

V Presumpci smrti , Lord Peter Wimsey , na úkolu pro britskou inteligenci v nacisty-zabíral Evropu ve Velké vlastenecké válce, používá šifru založenou na spisech Johna Donna . Němci v podezření, že si zpravodajská služba vybere pro šifrování klasická díla anglické literatury, systematicky taková díla prosívají, dokud nenajdou to správné, což prakticky vede k dopadení špionů. Wimsey poté vytvoří novou šifru na základě nepublikovaného textu, který zná pouze on a jeho žena.

Poznámky

  1. A. V. Babash, G. P. Shankin „Historie kryptografie. Část I. M .: Helios, 2002“;
  2. Y. Volkova: "Historie kryptografie";
  3. V. V. Yashchenko: "Úvod do kryptografie" ;.
  4. 1 2 A. V. Sinelnikov: „Šifry a revolucionáři Ruska“;
  5. Michael van der Meulen „Knižní šifrovací systém Wehrmachtu“
  6. Changda Wang, Shiguang Ju „Nová metoda k implementaci knižní šifry“
  7. The Nihilist Cipher and Its Development Archived 4 March 2016 at Wayback Machine ;
  8. A. V. Sinelnikov: „Šifry a revolucionáři Ruska. Část 2";.
  9. Albert C. Leighton, Stephen M. Matyas „Hledání klíčové knihy ke knižním šifrám Nicholase Trista“
  10. The Friedman Legacy: A Tribute to William and Elizebeth Friedman on site of NSA, p.197-198 Archived 27 May 2010 at Wayback Machine ;
  11. J. Hašek "Dobrodružství dobrého vojáka Švejka (3. díl, 1. kapitola)" .

Literatura