Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

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

Podobné prezentace


Prezentace na téma: "Úvod do klasických a moderních metod šifrování Jaro 2009, 2. přednáška."— Transkript prezentace:

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

2 Jiný šifrový text YEVQK 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

3 Vigenérova šifra Používá periodicky několik různých posunutí abecedy. Klíčem bývalo obvykle nějaké slovo, které udávalo délku posunutí podle následující tabulky. a b c d e f g h i j k l m n o p q r s t u v w x y z Tak například klíč slizoun určoval posunutí Otevřený text kocka leze dirou se zašifroval následovně: kocka leze dirou slizo unsl izoun cz k jo frrp lhfih

4 Polyalfabetická šifra Podobná Vigenérově šifře, místo různých posunutí ale používá různé obecné jednoduché substituce. Každé písmeno otevřeného textu šifruje pomocí jiné permutace. Ideální je, pokud se žádná permutace nepoužívá dvakrát. abcdefghijklmnopqrstuvwxyz 1:gkqwhrjvoisnazcubdxplfytme 2:cintzuhsymjabvoelxwpkfqgrd 3:ekrwxpavqbslcfitudgjmhnyzo 4:dqcuimhvrelnwgofjkztysabpx Šifrujeme: koza s ood

5 Vigenérovu šifru popsal již v roce 1586 Blaise de Vigenére. Slabina: periodické heslo Šifru rozluštil až Charles Babbage ( ), profesor matematiky na Cambridge University Řešení lze algoritmizovat pomocí indexu koincidence, který vymyslel William F. Friedman kolem roku Index koincidence je jeden z nejvýznamnějších statistických testů používaných v kryptologii.

6 Index koincidence Zavedl William F. Friedman v roce 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 …s n a T = t 1 t 2 …t n dva texty téže délky nad stejnou abecedou A, pak definujeme index koincidence těchto dvou textů jako Kappa(S,T) = Σ i δ(s i,t i ) / n, sčítáme pro i = 1,2,…,n, δ(s i,t i ) je Kroneckerův symbol rovný 1 pokud s i =t i 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 …p k a pravděpodobnosti výskytů těchto znaků v textu T jsou rovné q 0 q 1 …q k, pak očekávaná hodnota indexu koincidence Kappa(S,T) = Σ j p j q j, sčítáme pro j = 1,2,…,n.

7 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 p j 2, sčítáme pro j = 0,2,…,25. Toto číslo nezávisí na textech S a T, ale pouze na pravděpodobnostech p j, 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 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ách frekvencí jednotlivých písmen a u různých autorů se mohou lišit.

8 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 s i symbol na i-tém místě textu S, a t i symbol na i-tém místě textu T. Protože π i je permutace, platí s i = t i právě když c i = d i 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 s i a t i zašifrovány za použití stejné permutace π i. Na i-tém místě šifrového textu C je tedy symbol c i = π i (s i ) a na i-tém místě šifrového textu D je symbol d i = π i (s i ).

9 Průměrné indexy koincidence Pro text T délky n a r přirozené číslo označme T r 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.

10 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,…,C d, spočítáme průměrné indexy koincidence Phi(C j ) pro j = 1,2,…,d, a pak jejich průměr Σ j Phi(C j ) / 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 náhodného jazyka, který je mnohem menší.

11 Šifrovací stroje Nevýhodou polyalfabetické šifry je složitost klíčů a jejich předávání. Proto byly v první polovině 20. století hojně používané šifrovací stroje. Nejznámější byly Enigma, Hagelin.

12 Transpoziční šifry Spočívají v přeházení pořadí (permutaci) písmen v otevřeném textu. Permutace bývala definována pomocí nějakého slova – klíče. Například pomocí klíče nezny se šifrovalo následovně: nezny tanco valab ychja azset rasu aacza tvyar cajeu obatn lhss Jednoduchá transpozice

13 Dvojitá transpozice. Používaná německou armádou v průběhu první světové války a po ní až do roku Také ji používala československá vláda v exilu v Londýně během druhé světové války ke komunikaci s domácím odbojem. Proto měl domácí odboj takové ztráty. Jak dvojitou transpozici rozluštit bylo popsáno ve francouzských novinách již na počátku první světové války v roce Řešení je velmi usnadněné, jsou-li šifrovány zprávy stejné délky.

14 Šifrování dvojitou transpozicí vyžaduje dvě hesla. Například nezny octopus Jednoduchá transpozice se použije dvakrát, napřed s prvním heslem, a takto získaný šifrový text se ještě jednou šifruje jednoduchou transpozicí určenou druhým heslem. Přání tancovala bych ja az se trasu tak chobotnice svému milému zašifruje za použití hesla nezny jako aacza tvyar cajeu obatn lhss a pokračuje dále octopus aaczatv yarcaje uobatnl hss Dostane tak aaosa yuhzc aaatv elcrb stjn

15 Vernamova šifra Dne 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 …..p n otevřený text (kódovaný čísly 0,1,…,25 ), a k 1 k 2 …..k n náhodně generovaný klíč (tvořený čísly 0,1,…,25), pak šifrový text c 1 c 2 …..c n je definován jako c i = p i +k i 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.

16 Bezpečnost Vernamovy šifry Intuitivně můžeme bezpečnost Vernamovy šifry nahlédnout následovně. Odposlechneme-li znak c i šifrového textu, pak vzhledem ke skutečnosti, že každá z 26 možností pro k i je stejně pravděpodobná a nezávislá na předchozích hodnotách klíče k 1 …k i-1, jsou všechny možnosti pro p i =c i - k i 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 dokazatelně 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 dokazatelně bezpečnou šifru.

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

