23
Ukázky aplikací matematiky Jaro 2014, 1. přednáška

Ukázky aplikací matematiky

  • Upload
    tino

  • View
    46

  • Download
    7

Embed Size (px)

DESCRIPTION

Ukázky aplikací matematiky. Jaro 2014, 1 . přednáška. Historie šifrování je několik tisíc let stará. Počátky šifrování v Evropě. Cílem šifrování je skrýt obsah komunikace před nepovolanou osobou. - PowerPoint PPT Presentation

Citation preview

Page 1: Ukázky aplikací matematiky

Ukázky aplikací matematiky

Jaro 2014, 1. přednáška

Page 2: Ukázky aplikací matematiky

Počátky šifrování v Evropě

Historie šifrování je několik tisíc let stará.

Cílem šifrování je skrýt obsah komunikace před nepovolanou osobou.

Šifrování neskrývá samotnou zprávu (jako například neviditelný inkoust), pouze se snaží zprávu učinit nesrozumitelnou pro toho, komu není určena.

První historicky doloženou šifrou v evropské civilizaci je Ceasarova šifra.

Ceasarova šifra nahrazovala každé písmeno otevřeného textu písmenem, které je v abecedě o tři místa dále:

KOSTKY JSOU VRZENY

NRVWNB MVRX YUCHQB

Page 3: Ukázky aplikací matematiky

Posuvná šifra• Oprávněný příjemce musel vědět, že pro porozumění textu musí jenom

každé písmeno šifrového textu nahradit písmenem, které je v abecedě o tři místa dříve.

• Nevýhoda spočívá v tom, že jakmile se nepřítel dozví, že je používána Ceasarova šifra, snadno si šifrový text dešifruje sám.

• Ceasarova šifra je speciální případem posuvné šifry.• V případě posuvné šifry se odesílatel i adresát musí předem domluvit na

nějakém čísle k, odesílatel pak každé písmeno otevřeného textu nahradí písmenem, které je v abecedě o k písmen dále.

• Číslo k je smluveným tajným klíčem, který umožňuje, aby adresát šifrový text správně dešifroval.

• Nevýhodou posuvné šifry je příliš malý prostor klíčů. • Nepřítel, který se dostane k šifrovému textu šifrovanému posuvnou šifrou,

může snadno vyzkoušet všechny klíče a zjistit, který vede ke srozumitelnému textu.

• Zkoušení všech klíčů se také nazývá útok hrubou silou.

Page 4: Ukázky aplikací matematiky

Útok hrubou silou

OXGB OBWB OBVB

PYHC PCXC PCWC

QZID QDYD QDXD

RAJE REZE REYE

SBKF TGBG TGAG

TCLG TGBG TGAG

UDMH UHCH UHBH

VENI VIDI VICI

• Vidíme, že k dešifrování musíme posunout každé písmeno o 7 míst dopředu.

• Při šifrování tak bylo každé písmeno nahrazeno písmenem, které je v abecedě o 19 míst dále.

Page 5: Ukázky aplikací matematiky

Jednoduchá záměna

• Ceasarova šifra nahrazuje každé písmeno v otevřeném textu písmenem, které je pod ním v následující tabulce

ABCDEFGHIJKLMNOPQRSTUVWXYZ

DEFGHIJKLMNOPQRSTUVWXYZABC

• Podobně posuvná šifra s klíčem 9 nahrazuje písmena otevřeného textu pomocí tabulky

ABCDEFGHIJKLMNOPQRSTUVWXYZ

JKLMNOPQRSTUVWXYZABCDEFGHI

• Pokud nahradíme druhý řádek tabulky libovolnou permutací 26 písmen abecedy, dostaneme šifru, která se nazývá jednoduchá záměna, nebo také jednoduchá substituce.

Page 6: Ukázky aplikací matematiky

Klíč pro jednoduchou záměnu

• Klíčem může být například následující tabulka

ABCDEFGHIJKLMNOPQRSTUVWXYZ

YMIHBAWCXVDNOJKUQPRTFELGZS

• Použijeme-li tento klíč (tabulku) k zašifrování zprávy

PRIJD VECER K ZELENEMU STROMU

• Dostaneme šifrový text

UPXVH EBIBP D SBNBJBOF RTPKOF

• Základní slabinou jednoduché záměny je skutečnost, že zachovává rozložení frekvencí písmen v přirozeném jazyce.

Page 7: Ukázky aplikací matematiky

Nevýhody jednoduché záměny• Uvedený příklad má nevýhodu, že ukazuje délky jednotlivých slov.

• Vynechání mezer by vedlo k následujícímu otevřenému textu a jeho šifrové podobě.

