část 5, díl 2, str. 1 BEZPEôNÁ POôÍTAôOVÁ SÍŤ díl 2, Kryptografie 5/2 KRYPTOGRAFIE

Rozměr: px
Začít zobrazení ze stránky:

Download "část 5, díl 2, str. 1 BEZPEôNÁ POôÍTAôOVÁ SÍŤ díl 2, Kryptografie 5/2 KRYPTOGRAFIE"

Transkript

1 BEZPEôNÁ POôÍTAôOVÁ SÍŤ část 5, díl 2, str. 1 5/2 KRYPTOGRAFIE 5/2.1 Kryptografie - proč a jak 5/2.2 Symetrická kryptografie 5/2.2.1 Blokové šifry 5/2.2.2 Blokové šifry - operační módy 5/2.2.3 Proudové šifry a Linear Feedback Shift Register 5/2.2.4 Skutečně neprolomitlená šifra 5/2.2.5 DES, Standard II - AES, IDEA 5/2.2.6 Hashovací funkce 5/2.3 Asymetrická kryptografie 5/2.3.1 Pre-řešení: Diffie-Hellmanův algoritmus - ustanovení tajného klíče 5/2.3.2 Princip dvou klíčů 5/2.3.3 Man in the middle attack a PKI 5/2.3.4 Širší nasazení - sjednocení koncepcí 5/2.4 Kryptografické protokoly 5/2.4.1 Řešení problémů 5/2.4.2 Kombinovaný systém - taková jedna normální zpráva listopad 2005

2 část 5, díl 2, str. 2 BEZPEôNÁ POôÍTAôOVÁ SÍŤ 5/2.4.3 Ostatní protokoly - kryptografie nasazená v praxi 5/2.5 Kerberos 5/2.6 Systém s/key a jednorázová hesla listopad 2005

3 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 1, str. 1 5/2.1 KRYPTOGRAFIE - PROČ A JAK Ačkoliv se pojem informací spojuje s peněžními hodnotami především v době dnešní technické éry, ve skutečnosti platila tato rovnost nebo, chcete-li, podobnost, již od pradávna. Více informací pro mne znamená lepší rozhodování, tedy základ jakéhokoliv zlepšení či pokroku. Ve skutečnosti jsou informace převoditelné takřka na jakékoliv hodnoty, které si ve svém reálném životě dokážeme představit, a z tohoto důvodu byly, jsou a budou předmětem lidských snažení a střežení - na opačných stranách. Hmotné cennosti jsme zvyklí nejčastěji uschovávat v různých trezorech, bezpečnostních přihrádkách apod., ke kterým máme (prostřednictvím klíče, hesla, pinu...) výhradní přístup. Pozitivum je v tom, že již není třeba střežit danou velkou věc, ale stačí střežit malý klíč - ten od trezoru. A kryptografie? Není velkého rozdílu.

4 část 5, díl 2, kap. 1, str. 2 BEZPEČNÁ POČÍTAČOVÁ SÍŤ Kryptografie je věda o minimalizování tajných informací. Skutečně. Že se malé věci střeží lépe než velké, je jasné, a pokud jde o data, není tomu jinak. Chránit milióny stránek tajných dokumentů v elektronické podobě je i v dnešní době obtížné. Kryptografie nám umožní místo obrovského balíku dat chránit pouze malou posloupnost se stejným efektem. V historii se objevovaly různé způsoby, jak tohoto cíle dosáhnout. Umění tajných písem doporučuje milencům dokonce Kámasútra, několik metod je známo z dob starověkého Říma. Z této doby prozatím zmiňme jeden vskutku originální způsob psaní (obdoba tetování) na vyholenou hlavu královského posla. Poté, co mu vlasy opět narostly, byl vyslán k adresátovi, který ho znovu oholil a zprávu si přečetl. Abychom dostáli co nejefektivnějšího řešení, musíme oblast strukturovat. Nemůžeme navrhnout komplexní zabezpečení něčeho z ničeho, od začátku až do konce a při změně situace znova. Nemůžeme se znova zabývat již jednou vyřešeným. Strukturování problému a dodržování standardizovaných postupů při práci s používanými objekty je jeden z nejlepších, nejlevnějších a nejefektivnějších způsobů dosahování pokroku. Nástroje Definujme si předmět naší práce. Budou to pojmy, kterých se budeme dále ve výkladu držet. To je důležité především pro zamezení nedorozumění v budoucích kapitolách. Daty budeme nazývat jakkoliv (kladně) dlouhou posloupnost znaků dané abecedy. Nejčastěji budeme jako jednotlivé znaky brát bajty, tedy v desítkovém zápisu

5 BEZPEČNÁ POČÍTAČOVÁ SÍŤ Odvoláme-li se na úvodní poznámku o snižování délky utajovaných informací, bude otevřený text to (dlouhé), co chceme chránit, klíč to (krátké), co budeme chráčást 5, díl 2, kap. 1, str. 3 čísla mezi 0 a 255. V počítači je vše posloupnost, posloupnost nul a jedniček, tj. bitů, kde každý z nich může nabývat právě dvou hodnot. Začnete-li používat nějaký kus paměti, stroj musí vědět, kde ho má hledat, tedy znát začátek a konec (resp. začátek a jeho délku). Takovýto blok paměti může nabývat jen konečně mnoha hodnot. Proto není rozdílu, jak ho budeme chápat: posloupnost bitů (nul či jedniček), posloupnost bajtů (tj. osmic bitů, 2 8 = 256), či jako jediné velké číslo (tato poslední ekvivalence plyne právě z omezeného počtu stavů, viz výše). Jakákoliv lidská slova jsou také zapsána čísly. Mluvím o tom proto, abychom práci s bloky (na které se nějakým jménem odvoláváme, třeba šifrovaný text) chápali obecně. Co se jednou může hodit pojmout jako číslo, může být příště výhodnější jako posloupnost menších čísel atd. Otevřený text jsou data, která můžeme algoritmicky transformovat do stavu majícího nějakou informační hodnotu a tato transformace není nijak spojena s utajováním obsahu, bezpečností atd. Šifrovaný text jsou naopak data, jejichž transformace do formy mající informační hodnotu je spojena s ochranou jejich obsahu. Šifra bude funkce, které pro danou vstupní dvojici dat spočítá dle zadaného algoritmu výstup. Klíč (šifrovací) bude opět posloupnost znaků (abecedy), ovšem až na výjimky nějak omezená na délce.

6 část 5, díl 2, kap. 1, str. 4 BEZPEČNÁ POČÍTAČOVÁ SÍŤ nit místo toho, a šifrovaný text to, čehož vyjádření v důsledku chránit nemusíme. Vstupními daty šifry tak budou otevřený text a klíč. Proces vytváření šifrovaného textu budeme nazývat šifrováním, proces opačný dešifrováním. Kryptografie jako vědecká disciplína Kombinačky na bezpečnost Vědu, která v sobě zahrnuje jak vytváření bezpečnosti, tak zkoumání jejích slabin, nazýváme kryptologií. Kryptografií, která bývá z nějakého důvodu vyzdvihována nad celek, kam patří, označujeme oblast tvoření, tj. výzkum a vývoj šifer, naopak o hledání metod prolomení se snaží kryptoanalýza. Kryptografie je prostředek, nikoliv podstata problému sama o sobě. Je to nástroj. Nástroj moderní vědy na dosažení cíle, nikoliv cíl jako takový. Mnozí počítačoví odborníci se domnívají o opaku a bezpečnost jako takovou zaměňují s kryptografií a hlásají, že něco je bezpečné, protože je to šifrované. Šifra je jejich víra a 128 bitů jejich desatero. Skutečnými cíly používání této vědní disciplíny nejsou jen programátorské efekty ve smyslu, že něco se předtím dalo přečíst, a teď už to nejde. Smyslem používání kryptografie je pomoci vyřešit váš problém se zabezpečením. Pomoci vyřešit komplexní, strukturovaný a často nadmíru složitý systém ochrany cenné věci před několika nebezpečími. A v tomto komplikovaném procesu je teoretická stránka ochrany, kterou se tato část knihy zabývá, přes všechnu svou důležitost pouze jedním nástrojem na jeden problém. V praxi má každé zabezpečení založené na kryptografii několik stádií vývoje, kterými musí toto zabezpečení, či alespoň v něm použité techniky projít. Vý-

7 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 1, str. 5 sledkem naší námahy bude konkrétní služba pro uživatele, která v sobě bude obsahovat několik hlavních vrstev lidského snažení. Zkoumání elementárních vlastností struktur. Stavíme-li na číslech, musíme číslům rozumět. Kryptografie staví na matematice, která pro ni speciálně zkoumá řadu teoretických objektů. Algebra, teorie čísel či vědy o speciálních strukturách jsou při budování bezpečnosti nepostradatelné. Každé zabezpečení založené na vědeckých poznatcích musí stát na solidních logicky-vědních základech. Myšlenky, ze kterých se vyvozuje výsledný dojem o bezpečnosti, musí stát na dokázaných či dostatečně probádaných větách či zákonech.výsledkem tohoto zkoumání jsou kryptografické objekty - samostatně funkční, ale zatím bez kontextu. Zkoumání a vývoj protokolů. Je třeba vyřešit problém, je třeba se podívat, jak mi to či ono může pomoci v praxi. Pokud požadujeme extra funkce, které teorie nenabídla, nastupuje opět věda - mohu to nějak udělat s tím, co mám k dispozici, nebo musím opět na začátek, k matematice? Praktická implementace. Jsou na to připraveny dnešní sítě? Jsou na to vůbec připraveni uživatelé? Odkud nebezpečí hrozí a odkud může hrozit v budoucnu? Jak jsme na tom s náročností na hardware? Převedení řeči vědy do světa počítačů musí být věnována stejná pozornost jako návrhu myšlenky jako takové. To proto, že ona sama reálný svět nepostihuje. Provádíme-li nějaký výpočet na papíře či jenom v naší hlavě, nelze automaticky předpokládat naprostou ekvivalenci s prací např. procesoru.

8 část 5, díl 2, kap. 1, str. 6 BEZPEČNÁ POČÍTAČOVÁ SÍŤ Jde-li o bezpečnost (a mohl bych napsat jde-li o peníze ), nemůžeme si dovolit uživateli naservírovat nové, z rukávu vytažené myšlenky. Pouze to, co odolalo několika letům útočení světových odborníků, může být skutečně považováno za kandidáta na bezpečné řešení. Obor se vyvíjí příliš rychle na to, aby jedinec, firma či instituce s rozpočtem na bezpečnost řekněme menším než vládním mohla sama této hranice dostát. Nejen že se možné metody útoků zlepšují a zlepšují. Ony dokonce ve svém slova smyslu žijí jako samostatný obor - některé upadají v zapomnění, některé se objevují znenadání a napadají implementovaný systém z míst, kde by to nikdo ještě včera nečekal. Zažívají své boomy, dny slávy a popularity. Stavíme bezpečnost Jak zanedlouho poznáme, řešení konkrétních praktických problémů je oborem samo o sobě a jeho spojitost například s detailní matematikou jednotlivých algoritmů může být značně nepřímá. Nebude nouze o situace, kdy vědec vyřeší problém na papíře a ještě navíc dokáže, že jeho postup skutečně formálně uspokojuje daný problém, ovšem při praktické realizaci jeho algoritmus pohoří. Z několika oblastí vědy tak vybereme různé díly, které budou plnit nějakou funkci samy o sobě, a jejich poskládáním teprve vznikne skutečná použitelná věc. Částmi, které budeme nejčastěji používat, budou především: dva druhy šifrovacích algoritmů, některé funkce počítající pro daný text jistý výstup s požadovanými speciálními vlastnostmi, algoritmy pro generování náhodného či pseudonáhodného výstupu, různé modely důvěryhodných třetích stran.