18 Dvojí použití klíče Použijeme-li jeden klíč k 1 k 2 …k n k zašifrování otevřeného textu p 1 p 2 …p n, dostaneme šifrový text c 1 c 2 …c n, kde c i = p i + k i mod 26 pro i=1,2,…,n. Použijeme-li stejný klíč k 1 k 2 …k n k zašifrování jiného otevřeného textu q 1 q 2 …q n, dostaneme šifrový text d 1 d 2 …d n, kde d i = q i + k i mod 26 pro i=1,2,…,n. Odečtením obou šifrových textů dostaneme c i – d i = p i – q i 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.

19 Řešení knižní šifry K šifrovému textu p i – q i 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 q i+1 =w 1, q i+2 =w 2,…,q i+6 =w 6. Po přičtení tak dostaneme část otevřeného textu p i+1 p i+2 …p i+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.

20 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. David Kahn, The Codebreakers, Macmillan, New York, 1967, podrobné historické pojednání, Knihy o historii kryptologie Simon Singh, The Code Book, Fourth Estate Limited, 1999, česky Kniha kódů a šifer, nakladatelství Dokořán a Argo, 2003, populární úvod do šifrování,

21 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. The Kama Sutra, translated by Sir Richard Burton, 1883 Chapter Three, On the arts and sciences to be studied Singing Dancing The art of understanding writing in cypher, and the writing of words in a peculiar way Art of applying perfumed ointments to the body, and of dressing the hair with unguents and perfumes and braiding it Solution of riddles, enigmas, covert speeches, verbal puzzles and enigmatical questions O významu kryptologie se lze dočíst také v knize

22 Klasická kryptoanalýza Jednoduchá záměna Pomocí frekvenční analýzy jednotlivých znaků (monogramů), bigramů, trigramů, atd. Nejstarší dochovaný text o této metodě: al-Kindí, Rukopis o dešifrování kryptografických zpráv, 9. století, objevené roku 1987 v Sülajmanově osmanském archivu v Istanbulu Plné jméno autora: Abú Jusúf Jaqúb ibn Ishád ibn as-Sabbáh ibn `omrán ibn Ismail al-Kindí Srovnání frekvencí jednotlivých písmen v angličtině a němčině v procentech a b c d e f g h i j k l m 8,04 1,54 3,06 3,99 12,51 2,30 1,96 5,49 7,26 0,16 0,67 4,14 2,53 6,47 1,93 2,68 4,83 17,48 1,65 3,06 4,23 7,73 0,27 1,46 3,49 2,58 n o p q r s t u v w x y z 7,09 7,60 2,00 0,11 6,12 6,54 9,25 2,71 0,99 1,92 0,19 1,73 0,09 9,84 2,98 0,96 0,02 7,54 6,83 6,13 4,17 0,94 1,48 0,04 0,08 1,14

23 Frekvenční analýza Frekvence jednotlivých znaků závisí na typu textu, jiná je u novinových článků, jiná u románů nebo u odborných textů v závislosti na oboru. Pořadí písmen od nejčastějšího k nejméně častému v angličtině: atoanirshdlufcmpywgbvkxzjq L.Sacco, 1951 etaonirshdlucmpfywgbvjkqxz D.Kahn, 1967 etaonrishdlfcmugpywbvkxjqz A.G. Konheim, 1981 v němčině: enirsahtudlcgmwfbozkpjvqxy F. Kasiski, 1863 enirstudahgolbmfczwkvpjqxy A. Figl, 1926 enirsatdhulgocmbfwkzpvjyxq F.L. Bauer, 1993 ve francouzštině: enirsahtudlcgmwfbozkpjvqxy F. Kasiski, 1863 eaistnrulodmpcvqgbfjhzxykw H.F. Gaines, 1939 etainroshdlcfumgpwbyvkqxjz Ch. Eyraud, 1953

24 Frekvence bigramů Nejčastější bigramy v angličtině podle A. Sinkova: th he an in er re on es ti at st en or nd to nt ed is ar Čísla znamenají průměrný počet výskytů v textech o znacích Nejčastější bigramy v němčině takové, že obrácené bigramy se téměř nevyskytují: th he ea nd nt ha ou ng hi eo ft sc rs Následující dvojice bigramů mají prakticky stejnou frekvenci v němčině: ar,re es,se an,na ti,it on,no in,ni en,ne at,ta te,et or,ro to,ot ar,ra st,ts is,si ed,de of,fa

25 Frekvence trigramů Nejčastější trigramy v angličtině jsou the ing and ion tio ent ere her ate ver ter tha ati for hat ers his res ill are průměrná délka slov angličtina 4,5 francouzština 4,4 němčina 5,9 ruština 6,3 frekvence samohlásek 40% 45% 39% 45% frekvence hlásek lnrst 33% 34% 39% nejčastější slova angličina: the of and to a in that it is I for as němčina: die der und den am in zu ist daß es francouzština: de il le et que je la ne on les en ce

26 Ř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í: 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 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. kl.... kl xy.... xy pq.... pq

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

28 Ř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. 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. Pro každou možnost spočítáme poměr samohlásek a souhlásek v jednotlivých řádcích.

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

30 Identifikace šifer Jednoduchá záměna. Rozložení frekvencí písmen je stejné jako u přirozeného jazyka. 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.


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

Podobné prezentace


Reklamy Google