vod do klasickch a modernch metod ifrovn Jaro

  • Slides: 20
Download presentation
Úvod do klasických a moderních metod šifrování Jaro 2009, 2. přednáška

Úvod do klasických a moderních metod šifrování Jaro 2009, 2. přednáška

Jiný šifrový text YEVQK CBTXW MGQOJ GRHII WDVLF MXREX SKHZM EJRLM ZLLSB QEDBK PZNDF

Jiný šifrový text YEVQK CBTXW MGQOJ GRHII WDVLF MXREX SKHZM EJRLM ZLLSB QEDBK PZNDF GQAUN CZSEM IOAQE UHWJJ DHPQP DJUCS EQICR KTEAF FZJSS JFTHR ZZEYO PTIOL KIOUV DHXPF UHXOW QIEIO BUVLY FUFTT IZLIO FDUMF DYDWD EEGND UIGFR PGVYK JXSWV LFSTH FJXZK OEFLX EEWVO LUIGF QUHNH VSMJJ LGXUJ ODBYB YOTNP REFVK GJGTV YNFZT SEZSY MMECP ROBTY FUHRC PUNCE KHIE LTUSD QCEFU TWWVR DIBRX RIDWX XVLWT RPSBY UNHMS WHWFR AGIEV OEBFV LQYKE EEFMB ARJFR UEIUD OPPUN JTTAE EHXDV HXARP RUIJK THOLS EEUYS XMKDL ISLNI PDWST VRRMS UHCCD SEZLZ MKEVH NHSDE KHLSO GCWGO FSASN OEHBS VNKJZ QHBXZ ALNVZ XEXIO HREKD SLRTR Počet znaků: 524 Četnosti znaků: 39, 27, 25, 25, 24, 23, 23, 22, 20, 20, 19, 18, 17, 16, 15, 14, 13, 12, 10 Kasiského test: Poloha opakovaných bigramů, trigramů, atd. Jde nejspíš o nějakou šifru s periodickým klíčem JNVRF ZZNBY ZTOCY DPTII XDDCJ NTSHL YKNBO ZNWEB XCEAO UWTKY

Řešení Vigenérovy šifry Nezávisle Friedrich W. Kasiski a Charles Babbage v druhé polovině 19.

Řešení Vigenérovy šifry Nezávisle Friedrich W. Kasiski a Charles Babbage v druhé polovině 19. stol. Jejich řešení je založené na následujícím pozorování (Kasiského test): Vyskytuje-li se nějaký bigram xy v otevřeném textu dvakrát a vzdálenost mezi oběma výskyty je násobkem délky klíče, pak je v obou případech zašifrován stejným bigramem cd. V obou případech jsou totiž posunutí definována stejným bigramem kl klíče. klíč otevřený text šifrový text kl. . kl xy. . xy pq. . pq Nejdříve tedy odhadneme délku klíče tak, že v šifrovém textu najdeme všechny bigramy, které se vyskytují aspoň dvakrát a spočteme jejich vzdálenosti. Poté najdeme číslo, které je nejčastěji dělitelem těchto vzdáleností. To je pravděpodobnou délkou klíče. Opakovaný bigram v šifrovém textu může vzniknout i náhodně, ne všechny vzdálenosti opakovaných bigramů musí být násobkem délky klíče.

Odhad velikosti posunutí Máme-li odhad délky klíče, můžeme pak odhadnout velikost jednotlivých posunutí následovně.

Odhad velikosti posunutí Máme-li odhad délky klíče, můžeme pak odhadnout velikost jednotlivých posunutí následovně. Šifrový text pak napíšeme do tolika sloupců, kolik je odhadovaná délka klíče, a spočítáme frekvenci jednotlivých znaků v každém sloupci zvlášť. Poté pro každý sloupec najdeme takové posunutí abecedy, které nejlépe odpovídá frekvenci jednotlivých písmen v (přirozeném) jazyce otevřeného textu. Pak už zbývá pouze dešifrovat text pomocí odhadnutých velikostí posunutí. Řešení Vigenérovy šifry lze jednoduše algoritmizovat pomocí pojmu index koincidence.

Index koincidence Zavedl William F. Friedman v roce 1925. Neformálně je index koincidence dvou