9 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 1, str. 7 Bezpečnost celého systému bude záležet na bezpečnosti každé jeho části ve smyslu minima. Řetěz je tak pevný, jak je pevný jeho nejslabší článek. Některé zmiňované části a postupy najdou široké uplatnění i mimo oblast ochrany dat. Nás ovšem nejčastěji zajímá, zda, popř. nakolik použitý díl snižuje bezpečnost našeho celku, a proto budeme mít na zmiňované metody často požadavky lehce odlišné od těch, se kterými se můžeme setkat v jiných oborech (třeba při generování náhodných jevů budeme ostře sledovat jiný fakt než třeba statistika a podobně). Výsledkem sestavení zmiňovaných částí dohromady bude tzv. (bezpečnostní) protokol. Neboli algoritmus, který jasně a přesně definuje chování nějakého (programovatelného) stroje (často ovšem budeme pro názornost přemýšlet s lidskými bytostmi...). Každému z nich říkejme účastník protokolu. Pro úspěšnou realizaci je bezpodmínečně nutné, aby účastníci rozuměli každé instrukci protokolu a aby byl protokol navržen nejen správně (skutečně řeší daný problém), ale řekněme i optimálně. Totiž tak, aby jednotlivé kroky byly dobře proveditelné na současné výpočetní technice. K ničemu je například protokol, jehož algoritmy vykazují extrémně špatnou časovou či paměťovou složitost či v němž se řešení nedočkáme vůbec. Jak je vidět z definice, od počátku této kapitoly počítáme s použitím šifrovacího klíče jakožto informace, která nám zajistí přístup k zašifrovaným datům. Budeme se tedy zabývat mechanismy, které bezpečnost řeší přes ochranu klíče, nikoliv přes ochranu algoritmu. Ten nechť je veřejně znám ve své kompletní podobě. Algoritmus vs. klíč

10 část 5, díl 2, kap. 1, str. 8 BEZPEČNÁ POČÍTAČOVÁ SÍŤ Tomu, že tato idea byla ve své době vskutku revoluční, se asi nikdo nebude divit. Myšlenka založit bezpečnost na prosté tajné transformaci otevřeného textu na šifrovaný je daleko jednodušší a lidskému mozku bližší. Přestože i dnes existují ojedinělé případy, kdy je tato technika používaná, nejčastěji se s ní objevuje anglický termín Security Through Obscurity - ve smyslu bezpečnost přes obstrukce. Utajování algoritmu musí mít nějaký zvláštní důvod, jinak se rozhodně jedná o krok špatným směrem. Existují například situace, kdy v principu není možné postavit ochranu dat na tajném klíči ( šifrování pak slouží na obranu jen před těmi nejprimitivněji vybavenými protivníky) či se touto cestou vedle tajného klíče posiluje bezpečnost systému jako celku. Zda by neměl být tajný (i) algoritmus, je otázka, na kterou by se dalo odpovědět celou kapitolou. Šifry, jejichž algoritmy se pečlivě střeží, mohou mít při praktickém nasazení výhodu, zvláště pokud jsou při dešifrování známy jenom šifrované texty. Problém je v kvalitě algoritmů jako takových, totiž zda vůbec nějaká uzavřená komunita může vymyslet algoritmus, který by bezpečností konkuroval obdobným, veřejně známým, nad kterým si lámala hlavu celosvětová vědecká obec a jenž odolává útokům třeba již třetí desetiletí. Uzavřeme zobecněním: otázkou je, jak dobrý proprietální šifrovací algoritmus může vymyslet jak bohatá firma. Teoreticky nemusí být mezi utajením algoritmu a klíče rozdílu - můžeme klíče popsat jen jako parametry nějaké (tajné) transformační funkce. Hlavní přínos je v praxi - stálo by velké množství energie studovat algoritmy jako celky jeden za druhým, daleko lepší je soustředit se na méně variant a ptát se, na kolik je je-

11 BEZPEČNÁ POČÍTAČOVÁ SÍŤ Vedle toho útok se známým otevřeným textem (known-cipertext attack) označuje situaci, kdy krypčást 5, díl 2, kap. 1, str. 9 jich bezpečnost zastupitelná bezpečností klíče (parametru) Při pojmenování komunikujících stran existuje jistá konvence. Není to předpis či pravidlo v přesném slova smyslu, spíš velmi často přebíraná praktika. Účastníkům protokolu se přiřazují podle jejich funkce jména. Dvě strany, snažící se o bezpečnost v komunikaci, se často pojmenovávají Alice a Bob, od prostého A a B, popř. C jako Carrol. Útočníci bývají nejčastěji Eva (E, eavesdropping, odposlech) či Mallory (M, malicious, škodlivý). Jménem Trent (T, trust, důvěra) se tituluje nezávislá třetí strana. Těchto výrazů se nebudeme držet doslova. Výhodou jsou při studiích pokročilých kryptografických algoritmů, kde najednou vystupuje několik komunikujících stran s různými úmysly a vztahy navzájem. Zvláště v kratších myšlenkách vystačíme se slovním popisem či s písmeny A a B. Pojmenovávání je opravdu jen kosmetická záležitost. Elementární požadavky na bezpečnost symetrických šifrovacích algoritmů se odvíjejí od hlavních teoretických možností útoku, které by případný útočník mohl realizovat. Útok se známým šifrovaným textem (known-plaintext attack) je patrně nejlépe představitelná situace. U kryptografa předpokládá znalost pouze šifrovaného textu, aniž by věděl cokoliv o použitém algoritmu či klíči. Jeho úkolem je najít otevřený text, popřípadě algoritmus či klíč. V hlavních rolích Útoky pasivní - na data

12 část 5, díl 2, kap. 1, str. 10 BEZPEČNÁ POČÍTAČOVÁ SÍŤ tograf disponuje oběma korespondujícími texty, které byly při komunikaci zachyceny. Klade se mu za cíl odhalit konkrétní požitý algoritmus a/nebo klíč tak, aby bylo možné dešifrovat zbývající obsah komunikace. Tato metoda útoku předpokládá znalost dvojic textů určených (v praxi nevědomě) druhou stranou a žádné další pokusy s šifrovacím strojem nejsou k dispozici. Nakonec útok s vybraným otevřeným textem (choosen-ciphertext attack) popisuje situaci, kdy je kryptografovi k dispozici vstup a výstup šifrovacího zařízení a může si tak nechat k jakémukoliv otevřenému textu nechat vygenerovat jeho šifrovanou alternativu. Může tak použitý algoritmus testovat na různé speciálně vymyšlené vstupy a podle obdržených výstupů odhadovat způsob šifrování. Jak vidíme, jedná se o principiálně odlišné situace, které zkoumají odolnost algoritmu z různých stran. Přestože možná intuitivně chápeme prolomení šifry jako úspěšnou realizaci především prvního zmiňovaného útoku, je na místě uvést, že pro skutečně seriózní využití kryptografie nejsou zbylé dva nikterak zástupné či podřadné. Na kvalitní a odolné algoritmy jsou dnes kladeny vysoké nároky a tyto tři popisované situace představují jen jakési základní směrnice. Skálopevná odolnost proti všem třem z nich je skutečně nutnou podmínkou. Útoky proti protokolu Vedle útoků na šifru jako takovou existují i jiné třídy nebezpečí. Poté, co navrhneme bezpečnostní protokol (složený z šifer, tzv. hashovacích funkcí, generátoru náhodných čísel atd.), je třeba prozkoumat i bezpečnost jeho jako celku. Přestože můžeme použít absolutně bezpečné (rozuměj: ty nejbezpečnější, které

13 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 1, str. 11 máme) šifry, funkce apod., nikde nemáme zajištěno, že tajná informace neuniká nějakým jiným způsobem či že nejde zneužít identita. Typickým příkladem je tzv. útok opakováním (přehráním), angl. reply attack. Bez toho, abychom jediný pokročilejší protokol znali, si ho dokážeme lehce představit: při autorizaci klienta do systému útočník poslouchá a nahrává komunikaci. Poté, ve vhodnější době, ji přehraje systému, který, dostávaje jen čísla a čísla, není schopen odhalit podvod. Ve své nejprimitivnější podstatě se jedná samozřejmě jen třeba o odposlechnutí hesla na síti, při přihlašování do fre boxu, nicméně i daleko sofistikovanější protokoly řešící daleko komplexnější situace mohou být proti této základní metodě nezabezpečené. Mimochodem, jak uvidíme převážně v druhé části tohoto oddílu, řeč protokolů je velmi systémová, má daný řád. Je to samé A pošle toto, B spočítá toto a pošle zpět toto. Systém, který v těchto komunikacích panuje, evokuje myšlenku, že jejich studium (ptáme se např., je-li uživatel dostatečně autorizován) by mohlo mít nějaké algoritmické řešení. Uvozovky v předposledním slově jsou na místě, nicméně skutečně existují strojové metody na ověřování podobných vlastností, které si poradí se zadáním bez vlastního chápání jednotlivých akcí. S nadsázkou si to můžeme představit, jako by se prostě jen řešila rovnice zadaná jednotlivými kroky protokolu. Vyřešeno - bezpečné, nevyřešeno - děravé. Máme-li úlohu na stroji s omezeným počtem stavů, musí existovat omezený počet řešení. Existuje-li skutečně takovéto řešení, zkoušením jedné možnosti po druhé se k němu za konečný čas dostaneme. Útok hrubou silou

14 část 5, díl 2, kap. 1, str. 12 BEZPEČNÁ POČÍTAČOVÁ SÍŤ To je základní princip řešení metodou hrubé síly, v angloamerické literatuře bývá nejčastěji označována jako brute-force attack či exhaustive key search. Algoritmus vykonávaný na běžných strojích dnešního typu se vždy nachází v jednom z konečně mnoha stavů, neboť, jak již víme, všechny proměnné mají omezenou délku. Při návrhu nějakého bezpečnostního systému je proto dobré řídit se dvěma principiálními směrnicemi, a sice: aby prolomení pokud možno jakkoliv sofistikovanou (předem neodhadnutelnou) metodou nebylo časově principiálně lehčí než náročnost útoku hrubou silou pro jakoukoliv délku zadání (šifrovacího klíče) a nezávisle na ní; aby délka zadání byla zvolena taková, že se současnou technikou nelze díky potřebnému času bruteforce použít. Množinu všech zadání (v našem případě obvykle klíčů), které je třeba prohledat, označujeme jako prostor klíčů, angl. keyspace. Protože s každým bitem zadání se tento prostor zvětšuje dvakrát, v principu nepomůže jakékoliv polynomiální zrychlení počítání, protože exponenciála (2 x ) vždy přemůže polynom o jakýkoliv rozdíl pro dostatečně dlouhé zadání (velké x). Speciálně si nepomůžeme s lineárním zrychlením, ukažme si příklad. Spočítejme, o kolik bitů musíme zvětšit délku klíče, máme-li ke zkoušení k dispozici milionkrát rychlejší metodu. Hledáme jednoduše 2 x = , tedy x.log 2 = 6, x = 0,6.0,3, tj. o 18 bitů. Je třeba se neunáhlit při srovnání nároků na brute - force pro různě dlouhé klíče, svádí myšlenka, že klíč délky 2mje dvakrát bezpečnější než klíč délky m, což pochopitelně není pravda. Věc je složitější v případě, že složitost brute-force