PRIJDVECERKZELENEMUSTROMU

UPXVHEBIBPDSBNBJBOFRTPKOF

• Taková úprava ale může vést k dvojznačnosti otevřeného textu, jak lze vidět z příkladu OKOLO TOC a O KOLOTOC.

• Proto se někdy nahrazuje mezera nějakým málo používaným písmenem, např. X a v otevřeném textu se písmeno X nahradí pomocí IKS.

• Potom dostaneme

PRIJDXVECERXKXZELENEMUXSTROMU

UPXVHGEBIBPGDGSBNBJBOFGRTPKOF

Page 8: Ukázky aplikací matematiky

Prolomení jednoduché záměny

• Uvedená úprava ale příliš nepomůže.

• Jakmile kryptoanalytik zjistí, že písmeno G v šifrovém textu nahrazuje mezeru, zná ihned délky všech slov.

• Hrubá síla při řešení jednoduché záměny nepomůže – klíčů je příliš mnoho.

• Přesněji 26! > 4 x 1026.

• Ty nelze všechny vyzkoušet, je jich příliš mnoho.

• Nicméně mezeru lze snadno odhalit.

• Průměrná délka slov v češtině je kolem 5 znaků. Mezera tak tvoří zdaleka nejčastější znak v českém textu, tvoří zhruba 20% celého textu.

• Druhý nejčastější znak v češtině je E a jeho frekvence v češtině je něco málo před 10%.

• Frekvenční analýza je základní metoda luštění jednoduché záměny.

• Jsou k tomu vypracovány tabulky frekvencí znaků, dvojic znaků, skupin souhlásek, atd.

Page 9: Ukázky aplikací matematiky

Identifikace šifry

• Pokud kryptoanalytik ví, že byla použita jednoduchá záměna, řešení je už obvykle jednoduché, pokud je šifrový text dostatečně dlouhý.

• Text o 200 znacích zašifrovaný jednoduchou záměnou je už snadno řešitelný.

• K identifikaci šifer byla v průběhu historie vyvinuta řada statistických testů.

• Jednoduchou záměnu poznáme bezpečně podle toho, že frekvence znaků v šifrovém textu má obdobné rozdělení jako frekvence znaků v otevřeném textu.

• Jiným typem šifry je transpoziční šifra. Ta spočívá v tom, že pořadí písmen v otevřeném textu je přeházené, samotná písmena se ale nemění.

• Transpoziční šifru poznáme podle toho, že frekvence jednotlivých znaků jsou stejné jako frekvence těch samých znaků v přirozeném jazyce.

• V historii se kryptologove snažili navrhnout šifru, u které by byly frekvence jednotlivých znaků v šifrovém textu přibližně stejné.

Page 10: Ukázky aplikací matematiky

Vigenérova šifra („nerozluštitelná š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í podlená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 z0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Tak například klíč slizoun určoval posunutí18 11 8 5 14 20 13.

Otevřený text kocka leze dirou se zašifroval následovně:

kocka leze dirouslizo unsl izoun

czkjo frrp lhfih

Page 11: Ukázky aplikací matematiky

Tuto šifru popsal již v roce 1586 Blaise de Vigenére.

Slabina: periodické heslo

Šifru rozluštil až Charles Babbage (1791-1875), profesormatematiky na Cambridge University

Řešení lze algoritmizovat pomocí indexu koincidence, kterývymyslel William F. Friedman kolem roku 1920.

Index koincidence je jeden z nejvýznamnějších statistickýchtestů používaných v kryptologii.

Page 12: Ukázky aplikací matematiky

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.

abcdefghijklmnopqrstuvwxyz1:gkqwhrjvoisnazcubdxplfytme2:cintzuhsymjabvoelxwpkfqgrd3:ekrwxpavqbslcfitudgjmhnyzo4:dqcuimhvrelnwgofjkztysabpx

Šifrujeme: kozasood

Page 13: Ukázky aplikací matematiky

Šifrovací strojeNevýhodou polyalfabetické šifry je složitost klíčů a jejichpředávání.

Proto byly v první polovině 20. století hojně používané šifrovací stroje. Nejznámější byly Enigma, Hagelin.

Page 14: Ukázky aplikací matematiky

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 15: Ukázky aplikací matematiky

Ř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 16: Ukázky aplikací matematiky

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 17: Ukázky aplikací matematiky

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 18: Ukázky aplikací matematiky

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 19: Ukázky aplikací matematiky

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 20: Ukázky aplikací matematiky

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 21: Ukázky aplikací matematiky

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 22: Ukázky aplikací matematiky

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 23: Ukázky aplikací matematiky

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.