Index koincidence Zavedl William F. Friedman v roce 1925. Neformálně je index koincidence dvou textů S a T nad stejnou abecedou A definovaný jako pravděpodobnost, že se v obou textech vyskytne stejný znak na stejném místě. Definice. Jsou-li S = s 1 s 2…sn a T = t 1 t 2…tn dva texty téže délky nad stejnou abecedou A, pak definujeme index koincidence těchto dvou textů jako Kappa(S, T) = Σi δ(si, ti) / n, sčítáme pro i = 1, 2, …, n, δ(si, ti) je Kroneckerův symbol rovný 1 pokud si=ti a rovný 0 v opačném případě. Očekávaná hodnota Kappa(S, T). Jsou-li pravděpodobnosti výskytů jednotlivých znaků abecedy A v textu S rovné p 0 p 1…pk a pravděpodobnosti výskytů těchto znaků v textu T jsou rovné q 0 q 1…qk, pak očekávaná hodnota indexu koincidence Kappa(S, T) = sčítáme pro j = 1, 2, …, n. Σ j pjqj ,

Očekávaná hodnota indexu koincidence jazyka Jsou-li frekvence jednotlivých písmen abecedy v nějakém jazyce L

Očekávaná hodnota indexu koincidence jazyka Jsou-li frekvence jednotlivých písmen abecedy v nějakém jazyce L rovné p 0, p 1, …p 25 pak očekávaná hodnota indexu koincidence dvou textů v tomto jazyce se rovná Kappa(S, T) = Σj pj 2 , sčítáme pro j = 0, 2, …, 25. Toto číslo nezávisí na textech S a T, ale pouze na pravděpodobnostech pj, nazývá se proto očekávaný index koincidence jazyka L. Zde jsou hodnoty očekávaného indexu koincidence nejčastějších jazyků podle Kullbacka, 1976: angličtina němčina francouzština španělština ruština náhodný text 6, 61% 7, 62% 7, 78% 7, 75% 5, 29% (32 znaků v abecedě) 1/26 = 3, 85%. Tyto hodnoty samozřejmě závisí na použitých tabulkách frekvencí jednotlivých písmen a u různých autorů se mohou lišit.

Invariance indexu koincidence Tvrzení. Jsou-li dva texty S a T zašifrované polyalfabetickou šifrou za

Invariance indexu koincidence Tvrzení. Jsou-li dva texty S a T zašifrované polyalfabetickou šifrou za použití stejného klíče K, a označíme-li takto obdržené šifrové texty C a D, pak platí Kappa (C, D) = Kappa (S, T). Důkaz. Označme si symbol na i-tém místě textu S, a ti symbol na i-tém místě textu T. Protože je při šifrování použit stejný klíč pro oba texty, jsou symboly si a ti zašifrovány za použití stejné permutace πi. Na i-tém místě šifrového textu C je tedy symbol ci = πi(si) a na i-tém místě šifrového textu D je symbol di = πi(ti). Protože πi je permutace, platí si = ti právě když ci = di pro každý index i. Odtud a z definice indexu koincidence pak vyplývá rovnost Kappa (C, D) = Kappa (S, T).

Průměrné indexy koincidence r Pro text T délky n a r přirozené číslo označme

Průměrné indexy koincidence r Pro text T délky n a r přirozené číslo označme T text, který dostaneme z T cyklickým posunutím o r míst doprava. Definice. Průměrný index koincidence dvou textů S a T téže délky n nad stejnou abecedou A definujeme jako číslo Chi(S, T) = Σ r Kappa(S, T r) / n, sčítáme přes r = 0, 1, …, n – 1. Definice. Průměrný index koincidence jednoho textu T délky n definujeme jako Phi(T) = Σ r Kappa(T, T r) / (n-1), sčítáme přes r = 1, …, n – 1.

Použití pro nalezení délky klíče Máme-li daný šifrový text C délky n zašifrovaný nějakou

Použití pro nalezení délky klíče Máme-li daný šifrový text C délky n zašifrovaný nějakou polyalfabetickou šifrou, a chceme najít pravděpodobnou délku klíče, postupně pro každé d = 2, 3, …, n-1 napíšeme šifrový text do d sloupců, texty ve sloupcích označíme C 1, C 2, …, Cd , spočítáme průměrné indexy koincidence Phi(Cj) pro j = 1, 2, …, d, a pak jejich průměr Σj Phi(Cj) / d. To d, pro které se tato průměrná hodnota nejvíce blíží očekávanému indexu koincidence jazyka, ve kterém byl napsán otevřený text, je nejpravděpodobnější délka klíče. Obvykle to vychází tak, že tato průměrná hodnota se blíží očekávanému indexu koincidence jazyka otevřeného textu pro násobky délky klíče, zatímco pro ostatní hodnoty d se blíží hodnotě indexu koincidence náhodného jazyka, který je mnohem menší.

Vernamova šifra Dne 13. 9. 1918 Gilbert Vernam požádal o americký patent na údajně