15 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 1, str. 13 s každým bitem neroste přímo exponenciálně, nebo resp. že není splněn první z výše uvedených dvou bodů (tyto situace považuji za navzájem ekvivalentní, převoditelné). Pak je třeba se ptát (a kryptografové se ptají), jakou složitost tedy algoritmus vlastně má. U některých bohužel přesnou odpověď na tuto otázku nemáme (tj. nemáme důkaz, že neexistuje lepší metoda než ta, na jakou délku klíče dimenzujeme). Délky klíčů dnešních algoritmů jsou pochopitelně dimenzovány tak, aby prohledání všech možností nebylo v praxi časově realizovatelné. Kdybychom měli miliardu počítačů, které by vyzkoušely miliardu klíčů za sekundu, stále pořád by brute-force attack na šifru používanou při bezpečném internetovém připojení přes protokol SSL trval déle, než dosud existuje vesmír. Praktických výsledů aplikování metody hrubou silou bylo dosaženou jen za předpokladů krátkého (ale v praxi používaného!) klíče. V každém případě se navíc jednalo o nějakou nadstandardní iniciativu - buď o distribuovaný výpočet (počítalo několik tisíc strojů připojených do Internetu), nebo o speciální hardware, ušitý namíru dané šifře. Principiálně odlišný typ útoku představuje situace, kdy protivník aktivně pracuje s daty, které si mezi sebou mění komunikující strany, je funkčním článkem komunikačního protokolu a dělá činnost, kterou nemůže provést pasivním způsobem, např. po zaznamenání odposlechnuté komunikace. Takovému útoku se říká man-in-the-middle attack a bude o něm řeč v dalších kapitolách. Útoky aktivní - na komunikaci

16 část 5, díl 2, kap. 1, str. 14 BEZPEČNÁ POČÍTAČOVÁ SÍŤ

17 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 2, str. 1 5/2.2 SYMETRICKÁ KRYPTOGRAFIE Pojem symetrie značí podobnost, vlastně docela přesně souměrnost akcí, prováděných na protějších stranách při šifrování a dešifrování. Jelikož A provádí operace, ke kterým může lehce nalézt inverzní, stačí, aby B měl stejné informace. Tedy vedle algoritmu parametr celého systému - šifrovací klíč. Symetrické šifry šifrují a dešifrují na základě shodných informací. Není důležité, zda chceme provést operaci tam či zpět - klíč buď mám, nebo nemám. O

18 část 5, díl 2, kap. 2, str. 2 BEZPEČNÁ POČÍTAČOVÁ SÍŤ Jak je vidět z obrázku, stojíme před světem černých krabiček, s mnoha možnostmi, jak vstup přeměnit na výstup. Tato kapitola poskytne základní přehled metod, které se přijejich práci, tj. k výstavbě symetricky myšlené bezpečnosti, používají.

19 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 2.1, str. 1 5/2.2.1 BLOKOVÉ ŠIFRY Třída symetrických šifer, které bývají souhrnně označovány jako blokové, v sobě zahrnuje většinu dnes v praxi používaných algoritmů. Poznávací vlastnost těchto algoritmů vyplývá již z názvu. Nazývají se tak proto, že pracují po částech s bloky dat dané délky, na kterém provádějí šifrovací a dešifrovací operace. Všechny takové algoritmy tak mají charakteristickou vlastnost délky vstupu, kterou umějí šifrovat či dešifrovat v jednom kole (liší se tím od šifer tzv. proudových, které naopak operují s jednotlivými bity, jak na vstupu přicházejí). Studium algoritmů na neomezeně dlouhých datech jsme tak zredukovali na konkrétní transformaci s jasně ohraničeným vstupem a výstupem, kterou podrobíme dalšímu výzkumu. V následujících tématech se povídání týká jí a přechod k algoritmu pracujícímu na celém otevřeném/šifrovaném textu máme prozatím vyřešený.

20 část 5, díl 2, kap. 2.1, str. 2 BEZPEČNÁ POČÍTAČOVÁ SÍŤ Feistelovy šifry Velké množství z používaných symetrických algoritmů jsou tzv. Feistelovy šifry. Idea, kterou mají společnou, pochází ze začátku sedmdesátých let minulého století. Patří mezi základní prostředky k navrhování blokových šifer, resp. jejich konkrétních funkcí, pracujících na blocích. Nápad spočívá v následujícím jednoduchém principu. Blok dat délky n rozdělíme na levou (L) a pravou (R) polovinu (n sudé) a po několik kol (zde se spíše používá termínu rund) se vždy jejich následující stav vypočítá pomocí vzorce: L[i] = R[i-1] R[i] = L[i-1] xor f(r[i-1], K[i]), kde f je nějaká funkce a K[i] jsou části klíče K. Tedy, v každém i-tém kroku počítání výstupního bloku se do levé části přesune minulé pravá a do pravé XOR minulé levé a výstupu nějaké funkce f. Přitom f na vstupu bere minulou část pravou a nějaká i-tý díl klíče K. O

21 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 2.1, str. 3 Každý jeden běh této výměny a počítání f nazýváme rundou. Jelikož jde o principiální koncept, je počet rund důležitým parametrem algoritmu (algoritmy, u kterých se jedna operace opakuje nad stejnými daty vícekrát, nazýváme také iterační). Jelikož délka jednotlivých K[i] násobena počtem rund nemusí dávat délku K (f může požadovat delší vstup), musíme si v některých algoritmech K[i] připravit, nejčastěji před samotným během algoritmu. Mimoto jednotlivé K[i] se nazývají rundovní klíče. Proces výpočtu K[i] se anglicky nazývá key scheduling, česky prostě příprava rundovních klíčů. Tento princip najdete skutečně u mnoha šifer. Co je na popsaném algoritmu tak zajímavého? Především je celý reverzibilní nezávisle na funkci f, a proto je implementace dešifrování téměř shodná s šifrováním. Skutečně, znám-li předchozí vstup f, další xorování výstupem f provede inverzí operace: R[i] = L[i-1] xor f(r[i-1], K[i]) xor f(r[i-1], K[i]) = L[i-1] což je inverze k prvnímu definovanému přiřazení. Běh několika rund Feistelovy šifry je dobře vidět na obrázku.

22 část 5, díl 2, kap. 2.1, str. 4 BEZPEČNÁ POČÍTAČOVÁ SÍŤ O Získané vlastnosti představují obrovskou výhodu, protože celou třídu algoritmu opět redukují, a to na studium funkce f. Dále díky reverzibilitě není nutné programovat či implementovat do hardwaru odlišný algoritmus pro šifrování a dešifrování. A znovu opakuji, že tyto pozitiva nejsou podmíněna tím, že by f musela být prostá. Počítání inverze k zašifrovanému

23 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 2.1, str. 5 textu nijak nesouvisí s počítáním inverzní funkce f -1. Nutno dodat, že v praxi je třeba provést k docílení úplné shodnosti šifrování a dešifrování před, resp. po každém běhu ještě prohození levé a pravé strany otevřeného/šifrovaného textu. Další technikou, která je při návrzích často používaná, je mapování n na m bitů. Přestože n a m bývají často stejné, mohou se délky různých výstupů z toho či onoho lišit, a proto je nutné provést nějakou transformaci. V tomto případě mluvíme nikoliv o transformaci algoritmem, ale o systému přiřazování hodnot výčtem, tj. susbtituci. Odtud písmenko S v názvu. Slovo výčet jsem uvedl záměrně, abych vyzdvihl nestrojovost postupu - v S-boxu je prostě napsáno, jaká hodnota odpovídá jaké a naopak. Můžeme si představit tabulku o n/2 x n/2 buňkách, kde v každé je napsáno číslo délky m bitů. Je-li x vstup, najdeme výstup v řádku s pořadím reprezentovaným prvními n/2 bity a ve sloupci reprezentovaným druhými n/2 bity čísla x. Cílem s-boxů je především větší komplexnost a nelinearita šifry. Ta zaručuje větší rozdmýchání bitů klíče/dat a větší odolnost vůči analýze. Díky de facto mechanickému převodu vyhledáním hodnoty (jako ve slovníku) je také docíleno snížení informační hodnoty, kterou nese výstup o vstupu. Další metodou míchání dat může být zaručeno pomocí různých technik expanzí (zvětšování délky, kdy se vzniklá místa nějakým způsobem dopočítají) a permutací (změna pořadí). Jelikož jde o lineární operace (algoritmické, lehce inverzní), nejsou samy o sobě garantem bezpečnosti. S-boxy, permutace, expanze

24 část 5, díl 2, kap. 2.1, str. 6 BEZPEČNÁ POČÍTAČOVÁ SÍŤ

25 BEZPEČNÁ POČÍTAČOVÁ SÍŤ Nejjednodušší, ale bezpochyby také nejméně bezpečný mód se nazývá ECB, Electronic Codebook. Anglické slovo codebook vyjadřuje podobnost s takzvanými kódovými knihami, což byl prostředek používaný pro šifrování a dešifrování v minulosti. Princip takovéto knihy neměl daleko ke slovníku - jakákoliv daná část otevřeného textu měla jednoznačně korespondující část textu šifrovaného a překlad mezi nimi zajišťovala právě kódová kniha. Skutečně, mód ECB nepředpokládá žádný vztah mezi jednotlivými bloky otevřeného či šifrovaného textu. Výstup, který pro ječást 5, díl 2, kap. 2.2, str. 1 5/2.2.2 BLOKOVÉ ŠIFRY - OPERAČNÍ MÓDY Vraťme se nyní zpět od funkcí pracujících na blocích či v rundách Feistelových schémat k problematice bloků jako takových. Podle toho, jak jsou jednotlivé po sobě jdoucí vstupy a výstupy při šifrování provázány, můžeme rozlišit několik pracovních módů, ve kterých jsou schopny operovat.

26 část 5, díl 2, kap. 2.2, str. 2 BEZPEČNÁ POČÍTAČOVÁ SÍŤ den konkrétní blok algoritmus spočítá, tak nezávisí na čemkoliv jiném, mimo dat v něm. O Rizika, která takovýto přístup představuje, jsou, jak je po delším zkoumání vidět, značná. Z jakékoliv obdržené komunikace máme okamžitě jasnou informaci o shodných částech otevřeného textu - z definice módu musí být totiž ekvivalentní i příslušné části textu šifrovaného. Dále, jelikož jsou bloky zpracovávány nezávisle na sobě, zde může hrozit případná neoprávněná manipulace s daty. Přijímající strana totiž za takovýchto podmínek nedokáže ověřit, zda pořadí bloků v obdržené zprávě skutečně odpovídá originálu, protože pokud by byly některé zaměněny tak, aby výsledek dával stále smysl, nelze z principu nic poznat. Každý blok je ve zprávě sám za sebe. Představme si například bankovní příkaz, jehož přenos je zabezpečen nějakou blokovou šifrou operující v módu ECB. Byli bychom velmi neradi, kdyby útočník vyměnil například zdrojový a cílový účet atd. Tyto a další problémy, které se při aplikaci blokových šifrovacích schémat objevují, se nejčastěji řeší různými druhy zřetězení. Výstup z jednoho kola běhu šifrovacího algoritmu tak slouží jako druhý vstup do kola dalšího (jedno kolo zde označujeme odbavení jednoho bloku dat, nezaměňovat s rundami při počítání jednoho bloku či s funkcí f ve Feistelově schématu). Různé módy se liší podle toho, na jaké místo sché-

27 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 2.2, str. 3 matu jsou jaké informace z minulého kola přidávány. Provázání přitom samozřejmě musí být postaveno tak, aby dešifrování nečinilo žádné nadměrné obtíže. Ciper Block Chaining (CBC), v překladu přesně znamená zřetězení šifrového textu. Před vlastním šifrováním se do otevřeného bloku přidá informace z minulého zašifrovaného bloku, tj. z výstupu algoritmu. Jelikož dva identické bloky na různých místech otevřeného textu mají různé předchůdce ve smyslu všechny bloky, nacházející se před, není možné, aby do vlastního šifrovacího algoritmu proudila dvakrát stejná data. Míchání výstupu s následujícím vstupem se děje za použití operace XOR, o které zde byla již několikrát řeč. O Důležitým ukazatelem, při studiu různých módů, je také míra destrukce zprávy při chybně přeneseném či úplně chybějícím bloku. Při použití primitivního módu ECB se zmiňované nevýhody odrazí v menší propagaci chyby: při špatném přenosu jednoho bloku (či jen některého jeho bitu!) jej nejsme schopni dešifrovat. Zřetězení a závislost jednotlivých výstupů a vstupů na sobě napovídá horší situaci. Jak je ale vidět, situace

