bit/p4-rsa.d 6. března

Podobné dokumenty
Obsah. 1 Protokoly Diffieho-Hellmanův a ElGamalův. 3 Hledání generátoru v Z p

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

Hashovací funkce. Andrew Kozlík KA MFF UK


Asymetrická kryptografie

bit/p6d-h.d 22. března

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

ElGamal, Diffie-Hellman

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

2.5. MATICOVÉ ŘEŠENÍ SOUSTAV LINEÁRNÍCH ROVNIC

PA159 - Bezpečnostní aspekty

Správa přístupu PS3-2

Semi-formální definice

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

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

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

MFF UK Praha, 22. duben 2008

Dopravní plánování a modelování (11 DOPM )

Čísla a aritmetika. Řádová čárka = místo, které odděluje celou část čísla od zlomkové.

asymetrická kryptografie

Kryptografické protokoly. Stříbrnice,

Složitost a moderní kryptografie

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

Asymetrická kryptografie a elektronický podpis. Ing. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz

9. Měření kinetiky dohasínání fluorescence ve frekvenční doméně

UKRY - Symetrické blokové šifry

Teorie efektivních trhů (E.Fama (1965))

Informatika Ochrana dat

Iterační výpočty. Dokumentace k projektu pro předměty IZP a IUS. 22. listopadu projekt č. 2

Vkládání pomocí Viterbiho algoritmu

Andrew Kozlík KA MFF UK

SIMULACE. Numerické řešení obyčejných diferenciálních rovnic. Měřicí a řídicí technika magisterské studium FTOP - přednášky ZS 2009/10

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

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

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

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

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

C5 Bezpečnost dat v PC

Monte Carlo metody Josef Pelikán CGG MFF UK Praha.

Umělé neuronové sítě a Support Vector Machines. Petr Schwraz

Teorie her a ekonomické rozhodování. 10. Rozhodování při jistotě, riziku a neurčitosti

Problematika náhodných a pseudonáhodných sekvencí v kryptografických eskalačních protokolech a implementacích na čipových kartách

J.Breier, M.Vančo, J.Ďaďo, M.Klement, J.Michelfeit, Masarykova univerzita Fakulta informatiky

Protokol RSA. Tvorba klíčů a provoz protokolu Bezpečnost a korektnost protokolu Jednoduché útoky na provoz RSA Další kryptosystémy

Kódování a Šifrování. Iveta Nastoupilová

Základy kryptologie. Kamil Malinka Fakulta informačních technologií

Lokace odbavovacího centra nákladní pokladny pro víkendový provoz

Jak funguje asymetrické šifrování?

Ochrana dat 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,

Pokročilá kryptologie

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:

Architektura počítačů Logické obvody

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

Komerční výrobky pro kvantovou kryptografii

ARITMETICKOLOGICKÁ JEDNOTKA

ina ina Diskrétn tní náhodná veličina může nabývat pouze spočetně mnoha hodnot (počet aut v náhodně vybraná domácnost, výsledek hodu kostkou)

1. Nejkratší cesta v grafu

Hardware - komponenty počítačů Von Neumannova koncepce počítače. Von Neumannova koncepce počítače

Pokročilá kryptologie

6. Demonstrační simulační projekt generátory vstupních proudů simulačního modelu

Šroubové kompresory. Řada MSL 2,2-15 kw. Jednoduché a kompletní řešení pro Vaší potřebu stlačeného vzduchu

vá ro ko Sý ětuše Kv


Architektura počítačů Logické obvody

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

Y36PSI Bezpečnost v počítačových sítích. Jan Kubr - 10_11_bezpecnost Jan Kubr 1/41

1. Cvičení ze Základů informatiky - rozsah 4+8 z,zk

Základy algoritmizace. Hašování

Problémy týkající se prvočíselnosti fascinovaly matematiky od starověku. Mezi

MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY. Autentizace dat. Bc. David Cimbůrek