Vernamova šifra Dne 13. 9. 1918 Gilbert Vernam požádal o americký patent na údajně zcela bezpečnou šifru. Vernamova šifra je vlastně Vigenerovo šifrou, u které je klíč stejně dlouhý jako otevřený text, a je navíc náhodně generovaný. Jinak řečeno, velikosti posunutí jednotlivých písmen jsou náhodné a navzájem nezávislé. Formálně můžeme Vernamovu šifru definovat následovně: Je-li p 1 p 2…. . pn otevřený text (kódovaný čísly 0, 1, …, 25 ), a k 1 k 2…. . kn náhodně generovaný klíč (tvořený čísly 0, 1, …, 25), pak šifrový text c 1 c 2…. . cn je definován jako ci = pi+ki mod 26 pro i=1, 2, …, n. Praktická využitelnost Vernamovy šifry je značně omezená nutností mít k dispozici bezpečný kanál pro výměnu klíče téže délky jako je otevřený text.

Bezpečnost Vernamovy šifry Intuitivně můžeme bezpečnost Vernamovy šifry nahlédnout následovně. Odposlechneme-li znak ci šifrového

Bezpečnost Vernamovy šifry Intuitivně můžeme bezpečnost Vernamovy šifry nahlédnout následovně. Odposlechneme-li znak ci šifrového textu, pak vzhledem ke skutečnosti, že každá z 26 možností pro ki je stejně pravděpodobná a nezávislá na předchozích hodnotách klíče k 1…ki-1, jsou všechny možnosti pro pi=ci - ki mod 26 stejně pravděpodobné. Stručně řečeno, ze znalosti šifrového textu nemůžeme usoudit vůbec nic o otevřeném textu. Claude Shannon dokázal, že Vernamova šifra je absolutně bezpečná, tj. že při použití Vernamovy šifry je pravděpodobnost P(p), že byl vyslán otevřený text p, rovná podmíněné pravděpodobnosti P(p|c), že byl vyslán otevřený text p za podmínky, že jeho šifrová podoba je c. Dále dokázal, že jde o jedinou absolutně bezpečnou šifru. Shannonova klec, do které byla kryptologie uzavřena.

Horká linka Washington-Moskva Vernamova šifra byla použita u horké linky mezi Bílým domem a

Horká linka Washington-Moskva Vernamova šifra byla použita u horké linky mezi Bílým domem a Kremlem po kubánské krizi v roce 1961. Horká linka měla za cíl zabránit náhodnému vzniku jaderné války. Klíče byly distribuovány v diplomatických zavazadlech v podobě děrných pásek. Podmínkou bezpečnosti Vernamovy šifry je to, že žádná část klíče není použita dvakrát k šifrování dvou různých textů. Celý klíč je nutno po použití zničit. Dvojí použití klíče totiž vede na takzvanou knižní šifru, kterou lze snadno vyřešit.

Dvojí použití klíče Použijeme-li jeden klíč k 1 k 2…kn k zašifrování otevřeného textu

Dvojí použití klíče Použijeme-li jeden klíč k 1 k 2…kn k zašifrování otevřeného textu p 1 p 2…pn, dostaneme šifrový text c 1 c 2…cn, kde ci = pi + ki mod 26 pro i=1, 2, …, n. Použijeme-li stejný klíč k 1 k 2…kn k zašifrování jiného otevřeného textu q 1 q 2…qn, dostaneme šifrový text d 1 d 2…dn, kde di = qi + ki mod 26 pro i=1, 2, …, n. Odečtením obou šifrových textů dostaneme ci – di = pi – qi mod 26 pro i=1, 2, …, n. Odečtením obou šifrových textů dostaneme rozdíl dvou otevřených textů (v přirozeném jazyce). To je knižní šifra kdysi používaná zejména špiony.

Řešení knižní šifry K šifrovému textu pi – qi mod 26, i=1, 2, …,

Řešení knižní šifry K šifrovému textu pi – qi mod 26, i=1, 2, …, n, postupně přičítáme ve všech možných polohách nejčastější slova otevřeného jazyka, ve kterém je text napsán. Například w 1 w 2…w 6. Pokud je slovo použito v otevřeném textu q od místa i+1, pak qi+1=w 1, qi+2=w 2, …, qi+6=w 6. Po přičtení tak dostaneme část otevřeného textu pi+1 pi+2…pi+6. Z ní můžeme uhádnout pokračování otevřeného textu p doleva a doprava, odtud pak odpovídající část otevřeného textu q, u něhož zase můžeme uhádnout prodloužení doleva a doprava, a tak střídavě rekonstruujeme oba otevřené texty p a q. Proto dálnopis, do kterého se vkládaly pásky s klíčem u horké linky Moskva – Washington, po skončení rozhovoru použitou pásku odsekl a skartoval.