28 část 5, díl 2, kap. 2.2, str. 4 BEZPEČNÁ POČÍTAČOVÁ SÍŤ není nikterak katastrofální. Vžijme se do situace příjemce zprávy a minulý obrázek (ukazoval postup při šifrování) si otočme vzhůru nohama: O Vzhledem k tomu, že jsme při šifrování do dalšího bloku jako druhý vstup používali až konečný výstup z bloku minulého, stačí nám teď provést po dešifrování stejnou operaci s blokem šifrovaného textu. Tedy: výpadek jednoho bloku způsobí faktické nedoručení ještě jednoho následujícího. To upřímně řečeno není zase taková ztráta, můžeme skoro říci jen jednoho následujícího. Říkám to proto, že kdybychom jako druhý vstup při šifrování brali hodnotu minulého XORu, dosáhli bychom sice obdobného výsledku zřetězení, nicméně jakákoliv chyba v přenosovém kanále by znamenala totální znehodnocení zbytku zprávy. Co se přimíchá do prvního bloku otevřeného textu, je samozřejmě otázka na místě. Náhodný řetězec dat, který má stejnou velikost jako bloky používané v konkrétním algoritmu, se nazývá inicializační vektor a v praktické realizaci se přikládá k posílané zprávě. Vzhledem k tomu, že nemá žádný bezpečnostní význam ve smyslu dešifrování zprávy jako takové, může být bez problémů přenášen v otevřené podobě.

29 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 2.2, str. 5 Další možností, jak logicky propojit jednotlivé bloky mezi sebou, jsou dva tzv. feedback módy, konkrétně Output-feedback a Ciphertext-feedback módy. První ze jmenovaných dvou funguje na principu vytváření posloupnosti bloků dat nezávisle na blocích otevřeného textu, přičemž tyto dvě skupiny dat jsou postupně blok po bloku na sebe naxorovány. Tento postup je velmi zajímavý tím, že vlastní šifrovací algoritmus s otevřeným textem vůbec nepracuje: v prvním kole se zašifruje inicializační vektor (IV) a v každém dalším se místo něj vezme výstup z kola předchozího. Někomu možná chod systému objasní spíše následující: E (B, K) je šifrovací funkce, beroucí na svém vstupu klíč a blok dat délky n a vracející na výstupu opět blok délky n. Po několika kolech chodu šifrovacího algoritmu v módu OFB budeme mít k dispozici posloupnost E(IV,K), E(E(IV,K), K), E(E(E(IV,K),K),K) atd. Konkrétní hodnoty takovéhoto řetězce kompletně závisí na inicializačním vektoru IV, algoritmu dané funkce F a klíči K. Jelikož jsou dvě první veličiny obecně veřejné, není, jednoduše přiblíženo, rozdíl mezi (1) vlivem šifrovacího klíče na výsledný šifrovaný text např. v módu ECB a (2) (ne)predikovatelnosti hodnot obdržené posloupnosti bez kompletní znalosti K. Proto vezmeme-li po řadě obdržené hodnoty E(IV,K), E(E(IV,K),K), E(E(E(IV,K),K),K)... a naxorujeme je opět popořadě na bloky otevřeného textu, máme stejně bezpečný kryptosystém. OFB vlastně vytváří v závislosti na klíči proud pseudonáhodných dat. OFB má mimo jiné ihned patrnou výhodu v oddělení práce s textem od chodu šifrovacího stroje. Jak je vidět, celou posloupnost si můžeme vygenerovat předem, dokonce bez znalosti budoucího otevřeného Feedback módy

30 část 5, díl 2, kap. 2.2, str. 6 BEZPEČNÁ POČÍTAČOVÁ SÍŤ textu. To může mít například radikální vliv na rychlost běhu. Říkám může, protože v tomto případě to není s rychlostí tak jednoduché. Zrychlení je podmíněno faktem, že máme kam bezpečně (!) předvygenerovanou posloupnost uložit, navíc ještě v dostatečně velké délce. Požadavek na bezpečnost je pochopitelně elementární. To ale nejde obecně zajistit a v teoretické rovině to nemůžeme předpokládat. Další výhoda je v nulové distribuci chyby. Kolik špatných bitů přijmu, tolik jich také ve výsledku nepřečtu. To je zatím nejlepší výsledek, který jsme obdrželi - vzhledem k použití komplexních šifrovacích funkcí v ostatních módech jsme vždy ztratili minimálně jeden celý blok dat. Můžeme říci, že pro kanály s vysokým procentem poruchovosti při přenosu může být OFB výhodnější variantou. Ale jsou i nevýhody. Tak například jednoduchost použité operace XOR v sobě skrývá potencionální nebezpečí, pokud útočník v podobě třetí strany otevřený text zná. V takovémto případě totiž může změnit přenášená data tak, že adresát, kterému jsou určena, dešifruje cokoliv, nač si útočník vzpomene. Skutečně, jeli M otevřený text, E posloupnost generovaná šifrovací funkcí, potom X = M xor E je zpráva přenášená v šifrovaném tvaru. Opětovným naxorováním M na X máme (M xor E) xor M = E, a chce-li někdo podvrhnout přenos, stačí místo přenášených dat odvysílat E xor M, kde M je jeho (útočníkova) zpráva v otevřeném tvaru. A nakonec, jelikož se při OFB xoruje bit po bitu, není třeba originální zprávu nikterak zarovnávat na násobek délky bloku, což bylo vždy nutné u předchozích módů. Mód Ciphertext-feedback, na rozdíl od minule popsa-

31 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 2.2, str. 7 ného, bere v každém kole jako vstup minulý výstup, ovšem naxorovaný s blokem otevřeného textu. Přestože se ten tak do vlastního algoritmu také nedostane, není možné si posloupnost pro xorování vytvořit předem. Další potencionálně negativní vlastnost představuje fakt, že při xorování se mohou vytvořit dva stejné bloky šifrovaného textu - tedy oba následující běhy šifrovací funkce budou mít stejný vstup, což může znamenat potencionální únik informací. Navíc je v tomto módu vysloveně požadována unikátnost inicializačního vektoru.

32 část 5, díl 2, kap. 2.2, str. 8 BEZPEČNÁ POČÍTAČOVÁ SÍŤ

33 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 2.3, str. 1 5/2.2.3 PROUDOVÉ ŠIFRY A LINEAR FEEDBACK SHIFT REGISTER Proudové šifry pracují podle názvu s otevřeným textem jako s proudem bitů. Jejich rychlost zpracování vstupu je podstatně rychlejší ve srovnání s šiframi blokovými. Při své činnosti vytvářejí k proudu otevřeného textu jakýsi klíčový proud, keystream, který se poté bit po bitu xoruje se vstupem tak, aby se na výstupu opět generoval bit po bitu šifrovaný text. Zásadní vliv na tvorbu keystreamu má samozřejmě, mimo použitého algoritmu, šifrovací klíč. Jak algoritmus běží, mění se stavy interních proměnných a v závislosti na nich se generují bity pro následné xorování. Stejně tak jako u některých módů blokových šifer je tak činnost algoritmu nezávislá na otevřeném či šifrovaném textu. Je vidět jistá souvislost mezi proudovými algoritmy a některými módy jejich blokových kolegů. Jak jsem viděli vminulé kapitole, i blokové šifry dokáží v output-feedback módu generovat analogii posloupnosti, kterou zde nazýváme keystream. Ty ji ovšem generují Proudové šifry

34 část 5, díl 2, kap. 2.3, str. 2 BEZPEČNÁ POČÍTAČOVÁ SÍŤ po blocích, což pravda ve výsledku na věci tolik nemění. Všechny výhody takovéhoto postupu platí proto i zde, namátkou například možnost vygenerovat si posloupnost pro xorování předem či nulová propagace chyby v přenosu. V souvislosti s proudovými šiframi se často zmiňuje takzvaný one-time pad, neboli jednorázový blok, v této publikaci diskutovaný na jiném místě. Upřímně řečeno, on se pro své velmi obecné vlastnosti zmiňuje opravdu vedle skutečně různých pojmů a dle mého názoru nemá velký smysl se zabývat tím, zda jde z formální definice o šifru typem takovou či jinou. Pro čtenáře asi není problém si one-time pad napasovat na zde uvedený popis proudové šifry, stejně tak jako na nějaké další, hodící se téma. Linear Feedback Shift Register Nahlédnete-li do tajů konkrétních schémat šifrovacích algoritmů, tj. do toho, co se děje mezi vstupem a výstupem, uvidíte pravděpodobně změť šipek a značek - data se budou rozdělovat, míchat, prohazovat, xorovat, posouvat a tak dále. Množství kombinací, které mohou těmito postupy vzniknout, je obrovská řada a vybudování nějaké seriózní a z hloubky jdoucí teorie by při absenci jakéhokoliv řádu v nich bylo velmi obtížné, takřka nemožné. Prakticky od doby, kdy se kryptografie začala vážně zkoumat jako věda, se pozornost matematiků ubírala především k těm strukturám, které se při konstrukci šifer objevovaly nejčastěji. Jsou-li dostatečně obecné, není problém je použít pro širokou škálu úloh a potřeb, na druhou stranu je možné na nich postavit vědu jako takovou, a budeme-li se držet zaběhnutých definic a standardů, můžeme se o funkci takovýchto struktur dovědět velmi mnoho.

35 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 2.3, str. 3 Lineární posuvný registr (Linear Feedback Shift Register, LFSR) jedním z takových matematických aparátů je. Jeho účelem je v závislosti na nějakém počátečním stavu generovat proud bitů. Registr představuje pole (posloupnost) položek o daném počtu n, které v jednom okamžiku nese v každé položce jedno číslo nějakého rozmezí. V každém kroku vygeneruje jeden bit tak, že ho odejme z položky nejvíce vpravo, všechny ostatní hodnoty posune o jednu doprava a obsah položky vlevo spočítá jako xor některých daných ze všech položek. O Počáteční stav registru bývá obvykle spočítán z hodnot tajného klíče. Praktická implementace není náročná, a to jak hardwarově, tak softwarově. To je nesporná výhoda. Totiž realizace podobných struktur v praxi je podstatné kritérium, které může rozhodnout o jejich dalším osudu. Pro podobně zásadní věci se předpokládá, že najdou praktické uplatnění nejen ve velkých, rychlých a paměťově dobře vybavených počítačích - musí se naopak počítat s nutností běhu i na přesných opacích, tedy pomalé stroje s omezenou paměťovou kapacitou apod. V žádném případě teď nemluvím o nějakých starších PC - řeč je o mobilech, bankomatech, čipových kartách, identifikačních zařízeních atd.

36 část 5, díl 2, kap. 2.3, str. 4 BEZPEČNÁ POČÍTAČOVÁ SÍŤ Na druhou stranu není jednoduché použití LFSR bezpečné, co se týče predikovatelnosti výstupu. Jelikož jde o strukturu dostatečně obecnou a lehce zadanou, bylo kolem ní vytvořeno mnoho teorie, která pronikla skutečně do hloubky problému a umožnila registry velmi pečlivě ze všech úhlů pohledu analyzovat. Využívají se ale hojně jako stavební kameny pro větší, bezpečnostní systémy. Z těchto stavebních kamenů lze vytvářet například pokročilejší registrové kaskády, kdy výstup z jednoho ovlivňuje chod druhého apod. Pomocí dvou registrů lze například skonstruovat model, kde jeden registr bude říkat (pomocí 0/1), zda výstup z druhého se zahrne do výsledného proudu. Již tuto konstrukci lze použít jako symetrickou proudovou šifru, říká se jí Shringing generator. Vzájemná četnost nul a jedniček má ovšem, bez dalších předpokladů, nestálý poměr, což je samozřejmě nevýhoda.

