Problematika převodu zprávy na body eliptické křivky

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

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

Pokročilá kryptologie

Eliptické křivky a RSA

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

ElGamal, Diffie-Hellman

Složitost a moderní kryptografie

asymetrická kryptografie

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra telekomunikační techniky. 7.přednáška. Kryptosystémy veřejného klíče II

C5 Bezpečnost dat v PC

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

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

Přínos teorie eliptických křivek k řešení moderních kryptografických systémů

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

KRYPTOGRAFIE VER EJNE HO KLI Č E

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

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

Kvantové algoritmy a bezpečnost. Václav Potoček

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

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

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

ČESKÁ TECHNICKÁ NORMA

Vzdálenost jednoznačnosti a absolutně

Komerční výrobky pro kvantovou kryptografii

České vysoké učení technické v Praze Fakulta elektrotechnická Katedra telekomunikační techniky Asymetrické kryptosystémy I

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

Asymetrická kryptografie

SOFTWAROVÁ PODPORA VÝUKY KRYPTOSYSTÉMŮ ZALOŽENÝCH NA ELIPTICKÝCH KŘIVKÁCH

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

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. Mgr. Martin Henzl Mgr. Radim Janča ijanca@fit.vutbr.cz

Kvantová informatika pro komunikace v budoucnosti

Informatika / bezpečnost

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

Diskrétní logaritmus

DNSSEC: implementace a přechod na algoritmus ECDSA

Jak funguje asymetrické šifrování?

příklad Steganografie Matematické základy šifrování šifrování pomocí křížů Hebrejské šifry

ELIPTICKÉ KŘIVKY V KRYPTOGRAFII

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

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

Miroslav Kureš. Aplikovaná matematika Ostravice workshop A-Math-Net Sít pro transfer znalostí v aplikované matematice

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

Osnova přednášky. Seznámení s asymetrickou kryptografií, díl 1. O pojmu bezpečnost Poznámka o hodnocení kryptografické bezpečnosti.

MFF UK Praha, 22. duben 2008

O čem byl CHES a FDTC? Jan Krhovják Fakulta informatiky Masarykova univerzita v Brně

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

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

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

Úvod RSA Aplikace, související témata RSA. Ing. Štěpán Sem Festival Fantazie, Štěpán Sem

Pokročilá kryptologie

KRYPTOGRAFICKÉ SYSTÉMY NAD ELIPTICKÝMI KŘIVKAMI

7. Rozdělení pravděpodobnosti ve statistice

3. Aritmetika nad F p a F 2

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

MODERNÍ ASYMETRICKÉ KRYPTOSYSTÉMY

KRYPTOGRAFICKÝ PROTOKOL VÝMĚNY KLÍČŮ DIFFIE-HELLMAN

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

Datové struktury 2: Rozptylovací tabulky

BEZPEČNOST INFORMACÍ

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

Kryptografie - Síla šifer

Bezpečnostní mechanismy

Od Enigmy k PKI. principy moderní kryptografie T-SEC4 / L3. Tomáš Herout Cisco. Praha, hotel Clarion dubna 2013.

Řetězové zlomky. již čtenář obeznámen. Důraz bude kladen na implementační stránku, protože ta je ve

Logaritmické a exponenciální funkce

BEZPEČNOST IS. Ukončení předmětu: Předmět je zakončen zkouškou sestávající z písemné a doplňkové ústní části.

Testování prvočíselnosti

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY SOFTWAROVÁ PODPORA VÝUKY KRYPTOSYSTÉMŮ ZALOŽENÝCH NA PROBLÉMU DISKRÉTNÍHO LOGARITMU

Obsah. Protokol RSA. Protokol RSA Bezpečnost protokolu RSA. 5. a 6. přednáška z kryptografie

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.

5. a 6. přednáška z kryptografie

19. a 20. přednáška z kryptografie

1 Tyto materiály byly vytvořeny za pomoci grantu FRVŠ číslo 1145/2004.

Úvod do mobilní robotiky NAIL028

Matematika IV - 5. přednáška Polynomy

3.3. EXPONENCIÁLNÍ A LOGARITMICKÁ ROVNICE A NEROVNICE

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

metodou Monte Carlo J. Matěna, Gymnázium Českolipská, Praha

Riemannova hypotéza Martin Havlík 2. A

Matematika IV - 5. přednáška Polynomy

Konstrukce šifer. Andrew Kozlík KA MFF UK

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

Nerovnice. Vypracovala: Ing. Stanislava Kaděrková

Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách

Informatika Ochrana dat

8 Střední hodnota a rozptyl

Chyby měření 210DPSM

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