Expanze klíče U moderních šifer se potřeba dlouhého náhodného klíče řešení pomocí expanze klíče.

Expanze klíče U moderních šifer se potřeba dlouhého náhodného klíče řešení pomocí expanze klíče. Z krátkého tajného klíče se generuje dlouhý klíč potřebné délky pomocí nějakého generátoru pseudonáhodných čísel. Původní tajný klíč slouží k počátečnímu nastavení generátoru. Z Shanonovy klece se podařilo uniknout pomocí pojmu výpočetní bezpečnost. Šifra je výpočetně bezpečná, není-li znám algoritmus, kterým lze šifru prolomit v „rozumném čase“. Knihy o historii kryptologie David Kahn, The Codebreakers, Macmillan, New York, 1967, podrobné historické pojednání,

Literatura ke klasické kryptologii F. L. Bauer, Decrypted Secrets, Methods and Maxims of Cryptology,

Literatura ke klasické kryptologii F. L. Bauer, Decrypted Secrets, Methods and Maxims of Cryptology, Springer Verlag 1997, 2003. Mnohem odbornější kniha než předchozí. Mnoho dalších odkazů je uvedeno v Bauerově knize. O významu kryptologie se lze dočíst také v knize The Kama Sutra, translated by Sir Richard Burton, 1883 Chapter Three, On the arts and sciences to be studied Bengt Beckman, Arne Beurling and the Swedish crypto program during World War II, American Mathematical Society 2002

Řešení transpozičních šifer Jednoduchá transpozice. Máme-li k dispozici pouze jeden šifrový text dané délky,

Řešení transpozičních šifer Jednoduchá transpozice. Máme-li k dispozici pouze jeden šifrový text dané délky, nezbývá než jej přehazovat za použití častých bigramů tak, abychom dostali smysluplný text. Máme-li k dispozici více textů téže délky zašifrované stejnou permutací, napíšeme si je pod sebe, rozstříháme do sloupců a přehazujeme je opět tak, abychom ve všech řádcích současně dostali smysluplné texty. To je obvykle mnohem snazší než v případě pouze jednoho textu. V případě úplné tabulky můžeme její rozměr najít tak, že vyzkoušíme všechny možné tabulky, které lze celé vyplnit šifrovým textem dané délky. Pro každou možnost spočítáme poměr samohlásek a souhlásek v jednotlivých řádcích. Tabulka, pro kterou se tyto poměry nejvíce blíží poměru samohlásek a souhlásek v přirozeném jazyce otevřeného textu, je ta nejpravděpodobnější. Text si potom rozstříháme do sloupců a pokračujeme stejně jako u více textů téže délky.

Dvojitá transpozice Při více textech téže délky postupujeme na počátku stejně jako u jednoduché

Dvojitá transpozice Při více textech téže délky postupujeme na počátku stejně jako u jednoduché transpozice. Pokud uspějeme, je třeba najít ještě obě hesla, abychom mohli luštit i zprávy jiných délek. Knihy o československé válečné a poválečné kryptologii: Jiří Janeček, Válka šifer (výhry a prohry československé vojenské rozvědky 1939 -1945), nakladatelství Votobia, 2001 Jiří Janeček, Gentlemani nečtou cizí dopisy, BOOKS, Brno, 1994 Jiří Janeček, Odhalená tajemství šifrovacích klíčů minulosti, Naše vojsko, 1994

Identifikace šifer Transpoziční šifry. Frekvence jednotlivých písmen je stejná jako u otevřeného textu v

Identifikace šifer Transpoziční šifry. Frekvence jednotlivých písmen je stejná jako u otevřeného textu v daném jazyce. Jednoduchá záměna. Rozložení frekvencí písmen je stejné jako u přirozeného jazyka. Polyalfabetická šifra s periodickým klíčem. Pomocí indexu koincidence.

Terminologická poznámka Šifra slouží k úpravě textu tak, aby z něho nebylo možné vyčíst

Terminologická poznámka Šifra slouží k úpravě textu tak, aby z něho nebylo možné vyčíst obsah. Kód slouží k úpravě textu tak, aby jej bylo možné přenést příslušným komunikačním médiem. Příklady kódů: kouřové signály, optický telegraf, Morseova abeceda, ASCII kód, atd. Ke zmatení této terminologie dochází patrné proto, že jednou z nejčastěji používaných klasických šifer byla kódová kniha. Kódová kniha nahrazovala nejčastěji používaná slova čtveřicemi nebo pěticemi čísel (někdy i písmen). Divize – 17490, velitel – 32751, útok – 38055, 26491, úsvit – 48562, atd.