permutace, popisující nějaké symetrie, je i π permutace, popisující nějakou symetrii.

Operační mody blokových šifer a hašovací algoritmy. šifer. Bloková šifra. šifer. Útoky na operační modus ECB

SIMATIC S IT. Micro Automation. Promoters Meeting October Představení CP IT SPIDER CONTROL TELESERVIS. TESTOVACÍ server.

Úvod Terminologie Dělení Princip ID3 C4.5 CART Shrnutí. Obsah přednášky

Kryptografie - Síla šifer

Poslední nenulová číslice faktoriálu

Informatika / bezpečnost

Logaritmické a exponenciální funkce

Digitální měna Bitcoin. Dalibor Hula Slezská univerzita v Opavě OPF v Karviné

Bezpečnost internetového bankovnictví, bankomaty

REGRESNÍ ANALÝZA. 13. cvičení

Karel Klouda c KTI, FIT, ČVUT v Praze 28. února, letní semestr 2010/2011

Generování pseudonáhodných. Ing. Michal Dorda, Ph.D.

Autentizace uživatelů

symetrická kryptografie

- 1 - Obvodová síla působící na element lopatky větrné turbíny

[1] Definice 1: Polynom je komplexní funkce p : C C, pro kterou. pro všechna x C. Čísla a 0, a 1,..., a n nazýváme koeficienty polynomu.

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

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

Vzdálenost jednoznačnosti a absolutně

Programování jako nástroj porozumění matematice (seriál pro web modernivyuka.cz)

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

Optimalizační přístup při plánování rekonstrukcí vodovodních řadů

SSL Secure Sockets Layer

4EK211 Základy ekonometrie

Dále budeme předpokládat, že daný Markovův řetězec je homogenní. p i1 i 2

Kompresní metody první generace

DYNAMICKÉ MODULY PRUŽNOSTI NÁVOD DO CVIČENÍ

Plánování a rozvrhování. Podmínky pro zdroje. Typy zdrojů. Zdroje. časové vztahy. omezení kapacity zdrojů. Roman Barták, KTIML

Transkript:

bt/p4-rsa.d 6. března 2003 1 Blowfsh -------- * nepatentovaný algortmus, navržený pro mplementac na 32 btových CPU * 64-btový blok, proměnná délka klíče od 32 do 448 btů * 16 terací Festelovské sítě * v první fáz je provedena expanze klíče - vytvoří 18 podklíčů a obsah čtyř S-boxů (8 btů vstup, 32 btů výstup, S box jako pole) - pro vytvoření podklíčů a S-boxů se zapotřebí 521 terací algortmu Blowfsh K 1 L 8 32 R S 1 S 2 S 3 S 4 K 18 K 17 * dešfrování stejné jako šfrování, podklíče se použjí v opačném pořadí Útoky: * Vaudenay 1995 našel množnu slabých klíčů, klíč je slabý s p=2ˆ-14, ale nenašel se zatím žádný způsob jak toho využít pro útok SAFER ----- * dalším zajímavým volně použtelným algortmem je SAFER (Secure and Fast Encrypton Routne) * navržen pro použtí na čpových kartách apod. - 8 btové mkroprocesory, omezená pamět * několk varant: původní verze SAFER K64 měla 64 btový klíč - Sngapurské Mnsterstvo vntra navrhlo SAFER K128 - varanty SAFER SK64 a SK128 odstraňují slabnu v tvorbě podklíčů - měly by se používat místo K64 a K128 * 64-btový blok, varanta SK64 64-btový klíč atd. * není Festelovská šfra, používá odlšné operace pro šfrování a dešfrování * na začátku vstupuje 8 bytů, pak 8 terací: - XOR-add s podklíč - substtuce, obsah S-boxů S(x) = 45ˆx mod 257, fce je nvertovatelná - add-xor s podklíč, sčítání a XOR je zaměněno - třívrstvá pseudo-hamardova transformace: f(l, R)=(2L+R, L+R) * na konc výstupní transformace - XOR-add s podklíč 1 2-1 -1-1 -1 S S S S S S S S 2r+1 * dešfrování nverze operací v opačném pořadí:

2 6. března 2003 bt/p4-rsa.d - opak výstupní transformace - XOR-sub podklíčů K_2r+1 - pak opak terací (nverzní PT: f(l, R)=(L-R, -L+2R), sub-xor s podklíč, substtuce - použta nverze S-boxů, XOR-sub s podklíč) Útoky: * útoky prot plné verz SAFER 64SK a SAFER 128SK zatím nejsou známy AES --- * DES malá délka klíče, 3DES pomalý a jsté problémy, EES se neuchytl * proto 1997 NIST konkurs na AES (Advanced Encrypton Standard), několk délek klíčů a délek bloku (128, 192 a 256 btů) * v roce 2002 vybrán algortmus Rjndael (Daemen, Rjmen) * zde pops pro varantu s délkou bloku 128 a klíčem 128 btů: - data klíč chápány jako matce 4x4 byty - na začátku XOR vstupních dat a podklíče - pak 10 terací:. ByteSub - substtuce 8 btů -> 8 btů všech dat. ShftRow - cyklcký posun řádků dat o 0, 1, 2 a 3 pozce. MxColumn - násobení sloupců konstantním polynomem. AddRoundKey - XOR dat a podklíče - pak závěrečná terace - má vynecháno MxColumn * AES může být rychlý v W a SW, na 8 btech na >= 32 btových CPU * zatím ale nový, před praktckým používáním dobré počkat cca 1-2 roky Poznámka pro zajímavost (algortmus TEA).... * TEA = Tny Encrypton Algorthm, Wheeler a Needham 1995 * blok 64 btů, klíč 128 btů * zatím nalezené nedostatky: - ke každému klíč k = (k_0, k_1, k_2, k_3) exstují tř další ekvvalentní klíče: (k_0 xor M, k_1 xor M, k_2, k_3) (k_0, k_1, k_2 xor M, k_3 xor M) (k_0 xor M, k_1 xor M, k_2 xor M, k_3 xor M), kde M=80000000 (každé terac vyruší dva nejvyšší bty klíče) - klíč by bylo možno nalézt, pokud by oponent mohl zvolt vztah mez dvěma klíč a účastník komunkace by oběma klíč zašfroval 2ˆ32 oponentem zvolených datových bloků (tento útok je poněkud nepraktcký) /* Šfrování: klíč = k[0]..k[3] data = v[0] a v[1] */ vod encrypt(word32 v[2], word32 k[4]) word32 y = v[0], z = v[1], sum = 0, delta = 0x9e3779b9, n = 32; whle (n-- > 0) sum += delta; y += (z << 4) + k[0] ˆ z + sum ˆ (z >> 5) + k[1]; z += (y << 4) + k[2] ˆ y + sum ˆ (y >> 5) + k[3]; v[0] = y; v[1] = z; /* Dešfrování: klíč = k[0]..k[3] data = v[0] a v[1] */ vod decrypt(word32 v[2], word32 k[4]) word32 y = v[0], z = v[1], delta = 0x9e3779b9, n = 32, sum = n*delta; whle (n-- > 0)