37 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 2.4, str. 1 5/2.2.4 SKUTEČNĚ NEPROLOMITLENÁ ŠIFRA Tak zvaný jednorázový blok, neboli one-time pad, vskutku jediný příklad skutečně stoprocentního zabezpečení. Je to jediná možná konstrukce ochrany, jejíž bezpečnost nestojí na faktu, že nemáme dostatečně rychlé procesory nebo, že jsme ještě nepřišli na patřičné nové vzorečky. Zde a jen zde se jedná o bezpečnost principiální. Vtipem této dokonalé ochrany je přestat rozlišovat mezi otevřeným textem a šifrovacím klíčem, pokud možno v žádném slova smyslu. Tedy při vlastních matematických operacích musí mít klíč stejný efekt na výsledný text jako vlastní data, která chceme zašifrovat. Pro jakýkoliv daný řetězec otevřeného textu musí existovat stejně dlouhá posloupnost dat klíče, aby byl výsledkem zašifrování opět jakýkoliv řetězec. A naopak, pro všechny klíče musí existovat taková data, že na výsledku opět dostaneme, nač si vzpomeneme. Výsledek? Pokud každý klíč použijeme jen, ale skutečně

38 část 5, díl 2, kap. 2.4, str. 2 BEZPEČNÁ POČÍTAČOVÁ SÍŤ jen jednou, nelze rozhodnout, zda informaci nese šifrovaný text nebo šifrovací klíč. Systém předpokládá skutečně náhodné generování klíče o stejné délce, jakou má otevřený text. V opačném případě by totiž existovala informace (např. počáteční stav generátoru pseoudonáhodných čísel, délkou kratší než dostatečně dlouhý otevřený text), která by nebyla schopna dosáhnout potřebné variability výsledku. Obdobný efekt má jakékoliv opakování již jednou použitého klíče... Pro příklad si data definujme jako posloupnosti bytů v desítkové soustavě, tedy čísla K otevřenému textu, řekněme o 100 bytech, si náhodně vygenerujeme stejně dlouhou posloupnost a výsledek spočítáme jednoduše byte po bytu prostým součtem modulo 256. Je vidět, že každý byte šifrovaného textu sám o sobě neříká vůbec nic, mohl totiž vzniknout sečtením přesně 255 různých dvojic, a proto nic neříká text jako celek. Nepřítel tak má stejnou pravděpodobnost, že při luštění dostane Máchův Máj jako zákon o letošním státním rozpočtu. Informace totiž v šifrovaném textu samotném není. Dle definice by stejně dobře někdo mohl říci, že je obsažena v tom, co jsme nazvali klíčem a druhé straně předali předem, a že jsme jí poté vlastně poslali jenom klíč. Použití každého vygenerovaného klíče jenom jednou není jen tak nějaká hříčka. Jde o to, že s druhým použitým klíčem získáváme pro jednotlivé bajty dat také další rovnici, a to pouze s jednou novou neznámou druhý otevřený text. Matematická struktura, kde se jednotlivé operace provádějí (u nás množina {0 255} spolu s operací sčítání} je v jistém matematickém slova smyslu hezká, nebo, chcete-li raději, uspořá-

39 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 2.4, str. 3 daná, což nám dává do rukou například nástroj inverzní operace k té, kterou jsme použili při šifrování. Odečteme-li tedy v našem případě oba dva výsledky od sebe (vše opět modul 256), dostaneme: (klic + text1) (klic + text2) = text1 text2 otevfien text 1: klíã: ifrovan text 1: O otevfien text 2: klíã: ifrovan text 2: rozdûl. ifr. textû: rozdûl ot. textû: Pozn.: Pro zjednodu ení v echny operace probíhají modulo 100. A katastrofa je na světě, klíč úplně zmizel! Výsledkem je jen rozdíl obou textů, tedy de facto jeden text zašifrovaný druhým. Je patrně jasné, že prostý psaný text (text1, text2) jako klíč splňuje ledacos, jen ne požadavky zavedené při definici systému. Můžeme o něm předem říct mnoho informací, např. častý výskyt mezer, procentuální zastoupení jednotlivých písmen či samotný smysl textu. Všechny tyto údaje ulehčují dešifrování zásadním způsobem a systém je možné v tomto případě považovat za prolomený. Tedy, síla jednorázového bloku spočívá především v distribuci informace na víc stejně dlouhých balíků dat. Dobře zvolená operace nám umožňuje jeden znich předat předem, aniž ještě víme cokoliv o budoucí tajné zprávě.

40 část 5, díl 2, kap. 2.4, str. 4 BEZPEČNÁ POČÍTAČOVÁ SÍŤ Hojně se v tomto systému využívá operace xor, a to především pro její reverzibilní charakter, kdy dešifrování probíhá naprosto stejným způsobem jako šifrování. Jen pro větší názornost bylo zvoleno prosté známé sčítání.

41 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 2.5, str. 1 5/2.2.5 DES, STANDARD II - AES, IDEA DES, Data Encryption Standard, patří k nejznámějším šifrám vůbec. Jeho pestrá historie začala v polovině sedmdesátých let, konkrétně v roce 1974, kdy ho IBM navrhla americkému Národnímu úřadu pro standardizaci (NBS, dnes NIST) jako řešení tehdejší poptávky po symetrické kryptografii. Výsledkem byl standard ANSI X3.93, American National Standard for Data Enctyption Algorithm (DEA). Jedná se o blokovou šifru s 64 bitovou délkou bloku a 65 bitovým klíčem. Funkce šifrování a dešifrování jsou implementovány Feistelovým systémem s 60 rundami. Přestože se původně počítalo jen s několikaletým využitím, mnoho dobrých vlastností DESu zajistilo daleko větší časové i prostorové rozšíření, než si původní autoři asi představovali. Hrála zde roli jak dobrá možnost implementace hardwarem i softwarem, tak skvělý kryptografický návrh.

42 část 5, díl 2, kap. 2.5, str. 2 BEZPEČNÁ POČÍTAČOVÁ SÍŤ Ani všechna zmíněná pozitiva ovšem nemohla oddálit blížící se konec tohoto algoritmu. Ten byl na dosah, jakmile se hranice délky klíče (56 bitů) jen teoreticky přiblížila možnostem brute-force attacku. Zvyšování výpočetního výkonu je relativně dobře predikovatelná věc, a tak bylo jasné, že algoritmus nemá, alespoň v takovéto podobě, další perspektivu. I dnes ale představuje relativně dobrou ochranu pro náhodné hackery apod., nicméně zde jeho bezpečnost končí. Vládní organizace, kriminální živly, nadnárodní korporace či bohatí jedinci jsou schopni prohledat všechny možné klíče DESu během několika hodin či dní. Varianta, známá jako TripleDES (3DES), je vylepšení těžící z bezpečnosti DESu. Metodou šifrování a dešifrování pomocí tří nezávislých klíčů se docílí celkové délky 168 bitů. Výhoda 3DESu byla především v snadném upgradu hardwaru i softwaru, nebylo třeba cokoliv přeprogramovávat, stačilo použít vícekrát jednu rutinu. TripleDES zkrátka tenkrát představoval tu nejrychlejší a nejlevnější cestu k bezpečnosti. Standardem se ale nestal, přestože byl nasazen mj. v mnoha známých aplikacích. Pravděpodobně proto, že je podstatně pomalejší než jiné, již známé symetrické šifry, které dosahují srovnatelné bezpečnosti. Navíc byla objevena slabina, která kompletně odstraní vliv jednoho ze tří procesů a délka klíčů se tak zredukuje na 112. Standard II - AES V době hrozících útoků na DES NIST vyhlásil soutěž na nový šifrovací algoritmus pro 21. století, Advanced Encryption Standard. Z přibližně dvou desítek bylo vybráno celkem 5 kandidátů, postupujících do druhého kola soutěže: MARS, Serpent, Twofish, RC6, Rijndael. Nutno podotknout, že vybrat šifru pro no-

43 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 2.5, str. 3 vou digitální éru nebylo vůbec jednoduché. Předně nutno říci, že bezpečnost všech byla skvělá - jsou to vynikající šifry předních uznávaných světových kryptografů. I když vyhrál algoritmus belgických kryptografů Vincenta Rijmena a Joana Deamena, Rijndael, NIST konstatoval, že není důvodu, proč z bezpečnostního hlediska nepoužít jakoukoliv z nich. A co tedy nakonec rozhodovalo? Na takovéto úrovni a pro tak očekávané široké použití hrají často roli některé praktické faktory, především náročnost na implementaci. Rijndael v tomto ohledu dosahuje vynikajících výsledků na široké škále hardwarových zařízení. Dále se pamatuje mj. na rychlost běhu. Šifra IDEA (International Data Encryption Algorithm) je jedním z mezistádií vývoje mezi DES a AES. Operuje na 64bitových blocích, délka klíče 128 bitů. Koncept návrhu vychází z DESu a původně se o ní hovořilo jako o jejím nástupci. Stejně jako její předchůdce je považována za velmi bezpečnou. Stejného srovnání se jí dostává i z hlediska rychlosti, čímž je některými algoritmy překonaná. IDEA

44 část 5, díl 2, kap. 2.5, str. 4 BEZPEČNÁ POČÍTAČOVÁ SÍŤ

45 BEZPEČNÁ POČÍTAČOVÁ SÍŤ část 5, díl 2, kap. 2.6, str. 1 5/2.2.6 HASHOVACÍ FUNKCE Anglické slovo hash, které označuje klíčový pojem této kapitoly, můžeme v literatuře také často nalézt ve své české podobě, vzniklé prostým fonetickým přepisem. V této publikaci se ovšem autor drží původního anglického termínu. Důvodem je fakt, že v odborných kruzích je tento pojem natolik známý, že není třeba vytvářet ekvivalenty, jejichž sémantická příslušnost k češtině je minimálně diskutabilní. Slovo hash, hashing je v širším pojetí výraz pro mleté maso či proces jeho mletí, který není (s nadsázkou) v našem kontextu vůbec od věci. Dalším důvodem je pochopitelně zvyk... Hashovací funkce je reprezentována algoritmem, který pro jakkoliv dlouhý vstup M jistým způsobem spočítá výstup o pevné velikosti. Obvykle píšeme H(M) = h. Podle požadavků na vztah mezi vstupem a výstupem mají funkce tohoto charakteru mnoho uplatnění v různých oblastech teoretické informatiky Hash

