Úvod do klasických a moderních metod šifrování

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

Upload: barclay-kim

Post on 02-Jan-2016

29 views

Category:

Documents


0 download

DESCRIPTION

Úvod do klasických a moderních metod šifrování. Jaro 20 12 , 2 . přednáška. Ji ný šifrový text. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Úvod do klasických a moderních metod šifrování

Úvod do klasických a moderních metod šifrování

Jaro 2012, 2. přednáška

Page 2: Úvod do klasických a moderních metod šifrování

Jiný šifrový textYEVQK GQAUN PTIOL UIGFR ODBYB LTUSD OEBFV THOLS KHLSO JNVRF CBTXW CZSEM KIOUV PGVYK YOTNP QCEFU LQYKE EEUYS GCWGO ZZNBY MGQOJ IOAQE DHXPF JXSWV REFVK TWWVR EEFMB XMKDL FSASN ZTOCY GRHII UHWJJ UHXOW LFSTH GJGTV DIBRX ARJFR ISLNI OEHBS DPTII WDVLF DHPQP QIEIO FJXZK YNFZT RIDWX UEIUD PDWST VNKJZ XDDCJ MXREX DJUCS BUVLY OEFLX SEZSY XVLWT OPPUN VRRMS QHBXZ NTSHL SKHZM EQICR FUFTT EEWVO MMECP RPSBY JTTAE UHCCD ALNVZ YKNBO EJRLM KTEAF IZLIO LUIGF ROBTY UNHMS EHXDV SEZLZ XEXIO ZNWEB ZLLSB FZJSS FDUMF QUHNH FUHRC WHWFR HXARP MKEVH HREKD XCEAO QEDBK JFTHR DYDWD VSMJJ PUNCE AGIEV RUIJK NHSDE SLRTR UWTKY PZNDF ZZEYO EEGND LGXUJ KHIE

Počet znaků: 524

Četnosti znaků: 39, 27, 25, 25, 25, 24, 24, 23, 23, 23, 22, 20, 20, 20, 19, 19, 18, 17, 17, 16, 15, 14, 14, 13, 12, 10

Kasiského test: Poloha opakovaných bigramů, trigramů, atd.

Jde nejspíš o nějakou šifru s periodickým klíčem

Page 3: Úvod do klasických a moderních metod šifrování

Řešení Vigenérovy šifryNezá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 meziobě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

Nejdříve tedy odhadneme délku klíče tak, že v šifrovém textu najdeme všechnybigramy, 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.

kl . . . . klxy . . . . xypq . . . . pq

Page 4: Úvod do klasických a moderních metod šifrování

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 indexkoincidence.

Page 5: Úvod do klasických a moderních metod šifrování

Index koincidenceZavedl William F. Friedman v roce 1925.

Neformálně je index koincidence dvou textů S a T nad stejnou abecedou Adefinovaný jako pravděpodobnost, že se v obou textech vyskytne stejný znak na stejném místě.

Definice. Jsou-li S = s1s2…sn a T = t1t2…tn dva texty téže délky nadstejnou 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 arovný 0 v opačném případě.

Očekávaná hodnota Kappa(S,T). Jsou-li pravděpodobnosti výskytů jednotlivýchznaků abecedy A v textu S rovné p0p1…pk a pravděpodobnosti výskytů těchtoznaků v textu T jsou rovné q0q1…qk, pak očekávaná hodnota indexu koincidence

Kappa(S,T) = Σ j pjqj ,

sčítáme pro j = 1,2,…,n.

Page 6: Úvod do klasických a moderních metod šifrování

Očekávaná hodnota indexu koincidence jazyka

Jsou-li frekvence jednotlivých písmen abecedy v nějakém jazyce L rovnép0,p1,…p25 pak očekávaná hodnota indexu koincidence dvou textů v tomto jazyce se rovná

Kappa(S,T) = Σ j pj2 ,

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ů podleKullbacka, 1976:

angličtina 6,61%němčina 7,62%francouzština 7,78%španělština 7,75%ruština 5,29% (32 znaků v abecedě)náhodný text 1/26 = 3,85% .