bt/p4-rsa.d 6. března 2003 3 [] z -= (y << 4) + k[2] ˆ y + sum ˆ (y >> 5) + k[3]; y -= (z << 4) + k[0] ˆ z + sum ˆ (z >> 5) + k[1]; sum -= delta; v[0] = y; v[1] = z; MDC založené na blokových šfrách --------------------------------- * každá zašfrovaná zpráva by měla obsahovat nějakou redundanc * např. představme s frmu, pobočky posílají na ústředí počet objednaných kusů produktu; pokud číslo 64 btů, ústředí neumí rozpoznat pravou zprávu od falešné - tj. aktvní oponent může způsobt potíže, když nezná obsah zpráv - řeší se přdáním redundance ke zprávám - např. pokud každý blok má 1/2 nulovou, umíme rozpoznat správnou zprávu od falešné; na druhou stranu pomůžeme analytkov - někdy predkovatelnější C - nejlepší by bylo, kdyby redundancí mohl být náhodně vypadající řetězec * k tomto účely byly navrženy MDC = manpulaton detecton code - předpokládejme, že máme k dspozc bezpečnou blokovou šfru - pak můžeme použít některou z následujících konstrukcí: x -1 x -1 g x E E g -1 E Matyas-Meyer-Oseas Daves-Meyer Myaguch-Preneel - vstupem zpráva rozdělená do n-btových bloků (pro DES: n=56 pro Daves-Mayer, pro ostatní n=64) - poslední blok je jednoznačně doplněn na délku n btů (např. 10000...0) - hodnota 0 je předdefnována - postupně vytváříme 1, 2,... - výsledné _t přpojíme za poslední P_t, celé zašfrujeme - příjemce dešfruje, nezávsle spočte _t a ověří * MDC je tzv. jednosměrná hashovací fce; je snadné spočíst = f(p), ale opačný výpočet je výpočetně neprovedtelný * uvedeno jako předběžný příklad; použtí jednosměrných hashovacích fcí s uvedeme pozděj Poznámka (délka výstupu hashovací fce) Pro většnu použtí potřebujeme s délkou > 80 btů; takové fce exstují, např. např. MD5 (Rvest 1992) se 128 btů nebo SA-1 (NIST 1993) se 160 btů. [] Klíče vs. hesla --------------- * pokud by klíč zadával užvatel, pak pro DES 7 osmbtových znaků - pokud pouze malá písmena: 26ˆ7 2ˆ33 - pokud malá a velká: 52ˆ7 2ˆ40 - všechny tsknutelné ASCII: 96ˆ7 2ˆ46 * to by ovšem platlo pouze pokud by všechny znaky byly stejně pravděpodobné * v teor nformace je defnována entrope jako mnmální počet btů potřebných pro zakódování všech možných hodnot zprávy * pokud by všechna hesla stejně pravděpodobná, pak entrope = počet btů