Tel.: (+420)

Změna algoritmu podepisování zóny.cz. Zdeněk Brůna

4. Teorie informace, teorie složitosti algoritmů. doc. Ing. Róbert Lórencz, CSc.

MINIMÁLNÍ POŽADAVKY NA KRYPTOGRAFICKÉ ALGORITMY. doporučení v oblasti kryptografických prostředků

Téma 22. Ondřej Nývlt

Náhodná veličina a její charakteristiky. Před provedením pokusu jeho výsledek a tedy ani sledovanou hodnotu neznáte. Proto je proměnná, která

Poznámky k předmětu Aplikovaná statistika, 4. téma

SIM karty a bezpečnost v mobilních sítích

Poznámky k předmětu Aplikovaná statistika, 4. téma

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

Transkript:

Problematika převodu zprávy na body eliptické křivky Ing. Filip Buršík Ústav telekomunikací Fakulta elektrotechniky a komunikačních technologií Vysoké Učení Technické v Brně Purkyňova 118, 612 00 Brno, Czech Republic fbursik@gity.cz V dnešní době se v asymetrické kryptografii stále více prosazuje použití eliptických křivek. Cílem tohoto článku je popsat jeden z možných algoritmů převodu zprávy na body eliptické křivky, bez kterého se nelze při nasazení eliptických křivek obejít. Algoritmus je dále podroben testům na reálných křivkách doporučených organizací ECC Brainpool. 1 Úvod V dnešní době je kryptografie součástí běžného života. Má uplatnění jak v profesním, tak i v soukromém životě. Kryptografie se zabývá převodem otevřeného textu na kryptogram a následným dešifrováním do původní podoby. Existují dva základní typy kryptografických algoritmů : 1. Symetrické algoritmy pro šifrování a dešifrování se používají rozdílné klíče, kde dešifrovací klíč lze v reálném čase odvodit z klíče použitého pro šifrování. 2. Asymetrické algoritmy - pro šifrování a dešifrování se používají rozdílné klíče (tajný klíč, veřejný klíč), kde tajný klíč nelze v reálném čase z veřejného odvodit. Typickým představitelem asymetrických kryptosystémů je algoritmus RSA, jehož síla spočívá v problému řešení úlohy faktorizace velkého přirozeného čísla na součin dvou prvočísel. K tomu, aby použitý kryptosystém byl dostatečně bezpečný vůči útokům hrubou silou, je třeba stanovit dostatečnou délku klíče. V dnešní době se u algoritmu RSA za bezpečné považuje délka klíče 1024 b (v závislosti na typu aplikace), ale s rostoucím výkonem počítačů můžeme očekávat, že pro zachování stupně bezpečnosti bude muset délka klíče růst. Udává se [7], že v roce 2010 vzroste délka klíče přibližně dvojnásobně na 2048 b, což bude mít neblahé následky na náročnost implementace. Z tohoto důvodu se hledají nové algoritmy, které jsou založené na úloze s vyšší složitosti řešení, kterou musí útočník překonat. V dnešní době se stále více prosazuje použití eliptických křivek v kryptografii i přes překážky při jejich nasazení. Jednou z nich je problém, jak co nejefektivněji převést zprávu na body eliptické křivky. 2 Obecně o eliptických křivkách Využití eliptických křivek v kryptografii má svoje počátky již v roce 1985, kdy pánové V. Miller a N. Koblitz nezávisle na sobě použili teorii eliptických křivek v systémech s veřejným klíčem, kde je modulární aritmetika nahrazena operacemi definovanými nad eliptickou křivkou. Stejně jako v jiných systémech s veřejným klíčem, tak i systémy 32-1

eliptických křivek spoléhají na výpočetně těžký problém. Mějme dva body na eliptické křivce P a Q takové, že P = k * Q, kde celá bezpečnost je postavena na problému nalezení čísla k. Tomuto problému se říká problém diskrétního logaritmu nad eliptickou křivkou a jeho řešení pro speciální množinu křivek má exponenciální složitost. Ve srovnání s algoritmem RSA založeným na problému faktorizace čísla, dosahuje řešení s eliptickými křivkami mnohem kratších klíčů při srovnatelné bezpečnosti. Z tohoto hlediska mají eliptické křivky velkou budoucnost. V tab. I je srovnání délek klíčů. Jak je vidět, eliptické křivky mají nepoměrně kratší klíče, jejichž délka se dokonce blíží symetrickým šifrám. Symetrická šifra Eliptické křivky RSA 56 112 512 64 128 768 80 163 1024 112 224 2048 128 283 3072 192 409 7680 256 571 15360 Tab. I : Porovnání délek klíčů při srovnatelné bezpečnosti Pro podporu vývoje kryptografie nad eliptickými křivkami společnost CERTICOM sponzoruje prolomení eliptických křivek s různými délkami klíčů. Do této soutěže se může přihlásit každý, kdo má k dispozici značně velké množství přebytečného výpočetního výkonu. Pro představu k prolomení křivky se 109-bitovými parametry nad prvočíselným tělesem (v tab. II uvedená jako ECCp-109) potřeboval Chris Monico a jeho tým matematiků z Notre Dame v roce 2002 10 000 počítačů, které byly v provozu nepřetržitě 549 dní. V tab. II je přehled křivek, které již byly prolomeny a které ještě odolávají a příslušná odměna, která čeká na jejich přemožitele. Tab.II : přehled eliptických křivek nad F(p) 32-2