46 část 5, díl 2, kap. 2.6, str. 2 BEZPEČNÁ POČÍTAČOVÁ SÍŤ (namátkou třeba databáze a zpracování dat). Pro využití v kryptografii, přesněji v kryptografických protokolech, požadujeme vlastnosti speciální a řekněme jistotou jejich dodržení pak také kryptografickou kvalitu takové funkce hodnotíme. Základní požadavky na kryptograficky bezpečnou hashovací funkci jsou: - vstupem může být jakkoliv dlouhá posloupnost znaků (dané abecedy) - výstupem je řetězec o pevně dané délce (pro všechny vstupy stejná) - H(X) dokážeme relativně lehce spočítat pro jakýkoliv vstup X - Při daném h dokážeme jen velmi obtížně najít takové X, aby H(X)=h - Funkce H je v praxi bezkolizní, viz výklad. Předposlední požadavek se často nazývá jednocestnost (tj. jednocestné funkce). Říká, že spočítat H -1 je velmi obtížný problém a v praxi téměř nerealizovatelný. Je patrné, že pro třídu vstupů delších, než je daná hodnota délky výstupu, nemůže být funkce H prostá. Tedy určitě musí existovat nějaké dva vstupy M 1 am 2 tak, že H(M 1 ) = H(M 2 ) = h, a tuto situaci, resp. její provedení v praxi, označujeme jako kolizi. Bezkolizní můžeme nazvat funkci, u které nebyla (či ještě nebyla?) v praxi žádná kolize nalezena. V teorii se rozlišují takzvané slabě a silně bezkolizní funkce. Slabší varianta předpokládá, že je nespočitatelné Y pro dané (!) X tak, aby H(X) = H(Y). Silně bezkolizní funkcí označujeme ty, pro které je výpočetně neproveditelné najít jakékoliv (!) X a Y, aby zmiňovaná rovnost platila. Rozdíl mezi těmito dvěma situacemi se dá dobře ilustrovat v praxi, představme si

Šifrování Kafková Petra Kryptografie Věda o tvorbě šifer (z řečtiny: kryptós = skrytý, gráphein = psát) Kryptoanalýza Věda o prolamování/luštění šifer Kryptologie Věda o šifrování obecné označení pro kryptografii

Více

Moderní metody substitučního šifrování

Moderní metody substitučního šifrování PEF MZLU v Brně 11. listopadu 2010 Úvod V současné době se pro bezpečnou komunikaci používají elektronická média. Zprávy se před šifrováním převádí do tvaru zpracovatelného technickým vybavením, do binární

Více

Proudové šifry a posuvné registry s lineární zpětnou vazbou

Proudové šifry a posuvné registry s lineární zpětnou vazbou Proudové šifry a posuvné registry s lineární zpětnou vazbou Andrew Kozlík KA MFF UK Proudové šifry Bloková šifra Šifruje velké bloky otevřeného textu. Bloky mají pevnou délku. Velké znamená, že je prakticky

Více

Šifrová ochrana informací věk počítačů PS5-1

Šifrová ochrana informací věk počítačů PS5-1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací věk počítačů PS5-1 1 Osnova šifrová ochrana využívající výpočetní techniku např. Feistelova šifra; symetrické a asymetrické šifry;

Více

CO JE KRYPTOGRAFIE Šifrovací algoritmy Kódovací algoritmus Prolomení algoritmu

CO JE KRYPTOGRAFIE Šifrovací algoritmy Kódovací algoritmus Prolomení algoritmu KRYPTOGRAFIE CO JE KRYPTOGRAFIE Kryptografie je matematický vědní obor, který se zabývá šifrovacími a kódovacími algoritmy. Dělí se na dvě skupiny návrh kryptografických algoritmů a kryptoanalýzu, která

Více

Asymetrické šifry. Pavla Henzlová 28.3.2011. FJFI ČVUT v Praze. Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3.

Asymetrické šifry. Pavla Henzlová 28.3.2011. FJFI ČVUT v Praze. Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3. Asymetrické šifry Pavla Henzlová FJFI ČVUT v Praze 28.3.2011 Pavla Henzlová (FJFI ČVUT v Praze) Asymetrické šifry 28.3.2011 1 / 16 Obsah 1 Asymetrická kryptografie 2 Diskrétní logaritmus 3 Baby step -

Více

KRYPTOGRAFIE VER EJNE HO KLI Č E

KRYPTOGRAFIE VER EJNE HO KLI Č E KRYPTOGRAFIE VER EJNE HO KLI Č E ÚVOD Patricie Vyzinová Jako téma jsem si vybrala asymetrickou kryptografii (kryptografie s veřejným klíčem), což je skupina kryptografických metod, ve kterých se pro šifrování

Více

8. RSA, kryptografie s veřejným klíčem. doc. Ing. Róbert Lórencz, CSc.

8. RSA, kryptografie s veřejným klíčem. doc. Ing. Róbert Lórencz, CSc. Bezpečnost 8. RSA, kryptografie s veřejným klíčem doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů

Více

Šifrová ochrana informací věk počítačů PS5-2

Šifrová ochrana informací věk počítačů PS5-2 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací věk počítačů PS5-2 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 2 Osnova

Více

UKRY - Symetrické blokové šifry

UKRY - Symetrické blokové šifry UKRY - Symetrické blokové šifry Martin Franěk (frankiesek@gmail.com) Fakulta jaderná a fyzikálně inženýrská, ČVUT Praha 18. 3. 2013 Obsah 1 Typy šifer Typy šifer 2 Operační mody Operační mody 3 Přiklady

Více

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra

kryptosystémy obecně další zajímavé substituční šifry klíčové hospodářství kryptografická pravidla Hillova šifra Vernamova šifra Knižní šifra kryptosystémy obecně klíčové hospodářství klíč K, prostor klíčů T K kryptografická pravidla další zajímavé substituční šifry Hillova šifra Vernamova šifra Knižní šifra klíč K různě dlouhá posloupnost znaků

Více

PSK2-16. Šifrování a elektronický podpis I

PSK2-16. Šifrování a elektronický podpis I PSK2-16 Název školy: Autor: Anotace: Vzdělávací oblast: Předmět: Vyšší odborná škola a Střední průmyslová škola, Božetěchova 3 Ing. Marek Nožka Jak funguje asymetrická šifra a elektronický podpis Informační

Více

Symetrické šifry, DES

Symetrické šifry, DES Symetrické šifry, DES Jiří Vejrosta Fakulta jaderná a fyzikálně inženýrská, ČVUT Jiří Vejrosta (FJFI) UKRY 1 / 20 Klíče Symetrická šifra tajný klíč klíč stejný u odesilatele i příjemce Asymetrická šifra

Více

Šifrová ochrana informací věk počítačů PS5-2

Šifrová ochrana informací věk počítačů PS5-2 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací věk počítačů PS5-2 1 Osnova šifrová ochrana využívající výpočetní techniku např. Feistelova šifra; symetrické a asymetrické šifry;

Více

1 Linearní prostory nad komplexními čísly

1 Linearní prostory nad komplexními čísly 1 Linearní prostory nad komplexními čísly V této přednášce budeme hledat kořeny polynomů, které se dále budou moci vyskytovat jako složky vektorů nebo matic Vzhledem k tomu, že kořeny polynomu (i reálného)

Více

Informatika / bezpečnost

Informatika / bezpečnost Informatika / bezpečnost Bezpečnost, šifry, elektronický podpis ZS 2015 KIT.PEF.CZU Bezpečnost IS pojmy aktiva IS hardware software data citlivá data hlavně ta chceme chránit autorizace subjekt má právo

Více

Asymetrická kryptografie

Asymetrická kryptografie PEF MZLU v Brně 12. listopadu 2007 Problém výměny klíčů Problém výměny klíčů mezi odesílatelem a příjemcem zprávy trápil kryptografy po několik století. Problém spočívá ve výměně tajné informace tak, aby

Více

Základy šifrování a kódování

Základy šifrování a kódování Materiál byl vytvořen v rámci projektu Nové výzvy, nové příležitosti, nová škola Tento projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky Základy šifrování a kódování

Více

Základy kryptologie. Kamil Malinka malinka@fit.vutbr.cz Fakulta informačních technologií

Základy kryptologie. Kamil Malinka malinka@fit.vutbr.cz Fakulta informačních technologií Základy kryptologie Kamil Malinka malinka@fit.vutbr.cz Fakulta informačních technologií 1 Detaily zkoušky Během semestru je možno získat maximální počet 100 bodů projekty - 20b. vnitrosemestrální písemka

Více

Základy kryptografie. Beret CryptoParty 11.02.2013. 11.02.2013 Základy kryptografie 1/17

Základy kryptografie. Beret CryptoParty 11.02.2013. 11.02.2013 Základy kryptografie 1/17 Základy kryptografie Beret CryptoParty 11.02.2013 11.02.2013 Základy kryptografie 1/17 Obsah prezentace 1. Co je to kryptografie 2. Symetrická kryptografie 3. Asymetrická kryptografie Asymetrické šifrování

Více

Identifikátor materiálu: ICT-2-04

Identifikátor materiálu: ICT-2-04 Identifikátor materiálu: ICT-2-04 Předmět Téma sady Informační a komunikační technologie Téma materiálu Zabezpečení informací Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí kryptografii.

Více

Kryptografie, elektronický podpis. Ing. Miloslav Hub, Ph.D. 27. listopadu 2007

Kryptografie, elektronický podpis. Ing. Miloslav Hub, Ph.D. 27. listopadu 2007 Kryptografie, elektronický podpis Ing. Miloslav Hub, Ph.D. 27. listopadu 2007 Kryptologie Kryptologie věda o šifrování, dělí se: Kryptografie nauka o metodách utajování smyslu zpráv převodem do podoby,

Více

Diffieho-Hellmanův protokol ustanovení klíče