4 6. března 2003 bt/p4-rsa.d * pro anglčtnu 1.3 btu nformace/znak (mění se podle délky textu, pro osmznakové texty 2.3 btu/znak, sníží se na 1.3 až 1.5 pro šestnáctznakové) * tj. běžné 8 znakové heslo cca 18.4 btů entrope * slabá hesla (s nízkou entropí) se dají snadno odhadnout * oponent může prohledávat prostor klíčů podle klesající očekávané pravděpodobnost hesla (slovníkové útoky) * nejlepší používat náhodné klíče (vygenerované W generátorem náhodných čísel) * pokud klíče odvozené z užvatelem zadaného textu (passphrase) - použít jednosměrný hash Problém dstrbuce klíčů ======================== * pokud někomu zasílám tajnou zprávu, musí mít klíč aby jí rozšfroval * klíč nutné zaslat - nejjednodušší mít bezpečný kanál (tradčně kurýr apod.) * často není, nebo není praktcký (banka se stovkam poboček nebo potřeba každodenní změny klíče) * dstrbuce klíčů byl tradčně nejslabším článkem mnoha systémů * bylo by mnohem vhodnější moc klíče dstrbuovat přímo příslušným komunkačním kanálem (sítí) Metoda kryptogramů... * Merkle 1975 (publkováno 1978), Merkle puzzle scheme * Alce vytvoří např. 2ˆ20 kryptogramů, každý zašfruje 20 btovým klíčem * v každém z nch zpráva typu Toto je zpráva číslo X, tajný klíč je Y * Bob náhodně jeden vybere, rozluští hrubou slou, zjstí X a Y * Bob pošle Alc X (číslo kryptogramu) a tajnou zprávu zašfrovanou klíčem Y: m=(x, E_Y(p)) * Oskar potřebuje 2ˆ40 (resp. nˆ2 oprot n) operací * pokud mají Bob a Oskar stejný výpočetní výkon, pak např. 10 mn oprot jednomu roku * dnes vzhledem ke kryptografckým standardům málo, ale zajímavá myšlenka Šfrování s veřejným klíčem... * dstrbuce klíčů mnoho let považováno za nherentní problém * až v roce 1976 Dffe a ellman myšlenka - šfrovací a dešfrovací klíč různý, dešfrovací klíč nemůže být odvozen z šfrovacího * šfrovací zveřejním ( veřejný klíč ), dešfrovací utajím ( tajný klíč ) Alce chce komunkovat s Bobem: * Bob má tajný klíč DB, veřejný EB; tajný utají, veřejný zveřejní např. na sít * Alce chce poslat zprávu p Bobov, použje c = EB(p) * Bob dešfruje p = DB(c) * Oskar nc nerozluští, protože neumí odvodt DB z EB * název asymetrcká kryptografe, šfrování s veřejným klíčem (tradční kryptografe = symetrcká kryptografe, šfrování s tajným klíčem) * koncepce považována za revoluc, před 1977 a po Algortmus RSA -------------- * Rvest, Shamr, Adleman 1977, nejznámější a nejpoužívanější Algortmus: Mnpříklad: * Alce vybere 2 velká prvočísla P a Q P=7, Q=17 * spočte N=P*Q N=119 * spočte X = (P-1)(Q-1) X=96 * zvolí E a D, aby E*D = 1 (mod X) E=5 D=77 (E a D jsou multplkatvní nverze,

bt/p4-rsa.d 6. března 2003 5 Eˆ-1 == D (mod X), rozšířený Eukldův alg.) * zveřejní N a E (119, 5) Bob šfruje: * c = mˆe (mod N) c = 19ˆ5 (mod 119) = 66 Alce dešfruje: * m = cˆd (mod N) m = 66ˆ77 (mod 119) = 19 [Důkaz že funguje je v AC, str. 286.] Bezpečnost metody závsí na obtížnost rozkladu velkých čísel na prvočísla: * Oskar zná E a N a ví, že N=P*Q * kdyby zjstl P a Q, spočte X=(P-1)(Q-1), najde D - problém zjstt D je dokazatelně výpočetně stejně složtý jako rozklad N * P a Q nemůže zjstt jnak než rozložením N na P*Q - RSAP (RSA Problem): není znám efektvní algortmus rozkladu na prvočntele, ale není dokázáno že neexstuje - čas zhruba eˆsqrt(ln n ln ln n) [protože P, Q < sqrt(n)] * pokud je N 100 cferné - bude to trvat cca týden (336 btů) 150 1000 let (500 btů) 200 ml. let (665 btů) * ve skutečnost záleží na množství nvestovaných prostředků * pro běžné použtí (nvestce do W 25M$, doba faktorzace 25 let) by mělo stačt 1024 btů Algortmus má různé potíže: * výrazně pomalejší než symetrcké šfry (1000bt RSA as 4000x), pro stejnou bezpečnost vyžaduje podstatně větší délku klíče (17x delší) * hodnoty nelze zvolt lbovolně, např.: - P a Q musejí být zvoleny tak, aby byl rozklad N výpočetně neprovedtelný - každá entta vlastní modulus N, protože prozrazení D, E dovolí rozklad modulu - z důvodů efektvty volen často malý šfrovací exponent, např. E=3 - pokud je malý exponent E a posílám šfrovanou zprávu více enttám, provedu c_ = pˆe mod n_, z toho se ale dá zjstt pˆe, pak stačí E-tou odmocnnu - nejlepší aby p byla náhodná data atd. Správnou volbou parametrů se zabývá [AC], kap. 4.1 až 4.4. * v prax se většnou používá pro dstrbuc klíčů pro jednu relac (klíč jsou náhodná data), relace pak proběhne symetrckým algortmem