Tyto hodnoty samozřejmě závisí na použitých tabulkáchfrekvencí jednotlivých písmena u různých autorů se mohoulišit.

Page 7: Úvod do klasických a moderních metod šifrování

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 π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).

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).

Page 8: Úvod do klasických a moderních metod šifrování

Průměrné indexy koincidencePro text T délky n a r přirozené číslo označme T r text, který dostanemez 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.

Page 9: Úvod do klasických a moderních metod šifrování

Použití pro nalezení délky klíčeMá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 C1, C2,…,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 indexukoincidence 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 indexukoincidence 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ší.

Page 10: Úvod do klasických a moderních metod šifrování

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 p1p2…..pn otevřený text (kódovaný čísly 0,1,…,25 ), a k1k2…..kn

náhodně generovaný klíč (tvořený čísly 0,1,…,25), pak šifrový textc1c2…..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.

Page 11: Úvod do klasických a moderních metod šifrování

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 k1…ki-1, jsou všechny možnosti propi=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ánotevřený text p, rovná podmíněné pravděpodobnosti P(p|c), že byl vyslánotevř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.

Page 12: Úvod do klasických a moderních metod šifrování

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ýchpá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 snadnovyřešit.

Page 13: Úvod do klasických a moderních metod šifrování

Dvojí použití klíče

Použijeme-li jeden klíč k1k2…kn k zašifrování otevřeného textu p1p2…pn, dostaneme šifrový text c1c2…cn, kde ci = pi + ki mod 26pro i=1,2,…,n.

Použijeme-li stejný klíč k1k2…kn k zašifrování jiného otevřeného textu q1q2…qn, dostaneme šifrový text d1d2…dn, kde di = qi + ki mod 26pro 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.

Page 14: Úvod do klasických a moderních metod šifrování

Řešení knižní šifryK šifrovému textu pi – qi mod 26, i=1,2,…,n, postupně přičítáme ve všech možnýchpolohách nejčastější slova otevřeného jazyka, ve kterém je text napsán.

Například w1w2…w6. Pokud je slovo použito v otevřeném textu q od místai+1, pak qi+1=w1, qi+2=w2,…,qi+6=w6.

Po přičtení tak dostaneme část otevřeného textu pi+1pi+2…pi+6.

Z ní můžeme uhádnout pokračování otevřeného textu p doleva a doprava, odtudpak 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é textyp 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.

Page 15: Úvod do klasických a moderních metod šifrování

Expanze klíčeU 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.

David Kahn, The Codebreakers, Macmillan, New York, 1967, podrobné historické pojednání,

Knihy o historii kryptologie

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“.

Page 16: Úvod do klasických a moderních metod šifrování

Literatura ke klasické kryptologiiF.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.

The Kama Sutra, translated by Sir Richard Burton, 1883

Chapter Three, On the arts and sciences to be studied

O významu kryptologie se lze dočíst také v knize

Bengt Beckman, Arne Beurling and the Swedish crypto program during World War II, American Mathematical Society 2002

Page 17: Úvod do klasických a moderních metod šifrování

Řešení transpozičních šiferJednoduchá 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 dostalismysluplný 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.

Tabulka, pro kterou se tyto poměry nejvíce blíží poměru samohlásek a souhlásekv přirozeném jazyce otevřeného textu, je ta nejpravděpodobnější. Text si potomrozstříháme do sloupců a pokračujeme stejně jako u více textů téže délky.

Pro každou možnost spočítáme poměr samohlásek a souhlásek v jednotlivých řádcích.

Page 18: Úvod do klasických a moderních metod šifrování

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ávyjiný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

Page 19: Úvod do klasických a moderních metod šifrování

Identifikace šifer

Jednoduchá záměna. Rozložení frekvencí písmen je stejné jako u přirozenéhojazyka.

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

Polyalfabetická šifra s periodickým klíčem. Pomocí indexu koincidence.

Page 20: Úvod do klasických a moderních metod šifrování

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.