Diffieho-Hellmanův protokol ustanovení klíče Diffieho-Hellmanův protokol ustanovení klíče Andrew Kozlík KA MFF UK Diffieho-Hellmanův protokol ustanovení klíče (1976) Před zahájením protokolu se ustanoví veřejně známé parametry: Konečná grupa (G,

Více

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic Přednáška třetí (a pravděpodobně i čtvrtá) aneb Úvod do lineární algebry Matice a soustavy rovnic Lineární rovnice o 2 neznámých Lineární rovnice o 2 neznámých Lineární rovnice o dvou neznámých x, y je

Více

Matematické základy šifrování a kódování

Matematické základy šifrování a kódování Matematické základy šifrování a kódování Permutace Pojem permutace patří mezi základní pojmy a nachází uplatnění v mnoha oblastech, např. kombinatorice, algebře apod. Definice Nechť je n-prvková množina.

Více

Matematika I 2a Konečná pravděpodobnost

Matematika I 2a Konečná pravděpodobnost Matematika I 2a Konečná pravděpodobnost Jan Slovák Masarykova univerzita Fakulta informatiky 24. 9. 2012 Obsah přednášky 1 Pravděpodobnost 2 Nezávislé jevy 3 Geometrická pravděpodobnost Viděli jsme už

Více

Data Encryption Standard (DES)

Data Encryption Standard (DES) Data Encryption Standard (DES) Andrew Kozlík KA MFF UK Šifra DES DES je bloková šifra, P = C = {0, 1} 64 Klíče mají délku 64 bitů, ale jen 56 bitů je účinných: K = { b {0, 1} 64 8 i=1 b i+8n 1 (mod 2),

Více

Kryptografie založená na problému diskrétního logaritmu

Kryptografie založená na problému diskrétního logaritmu Kryptografie založená na problému diskrétního logaritmu Andrew Kozlík KA MFF UK Diffieho-Hellmanův protokol ustanovení klíče (1976) Před zahájením protokolu se ustanoví veřejně známé parametry: Konečná

Více

BEZPEČNOST INFORMACÍ

BEZPEČNOST INFORMACÍ Předmět Bezpečnost informací je zaměřen na bezpečnostní aspekty informačních systémů a na zkoumání základních prvků vytvářeného bezpečnostního programu v organizacích. Tyto prvky technologie, procesy a

Více

Digitální podepisování pomocí asymetrické kryptografie

Digitální podepisování pomocí asymetrické kryptografie Digitální podepisování pomocí asymetrické kryptografie 11. dubna 2011 Trocha historie Asymetrické metody Historie Historie Vlastnosti Asymetrické šifrování 1976 Whitfield Diffie a Martin Hellman první

Více

0.1 Úvod do lineární algebry

0.1 Úvod do lineární algebry Matematika KMI/PMATE 1 01 Úvod do lineární algebry 011 Lineární rovnice o 2 neznámých Definice 011 Lineární rovnice o dvou neznámých x, y je rovnice, která může být vyjádřena ve tvaru ax + by = c, kde

Více

Správa přístupu PS3-2

Správa přístupu PS3-2 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Správa přístupu PS3-2 1 Osnova II základní metody pro zajištění oprávněného přístupu; autentizace; autorizace; správa uživatelských účtů; srovnání současných

Více

Konstrukce šifer. Andrew Kozlík KA MFF UK

Konstrukce šifer. Andrew Kozlík KA MFF UK Konstrukce šifer Andrew Kozlík KA MFF UK Kerckhoffsův princip V roce 1883 stanovil Auguste Kerckhoffs 6 principů, kterými by se měl řídit návrh šifrovacích zařízení. Například, že zařízení by mělo být

Více

Báze a dimenze vektorových prostorů

Báze a dimenze vektorových prostorů Báze a dimenze vektorových prostorů Buď (V, +, ) vektorový prostor nad tělesem (T, +, ). Nechť u 1, u 2,..., u n je konečná posloupnost vektorů z V. Existují-li prvky s 1, s 2,..., s n T, z nichž alespoň

Více

Kerchhoffův princip Utajení šifrovacího algoritmu nesmí sloužit jako opatření nahrazující nebo garantující kvalitu šifrovacího systému

Kerchhoffův princip Utajení šifrovacího algoritmu nesmí sloužit jako opatření nahrazující nebo garantující kvalitu šifrovacího systému Základní cíle informační bezpečnosti Autentikace Autorizace Nepopiratelnost Integrita Utajení Shannonův model kryptosystému Kerchhoffův princip Utajení šifrovacího algoritmu nesmí sloužit jako opatření

Více

Jednofaktorová analýza rozptylu

Jednofaktorová analýza rozptylu I I.I Jednofaktorová analýza rozptylu Úvod Jednofaktorová analýza rozptylu (ANOVA) se využívá při porovnání několika středních hodnot. Často se využívá ve vědeckých a lékařských experimentech, při kterých

Více

Autentizace uživatelů

Autentizace uživatelů Autentizace uživatelů základní prvek ochrany sítí a systémů kromě povolování přístupu lze uživatele členit do skupin, nastavovat různá oprávnění apod. nejčastěji dvojicí jméno a heslo další varianty: jednorázová

Více

A. Poznámka k lineárním aproximacím kryptografické hašovací funkce BLUE MIDNIGHT WISH

A. Poznámka k lineárním aproximacím kryptografické hašovací funkce BLUE MIDNIGHT WISH A. Poznámka k lineárním aproximacím kryptografické hašovací funkce BLUE MIDNIGHT WISH Vlastimil Klíma, nezávislý kryptolog, (v.klima@volny.cz) Petr Sušil, PhD student, EPFL, (susil.petr@gmail.com) Abstrakt.

Více

Andrew Kozlík KA MFF UK

Andrew Kozlík KA MFF UK Autentizační kód zprávy Andrew Kozlík KA MFF UK Autentizační kód zprávy Anglicky: message authentication code (MAC). MAC algoritmus je v podstatě hashovací funkce s klíčem: MAC : {0, 1} k {0, 1} {0, 1}

Více

PA159 - Bezpečnostní aspekty

PA159 - Bezpečnostní aspekty PA159 - Bezpečnostní aspekty 19. 10. 2007 Formulace oblasti Kryptografie (v moderním slova smyslu) se snaží minimalizovat škodu, kterou může způsobit nečestný účastník Oblast bezpečnosti počítačových sítí

Více

Komerční výrobky pro kvantovou kryptografii

Komerční výrobky pro kvantovou kryptografii Cryptofest 05 Katedra počítačů, Fakulta elektrotechnická České vysoké učení technické v Praze 19. března 2005 O čem bude řeč Kryptografie Kryptografie se zejména snaží řešit: autorizovanost přístupu autenticitu

Více

ElGamal, Diffie-Hellman

ElGamal, Diffie-Hellman Asymetrické šifrování 22. dubna 2010 Prezentace do předmětu UKRY Osnova 1 Diskrétní logaritmus 2 ElGamal 3 Diffie-Hellman Osnova 1 Diskrétní logaritmus 2 ElGamal 3 Diffie-Hellman Osnova 1 Diskrétní logaritmus

Více

Asymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča

Asymetrická kryptografie a elektronický podpis. Ing. Dominik Breitenbacher Mgr. Radim Janča Asymetrická kryptografie a elektronický podpis Ing. Dominik Breitenbacher ibreiten@fit.vutbr.cz Mgr. Radim Janča ijanca@fit.vutbr.cz Obsah cvičení Asymetrická, symetrická a hybridní kryptografie Kryptoanalýza

Více

1 Řešení soustav lineárních rovnic

1 Řešení soustav lineárních rovnic 1 Řešení soustav lineárních rovnic 1.1 Lineární rovnice Lineární rovnicí o n neznámých x 1,x 2,..., x n s reálnými koeficienty rozumíme rovnici ve tvaru a 1 x 1 + a 2 x 2 +... + a n x n = b, (1) kde koeficienty

Více

Jak funguje asymetrické šifrování?

Jak funguje asymetrické šifrování? Jak funguje asymetrické šifrování? Petr Vodstrčil petr.vodstrcil@vsb.cz Katedra aplikované matematiky, Fakulta elektrotechniky a informatiky, Vysoká škola báňská Technická univerzita Ostrava Petr Vodstrčil

Více

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC .6. VLASTNÍ ČÍSLA A VEKTORY MATIC V této kapitole se dozvíte: jak jsou definována vlastní (charakteristická) čísla a vektory čtvercové matice; co je to charakteristická matice a charakteristický polynom

Více

1 Mnohočleny a algebraické rovnice

1 Mnohočleny a algebraické rovnice 1 Mnohočleny a algebraické rovnice 1.1 Pojem mnohočlenu (polynomu) Připomeňme, že výrazům typu a 2 x 2 + a 1 x + a 0 říkáme kvadratický trojčlen, když a 2 0. Číslům a 0, a 1, a 2 říkáme koeficienty a písmenem

Více

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n

Matice. Modifikace matic eliminační metodou. α A = α a 2,1, α a 2,2,..., α a 2,n α a m,1, α a m,2,..., α a m,n [1] Základní pojmy [2] Matice mezi sebou sčítáme a násobíme konstantou (lineární prostor) měníme je na jiné matice eliminační metodou násobíme je mezi sebou... Matice je tabulka čísel s konečným počtem

Více

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu http://akademie.ldf.mendelu.cz/cz (reg. č. CZ.1.07/2.2.00/28.

fakulty MENDELU v Brně (LDF) s ohledem na disciplíny společného základu http://akademie.ldf.mendelu.cz/cz (reg. č. CZ.1.07/2.2.00/28. Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem

Více

Základní definice Aplikace hašování Kontrukce Známé hašovací funkce. Hašovací funkce. Jonáš Chudý. Úvod do kryptologie

Základní definice Aplikace hašování Kontrukce Známé hašovací funkce. Hašovací funkce. Jonáš Chudý. Úvod do kryptologie Úvod do kryptologie Základní definice Kryptografická hašovací funkce Kryptografickou hašovací funkcí nazveme zobrazení h, které vstupu X libovolné délky přiřadí obraz h(x) pevné délky m a navíc splňuje

Více

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy Lukáš Havrlant Univerzita Palackého 10. ledna 2014 Primární zdroj Jiří Adámek: Foundations of Coding. Strany 137 160. Na webu ke stažení, heslo:

Více

RSA. Matematické algoritmy (11MA) Miroslav Vlček, Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. čtvrtek 21.

RSA. Matematické algoritmy (11MA) Miroslav Vlček, Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. čtvrtek 21. Čínská věta o zbytcích Šifrování Závěr Čínská věta o zbytcích RSA Matematické algoritmy (11MA) Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 4. přednáška 11MA čtvrtek 21. října 2010 verze:

Více

Datové struktury 2: Rozptylovací tabulky

Datové struktury 2: Rozptylovací tabulky Datové struktury 2: Rozptylovací tabulky prof. Ing. Pavel Tvrdík CSc. Katedra počítačových systémů Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010 Efektivní algoritmy

Více

Lingebraické kapitolky - Analytická geometrie

Lingebraické kapitolky - Analytická geometrie Lingebraické kapitolky - Analytická geometrie Jaroslav Horáček KAM MFF UK 2013 Co je to vektor? Šipička na tabuli? Ehm? Množina orientovaných úseček majících stejný směr. Prvek vektorového prostoru. V

Více

Pokročilá kryptologie

Pokročilá kryptologie Pokročilá kryptologie DES a AES doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů Informatika

Více

(Cramerovo pravidlo, determinanty, inverzní matice)

(Cramerovo pravidlo, determinanty, inverzní matice) KMA/MAT1 Přednáška a cvičení, Lineární algebra 2 Řešení soustav lineárních rovnic se čtvercovou maticí soustavy (Cramerovo pravidlo, determinanty, inverzní matice) 16 a 21 října 2014 V dnešní přednášce

Více

Šifrová ochrana informací věk počítačů KS - 5

Šifrová ochrana informací věk počítačů KS - 5 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 1 Bezpečnost informací BI Ing. Jindřich Kodl, CSc. Šifrová ochrana informací věk počítačů KS - 5 VŠFS; Aplikovaná informatika; SW systémy 2005/2006 2

Více

RSA. Matematické algoritmy (11MAG) Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :01

RSA. Matematické algoritmy (11MAG) Jan Přikryl. Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní. verze: :01 Čínská věta o zbytcích Mocnění Eulerova funkce Šifrování Závěr Čínská věta o zbytcích RSA Matematické algoritmy (11MAG) Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 4. přednáška 11MAG ponděĺı

Více

1 Mnohočleny a algebraické rovnice

1 Mnohočleny a algebraické rovnice 1 Mnohočleny a algebraické rovnice 1.1 Pojem mnohočlenu (polynomu) Připomeňme, že výrazům typu a 2 x 2 + a 1 x + a 0 říkáme kvadratický trojčlen, když a 2 0. Číslům a 0, a 1, a 2 říkáme koeficienty a písmenem

Více

Globální matice konstrukce

Globální matice konstrukce Globální matice konstrukce Z matic tuhosti a hmotnosti jednotlivých prvků lze sestavit globální matici tuhosti a globální matici hmotnosti konstrukce, které se využijí v řešení základní rovnice MKP: [m]{

Více

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: 3 Maticový počet 3.1 Zavedení pojmu matice Maticí typu (m, n, kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru: a 11 a 12... a 1k... a 1n a 21 a 22...

Více

Hashovací funkce. Andrew Kozlík KA MFF UK

Hashovací funkce. Andrew Kozlík KA MFF UK Hashovací funkce Andrew Kozlík KA MFF UK Hashovací funkce Hashovací funkce je zobrazení h : {0, 1} {0, 1} n. Typicky n {128, 160, 192, 224, 256, 384, 512}. Obraz h(x) nazýváme otisk, hash nebo digest prvku

Více

IB112 Základy matematiky

IB112 Základy matematiky IB112 Základy matematiky Řešení soustavy lineárních rovnic, matice, vektory Jan Strejček IB112 Základy matematiky: Řešení soustavy lineárních rovnic, matice, vektory 2/53 Obsah Soustava lineárních rovnic

Více

asymetrická kryptografie

asymetrická kryptografie asymetrická kryptografie princip šifrování Zavazadlový algoritmus RSA EL GAMAL další asymetrické blokové algoritmy Skipjack a Kea, DSA, ECDSA D H, ECDH asymetrická kryptografie jeden klíč pro šifrování

Více

Úvod do teorie informace

Úvod do teorie informace PEF MZLU v Brně 24. září 2007 Úvod Výměna informací s okolím nám umožňuje udržovat vlastní existenci. Proces zpracování informací je trvalý, nepřetržitý, ale ovlivnitelný. Zabezpečení informací je spojeno

Více

Složitost Filip Hlásek

Složitost Filip Hlásek Složitost Filip Hlásek Abstrakt. Příspěvek popisuje dva základní koncepty teoretické informatiky, Turingovy stroje a složitost. Kromě definic důležitých pojmů uvádí také několik souvisejících tvrzení,

Více

Pokročilá kryptologie

Pokročilá kryptologie Pokročilá kryptologie RSA doc. Ing. Róbert Lórencz, CSc. České vysoké učení technické v Praze Fakulta informačních technologií Katedra počítačových systémů Příprava studijních programů Informatika pro

Více

12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ

12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ 56 12 DYNAMIKA SOUSTAVY HMOTNÝCH BODŮ Těžiště I. impulsová věta - věta o pohybu těžiště II. impulsová věta Zákony zachování v izolované soustavě hmotných bodů Náhrada pohybu skutečných objektů pohybem

Více

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25

LDF MENDELU. Simona Fišnarová (MENDELU) Základy lineárního programování VMAT, IMT 1 / 25 Základy lineárního programování Vyšší matematika, Inženýrská matematika LDF MENDELU Podpořeno projektem Průřezová inovace studijních programů Lesnické a dřevařské fakulty MENDELU v Brně (LDF) s ohledem

Více

Téma 2 Principy kryptografie

Téma 2 Principy kryptografie XXV/1/Téma 2 1 Téma 2 Principy kryptografie Substitučně-permutační sítě a AES V on-line světě každý den odešleme i přijmeme celou řadu šifrovaných zpráv. Obvykle se tak děje bez toho, abychom si to jakkoli

Více

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice 9. Lineární diferenciální rovnice 2. řádu Cíle Diferenciální rovnice, v nichž hledaná funkce vystupuje ve druhé či vyšší derivaci, nazýváme diferenciálními rovnicemi druhého a vyššího řádu. Analogicky

Více

Čínská věta o zbytcích RSA

Čínská věta o zbytcích RSA Čínská věta o zbytcích RSA Matematické algoritmy (11MAG) Jan Přikryl Ústav aplikované matematiky ČVUT v Praze, Fakulta dopravní 5. přednáška 11MAG pondělí 10. listopadu 2014 verze: 2014-11-10 11:20 Obsah

Více

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ Michal Kořenář 1 Abstrakt Rozvoj výpočetní techniky v poslední době umožnil také rozvoj výpočetních metod, které nejsou založeny na bázi

Více

12. Lineární programování

12. Lineární programování . Lineární programování. Lineární programování Úloha lineárního programování (lineární optimalizace) je jedním ze základních problémů teorie optimalizace. Našim cílem je nalézt maximum (resp. minimum)

Více

Pravděpodobnost a statistika

Pravděpodobnost a statistika Pravděpodobnost a statistika 1 Náhodné pokusy a náhodné jevy Činnostem, jejichž výsledek není jednoznačně určen podmínkami, za kterých probíhají, a které jsou (alespoň teoreticky) neomezeně opakovatelné,

Více

Výukový materiál Hardware je zaměřený především na výuku principů práce hardwaru a dále uvádí konkrétní příklady použití.

Výukový materiál Hardware je zaměřený především na výuku principů práce hardwaru a dále uvádí konkrétní příklady použití. Metodický list hardware Výukový materiál Hardware je zaměřený především na výuku principů práce hardwaru a dále uvádí konkrétní příklady použití. Postupuje od výčtu základních prvků, bez kterých se PC

Více

KPB. Režimy činnosti symetrických šifer - dokončení. KPB 2015/16, 7. přednáška 1

KPB. Režimy činnosti symetrických šifer - dokončení. KPB 2015/16, 7. přednáška 1 KPB Režimy činnosti symetrických šifer - dokončení KPB 2015/16, 7. přednáška 1 Blokové šifry v proudovém režimu (CFB, OFB) KPB 2015/16, 7. přednáška 2 Cipher-Feedback Mode CFB U CFB se nemusí zpráva rozdělovat

Více

Kódy a kódování dat. Binární (dvojkové) kódy. Kód Aikenův

Kódy a kódování dat. Binární (dvojkové) kódy. Kód Aikenův Kódy a kódování dat Kódování je proces, při kterém se každému znaku nebo postupnosti znaků daného souboru znaků jednoznačně přiřadí znak nebo postupnost znaků z jiného souboru znaků. Kódování je tedy transformace

Více

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/ Digitální podpisy

Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/ Digitální podpisy VY_32_INOVACE_BEZP_08 Projekt: 1.5, Registrační číslo: CZ.1.07/1.5.00/34.0304 Digitální podpisy Základní myšlenkou elektronického podpisu je obdoba klasického podpisu, jež má zaručit jednoznačnou identifikaci

Více

9 Kolmost vektorových podprostorů

9 Kolmost vektorových podprostorů 9 Kolmost vektorových podprostorů Od kolmosti dvou vektorů nyní přejdeme ke kolmosti dvou vektorových podprostorů. Budeme se zabývat otázkou, kdy jsou dva vektorové podprostory na sebe kolmé a jak to poznáme.

Více

MFF UK Praha, 22. duben 2008

MFF UK Praha, 22. duben 2008 MFF UK Praha, 22. duben 2008 Elektronický podpis / CA / PKI část 1. http://crypto-world.info/mff/mff_01.pdf P.Vondruška Slide2 Přednáška pro ty, kteří chtějí vědět PROČ kliknout ANO/NE a co zatím všechno

Více

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice Vektorové podprostory K množina reálných nebo komplexních čísel, U vektorový prostor nad K. Lineární kombinace vektorů u 1, u 2,...,u

Více

klasická kryptologie základní pojmy požadavky na kryptosystém typologie šifer transpoziční šifry substituční šifry

klasická kryptologie základní pojmy požadavky na kryptosystém typologie šifer transpoziční šifry substituční šifry klasická kryptologie transpoziční šifry substituční šifry základní pojmy požadavky na kryptosystém pravidla bezpečnosti silný kryptosystém typologie šifer bloková x proudová s tajným klíčem x s veřejným

Více

[1] samoopravné kódy: terminologie, princip

[1] samoopravné kódy: terminologie, princip [1] Úvod do kódování samoopravné kódy: terminologie, princip blokové lineární kódy Hammingův kód Samoopravné kódy, k čemu to je [2] Data jsou uložena (nebo posílána do linky) kodérem podle určitého pravidla

Více

C5 Bezpečnost dat v PC

C5 Bezpečnost dat v PC C5 T1 Vybrané kapitoly počíta tačových s sítí Bezpečnost dat v PC 1. Počíta tačová bezpečnost 2. Symetrické šifrování 3. Asymetrické šifrování 4. Velikost klíče 5. Šifrování a dešifrov ifrování 6. Steganografie

Více

Vlastní číslo, vektor

Vlastní číslo, vektor [1] Vlastní číslo, vektor motivace: směr přímky, kterou lin. transformace nezmění invariantní podprostory charakteristický polynom báze, vzhledem ke které je matice transformace nejjednodušší podobnost

Více

Kryptografie a počítačová bezpečnost

Kryptografie a počítačová bezpečnost Kryptografie a počítačová bezpečnost Symetrické algoritmy (cont.) KPB 2017/18, 6. přednáška 1 Teoretické základy blokových algoritmů Koncept moderní kryptografie navrhli C. Shannon a H. Feistel. Claude

Více

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice I. Funkce dvou a více reálných proměnných 1. Úvod Značení: V textu budeme používat označení: N pro množinu všech přirozených čísel; R pro množinu všech reálných čísel; R n pro množinu všech uspořádaných

Více

[1] Motivace. p = {t u ; t R}, A(p) = {A(t u ); t R} = {t A( u ); t R}

[1] Motivace. p = {t u ; t R}, A(p) = {A(t u ); t R} = {t A( u ); t R} Vlastní číslo, vektor motivace: směr přímky, kterou lin. transformace nezmění invariantní podprostory charakteristický polynom báze, vzhledem ke které je matice transformace nejjednodušší podobnost s diagonální

Více

Vzdálenost jednoznačnosti a absolutně

Vzdálenost jednoznačnosti a absolutně Vzdálenost jednoznačnosti a absolutně bezpečné šifry Andrew Kozlík KA MFF UK Značení Pracujeme s šifrou (P, C, K, E, D), kde P je množina otevřených textů, C je množina šifrových textů, K je množina klíčů,

Více

Matematika kr sy. 5. kapitola. V hoda pr ce s grupami

Matematika kr sy. 5. kapitola. V hoda pr ce s grupami 5. kapitola Matematika kr sy V hoda pr ce s grupami Původním úkolem geometrie byl popis různých objektů a vztahů, pozorovaných v okolním světě. Zrakem vnímáme nejen struktury tvaru objektů, všímáme si

Více

Složitost a moderní kryptografie

Složitost a moderní kryptografie Složitost a moderní kryptografie Radek Pelánek Modulární systém dalšího vzdělávání pedagogických pracovníků JmK v přírodních vědách a informatice CZ.1.07/1.3.10/02.0024 Složitost a moderní kryptografie

Více

1. Matematická logika

1. Matematická logika MATEMATICKÝ JAZYK Jazyk slouží člověku k vyjádření soudů a myšlenek. Jeho psaná forma má tvar vět. Každá vědní disciplína si vytváří svůj specifický jazyk v úzké návaznosti na jazyk živý. I matematika

Více

Architektura počítačů

Architektura počítačů Architektura počítačů Studijní materiál pro předmět Architektury počítačů Ing. Petr Olivka katedra informatiky FEI VŠB-TU Ostrava email: petr.olivka@vsb.cz Ostrava, 2010 1 1 Architektura počítačů Pojem

Více

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem. Algoritmus Algoritmus je schematický postup pro řešení určitého druhu problémů, který je prováděn pomocí konečného množství přesně definovaných kroků. nebo Algoritmus lze definovat jako jednoznačně určenou

Více

základní informace o kurzu základní pojmy literatura ukončení, požadavky, podmiňující předměty,

základní informace o kurzu základní pojmy literatura ukončení, požadavky, podmiňující předměty, základní informace o kurzu ukončení, požadavky, podmiňující předměty, základní pojmy kód x šifra kryptologie x steganografie kryptografie x kryptoanalyza literatura klasická x moderní kryptologie základní,

Více

DSY-6. Přenosový kanál kódy pro zabezpečení dat Základy šifrování, autentizace Digitální podpis Základy měření kvality přenosu signálu

DSY-6. Přenosový kanál kódy pro zabezpečení dat Základy šifrování, autentizace Digitální podpis Základy měření kvality přenosu signálu DSY-6 Přenosový kanál kódy pro zabezpečení dat Základy šifrování, autentizace Digitální podpis Základy měření kvality přenosu signálu Kódové zabezpečení přenosu dat Popis přiřazení kódových slov jednotlivým

Více

Bezpečnostní mechanismy

Bezpečnostní mechanismy Hardwarové prostředky kontroly přístupu osob Bezpečnostní mechanismy Identifikační karty informace umožňující identifikaci uživatele PIN Personal Identification Number úroveň oprávnění informace o povolených

Více

vnější profesionál vnitřní profesionál organizace opakuje podsouvá

vnější profesionál vnitřní profesionál organizace opakuje podsouvá Útoky proti metodám kryptografické ochrany Co je cílem útoku: utajení autenticita integrita vzájemnost Kdo je potenciální útočník: laik venkovní laik domácí hacker Jak se útočník chová: zachycuje pozměňuje

Více