Výše uvedené vlastnosti eliptických křivek jsou velmi výhodné, ale existují i problémy, které se musí řešit při jejich implementaci. Jedním z nich je problém, jak převést data, která mají být šifrována, na eliptickou křivku. V následující kapitole je popsán algoritmus podle N. Koblize, který daný problém řeší. 3 Převod zprávy na body eliptické křivky Pokud je k šifrování použito eliptických křivek, jedním z prvních kroků musí být převod dat, která mají být šifrována, na body eliptické křivky tak, aby příjemce byl schopen z obdržených bodů zpětně zprávu rekonstruovat. Není to proces jednoduchý. To dokládá i fakt, že zatím nebyl nalezen deterministický algoritmus, který by převod realizoval v polynomiálním čase. Ale existuje alternativa, která má pravděpodobnostní charakter a využívá faktu, že hustota bodů eliptické křivky je téměř rovnoměrně rozložena. Předpokladem je, že se zpráva m jednoduchým způsobem vztahuje k x-souřadnici bodu. 3.1 Nalezení kořenů rovnice y 2 = f(x) Převod zprávy na body eliptické křivky neznamená jejich šifrování, ale jde o jednoduché zakódování dat na danou eliptickou křivku E definovanou nad konečným tělesem F(p). Obecná rovnice eliptické křivky má tvar : E : y 2 = x 3 + ax + b. (1) Po převedení pravé strany do jednodušší formy f(x) dostaneme tvar : y 2 = f(x). (2) Klíčovým místem převodu je právě rozhodnutí, zda rovnice (2) má pro dané x řešení (existuje y) a pokud ano, tak jej nalézt. Nalezení kořene kvadratické rovnice (2) popsal H. Cohen [6] následujícím způsobem: Mějme p, které je náhodné prvočíslo a f(x) je kvadratické reziduum [5], potom existuje y takové, že y 2 f(x)(mod p). V konečném tělese F(p), kde p vyhovuje vztahu p 3 (mod 4), má řešení tvar : y = f(x) (p+1)/4 (mod p). (3) 3.2 Algoritmus převodu zprávy m na body eliptické křivky podle N.Koblitze [1] 1. Mějme prvočíslo p, pro které platí p 3 (mod 4) a eliptickou křivku E : y 2 = x 3 + ax + b. 2. Zvolme číslo K takové, že 1/2 K vyjadřuje pravděpodobnost chyby při převodu. V praxi se volí K=30 nebo K=50. 3. Zpráva je z množiny {m F p m < (p-k)/k} 32-3

4. Od j = 0,1,2,, K-1 Nastav x j podle vztahu : x j = m*k + j Spočítej: w j = x j 3 + ax j + b (výpočet rovnice eliptické křivky,pro jednodušší zápis je nahrazeno y 2 veličinou w ) a z j = w j (p+1)/4 (mod p) (výpočet kořene kvadratické rovnice y 2 = f(x)) Pokud z j 2 = w j (w j je kvadratické reziduum mod p), potom (x j,z j ) je bod na eliptické křivce E, který reprezentuje zprávu m, jinak zvyš j o jednu a výpočet opakuj. Pokud j (1,2,,K-1) nevyhovuje, bod reprezentující zprávu m nenalezen. Pravděpodobnost, že se převod nepovede je 1/2 K, což pro používaná K je velmi malá. 5. Z bodu (x,y) dekódujeme zprávu m vztahem m = x/k Eliptická křivka E nad F p y 2 = x 3 + ax + b Zvolení x i, které odpovídá vztahu x i = mk + j Jednotka zprávy m, j=1 Výpočet rovnic w i = x i 3 + ax i + b z i = w i (p+1)/4 (mod p) Zvětšení j o 1 NE Je w i kvadratické reziduum (z i 2 = w i ) ANO y = z i P(x,y) je bod na eliptické křivce E, který reprezentuje zprávu m 32-4

