Nalézání kolizí MD5 na notebooku pomocí mnohonásobných modifikací zprávy
|
|
- Ondřej Neduchal
- před 8 lety
- Počet zobrazení:
Transkript
1 Nalézání kolizí MD5 na notebooku pomocí mnohonásobných modifikací zprávy Vlastimil Klíma 1,2 Prague, Czech Republic března 2005 verze 1 Abstrakt V tomto stručném příspěvku shrnujeme výsledky našeho tříměsíčního výzkumu kolizí hašovací funkce MD5. Inspirováni prací Wangové a kol. [1] jsme vyvinuli metody nalézání kolizí, které pracují pro libovolný inicializační vektor a jsou rychlejší než metody v [1, 8]. To umožňuje nalézt kolizi MD5 na standardním notebooku asi za 8 hodin [7]. Nezávisle na [1, 8] jsme objevili a navrhli několik metod mnohonásobné modifikace zpráv, které jsou efektivnější než v [1, 8], a ukazujeme jejich podstatu. Klíčová slova: MD5, kolize, mnohonásobná modifikace zprávy 1. Úvod Jednou z nejvýznamnějších kryptologických událostí posledních let bylo objevení kolizí pro sérii hašovacích funkcí MD4, MD5, HAVAL-128 a RIPEMD čínským týmem v srpnu 2004 [1]. Jejich autoři (Wangová a kol.) však utajili metodu nalézání kolizí a zveřejnili pouze strohá data a informace. V říjnu 2004 se australský tým (Hawkes a kol.) pokusil tuto metodu zrekonstruovat ve skvělé práci [3]. Nejdůležitější "čínský trik" se nepodařilo objevit, ale na základě dat z [1] bylo dobře popsáno diferenční schéma, kterému uveřejněné čínské kolize vyhovují. Naplnění podmínek tohoto schématu bylo však ještě příliš náročné a výpočetně složitější, než ukazovaly výsledky z [1]. 2. Výsledky našeho výzkumu [7] V našem výzkumu [7] jsme také analyzovali dostupná data diferenční kryptoanalýzou. Nalezli jsme cestu, jak generovat kolize prvního bloku krát rychleji než čínský tým, což odpovídá nalezení jedné kolize prvního bloku na běžném notebooku za 2 minuty. Čínskému týmu tato fáze trvá jednu hodinu na počítači IBM p690. Naproti tomu byl čínský tým 2-80 krát rychlejší při vyhledávání kolizí druhého bloku. Obě metody se proto mohou lišit nejen časově, ale i obsahově. Celkově je naše metoda 3-6 krát rychlejší. Konkrétně nalezení první (úplné) kolize nám na notebooku (Intel Pentium 1.6 GHz) trvalo pouze 8 hodin. 1 Tento výzkum byl dělán o vánoční dovolené a v lednu - březnu Autor v této době pracoval pro firmu LEC, s.r.o., Praha, Česká republika, která tento projekt materiálně i finančně podpořila. 2 Tento příspěvek bude prezentován na: 3rd International Scientific Conference Security and Protection of Information, Brno, Czech Republic, May 3-5, 2005,
2 Poznamenejme, že naše metoda pracuje pro jakoukoli zvolenou inicializační hodnotu. To je velmi zneužitelné pro falšování podpisů SW balíků nebo padělání certifikátů, jak ukazují některé současné práce ([4], [5], [6]). Ukázali jsme, že vyhledávání kolizí hašovací funkce MD5 je možné provádět na domácím počítači. To by mělo být varováním před dalším používáním této hašovací funkce. V příloze uvádíme nové příklady kolizí MD5 pro standardní a zvolenou inicializační hodnotu. 3. Výsledky Wangové a kol. [1] Hašovací funkce jsou velmi užitečným kryptografickým nástrojem. Pro zajištění jejich vlastností jednocestnosti a bezkoliznosti musí být hašovací funkce velmi robustní a složité. Proto je vždy velmi vzrušující, když je nalezena nějaká kolize. Jednou z nejvýznamnějších kryptoanalytických prací v minulém roce byla práce čínského týmu [1]. Nejsložitější útok si vyžádala hašovací funkce MD5, proto se budeme dále věnovat jen této funkci. Připomeňme, že Wangová a kol. [1] nezveřejnily postup hledání kolizí, jen strohé údaje, které zde zopakujeme. Kolidující zprávy (M, N) a (M, N ) se skládají ze dvou bloků, přičemž první bloky zpráv se liší o předem definovaný konstantní vektor C1 (M = M + C1) a druhé bloky se liší o předem definovaný konstantní vektor C2 = - C1 mod 2 32 (N = N + C2), přičemž MD5(M, N) = MD5(M, N ). Wangová a kol. uvedli, že na počítači IBM p690 jim trvá zhruba hodinu než naleznou blok M. Nalezení bloku N pak trvá od 15 sekund do 5 minut. V první verzi [1] uvedli dva páry kolidujících zpráv. Jimi zvolená hodnota inicializačního vektoru (IV) však neodpovídala popisu MD5, neboť měla obrácené pořadí bajtů (Little vs. Big Endian). V opravené verzi příspěvku den poté uvedli opět dvě dvojice kolidujících zpráv pro MD5, tentokrát se správnou IV. Navíc poznamenali, že jejich útok pracuje pro jakoukoli hodnotu IV Zneužitelnost kolizí Po uveřejnění jejich výsledků jsme měli k dispozici pouze čtyři páry kolidujících zpráv. Přesto bylo ukázáno, že dokonce i pouze tato data lze využít ke konstrukci úspěšných útoků [4], [5]. V [4] je ukázáno, že postačí jediná kolize k vytvoření páru různých samorozbalovacích archivů s identickou haší. To může být zneužitelné například při vkládání zadních vrátek do velkých balíků SW při jejich distribuci. Později bylo za účasti jednoho z autorů [1] ukázáno jak s využitím schopnosti vytvářet kolize pro libovolný inicializační vektor padělat digitální certifikát [6]. 4. Pokus odhalit čínský trik V říjnu 2004 byla publikována skvělá práce [3] Hawkese a kol., kde se její autoři snaží odhalit "čínskou metodu" hledání kolizí na základě strohých dat a informací, uvedených v [1]. V práci vyšetřují vnitřní diference a podmínky pro zprávy, které by měly být splněny, aby došlo ke kolizi čínským postupem [1]. Byla to první analýza a pokus vysvětlit čínskou metodu. Na základě jednoho páru kolidujících zpráv se správnou inicializační hodnotou IV autoři popsali diferenční schéma, které publikovaná kolize splňuje, a které pravděpodobně bylo v pozadí kolize. Nepodařilo se však vysvětlit, jak toto schéma vzniklo. Dále popsali podmínky, které musí splňovat jedna zpráva z kolidujícího páru tak, aby diferenční schéma bylo splněno. Obdrželi dlouhý seznam podmínek, které musí zpráva splňovat. První sada (tzv. ft-podmínky a Tt-podmínky) vzniká u prvního bloku zprávy při průchodu 64 kroky MD5. Pokud se splní ft-podmínky a Tt-podmínky v prvních 16 krocích ( přes 200 podmínek) vhodnou volbou bloku M, zbývá ještě naplnit 39 ft-podmínek a "3.2" Tt-podmínek ve zbývajících krocích, které jsou splněny pouze pravděpodobnostně. Celkem je tak potřeba generovat cca zpráv M, aby jedna z nich splňovala všechny ft-podmínky a všechny Ttpodmínky z rund Podobně pro splnění ft- a Tt-podmínek druhého bloku zprávy N je - 2 -
3 nutné podle [3] generovat zpráv. Složitost celého útoku je pak Hawkes a kol. se domnívají, že toto je příliš velká složitost, aby se kolize dala vygenerovat za jednu hodinu. Proto dovozují, že Wangová a kol. museli použít ještě nějaký další trik. Tento trik je pochopitelně klíčový. 5. Naše metoda V našem výzkumu [7] jsme vyšli z výsledků [3] a diferenční schéma jsme také zkoumali z hlediska diferencí aditivních (aritmetický rozdíl modulo 2 32 ) i diferencí binárních (XOR, mod 2), stejně jako [3]. Navíc jsme zkoumání podrobili i další kolidující pár, který byl v [1] vytvořen pro špatnou inicializační hodnotu. Potvrdili jsme, že diferenční schéma platí pro oba kolidující páry, neboť více dat nebylo k dispozici. V našem výzkumu se ukázalo, že některé ft- a Tt- podmínky mohou být splněny více cestami, než zvolil Hawkes a kol. To by mohlo teoreticky vést ke snížení výpočetní složitosti. Narostla by však složitost paměťová a složitost příslušného programu na generování kolizí, a tak jsme touto cestou nešli. Nicméně analýza fta Tt-podmínek naznačila, že skutečná složitost nalezení kolize by mohla být ve skutečnosti menší, než v teoretickém modelu. V dalším výzkumu jsme pak (nezávisle na [8], publikované později) nalezli vlastní metodu mnohonásobné modifikace zpráv, umožňující generovat první bloky kolidujících zpráv velmi rychle. Na standardním notebooku jsme obdrželi první blok zprávy během dvou minut, oproti jedné hodině na počítači IBM p690 [1]. Vzhledem ke krátkosti výzkumu jsme nepokročili v urychlení hledání kolizí v druhém bloku tak jako u prvního bloku, i když jsme dosáhli složitosti významně nižší než 2 42 podle [3] a nižší než 2 32 podle [8]. O tom svědčí i nalezení první kolize na notebooku za 8 hodin. Podle [1] by však hledání kolizí druhého bloku mělo být krát rychlejší než u prvního bloku. Pak by kolize byla na notebooku místo za 8 hodin nalezena během dvou minut. V hledání kolizí druhého bloku tak ještě zůstávají časové rezervy Výsledky našich experimentů K nalezení kolizí jsme nepoužili žádný superpočítač, pouze běžné domácí počítače. Autor prováděl své experimenty výhradně na notebooku, kde nalezl jak desetitisíce kolizí prvního bloku, tak i úplné kolize MD5 pro platnou inicializační hodnotu i volené inicializační hodnoty. Pro ověření funkčnosti programu jsme také požádali několik přátel o vyzkoušení na jejich domácích počítačích. Za týden experimentování na počátku března tak byly nalezeny desetitisíce kolizí prvních bloků a desítky úplných kolizí. Výsledek na běžném notebooku (Acer TravelMate 450LMi, Intel Pentium 1.6 GHz) je tento: během 8 hodin bylo nalezeno 331 kolizí prvního bloku a 1 úplná kolize MD5. Vzhledem k tomu, že nalezení 1 kolize prvního bloku trvalo čínskému týmu 1 hodinu na počítači IBM p690, nalezení 331 těchto kolizí by trvalo cca 331 hodin, což je 40 krát více. Výkony notebooku a velkého počítače lze těžko srovnávat z důvodu různých architektur, ale když uvažujeme, že uvedený počítač je krát rychlejší než notebook (odhad poskytl Ondrej Mikle na základě poměru bogomips), dostáváme velmi hrubý odhad, že naše metoda hledání kolize prvního bloku je krát rychlejší než v [1]. Naproti tomu hledání kolize druhého bloku je 2-80 krát pomalejší. Pokud srovnáme celkový čas hledání úplné kolize u čínského týmu (1.0 až 1.08 hodiny) s naším (8 hodin) na krát pomalejším stroji, je naše metoda celkově 3-6 krát rychlejší. Všechna tato srovnání jsou orientační a autor si nečiní žádný nárok na jejich přesnost (přesné jsou pouze časové údaje) Podstata čínského triku Výsledky našeho výzkumu [7] byly publikovány před umístěním příspěvků [8] a [9] na web. V [8] byla popsána metoda hledání kolizí MD5, ale bez detailů, umožňujících ji - 3 -
4 naprogramovat a zrekonstruovat. Klíčové myšlenky uvedené v [8] si zde zopakujeme a vysvětlíme rozdíly naší a čínské metody Výběr diference mezi bloky Základem [8] bylo rozhodnutí hledat kolize u zpráv se dvěma bloky a výběr diference mezi určitými slovy těchto bloků. Podle [8] byla diference vybírána tak, aby se co nejvíce zvýšila pravděpodobnost naplnění diferenciálu v rundách 3 a 4 schématu MD5. Pravděpodobně existuje více těchto základních diferencí, vedoucích k efektivním diferenčním schématům Proměnné Q (Q * ), stacionární podmínky a diferenční schéma Označme první bloky kolidujících zpráv M a M * a jim odpovídající proměnné Q podle [3] jako Q a Q *. Q[1] (resp. Q * [1] ) tak označují první hodnotu, která je počítána v prvním kroku zpracování bloku M (resp. M*). Q[64] (resp. Q * [64]) je poslední hodnota, počítaná při zpracování bloku M (resp. M * ). Dále označme x[i], i = 0,..., 15 jednotlivá slova bloku M. Podle [3] máme následující vztahy mezi Q a x. Na konci rovnic pro Q[17-20] uvádíme počet podmínek pro dané Q (v prvním bloku), které mají být splněny podle diferenčního schématu z [3]. RL, resp. RR, označuje cyklickou rotaci doleva (resp. doprava). Q[ 1]=Q[0 ]+RL(F(Q[0 ],Q[-1],Q[-2])+Q[-3]+x[0 ]+0xd76aa478, 7); Q[ 2]=Q[1 ]+RL(F(Q[1 ],Q[0 ],Q[-1])+Q[-2]+x[1 ]+0xe8c7b756,12); Q[ 3]=Q[2 ]+RL(F(Q[2 ],Q[1 ],Q[0 ])+Q[-1]+x[2 ]+0x242070db,17); Q[ 4]=Q[3 ]+RL(F(Q[3 ],Q[2 ],Q[1 ])+Q[0 ]+x[3 ]+0xc1bdceee,22); Q[ 5]=Q[4 ]+RL(F(Q[4 ],Q[3 ],Q[2 ])+Q[1 ]+x[4 ]+0xf57c0faf, 7); Q[ 6]=Q[5 ]+RL(F(Q[5 ],Q[4 ],Q[3 ])+Q[2 ]+x[5 ]+0x4787c62a,12); Q[ 7]=Q[6 ]+RL(F(Q[6 ],Q[5 ],Q[4 ])+Q[3 ]+x[6 ]+0xa ,17); Q[ 8]=Q[7 ]+RL(F(Q[7 ],Q[6 ],Q[5 ])+Q[4 ]+x[7 ]+0xfd469501,22); Q[ 9]=Q[8 ]+RL(F(Q[8 ],Q[7 ],Q[6 ])+Q[5 ]+x[8 ]+0x698098d8, 7); Q[10]=Q[9 ]+RL(F(Q[9 ],Q[8 ],Q[7 ])+Q[6 ]+x[9 ]+0x8b44f7af,12); Q[11]=Q[10]+RL(F(Q[10],Q[9 ],Q[8 ])+Q[7 ]+x[10]+0xffff5bb1,17); Q[12]=Q[11]+RL(F(Q[11],Q[10],Q[9 ])+Q[8 ]+x[11]+0x895cd7be,22); Q[13]=Q[12]+RL(F(Q[12],Q[11],Q[10])+Q[9 ]+x[12]+0x6b901122, 7); Q[14]=Q[13]+RL(F(Q[13],Q[12],Q[11])+Q[10]+x[13]+0xfd987193,12); Q[15]=Q[14]+RL(F(Q[14],Q[13],Q[12])+Q[11]+x[14]+0xa679438e,17); Q[16]=Q[15]+RL(F(Q[15],Q[14],Q[13])+Q[12]+x[15]+0x49b40821,22); Q[17]=Q[16]+RL(G(Q[16],Q[15],Q[14])+Q[13]+x[1 ]+0xf61e2562, 5); 4 podm. Q[18]=Q[17]+RL(G(Q[17],Q[16],Q[15])+Q[14]+x[6 ]+0xc040b340, 9); 3 podm. Q[19]=Q[18]+RL(G(Q[18],Q[17],Q[16])+Q[15]+x[11]+0x265e5a51,14); 2 podm. Q[20]=Q[19]+RL(G(Q[19],Q[18],Q[17])+Q[16]+x[0 ]+0xe9b6c7aa,20); 1 podm. Uvažujme nejprve diferenční schéma v prvním bloku. Obě dvě práce [3] a [8] uvádí podobné diferenční schéma, z něhož plyne mnoho podmínek na bity proměnných Q[1] až Q[64] a čtyři mezihodnoty součtů (mezi prvním a druhým blokem). Některé bity slov Q jsou nastaveny přímo na nulu nebo jedničku, mezi některými musí platit vztahy rovnosti nebo negace. Tyto podmínky označujeme jako stacionární. Jsou v [3] i [8] voleny tak, aby byly postačující pro splnění diferenčního schématu v krocích Diferenční schéma pak budou splňovat všechny zprávy M a M *, kde M splňuje stacionární podmínky a M * se od M liší definovaným způsobem v x[1] (o 2 31 ), x[4] (o 2 15 ) a x[11] (o 2 31 ). Poznamenejme, že je více cest, jak naplnit diferenční schéma, takže (mírně se odlišující) schémata z [3] a [8] jsou pouze dva příklady možných řešení. Schémat je velké množství Naplnění stacionárních podmínek pro co nejvíce - 4 -
5 kroků Náš postup je obecný a nezávislý na konkrétním vybraném schématu. V naší metodě volíme proměnné Q[1-16] libovolně tak, aby splňovaly stacionární podmínky. Odtud vypočítáme x[0-15] a zkontrolujeme, zda jsou splněny i ostatní stacionární podmínky pro Q[17-64] (je jich 36 a 7 podmínek na čtyři součty hodnot mezi prvním a druhým blokem). Tyto podmínky jsou splněny pouze pravděpodobnostně a podle [8] je složitost takového postupu Cílem je proto nalézt takové hodnoty x[0-15], aby bylo splněno Q[1-16] a co nejvíce podmínek pro Q[17], Q[18],... deterministicky. V [8] se uvádí, že metodou mnohonásobné modifikace zprávy lze v prvním bloku docílit naplnění 6 podmínek v krocích Q[17], Q[18],... Složitost nalezení kolize v prvním bloku se tak snižuje z 2 43 na Naše metoda [7] vyvinutá nezávisle na ([8]), snižuje složitost na 2-33, neboť deterministicky splňuje 10 podmínek v krocích Q[17] až Q[20] Naše metoda mnohonásobné modifikace zprávy v prvním bloku V naší metodě mnohonásobné modifikace zprávy [7] splňujeme podmínky Q[1-20] deterministicky. Zbývajících 31 podmínek je splněno pravděpodobnostně. Postup: 1. Zvolíme Q[3-16] splňující stacionární podmínky 2. Vypočítáme x[6-15]: x[ 6]=RR(Q[7 ]-Q[6 ],17)-F(Q[6 ],Q[5 ],Q[4 ])-Q[3 ]-0xa ; x[ 7]=RR(Q[8 ]-Q[7 ],22)-F(Q[7 ],Q[6 ],Q[5 ])-Q[4 ]-0xfd469501; x[ 8]=RR(Q[9 ]-Q[8 ], 7)-F(Q[8 ],Q[7 ],Q[6 ])-Q[5 ]-0x698098d8; x[ 9]=RR(Q[10]-Q[9 ],12)-F(Q[9 ],Q[8 ],Q[7 ])-Q[6 ]-0x8b44f7af; x[10]=rr(q[11]-q[10],17)-f(q[10],q[9 ],Q[8 ])-Q[7 ]-0xffff5bb1; x[11]=rr(q[12]-q[11],22)-f(q[11],q[10],q[9 ])-Q[8 ]-0x895cd7be; x[12]=rr(q[13]-q[12], 7)-F(Q[12],Q[11],Q[10])-Q[9 ]-0x6b901122; x[13]=rr(q[14]-q[13],12)-f(q[13],q[12],q[11])-q[10]-0xfd987193; x[14]=rr(q[15]-q[14],17)-f(q[14],q[13],q[12])-q[11]-0xa679438e; x[15]=rr(q[16]-q[15],22)-f(q[15],q[14],q[13])-q[12]-0x49b40821; 3. Měníme Q[17] do té doby, dokud nejsou splněny podmínky Q[17-19]. V případě nutnosti lze měnit i hodnoty Q[3-16]. Q[18] a [19] vypočteme podle vztahů Q[18]=Q[17]+RL(G(Q[17],Q[16],Q[15])+Q[14]+x[6 ]+0xc040b340, 9) Q[19]=Q[18]+RL(G(Q[18],Q[17],Q[16])+Q[15]+x[11]+0x265e5a51,14). Potom vypočteme x[1 ]=RR(Q[17]-Q[16], 5)-G(Q[16],Q[15],Q[14])-Q[13]-0xf61e2562; a x[2]=rr(q[3]-q[2],17)-f(q[2],q[1],q[0])-q[-1]-0x242070db; x[3]=rr(q[4]-q[3],22)-f(q[3],q[2],q[1])-q[0]-0xc1bdceee; x[4]=rr(q[5]-q[4], 7)-F(Q[4],Q[3],Q[2])-Q[1]-0xf57c0faf; x[5]=rr(q[6]-q[5],12)-f(q[5],q[4],q[3])-q[2]-0x4787c62a; 4. Nyní jsou splněny všechny stacionární podmínky pro Q[3-19]. Navíc je volná hodnota x[0]. 5. Volíme libovolně Q[20], splňující jednu stacionární podmínku. Dopočteme x[0]: x[0]=rr(q[20]-q[19],20)-g(q[19],q[18],q[17])-q[16]-0xe9b6c7aa; 6. Zbývajících 33 podmínek je splněno pravděpodobnostně. Máme 2 31 možností volby Q[20]. Pokud nenalezneme kolizi, vrátíme se k bodu nové volby Q[17]. Se složitostí 2 33 nalezneme kolizi prvního bloku. Poznámka. Pokud bychom popisovali metodu jako v [8], bylo by to méně přehledné. Šlo by v první řadě o mnohonásobnou změnu bloků x[1], x[6] a x[11] tak, aby byly splněny - 5 -
6 stacionární podmínky Q[17], Q[18] a Q[19]. Dalším krokem by byla změna bloku x[0] tak, aby byla splněna podmínka pro Q[20] Naše metoda mnohonásobné modifikace zprávy v druhém bloku Nyní uvedeme metodu, která není optimální, ale která byla použita v [7]. Poté uvedeme metody mnohonásobné modifikace zprávy, které jsou rychlejší, ale které nebyly experimentálně ověřeny. Naše metoda mnohonásobné modifikace zprávy [7] spočívá v deterministickém splnění podmínek Q[1-18]. Zbývajících 29 podmínek je splněno pravděpodobnostně. Postup: 1. Zvolíme libovolně Q[3-16], splňující stacionární podmínky 2. Změníme libovolně bit č. 22 (váha 2 22 ) proměnných Q[4-16] 3. Zvolíme libovolně hodnotu Q[1] splňující stacionární podmínky (je zde minimálně 2 24 možných hodnot Q[1]) 4. Vypočteme x[0], x[7-15] x[0]=rr(q[1]-q[0],7)-f(q[0],q[-1],q[-2])-q[-3]-0xd76aa478; x[7]=rr(q[8]-q[7],22)-f(q[7],q[6],q[5])-q[4]-0xfd469501; x[8]=rr(q[9]-q[8],7)-f(q[8],q[7],q[6])-q[5]-0x698098d8; x[9]=rr(q[10]-q[9],12)-f(q[9],q[8],q[7])-q[6]-0x8b44f7af; x[10]=rr(q[11]-q[10],17)-f(q[10],q[9],q[8])-q[7]-0xffff5bb1; x[11]=rr(q[12]-q[11],22)-f(q[11],q[10],q[9])-q[8]-0x895cd7be; x[12]=rr(q[13]-q[12],7)-f(q[12],q[11],q[10])-q[9]-0x6b901122; x[13]=rr(q[14]-q[13],12)-f(q[13],q[12],q[11])-q[10]-0xfd987193; x[14]=rr(q[15]-q[14],17)-f(q[14],q[13],q[12])-q[11]-0xa679438e; x[15]=rr(q[16]-q[15],22)-f(q[15],q[14],q[13])-q[12]-0x49b40821; 5. Zvolíme libovolně hodnotu Q[2], splňující stacionární podmínky (je zde minimálně 2 12 možných hodnot) 6. Vypočteme x[1] z Q[1-2] a zkontrolujeme, zda jsou splněny stacionární podmínky pro Q[17]: x[1]=rr(q[2]-q[1],12)-f(q[1],q[0],q[-1])-q[-2]-0xe8c7b756, Q[17]=Q[16]+RL(G(Q[16],Q[15],Q[14])+Q[13]+x[1]+0xf61e2562, 5). Jestliže nikoli, jdeme na bod 5 a zvolíme nové Q[2] (je-li to nezbytné, jdeme na bod 3 a volíme i nové Q[1]). 7. Nastavíme dolní bity Q[3] jako u Q[2] podle stacionárních podmínek 8. Z Q[3-7] vypočteme x[2-6] : x[2]=rr(q[3]-q[2],17)-f(q[2],q[1],q[0])-q[-1]-0x242070db; x[3]=rr(q[4]-q[3],22)-f(q[3],q[2],q[1])-q[0]-0xc1bdceee; x[4]=rr(q[5]-q[4],7)-f(q[4],q[3],q[2])-q[1]-0xf57c0faf; x[5]=rr(q[6]-q[5],12)-f(q[5],q[4],q[3])-q[2]-0x4787c62a; x[6]=rr(q[7]-q[6],17)-f(q[6],q[5],q[4])-q[3]-0xa ; Zkontrolujeme, zda jsou splněny stacionární podmínky pro Q[18], jinak se vracíme o tři kroky zpět na novou volbu Q[2] v kroku 5 (resp. Q[1] v kroku 3). Podle terminologie [8] zde použijeme mnohonásobnou modifikaci x[2-6]. 9. V tomto okamžiku jsou deterministicky splněny stacionární podmínky pro Q[1-18]. 10. Zbývajících 29 podmínek podle [8] (resp. 27 podmínek podle [3]) je splněno pravděpodobnostně. Pokud nenalezneme kolizi, máme více než 2 29 možností volby Q[1-2], eventuelně další možnosti volby 22. bitu Q[3-16]. Se složitostí 2 29 (2 27 ) nalezneme kolizi druhého bloku. Složitost nalezení kolize 2. bloku v [8] je uváděna jako
7 5.8. Další mnohonásobné modifikace zpráv v druhém bloku Deterministické splnění podmínek Q[1-19] Navrhujeme další postup, spočívající v deterministickém splnění podmínek Q[1] až Q[19]. 1. Zvolíme libovolně Q[1-16], splňující stacionární podmínky 2. Vypočteme x[0-15] 3. Dokud není splněno Q[17] měníme Q[2] (vypočteme x[1-5] a zjistíme, zda nové x[1] splňuje Q[17]) 4. Dokud není splněno Q[18], měníme Q[7] (vypočteme x[6-10] a zjistíme, zda nové x[6] splňuje Q[18]) 5. Dokud není splněno Q[19], měníme Q[12] (vypočteme x[11-15] a zjistíme, zda nové x[11] splňuje Q[19]) Nyní jsou podmínky Q[1-19] splněny deterministicky. Zbývajících 27 podmínek podle [8] (resp. 25 podmínek podle [3]) je splněno pravděpodobnostně. Pokud nenalezneme kolizi, máme více než 2 27 možností volby Q[1-16]. Se složitostí 2 27 nalezneme kolizi druhého bloku. To je další snížení složitosti. Tento postup nebyl experimentálně ověřen Deterministické splnění podmínek Q[1-21] Další postup spočívá v deterministickém splnění podmínek Q[1-21]. 1. Zvolíme libovolně Q[2-16], splňující stacionární podmínky. 2. Vypočteme x[5-15]. 3. Měníme Q[1] dokud není splněno Q[17-21] (z Q[1] vypočteme nové x[0-4]). 4. Nyní měníme Q[8-12] tak, aby splňovaly stacionární podmínky a neměnily hodnotu x[11]. Protože se nemění hodnoty x[1, 6, 11, 0, 5], podmínky Q[17-21] zůstávají splněny. Vypočteme x[7-15]. Zbývajících 24 stacionárních podmínek je splněno pravděpodobnostně. Máme více než 2 24 možností volby Q[8-12]. Se složitostí 2 24 nalezneme kolizi druhého bloku. To je další snížení složitosti. Tento postup nebyl experimentálně ověřen. 6. Závěr Nezávisle na popisu metody Wangové a kol. [1, 8] jsme navrhli nové metody hledání kolizí MD5. Naše metody jsou rychlejší. Dosáhli jsme složitosti 2 33 vs v prvním bloku a 2 29 (nebo dokonce 2 24 ) vs v druhém bloku.to umožňuje nalézat kolize i na notebooku během několika hodin. Metody pracují pro jakoukoli zvolenou inicializační hodnotu. Poděkování Rád bych poděkoval svým přátelům za jejich pomoc. Milanu Nosálovi (LEC, s.r.o.) za jeho pomoc při ladění programu, Tomáši Rosovi a Ondřeji Pokornému a Milanu Nosálovi za provádění experimentů na jejich domácích počítačích, Tomáši Jabůrkovi za technickou pomoc s experimenty a Ondreji Mikle a Tomáši Rosovi za pomoc při překladu příspěvku, a všem za cenné připomínky. Poznámka V posledním experimentu, který dělal Ondřej Pokorný na svém domácím PC (Intel Pentium, 1 GHz), obdržel za 58 hodin a 32 minut 14 kolizí. To dává ještě optimističtější čas pro nalezení kolize (1 kolize za 4 hodiny a 11 minut) než na autorově notebooku. Domácí stránka projektu
8 7. Příloha: Příklady 7.1. Příklad: Kolize MD5 se standardní inicializační hodnotou IV IV podle [2]: context->state[0] = 0x ; context->state[1] = 0xefcdab89; context->state[2] = 0x98badcfe; context->state[3] = 0x ; První zpráva: 0xA6,0x64,0xEA,0xB8,0x89,0x04,0xC2,0xAC, 0x48,0x43,0x41,0x0E,0x0A,0x63,0x42,0x54, 0x16,0x60,0x6C,0x81,0x44,0x2D,0xD6,0x8D, 0x40,0x04,0x58,0x3E,0xB8,0xFB,0x7F,0x89, 0x55,0xAD,0x34,0x06,0x09,0xF4,0xB3,0x02, 0x83,0xE4,0x88,0x83,0x25,0x71,0x41,0x5A, 0x08,0x51,0x25,0xE8,0xF7,0xCD,0xC9,0x9F, 0xD9,0x1D,0xBD,0xF2,0x80,0x37,0x3C,0x5B, 0x97,0x9E,0xBD,0xB4,0x0E,0x2A,0x6E,0x17, 0xA6,0x23,0x57,0x24,0xD1,0xDF,0x41,0xB4, 0x46,0x73,0xF9,0x96,0xF1,0x62,0x4A,0xDD, 0x10,0x29,0x31,0x67,0xD0,0x09,0xB1,0x8F, 0x75,0xA7,0x7F,0x79,0x30,0xD9,0x5C,0xEB, 0x02,0xE8,0xAD,0xBA,0x7A,0xC8,0x55,0x5C, 0xED,0x74,0xCA,0xDD,0x5F,0xC9,0x93,0x6D, 0xB1,0x9B,0x4A,0xD8,0x35,0xCC,0x67,0xE3. Druhá zpráva: 0xA6,0x64,0xEA,0xB8,0x89,0x04,0xC2,0xAC, 0x48,0x43,0x41,0x0E,0x0A,0x63,0x42,0x54, 0x16,0x60,0x6C,0x01,0x44,0x2D,0xD6,0x8D, 0x40,0x04,0x58,0x3E,0xB8,0xFB,0x7F,0x89, 0x55,0xAD,0x34,0x06,0x09,0xF4,0xB3,0x02, 0x83,0xE4,0x88,0x83,0x25,0xF1,0x41,0x5A, 0x08,0x51,0x25,0xE8,0xF7,0xCD,0xC9,0x9F, 0xD9,0x1D,0xBD,0x72,0x80,0x37,0x3C,0x5B, 0x97,0x9E,0xBD,0xB4,0x0E,0x2A,0x6E,0x17, 0xA6,0x23,0x57,0x24,0xD1,0xDF,0x41,0xB4, 0x46,0x73,0xF9,0x16,0xF1,0x62,0x4A,0xDD, 0x10,0x29,0x31,0x67,0xD0,0x09,0xB1,0x8F, 0x75,0xA7,0x7F,0x79,0x30,0xD9,0x5C,0xEB, 0x02,0xE8,0xAD,0xBA,0x7A,0x48,0x55,0x5C, 0xED,0x74,0xCA,0xDD,0x5F,0xC9,0x93,0x6D, 0xB1,0x9B,0x4A,0x58,0x35,0xCC,0x67,0xE3. Společná haš: - 8 -
9 0x2B,0xA3,0xBE,0x5A,0xA5,0x41,0x00,0x6B, 0x62,0x37,0x01,0x11,0x28,0x2D,0x19,0xF Příklad: Kolize MD5 se zvolenou inicializační hodnotou IV context->state[0] = 0xabaaaaaa; context->state[1] = 0xaaacaaaa; context->state[2] = 0xaaaadaaa; context->state[3] = 0xaaaaaaea; První zpráva: 0x9E,0x83,0x2A,0x4C,0x95,0x64,0x5E,0x2B, 0x2E,0x1B,0xB0,0x70,0x47,0x1E,0xBA,0x13, 0x7F,0x1A,0x53,0x43,0x22,0x34,0x25,0xC1, 0x40,0x04,0x58,0x3E,0xB8,0xFB,0x7F,0x89, 0x55,0xAD,0x34,0x06,0x09,0xF4,0xB3,0x02, 0x83,0xE4,0x88,0x83,0x25,0x71,0x41,0x5A, 0x08,0x51,0x25,0xE8,0xF7,0xCD,0xC9,0x9F, 0xD9,0x1D,0xBD,0xF2,0x80,0x37,0x3C,0x5B, 0x89,0x62,0x33,0xEC,0x5B,0x0C,0x8D,0x77, 0x19,0xDE,0x93,0xFA,0xA1,0x44,0xA8,0xCC, 0x56,0x91,0x9E,0x47,0x00,0x0C,0x00,0x4D, 0x40,0x29,0xF1,0x66,0xD1,0x09,0xB1,0x8F, 0x75,0x27,0x7F,0x79,0x30,0xD5,0x5C,0xEB, 0x42,0xE8,0xAD,0xBA,0x78,0xCC,0x55,0x5C, 0xED,0xF4,0xCA,0xDD,0x5F,0xC5,0x93,0x6D, 0xD1,0x9B,0x0A,0xD8,0x35,0xCC,0xE7,0xE3. Druhá zpráva: 0x9E,0x83,0x2A,0x4C,0x95,0x64,0x5E,0x2B, 0x2E,0x1B,0xB0,0x70,0x47,0x1E,0xBA,0x13, 0x7F,0x1A,0x53,0xC3,0x22,0x34,0x25,0xC1, 0x40,0x04,0x58,0x3E,0xB8,0xFB,0x7F,0x89, 0x55,0xAD,0x34,0x06,0x09,0xF4,0xB3,0x02, 0x83,0xE4,0x88,0x83,0x25,0xF1,0x41,0x5A, 0x08,0x51,0x25,0xE8,0xF7,0xCD,0xC9,0x9F, 0xD9,0x1D,0xBD,0x72,0x80,0x37,0x3C,0x5B, 0x89,0x62,0x33,0xEC,0x5B,0x0C,0x8D,0x77, 0x19,0xDE,0x93,0xFA,0xA1,0x44,0xA8,0xCC, 0x56,0x91,0x9E,0xC7,0x00,0x0C,0x00,0x4D, 0x40,0x29,0xF1,0x66,0xD1,0x09,0xB1,0x8F, 0x75,0x27,0x7F,0x79,0x30,0xD5,0x5C,0xEB, 0x42,0xE8,0xAD,0xBA,0x78,0x4C,0x55,0x5C, 0xED,0xF4,0xCA,0xDD,0x5F,0xC5,0x93,0x6D, 0xD1,0x9B,0x0A,0x58,0x35,0xCC,0xE7,0xE3. Společná haš: 0xef,0x2e,0xae,0x54,0xe0,0x34,0x70,0x7c, 0xa2,0x6e,0xb0,0x9b,0x45,0xc7,0xe4,0x
10 Literatura [1] Xiaoyun Wang, Dengguo Feng, Xuejia Lai, Hongbo Yu: Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD, rump session, CRYPTO 2004, Cryptology eprint Archive, Report 2004/199, first version (August 16, 2004), second version (August 17, 2004), [2] Ronald Rivest: The MD5 Message Digest Algorithm, RFC1321, April 1992, ftp://ftp.rfc-editor.org/in-notes/rfc1321.txt [3] Philip Hawkes, Michael Paddon, Gregory G. Rose: Musings on the Wang et al. MD5 Collision, Cryptology eprint Archive, Report 2004/264, 13 October 2004, [4] Ondrej Mikle: Practical Attacks on Digital Signatures Using MD5 Message Digest, Cryptology eprint Archive, Report 2004/356, 2nd December 2004 [5] Dan Kaminsky: MD5 To Be Considered Harmful Someday, Cryptology eprint Archive, Report 2004/357, 6 December 2004 [6] Arjen Lenstra, Xiaoyun Wang and Benne de Weger: Colliding X.509 Certificates, Cryptology eprint Archive, Report 2005/067, [7] Vlastimil Klima: Finding MD5 Collisions a Toy For a Notebook, Cryptology eprint Archive, Report 2005/075, March 5, 2005 [8] Xiaoyun Wang and Hongbo Yu: How to Break MD5 and Other Hash Functions, published on the web on March 6, 2005 [9] Xiaoyun Wang, Xuejia Lai, Dengguo Feng, Hui Chen, Xiuyuan Yu: Cryptanalysis of the Hash Functions MD4 and RIPEMD, published on the web on March 6, 2005 [10] Xiaoyun Wang, Yiqun Lisa Yin, Hongbo Yu: Collision Search Attacks on SHA1, February
Tunely v hašovacích funkcích: kolize MD5 do minuty 1) Vlastimil Klíma
Tunely v hašovacích funkcích: kolize MD5 do minuty 1) Vlastimil Klíma http://cryptography.hyperlink.cz v.klima@volny.cz 18. března 2006 (verze 1 ), 18. dubna 2006 (verze 2) Abstrakt V tomto příspěvku uvádíme
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
Karel Kohout 18. května 2010
Karel (karel.kohout@centrum.cz) 18. května 2010 1 2 3 4 Hašovací funkce = Message-Digest algorithm 5, vychází z MD4 (podobně jako SHA-1), autor prof. Ronald Rivest (RSA) Řetězec livobovolné délky na řetězec
(Ne)popiratelnost digitálních podpisů. Cíl přednášky. Jazyková vsuvka
(Ne)popiratelnost digitálních podpisů Tomáš Rosa, trosa@ebanka.cz divize Informační bezpečnost Cíl přednášky. Ukázat specifické problémy spojené se zajišťováním nepopiratelnosti digitálních podpisů. 2.
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.
Vlastimil Klíma. Seminár Bezpecnost Informacních Systému v praxi, MFF UK Praha,
ašovací unkce, MD5 a cínský útok Obsah (1) To nejlepší, co pro vás kryptologové mohou udelat je, když vás presvedcí, abyste jim slepe neduverovali. Je to nutná podmínka pro to, abyste ani vy ani oni neusnuli
Vybrané útoky proti hašovací funkci MD5
Vybrané útoky proti hašovací funkci MD5 1 Úvod, vymezení V práci popisuji vybrané útoky proti bezpečnosti hašovací funkce MD5. Nejdříve uvádím zjednodušený algoritmus MD5 a následně rozebírám dva praktické
Kryptografie - Síla šifer
Kryptografie - Síla šifer Rozdělení šifrovacích systémů Krátká charakteristika Historie a současnost kryptografie Metody, odolnost Praktické příklady Slabá místa systémů Lidský faktor Rozdělení šifer Obousměrné
Š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á ro ko Sý ětuše Kv
Květuše Sýkorová elektronický podpis hash funkce bezpečná komunikace princip nejznámější hash funkce MD x RIPEMD x SHA Květuše Sýkorová definice: Elektronický podpis je nejobecnější pojem pro údaje v elektronické
Š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;
Hašovací funkce, principy, příklady a kolize
Hašovací unkce, principy, příklady a kolize Vlastimil Klíma, http://cryptography.hyperlink.cz/ v.klima@volny.cz verze 1, 19. 3. 2005 Abstrakt. Příspěvek je určen těm, kdo nemají podrobné znalosti o hašovacích
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
Současná kryptologie v praxi
Současná kryptologie v praxi Vlastimil Klíma v.klima@volny.cz nezávislý kryptolog http://cryptography.hyperlink.cz Praha IS2 2008, Information Security Summit 2008, Martinický Palác, 28. 29. května 2008,
cv3.tex. Vzorec pro úplnou pravděpodobnost
3 cvičení - pravděpodobnost 2102018 18cv3tex n i=1 Vzorec pro úplnou pravděpodobnost Systém náhodných jevů nazýváme úplným, jestliže pro něj platí: B i = 1 a pro i k je B i B k = 0 Jestliže je (Ω, A, P
Operační mody blokových šifer a hašovací algoritmy. šifer. Bloková šifra. šifer. Útoky na operační modus ECB
Operační mody blokových šifer a hašovací algoritmy Operační mody blokových šifer RNDr. Vlastimil Klíma vlastimil.klima@i.cz ICZ a.s. 2 Operační mody blokových šifer T způsob použití blokové šifry k šifrování
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
Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru
2. Systémy lineárních rovnic V této kapitole se budeme zabývat soustavami lineárních rovnic s koeficienty z pole reálných případně komplexních čísel. Uvádíme podmínku pro existenci řešení systému lineárních
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í
5. Hašovací funkce, MD5, SHA-x, HMAC. doc. Ing. Róbert Lórencz, CSc.
Bezpečnost 5. Hašovací funkce, MD5, SHA-x, HMAC 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ů
SHA-3. Úvod do kryptologie. 29. dubna 2013
SHA-3 L ubomíra Balková Úvod do kryptologie 29. dubna 2013 Prolomení hašovacích funkcí masová kryptografie na nedokázaných principech prolomení je přirozená věc 2004 - prolomena MD5 2010 - konec platnosti
Š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
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í
C2115 Praktický úvod do superpočítání
C2115 Praktický úvod do superpočítání IX. lekce Petr Kulhánek, Tomáš Bouchal kulhanek@chemi.muni.cz Národní centrum pro výzkum biomolekul, Přírodovědecká fakulta, Masarykova univerzita, Kotlářská 2, CZ-61137
Crypto-World. Informační sešit GCUCMP. 11/ speciál
Crypto-World Informační sešit GCUCMP Ročník 6, číslo 11/2004 15. listopadu 2004 11/2004 - speciál Připravil: Mgr. Pavel Vondruška Sešit je přednostně distribuován registrovaným čtenářům. Starší sešity
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)
Funkce, elementární funkce.
Kapitola 2 Funkce, elementární funkce. V této kapitole si se budeme věnovat studiu základních vlastností funkcí jako je definiční obor, obor hodnot. Připomeneme si pojmy sudá, lichá, rostoucí, klesající.
Teoretický základ a přehled kryptografických hashovacích funkcí
Teoretický základ a přehled kryptografických hashovacích funkcí Radim Ošťádal Březen 2012 1 Úvod Kryptografické hashovací funkce jsou jedním ze základních primitiv současné kryptografie. V této práci se
Nepopiratelnost digitálních podpisů
Nepopiratelnost digitálních podpisů Tomáš Rosa ebanka, a.s. Na Příkopě 19, 117 19 Praha 1, e-mail: trosa@ebanka.cz Klíčová slova: nepopiratelnost, digitální podpis, elektronický podpis, kolize, RSA, DSA,
Nedůvěřujte kryptologům
Příspěvek je určen těm, kdo nemají podrobné znalosti o hašovacích unkcích, ale přitom se jich nějakým způsobem týká jejich bezpečnost, poněkud otřesená v srpnu t. r. nalezením kolizí u několika hašovacích
Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008
Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování študenti MFF 15. augusta 2008 1 15 Základy lineárního programování Požadavky Simplexová metoda Věty o dualitě (bez důkazu)
6 Ordinální informace o kritériích
6 Ordinální informace o kritériích Ordinální informací o kritériích se rozumí jejich uspořádání podle důležitosti. Předpokládejme dále standardní značení jako v předchozích cvičeních. Existují tři základní
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
10. cvičení z PST. 5. prosince T = (n 1) S2 X. (n 1) s2 x σ 2 q χ 2 (n 1) (1 α 2 ). q χ 2 (n 1) 2. 2 x. (n 1) s. x = 1 6. x i = 457.
0 cvičení z PST 5 prosince 208 0 (intervalový odhad pro rozptyl) Soubor (70, 84, 89, 70, 74, 70) je náhodným výběrem z normálního rozdělení N(µ, σ 2 ) Určete oboustranný symetrický 95% interval spolehlivosti
Architektura Intel Atom
Architektura Intel Atom Štěpán Sojka 5. prosince 2008 1 Úvod Hlavní rysem Atomu je podpora platformy x86, která umožňuje spouštět a běžně používat řadu let vyvíjené aplikace, na které jsou uživatelé zvyklí
Časová složitost / Time complexity
Časová složitost / Time complexity Jan Kybic http://cmp.felk.cvut.cz/~kybic kybic@fel.cvut.cz 2016 2018 1 / 24 Složitost algoritmů Algorithm complexity Časová a paměťová složitost Trvání výpočtu v závislosti
Z čeho se sběrnice skládá?
Sběrnice Co je to sběrnice? Definovat sběrnici je jednoduché i složité zároveň. Jedná se o předávací místo mezi (typicky) více součástkami počítače. Sběrnicí však může být i předávací místo jen mezi dvěma
Ochrana dat 2.12.2014. Obsah. Výměna tajných klíčů ve veřejném kanálu. Radim Farana Podklady pro výuku. Kryptografické systémy s tajným klíčem,
Ochrana dat Radim Farana Podklady pro výuku Obsah Kryptografické systémy s tajným klíčem, výměna tajných klíčů veřejným kanálem, systémy s tajným klíčem. Elektronický podpis. Certifikační autorita. Metody
Experimentální realizace Buquoyovy úlohy
Experimentální realizace Buquoyovy úlohy ČENĚK KODEJŠKA, JAN ŘÍHA Přírodovědecká fakulta Univerzity Palackého, Olomouc Abstrakt Tato práce se zabývá experimentální realizací Buquoyovy úlohy. Jedná se o
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á
Canon Controller. Komunikační protokol. Řídicí jednotka k objektivům Canon EF/EF-S
Řídicí jednotka k objektivům Canon EF/EF-S Komunikační protokol ATEsystem s.r.o. Studentská 6202/17 708 00 Ostrava-Poruba Česká republika M +420 595 172 720 E produkty@atesystem.cz W www.atesystem.cz INFORMACE
VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY
VYBRANÉ PARTIE Z NUMERICKÉ MATEMATIKY Jan Krejčí 31. srpna 2006 jkrejci@physics.ujep.cz http://physics.ujep.cz/~jkrejci Obsah 1 Přímé metody řešení soustav lineárních rovnic 3 1.1 Gaussova eliminace...............................
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
Digitální podepisování pomocí asymetrické kryptografie
Digitální podepisování pomocí asymetrické kryptografie Jan Máca, FJFI ČVUT v Praze 26. března 2012 Jan Máca () Digitální podepisování 26. března 2012 1 / 22 Obsah 1 Digitální podpis 2 Metoda RSA 3 Metoda
MINIMÁLNÍ POŽADAVKY NA KRYPTOGRAFICKÉ ALGORITMY. doporučení v oblasti kryptografických prostředků
MINIMÁLNÍ POŽADAVKY NA KRYPTOGRAFICKÉ ALGORITMY doporučení v oblasti kryptografických prostředků Verze 1.0, platná ke dni 28.11.2018 Obsah Úvod... 3 1 Doporučení v oblasti kryptografických prostředků...
Š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;
Jednocestné zabezpečení citlivých údajů v databázi
Jednocestné zabezpečení citlivých údajů v databázi Ing. Jan Malý, Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, Ústav telekomunikací, Purkyňova 118, 612 00 Brno, Česká
DIPLOMOVÁ PRÁCE. Matematické základy Stevensova algoritmu
Univerzita Karlova v Praze Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE Bc. Ivan Štubňa Matematické základy Stevensova algoritmu Katedra algebry Vedoucí diplomové práce: doc. RNDr. Jiří Tůma, DrSc. Studijní
496/2004 Sb. VYHLÁŠKA Ministerstva informatiky ze dne 29. července 2004 o elektronických podatelnách
496/2004 Sb. VYHLÁŠKA Ministerstva informatiky ze dne 29. července 2004 o elektronických podatelnách Ministerstvo informatiky stanoví podle 20 odst. 4 zákona č. 227/2000 Sb., o elektronickém podpisu a
Řešení 1b Máme najít body, v nichž má funkce (, ) vázané extrémy, případně vázané lokální extrémy s podmínkou (, )=0, je-li: (, )= +,
Příklad 1 Najděte body, v nichž má funkce (,) vázané extrémy, případně vázané lokální extrémy s podmínkou (,)=0, je-li: a) (,)= + 1, (,)=+ 1 lok.max.v 1 2,3 2 b) (,)=+, (,)= 1 +1 1 c) (,)=, (,)=+ 1 lok.max.v
Příklad 1. Řešení 1a. Řešení 1b ŘEŠENÉ PŘÍKLADY Z M1B ČÁST 5
Příklad 1 Najděte totální diferenciál d (h) pro h=(h,h ) v příslušných bodech pro následující funkce: a) (,)= cos, =1; b) (,)=ln( + ), =2; 0 c) (,)=arctg(), =1; 0 1 d) (,)= +, =1; 1 Řešení 1a Máme nalézt
a se nazývá aritmetická právě tehdy, když existuje takové číslo d R
Předmět: Ročník: Vytvořil: Datum: MATEMATIKA TŘETÍ Mgr. Tomáš MAŇÁK. březen 014 Název zpracovaného celku: ARITMETICKÁ POSLOUPNOST A JEJÍ UŽITÍ ARITMETICKÁ POSLOUPNOST Teorie: Posloupnost každé ( ) n n1
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),
Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz
Asymetrická kryptografie a elektronický podpis Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz Obsah cvičení Asymetrická, symetrická a hybridní kryptografie Matematické problémy, na kterých
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
1 Analytické metody durace a konvexita aktiva (dluhopisu) $)*
Modely analýzy a syntézy plánů MAF/KIV) Přednáška 10 itlivostní analýza 1 Analytické metody durace a konvexita aktiva dluhopisu) Budeme uvažovat následující tvar cenové rovnice =, 1) kde jsou současná
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
5. Náhodná veličina. 2. Házíme hrací kostkou dokud nepadne šestka. Náhodná veličina nabývá hodnot z posloupnosti {1, 2, 3,...}.
5. Náhodná veličina Poznámka: Pro popis náhodného pokusu jsme zavedli pojem jevového pole S jako množiny všech možných výsledků a pravděpodobnost náhodných jevů P jako míru výskytů jednotlivých výsledků.
Pokročilá kryptologie
Pokročilá kryptologie Kryptografie eliptických křivkek 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
Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE. Martin Suchan. Porovnání současných a nových hašovacích funkcí
Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE Martin Suchan Porovnání současných a nových hašovacích funkcí Katedra Algebry Vedoucí bakalářské práce: Doc. RNDr. Jiří Tůma, DrSc.
12. Elektrotechnika 1 Stejnosměrné obvody Kirchhoffovy zákony
. Elektrotechnika Stejnosměrné obvody Kirchhoffovy zákony . Elektrotechnika Kirchhoffovy zákony Při řešení elektrických obvodů, tedy různě propojených sítí tvořených zdroji, odpory (kapacitami a indukčnostmi)
1. Náhodný vektor (X, Y ) má diskrétní rozdělení s pravděpodobnostní funkcí p, kde. p(x, y) = a(x + y + 1), x, y {0, 1, 2}.
VIII. Náhodný vektor. Náhodný vektor (X, Y má diskrétní rozdělení s pravděpodobnostní funkcí p, kde p(x, y a(x + y +, x, y {,, }. a Určete číslo a a napište tabulku pravděpodobnostní funkce p. Řešení:
Simulační modely. Kdy použít simulaci?
Simulační modely Simulace z lat. Simulare (napodobení). Princip simulace spočívá v sestavení modelu reálného systému a provádění opakovaných experimentů s tímto modelem. Simulaci je nutno považovat za
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ů
Definice 7.1 Nechť je dán pravděpodobnostní prostor (Ω, A, P). Zobrazení. nebo ekvivalentně
7 Náhodný vektor Nezávislost náhodných veličin Definice 7 Nechť je dán pravděpodobnostní prostor (Ω, A, P) Zobrazení X : Ω R n, které je A-měřitelné, se nazývá (n-rozměrný) náhodný vektor Měřitelností
Diagnostika regrese pomocí grafu 7krát jinak
StatSoft Diagnostika regrese pomocí grafu 7krát jinak V tomto článečku si uděláme exkurzi do teorie regresní analýzy a detailně se podíváme na jeden jediný diagnostický graf. Jedná se o graf Předpovědi
JEDNOTKY. E. Thöndel, Ing. Katedra mechaniky a materiálů, FEL ČVUT v Praze. Abstrakt
SIMULAČNÍ MODEL KLIKOVÉ HŘÍDELE KOGENERAČNÍ JEDNOTKY E. Thöndel, Ing. Katedra mechaniky a materiálů, FEL ČVUT v Praze Abstrakt Crankshaft is a part of commonly produced heat engines. It is used for converting
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ů
Osnova přednášky. Seznámení s asymetrickou kryptografií, díl 2. Podpisová schémata -elementární principy- (1)
Seznámení s asymetrickou kryptografií, díl 2. Ing. omáš Rosa ICZ a.s., Praha Katedra počítačů, FEL, ČVU v Praze tomas.rosa@i.cz Osnova přednášky elementární principy, schéma s dodatkem metody RSA, DSA,
Způsoby realizace této funkce:
KOMBINAČNÍ LOGICKÉ OBVODY U těchto obvodů je výstup určen jen výhradně kombinací vstupních veličin. Hodnoty výstupních veličin nezávisejí na předcházejícím stavu logického obvodu, což znamená, že kombinační
Úlohy klauzurní části školního kola kategorie A
62. ročník matematické olympiády Úlohy klauzurní části školního kola kategorie A 1. V obdélníku ABCD o stranách AB = 9, BC = 8 leží vzájemně se dotýkající kružnice k 1 (S 1, r 1 ) a k 2 (S 2, r 2 ) tak,
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í
6. T e s t o v á n í h y p o t é z
6. T e s t o v á n í h y p o t é z Na základě hodnot z realizace náhodného výběru činíme rozhodnutí o platnosti hypotézy o hodnotách parametrů rozdělení nebo o jeho vlastnostech. Používáme k tomu vhodně
Modelování a simulace Lukáš Otte
Modelování a simulace 2013 Lukáš Otte Význam, účel a výhody MaS Simulační modely jsou nezbytné pro: oblast vědy a výzkumu (základní i aplikovaný výzkum) analýzy složitých dyn. systémů a tech. procesů oblast
Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie
Obsah Počítání modulo n a jeho časová složitost 3. a 4. přednáška z kryptografie 1 Počítání modulo n - dokončení Umocňování v Zn 2 Časová složitost výpočtů modulo n Asymptotická notace Základní aritmetické
Numerická matematika 1
Numerická matematika 1 Obsah 1 Řešení nelineárních rovnic 3 1.1 Metoda půlení intervalu....................... 3 1.2 Metoda jednoduché iterace..................... 4 1.3 Newtonova metoda..........................
Algoritmy komprese dat
Algoritmy komprese dat Úvod do teorie informace Claude Shannon (1916 2001) 5.11.2014 NSWI072-7 Teorie informace Informace Co je to informace? Můžeme informaci měřit? Existují teoretické meze pro délku
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
1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.
Testy hypotéz na základě více než 2 výběrů 1 1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004. Testy hypotéz na základě více než 2 výběrů Na analýzu rozptylu lze pohlížet v podstatě
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.
INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.0141 Báze vektorových prostorů, transformace souřadnic Michal Botur Přednáška
4EK213 LINEÁRNÍ MODELY
4EK213 LINEÁRNÍ MODELY Úterý 11:00 12:30 hod. učebna SB 324 3. přednáška SIMPLEXOVÁ METODA I. OSNOVA PŘEDNÁŠKY Standardní tvar MM Základní věta LP Princip simplexové metody Výchozí řešení SM Zlepšení řešení
Integrovaný informační systém Státní pokladny (IISSP) Dokumentace API - integrační dokumentace
Česká republika Vlastník: Logica Czech Republic s.r.o. Page 1 of 10 Česká republika Obsah 1. Úvod...3 2. Východiska a postupy...4 2.1 Způsob dešifrování a ověření sady přístupových údajů...4 2.2 Způsob
Informace, kódování a redundance
Informace, kódování a redundance INFORMACE = fakt nebo poznatek, který snižuje neurčitost našeho poznání (entropii) DATA (jednotné číslo ÚDAJ) = kódovaná zpráva INFORAMCE = DATA + jejich INTERPRETACE (jak
Diferenciální rovnice 3
Diferenciální rovnice 3 Lineární diferenciální rovnice n-tého řádu Lineární diferenciální rovnice (dále jen LDR) n-tého řádu je rovnice tvaru + + + + = kde = je hledaná funkce, pravá strana a koeficienty
Předmět úpravy. 2 Způsob dokládání splnění povinností stanovených v 6 zákona o elektronickém podpisu
V Y H L Á Š K A Úřadu pro ochranu osobních údajů ze dne 3. října 2001 o upřesnění podmínek stanovených v 6 a 17 zákona o elektronickém podpisu a o upřesnění požadavků na nástroje elektronického podpisu
Markovské metody pro modelování pravděpodobnosti
Markovské metody pro modelování pravděpodobnosti rizikových stavů 1 Markovský řetězec Budeme uvažovat náhodný proces s diskrétním časem (náhodnou posloupnost) X(t), t T {0, 1, 2,... } s konečnou množinou
H = 1 ( ) 1 1. dostaneme bázi označovanou často znaménky plus a minus:
Propletené stavy Standardní bázi kubitu máme ve zvyku značit symboly a. Existuje ovšem nekonečně mnoho jiných ortonormálních bází které vzniknou ze standardní báze vždy nějakou unitární transformací. Použijeme-li
Kapacita jako náhodná veličina a její měření. Ing. Igor Mikolášek, Ing. Martin Bambušek Centrum dopravního výzkumu, v. v. i.
Kapacita jako náhodná veličina a její měření Ing. Igor Mikolášek, Ing. Martin Bambušek Centrum dopravního výzkumu, v. v. i. Obsah Kapacita pozemních komunikací Funkce přežití Kaplan-Meier a parametrické
Numerické řešení diferenciálních rovnic
Numerické řešení diferenciálních rovnic Omezení: obyčejné (nikoli parciální) diferenciální rovnice, Cauchyho počáteční úloha, pouze jedna diferenciální rovnice 1. řádu 1/1 Numerické řešení diferenciálních
zejména Dijkstrův algoritmus pro hledání minimální cesty a hladový algoritmus pro hledání minimální kostry.
Kapitola Ohodnocené grafy V praktických aplikacích teorie grafů zpravidla graf slouží jako nástroj k popisu nějaké struktury. Jednotlivé prvky této struktury mají často přiřazeny nějaké hodnoty (může jít
Tento dokument obsahuje zadání pro semestrální programy z PAA. Vypracování. vypracovanou úlohu podle níže uvedených zadání. To mimo jiné znamená, že
Kapitola Zadání Tento dokument obsahuje zadání pro semestrální programy z PAA. Vypracování alespoň jedné úlohy je nutnou podmínkou pro úspěšné složení zkoušky resp. získaní (klasifikovaného) zápočtu (viz.
1. Statistická analýza dat Jak vznikají informace Rozložení dat
1. Statistická analýza dat Jak vznikají informace Rozložení dat J. Jarkovský, L. Dušek, S. Littnerová, J. Kalina Význam statistické analýzy dat Sběr a vyhodnocování dat je způsobem k uchopení a pochopení
Informace, kódování a redundance
Informace, kódování a redundance Data (jednotné číslo údaj) obvykle chápeme jako údaje, tj. číselné hodnoty, znaky, texty a další fakta zaznamenaná (a uložená v databázi) ve formě uspořádané posloupnosti
Úloha - rozpoznávání číslic
Úloha - rozpoznávání číslic Vojtěch Franc, Tomáš Pajdla a Tomáš Svoboda http://cmp.felk.cvut.cz 27. listopadu 26 Abstrakt Podpůrný text pro cvičení předmětu X33KUI. Vysvětluje tři způsoby rozpoznávání
OBECNÉ METODY VYROVNÁNÍ
OBECNÉ METODY VYROVNÁNÍ HYNČICOVÁ TEREZA, H2IGE1 2014 ÚVOD Z DŮVODU VYLOUČENÍ HRUBÝCH CHYB A ZVÝŠENÍ PŘESNOSTI NIKDY NEMĚŘÍME DANOU VELIČINU POUZE JEDNOU VÝSLEDKEM OPAKOVANÉHO MĚŘENÍ NĚKTERÉ VELIČINY JE
19. Druhý rozklad lineární transformace
Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA II, letní semestr 2000/2001 Michal Marvan Úmluva. Všude P = C. Vpřednášce o vlastních vektorech jsme se seznámili s diagonalizovatelnými
ROVNICE, NEROVNICE A JEJICH SOUSTAVY
Univerzita Karlova v Praze Pedagogická fakulta SEMINÁRNÍ PRÁCE Z METOD ŘEŠENÍ ÚLOH ROVNICE, NEROVNICE A JEJICH SOUSTAVY CIFRIK C. Úloha 1 [kvadratická rovnice s kořeny y_1=x_1^2+x_2^2, y_2=x_1^3+x_2^3]
Diferenciální počet 1 1. f(x) = ln arcsin 1 + x 1 x. 1 x 1 a x 1 0. f(x) = (cos x) cosh x + 3x. x 0 je derivace funkce f(x) v bodě x0.
Nalezněte definiční obor funkce Diferenciální počet f = ln arcsin + Definiční obor funkce f je určen vztahy Z těchto nerovností plyne < + ln arcsin + je tedy D f =, Určete definiční obor funkce arcsin
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,
KOMBINAČNÍ LOGICKÉ OBVODY
Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 KOMBINAČNÍ LOGICKÉ OBVODY U těchto obvodů je vstup určen jen výhradně kombinací vstupních veličin. Hodnoty