Obr.1 : Graficky znázorněný algoritmus pro nalezení bodu na křivce E Pro popsání algoritmu byla vybrána eliptická křivka nad prvočíselným tělesem Fp, kde p je velké prvočíslo, protože je pro popis jednodušší. V praxi se dále používá těleso F2m, které obsahuje všechny m-tice bitů a pro počítačové zpracování je vhodnější. V současnosti se používají obě tělesa, neboť každé z nich má své nesporné výhody. 4 Testování 4.1 Doporučené eliptické křivky Generování eliptických křivek, není tak jednoduchý proces, protože nově vygenerované křivky se musí podrobit důkladným statistickým testům. Aby každý, kdo chce využit eliptických křivek, nemusel tento proces absolvovat, organizace, které se zabývají touto oblastí kryptografie dávají k dispozici kvalitní prověřené křivky, které splňují mezinárodní standardy. Pro testy byly zvoleny eliptické křivky, které jsou k dispozici na stránkách organizace ECC Brainpool, délek 160 b,192 b,224 b,256 b,320 b,384 b,512 b, které vyhovují standardům ETSI, ANSI, NIST, a SecG. 4.2 Výsledky testování Ke každé křivce bylo vygenerováno deset tisíc x-ových souřadnic a k nim byly dopočítávány y-ové souřadnice podle výše popsaného algoritmu. Bylo zkoumáno, kolik se k x-ové souřadnici musí přičíst (počet cyklů algoritmu), aby vyhovovala eliptické křivce. V tab.iii jsou všechny testované křivky. Ke každé křivce jsou uvedeny dva údaje. První udává kolik se muselo přičíst v nejhorším případě a druhý udává kolik se průměrně musí přičíst ke každé x-ové souřadnici aby byla nalezena y-ová. Velikost parametrů [b] 160 192 224 256 320 384 512 Max. počet cyklů 12 12 17 15 18 15 12 Průměrný počet cyklů 1,9739 2,0034 1,9816 1,9968 2,0008 2,0147 1,9758 Tab. III : Testované křivky Na obr.2 je graficky znázorněný průběh testu pro křivku se 160-bitovými parametry. Počet testu je omezen na tisíc, aby byl graf přehlednější. Z grafu je vidět, že v nejhorším případě se musela přičíst hodnota 10, naopak v některých případech náhodně vygenerovaná hodnota vyhovovala, aniž by se musela nějak upravovat. 32-5

Obr.2 : Graficky znázorněný test křivky brainpoolp192r1 V algoritmu se definuje chyba při převodu 1/2 K a K se obvykle volí 30. Z podstaty algoritmu je patrné, že hodnota K udává počet možných cyklů pro jednu souřadnici (maximálně se může přičíst 30). Pokud by mezi třiceti možnostmi žádná nevyhovovala, potom jednotka zprávy nelze na danou křivku zakódovat. 5 Závěr Použití eliptických křivek je velice nadějný směr kryptografie. Díky svým dobrým vlastnostem proniká do důležitých světových standardů jako ANSI, ISO nebo IEFT. Širokému nasazení těchto nástrojů nic nebrání. Mají své výhody zejména v rychlosti a menší náročnosti na hardware i software. Další výhodou je, že fakticky všechna již známá použití v systémech na bázi diskrétního logaritmu lze převést do systémů na bázi eliptických křivek, což dokládá např. převod DSA na ECDSA. Nesmí se ale zapomínat na některé problémy, které se při implementaci řeší a nejsou úplně triviální, jako popsaný převod zprávy na body eliptické křivky. V nejhorším případě výše popsaný algoritmus N. Koblitze provedl 18 cyklů, než našel ke zvolené x-ové souřadnici y-ovou. Tento článek vznikl za podpory Ministerstva průmyslu a obchodu ČR v rámci řešení projektu evid. č. FT-TA3/121. Reference [1] N. Koblitz, A Course in Number Theory and Cryptography, Springer, 1994. [2] http://www.certicom.com/content/live/resources/docs/wp-eccprimer.pdf 32-6

[3] http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf [4] V. Klíma, Eliptické křivky a šifrování, Chip 9/2002, str. 134-136 [5] H.Cohen, A course in computational Algebraic numer Tudory, Springer-Verlag, New York, 1995. [6] Pollard J., Monte Carlo methods for index computation mod c. Mathematics of Computation, 32 (1978). http://www.scienceworld.cz/sw.nsf/id/49552a09b436b5a8c125728300570f7f?opendocu ment&cast=1 32-7