Az RSA és az ECC gyakorlati



Hasonló dokumentumok
Nyilvános kulcsú kriptográfia

Hírek kriptográfiai algoritmusok biztonságáról

Data Security: Public key

Sapientia Egyetem, Matematika-Informatika Tanszék.

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

KÓDOLÁSTECHNIKA PZH december 18.

Készítette: Fuszenecker Róbert Konzulens: Dr. Tuzson Tibor, docens

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Sapientia Egyetem, Matematika-Informatika Tanszék.

Kriptográfia I. Kriptorendszerek

Tanúsítási jelentés HUNG-TJ amely a HUNG-E számí értékelési jelentésen alapul.

Diszkrét matematika I.

Kriptográfiai algoritmus implementációk időalapú támadása Endrődi Csilla, Csorba Kristóf BME MIT

Best of Criptography Slides

h a t á r o z a t o t.

Elliptikus görbe kriptorendszerek II. rész

2018, Diszkre t matematika. 10. elo ada s

Nyilvános kulcsú rendszerek a gyakorlatban

Diszkrét matematika 2.

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

TANÚSÍTVÁNY. tanúsítja, hogy a E-Group Magyarország Rt. által kifejlesztett és forgalmazott. Signed Document expert (SDX) Professional 1.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

kulcsú kriptográfiai rendszereknél.

RSA algoritmus. P(M) = M e mod n. S(C) = C d mod n. A helyesség igazoláshoz szükséges számelméleti háttér. a φ(n) = 1 mod n, a (a 1,a 2,...

Electronic Passports. Varga Tamás

Adatbiztonság. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Adatbiztonság / 22

Szimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)

TANÚSÍTVÁNY. tanúsítja, hogy a Polysys Kft. által kifejlesztett és forgalmazott

TANÚSÍTVÁNY. tanúsítja, hogy a. Giesecke & Devrient GmbH, Germany által előállított és forgalmazott

Titkosítás NetWare környezetben

Az adatfeldolgozás és adatátvitel biztonsága. Az adatfeldolgozás biztonsága. Adatbiztonság. Automatikus adatazonosítás, adattovábbítás, adatbiztonság

Számítógépes Számelmélet

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

Assembly. Iványi Péter

IP alapú távközlés. Virtuális magánhálózatok (VPN)

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

TANÚSÍTVÁNY HUNGUARD tanúsítja, SafeNet Inc. ProtectServer Gold

Modern szimmetrikus kulcsú rejtjelezők kriptoanalízise

Számítógép-rendszerek fontos jellemzői (Hardver és Szoftver):

Csoportos üzenetszórás optimalizálása klaszter rendszerekben

IT BIZTONSÁGTECHNIKA. Tanúsítványok. Nagy-Löki Balázs MCP, MCSA, MCSE, MCTS, MCITP. Készítette:

Rendszermodernizációs lehetőségek a HANA-val Poszeidon. Groma István PhD SDA DMS Zrt.

VBD , VBD

5.1 Környezet Hálózati topológia

Függvények növekedési korlátainak jellemzése

Simon Balázs Dr. Goldschmidt Balázs Dr. Kondorosi Károly. BME, Irányítástechnika és Informatika Tanszék

Számrendszerek Feladat. Számrendszerek. Németh Bence május 13.

TANÚSÍTVÁNY. Időbélyegzés szolgáltatás keretén belül: Időbélyegző aláíró kulcsok generálására, tárolására, időbélyegző aláírására;

Prímtesztelés, Nyilvános kulcsú titkosítás

4. Fejezet : Az egész számok (integer) ábrázolása

TANÚSÍTVÁNY. tanúsítja, hogy a Utimaco Safeware AG által kifejlesztett és forgalmazott

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Teljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20

FELÜLVIZSGÁLATI JEGYZŐKÖNYV (E-DS10F1_TANF-SW) MELLÉKLETE

ncipher nshield Solo termékismertető

Cloud Akkreditációs Szolgáltatás indítása CLAKK projekt. Kozlovszky Miklós, Németh Zsolt, Lovas Róbert 9. LPDS MTA SZTAKI Tudományos nap

Webalkalmazás-biztonság. Kriptográfiai alapok

A Szekszárdi I. Béla Gimnázium Helyi Tanterve

TANÚSÍTVÁNY. Időbélyegzés szolgáltatás keretén belül: Időbélyegző aláíró kulcsok generálására, tárolására, időbélyegző aláírására;

Data Security: Access Control

Számítógép felépítése

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

(11) Lajstromszám: E (13) T2 EURÓPAI SZABADALOM SZÖVEGÉNEK FORDÍTÁSA

Digitális aláírás: együttműködésre képes és biztonságos alkalmazások

megtalálásának hihetetlen nehéz voltán alapszik. Az eljárás matematikai alapja a kis FERMAT-tétel egy következménye:

λx f 1 (x) e λx f 2 (x) λe λx f 2 (x) + e λx f 2(x) e λx f 2 (x) Hasonlóan általában is elérhető sorműveletekkel, hogy csak f (j)

TANÚSÍTVÁNY (E-MS03T_TAN.SW) MELLÉKLETE

Ellátási lánc optimalizálás P-gráf módszertan alkalmazásával mennyiségi és min ségi paraméterek gyelembevételével

Data Security: Access Control

Új módszerek és eszközök infokommunikációs hálózatok forgalmának vizsgálatához

Tanúsítási jelentés. Hung-TJ az nshield F3 PCI, az nshield F3 Ultrasign PCI és az nshield F3 Ultrasign 32 PCI kriptográfiai adapter

Ha összejön Like...

TANÚSÍTVÁNY. nshield 500, nshield 500 for nethsm, és nshield Lite

Specifikáció alapú teszttervezési módszerek

Hitelesítés elektronikus aláírással BME TMIT

Véletlenszám generátorok és tesztelésük HORVÁTH BÁLINT

1.1 Szakdolgozat témája A Program célja A használt technológiák ismertetése A program megtervezése...

Informatikai Rendszerek Alapjai

Specifikáció alapú teszttervezési módszerek

A számítógép egységei

Rusznák Demeter. Az elliptikus görbékkel való titkosítás néhány matematikai kérdése. Eötvös Loránd Tudományegyetem Természettudományi Kar.

Az Outlook levelező program beállítása tanúsítványok használatához

Biztonsági folyamatirányító. rendszerek szoftvere

TANÚSÍTVÁNY. tanúsítja, hogy a. MÁV INFORMATIKA Kft. által kifejlesztett és forgalmazott. DSign UI 1.6. aláíró alkalmazás

Norway Grants. Az akkumulátor mikromenedzsment szabályozás - BMMR - fejlesztés technológiai és műszaki újdonságai. Kakuk Zoltán, Vision 95 Kft.

I. A DIGITÁLIS ÁRAMKÖRÖK ELMÉLETI ALAPJAI

Feladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat április 13. Például (bemenet/pelda.

Dr. Beinschróth József Kriptográfiai alkalmazások, rejtjelezések, digitális aláírás

Ahol a kvantum mechanika és az Internet találkozik

Számelméleti alapfogalmak

TANÚSÍTVÁNY. tanúsítja, hogy az. Eracom Technologies Group, Eracom Technologies Australia, Pty. Ltd által előállított és forgalmazott

Emlékeztet! matematikából

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

Data Security: Protocols Integrity

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

Véges állapotú gépek (FSM) tervezése

Flynn féle osztályozás Single Isntruction Multiple Instruction Single Data SISD SIMD Multiple Data MISD MIMD

Átírás:

SZTAKI, Kriptográfia és alkalmazásai szeminárium SZTAKI, Kriptográfia és alkalmazásai szeminárium 2002. május 21. Az RSA és az ECC gyakorlati összehasonlítása Endrődi Csilla BME MIT Ph.D. hallgató csilla@mit.bme.hu

Előadásvázlat! Nyilvános kulcsú algoritmusok Létező algoritmusok RSA ECC! Az elemzés bemutatása A mérés bemutatása Az összehasonlítás bemutatása Szoftver implementáció A mérési környezet bemutatása! Összehasonlító elemzés Közös paraméterek felállítása és kulcsgenerálás Kódolás és dekódolás Aláírás és aláírás ellenőrzés! Összefoglalás, értékelés! Érdekesség! Irodalmak

Nyilvános kulcsú algoritmusok Létezik több nyilvános kulcsú algoritmus. Alapul szolgáló nehéz problémák:! Egész számok faktorizációja (IFP)! Diszkrét logaritmus probléma (DLP)! Elliptikus görbéken alapuló diszkrét log. pr. (ECDLP)! Rács redukció! egyebek Funkciók:! Kulcsegyeztetés! Rejtjel protokollok! Digitális aláírás! Anonimitási protokollok! stb. 3.

Nyilvános kulcsú kriptográfiai algoritmusok DLP-n alapuló algoritmusok:! Diffie-Hellmann Key Agreement (DH)! Diffie-Hellmann Key Agreement (DH2)! El-Gamal Encryption Scheme! Menezes-Qu-Vanstone (MQV)! Efficient Compact Subgroup Trace Representation (XTR)! Digital Signature Algorithm (DSA)! BlumGoldwasser! Zheng-Seberry! Ballare-Rogaway! Nyberg-Rueppel Signature Scheme! Schnorr 4.

Nyilvános kulcsú kriptográfiai algoritmusok IFP-n alapuló algoritmusok:! RSA! Rabin-Williams ECDLP-n alapuló algoritmusok:! Elliptic Curve Diffie-Hellmann Key Agreement (ECDH)! Elliptic Curve Menezes-Qu-Vanstone (ECMQV)! Elliptic Curve Integrated Encryption Scheme (ECIEC)! Elliptic Curve Digital Signature Algorithm (ECDSA)! Elliptic Curve Nyberg-Rueppel (ECNR) Egyéb:! LUCDIF! Merkle-Hellmann! LUCELG! Chor-Rivest! McEliece! LUCRSA! NTRU Az alkalmazások döntő többsége mégis az RSA-t használja. 5.

Nyilvános kulcsú kriptográfiai algoritmusok RSA algoritmus (1978) Kulcsgenerálás: p, q prímek; m = p*q Φ(m) = (p-1) * (q-1) e tetszőleges: 1 e Φ(m); (e, Φ(m)) = 1 Nyilvános kulcs: (e, m) Titkos kulcs: (d, m) Kódoló függvény: E(x) = x e mod m;! x < m; Dekódoló függvény: D(y) = y d mod m! Negyed évszázada nem sikerült megtörni! Biztonsága nem bizonyított! Egyszerű, szép matematikai háttér: modulo aritmetika! Az RSA Security Inc. szabadalma alatt állt 2000. szept. 20-ig! A legelterjedtebb használt nyilvános kulcsú algoritmus RSA! Tipikus paraméterek: modulus: 512-4096 bites; ajánlott: 1024 bites! Alkalmazott gyorsítás: e kicsire választása (e = 65537 = 10001h)! A maximális kódolható méretet a modulus határozza meg 6.

Nyilvános kulcsú kriptográfiai algoritmusok Az elliptikus görbék Elliptikus görbe általános alakja: F = valós esetben: y 2 = x 3 + ax + b x, y, a, b R ECC y 2 + axy + by = x 3 + cx 2 + dx + e x, y, a, b, c, d, e F Az elliptikus görbe pontjai az egyenletet kielégítő (x, y) pontok: E(F). A görbe pontjai csoportot alkotnak egy megfelelően választott művelettel. A 0 is tagja a csoportnak. A 0 a neutrális elem. Kriptgráfiai jelentősége a véges testek feletti elliptikus görbéknek van. 7.

Nyilvános kulcsú kriptográfiai algoritmusok Az elliptikus görbék Elliptikus görbe általános alakja: F = valós esetben: y 2 = x 3 + ax + b x, y, a, b R ECC y 2 + axy + by = x 3 + cx 2 + dx + e x, y, a, b, c, d, e F Az elliptikus görbe pontjai az egyenletet kielégítő (x, y) pontok: E(F). A görbe pontjai csoportot alkotnak egy megfelelően választott művelettel. A 0 is tagja a csoportnak. A 0 a neutrális elem. Kriptgráfiai jelentősége a véges testek feletti elliptikus görbéknek van. 7.

Nyilvános kulcsú kriptográfiai algoritmusok Az elliptikus görbék Elliptikus görbe általános alakja: F = valós esetben: y 2 = x 3 + ax + b x, y, a, b R ECC y 2 + axy + by = x 3 + cx 2 + dx + e x, y, a, b, c, d, e F Az elliptikus görbe pontjai az egyenletet kielégítő (x, y) pontok: E(F). A görbe pontjai csoportot alkotnak egy megfelelően választott művelettel. A 0 is tagja a csoportnak. A 0 a neutrális elem. Kriptgráfiai jelentősége a véges testek feletti elliptikus görbéknek van. 7.

Nyilvános kulcsú kriptográfiai algoritmusok Az elliptikus görbék Elliptikus görbe általános alakja: F = valós esetben: y 2 = x 3 + ax + b x, y, a, b R ECC y 2 + axy + by = x 3 + cx 2 + dx + e x, y, a, b, c, d, e F Az elliptikus görbe pontjai az egyenletet kielégítő (x, y) pontok: E(F). A görbe pontjai csoportot alkotnak egy megfelelően választott művelettel. A 0 is tagja a csoportnak. A 0 a neutrális elem. Kriptgráfiai jelentősége a véges testek feletti elliptikus görbéknek van. 7.

Nyilvános kulcsú kriptográfiai algoritmusok Az elliptikus görbék Elliptikus görbe általános alakja: F = valós esetben: y 2 = x 3 + ax + b x, y, a, b R ECC y 2 + axy + by = x 3 + cx 2 + dx + e x, y, a, b, c, d, e F Az elliptikus görbe pontjai az egyenletet kielégítő (x, y) pontok: E(F). A görbe pontjai csoportot alkotnak egy megfelelően választott művelettel. A 0 is tagja a csoportnak. A 0 a neutrális elem. Kriptgráfiai jelentősége a véges testek feletti elliptikus görbéknek van. 7.

Nyilvános kulcsú kriptográfiai algoritmusok Az elliptikus görbék Elliptikus görbe általános alakja: F = valós esetben: y 2 = x 3 + ax + b x, y, a, b R ECC y 2 + axy + by = x 3 + cx 2 + dx + e x, y, a, b, c, d, e F Az elliptikus görbe pontjai az egyenletet kielégítő (x, y) pontok: E(F). A görbe pontjai csoportot alkotnak egy megfelelően választott művelettel. A 0 is tagja a csoportnak. A 0 a neutrális elem. Kriptgráfiai jelentősége a véges testek feletti elliptikus görbéknek van. 7.

Nyilvános kulcsú kriptográfiai algoritmusok Véges test feletti elliptikus görbe: ECC y 2 + axy + by = x 3 + cx 2 + dx + e x, y, a, b, c, d, e GF(q) Gyakorlati jelentősége a GF(2n) és a GF(p) feletti ellipt. görbéknek van. Példa egy véges test feletti elliptikus görbére: y 2 = x 3-2x 2 (mod 5) A modulo 5 síknak összesen 5*5 = 25 pontja van. A görbének 10 pontja van: (0,0), (1,2), (1,3), (2,2), (2,3), (3,1), (3,4), (4,1), (4,4), 0 8.

Nyilvános kulcsú kriptográfiai algoritmusok ECC algoritmus (1985-) ECC Közös paraméterek: E(K) elliptikus görbe, B bázispont Titkos kulcs: k; véletlen szám; k < csoport rendje Nyilvános kulcs: P (= B B B = k"b) Kódoló függvény: E(M) = (Y 1, Y 2 ); Y 1 = r"b; Y 2 = M r"(k"b); r véletlen egész Dekódoló függvény: D(Y 1, Y 2 ) = Y 2 (-) k" Y 1! Viszonylag fiatal! Bonyolultabb matematikai háttér: ell. görbék pontjain ért. csop.! Az ellene használható törő algoritmusok is lassabban működnek Adott biztonsági szint eléréséhez sokkal kisebb kulcsméretre van szükség, mint az RSA-nál, vagyis az egy kulcsbitre jutó biztonság értéke nagyobb.! Paraméterek:! Kulcsméret: 110-570 bites; ajánlott: 160 bites.! Közös paraméterek: ajánlások (ANSI, Certicom)! Alkalmazott gyorsítás: Előszámított táblák B-re és P-re. 9.

Nyilvános kulcsú kriptográfiai algoritmusok Különbségek A különböző nyilvános kulcsú rendszerek ugyanazokat a funkciókat valósítják meg, de nem teljesen csereszabatosak. Különbség:! Inkompatibilis paraméterek (nyilv.-titk. kulcspár, közös param.)! Ismert legjobb általános törő algoritmus költsége Emiatt:! Különböző működési jellemzők! Eltérő korlátok Összehasonlítás: Nem csak a kis kulcsméret számít. Lényegesek lehet az algoritmusok használata során tapasztalható hatékonysági jellemzők és működési korlátok is. Az algoritmusok inkompatíbilitása az összehasonlításnál nehézséget jelent. 10.

Az elemzés bemutatása A mért adatok: az ECC-nél és az RSA-nál a - kulcsgenerálás - közös paramétereinek felállítása - kódolás - dekódolás - aláírás - aláírás ellenőrzés során a futási idők valamint a műveletek során létrejövő adatok mérete, vagyis a: - környezeti paraméterfile-ok mérete, - nyilvános és titkos kulcsfile-ok mérete, - kódolt adatfile-ok mérete, - aláírásfile-ok mérete. 11.

Az elemzés bemutatása A mérés bemutatása Az eredmények függenek az aktuális paraméterválasztástól: - az alkalmazott kulcs méretétől, - a bemeneti adat méretétől és tartalmától, - RSA-nál az exponens értékétől, - ECC-nél az alapul szolgáló csoport típusától (GF(2n) vagy GF(p) ), - ECC-nél előszámított táblázat használatától.! Összefüggések feltérképezése: minden paramétertől való függést külön-külön kell vizsgálni.! Sokféle paraméter és ezek változatos, értelmes kombinációi: ECC esetében kb. 4000, RSA esetében több, mint 2000 mérés elvégzése. 12.

Az elemzés bemutatása Az összehasonlítás bemutatása Az algoritmusok inkompatíbilisek. A összehasonlításhoz mégis valamilyen megfeleltetés kell. (1) Kulcsok mérete: Kulcsméret ~ biztonsági szint.! Azonos biztonságot nyújtó kulcsméretek mellett.! Adott művelet milyen kulcsméret mellett ad azonos eredményt Azonos biztonságot nyújtó kulcsméretek Biztonsági szint ~ legjobb általános törő algoritmus gyorsasága RSA: szubexponenciális ECC: tisztán exponenciális Összerendelés: Nemzetközileg elfogadott adatok alapján. RSA (bit) ECC (bit) 512 113 768 136 1024 160 2048 282 4096 409 13.

Az elemzés bemutatása Az összehasonlítás bemutatása (2) Algoritmus típusok:! ECC-nél és az RSA-nál is többféle típus RSA: exponens értéke ECC: alapul szolgáló csoport típusa! Befolyással vannak a hatékonysági adatokra! Ezek között nem létesíthető értelmes megfeleltetés! Az algoritmusok egy-egy további típusaként kell őket kezelni. Összehasonlításkor mindegyik típust meg kell vizsgálni. RSA: Az exponens függvényében 3 releváns eset e = 3; e = 65537; e = véletlen. ECC: Az alapul szolgáló csoport típusától függően 3 lényegesen különböző eset. GF(p); GF(2 n ) trinomiális; GF(2 n ) pentanomiális. 14.

Az elemzés bemutatása Választott szoftver implementáció: Szoftver implementáció Crypto++! Nyílt forráskódban elérhető! Tartalmazza az ECC és RSA szükséges algoritmusait is! 1995 óta folyik a fejlesztése! Széles felhasználói kör! Sok kriptográfiai algoritmus implementációját tartalmazza a nemzetközileg elfogadott specifikációknak megfelelően (IEEE P1363, X.509, SEC1, SEC2 stb.). Közös implementációs forrás lényeges szempont! Különböző programnyelvek, különböző optimalizálások, különböző programozói módszerek hatásának kiküszöbölése. 15.

Az elemzés bemutatása A mérési környezet bemutatása A teszteléshez használt szoftver: Szoftver keretrendszer: C++ nyelven, Microsoft Visual C++ 6.0 Crypto++ 4.1-es verziója - Parancssorból paraméterezhető (kriptográfiai művelet, bemeneti paraméterek, kimenetek megadása, ismétlési szám) - Futtatás batch file-ok segítségével - Mérési eredmények: text file Microsoft Excel-el elemezve Hardver és szoftver környezet: PC: - Intel Celeron 450 MHz processzor - 128 KB synchronous write-back L2 On-board cache - 192 MB memória - 75 MHz memory bus speed - 75 MHz FSB Windows 98 (version 4.10.1998) operációs rendszer 16.

Összehasonlító elemzés I. Közös paraméterek és kulcsgenerálás Futási idők RSA - Kritikus pont a prím előállítása. Módszer: Véletlen szám előáll., prímtesztelés. Valószínűségi alapon fogadunk el. Futási idő nem állandó, esetenként igen nagy lehet. - A kulcsgenerálás idejei exponenciális eloszlást mutatnak. - Függ a kulcsmérettől, nem függ az exponens választástól. - Futási idők: 0,2 s - 14 perc. Jellemző érték: 2,8 s (1024 bit). ECC - Új közös paraméterek generálása bonyolult. -Előszámított táblák alkalmaza: időigény, többlet tárhelyigény. - Függ a kulcsmérettől, a típustól és az előszámított tábla használatától. - Futási idők: 0,054 s - 1,4 perc. Jellemző érték: 0,09 s (ECP, 161 bit, előszámított tábla). 17.

I. Közös paraméterek és kulcsgenerálás 600 EC2N, trinom., BP- EC2N, pentan. BP- EC2N, trinom., BP EC2N, pentan., BP EC2N, trinom., BP, +PP EC2N, pentan., BP, +PP ECP, BP- RSA, e=65537 ECP, BP RSA, e=véletlen ECP, PP RSA, e=csupa1 500 Kulcs méret (bit) 400 300 200 100 1 10 100 1 000 10 000 100 000 1 000 000 Idő (tick) 18.

I. Közös paraméterek és kulcsgenerálás Méretek (nyilvános és titkos kulcsok adatfile-jai) RSA - Függ a választott kulcsmérettől és exponens értékétől. ECC - Függ a kulcs méretétől és az algoritmus típustól. Összehasonlítás (azonos biztonságot nyújtó kulcsméretek) Közös kulcsméret RSA összesen ECC összesen ECC össz. PP-vel (bit) (byte) (byte) (byte) ECC 113 = RSA 512 872-998 1452 3608 ECC 131 = RSA 768 1224-1422 1632 4044 ECC 160 = RSA 1024 1584-1844 1890 4686 ECC 283 = RSA 2048 3016-3532 3158 8006 ECC 409 = RSA 4096 5848-6870 4428 11328 19.

II. Kódolás és dekódolás Kódolás időigénye RSA - Függ a kulcsmérettől, a nyilvános exponens választástól, nem függ a kódolandó adat méretétől és típusától. - Futási idők: 0,02 s - 6,7 s. Jellemző érték: 0,025 s (1024 bites kulcs, e=65537). ECC - Függ a kulcsmérettől, a típustól, a kódolandó adat méretétől és az előszámított tábla használatától. -Előszámított táblázat használata több, mint kétszeresére gyorsítja a műveletet. - Futási idők: 0,05 s - 2,8 perc. Jellemző érték: 0,12 perc (ECP, 163 bit, 2048 byte-os adat, előszámított tábla). Összehasonlítás A kicsi exponensű RSA a leggyorsabb (az e=65537 eset is ide tartozik még). Ez kb. 4-5-szörös gyorsaságot jelent. (Egyes szakirodalmak 7- szeres szorzóról is beszélnek.) 20.

II. Kódolás és dekódolás Kódolás időigénye 3 500 EC2N, pentan., PP- EC2N, trinom., PP- EC2N, pentan., PP EC2N, trinom, PP I d ő ( t i c k ) 3 000 2 500 2 000 1 500 1 000 EC2N, pentan. EC2N, pentan. ECP, PP- ECP, PP RSA, e=véletlen RSA, e=65537 RSA EC2N, trinom. ECP EC2N, trinom. 500 ECP 0 RSA 100 150 200 250 300 350 400 450 Közös kulcs méret (bit) 21.

II. Kódolás és dekódolás Dekódolás időigénye RSA - Függ a kulcsmérettől, nem függ a nyilvános exponens választástól és a kiindulási adat méretétől és típusától. - Futási idők: 0,03 s - 4,45 s. Jellemző érték: 0,13 s (1024 bites kulcs). ECC - Függ a kulcsmérettől, az algoritmus típustól, kiindulási dokumentum méretétől, nem függ az előszámított tábla használatától. -Előszámított táblázat használata több, mint kétszeresére gyorsítja a muveletet. - Futási idők: 0,03 s - 1,55 perc. Jellemző érték: 0,136 perc (ECP, 163 bit, 4096 byte-os adat). Összehasonlítás A dekódolásnál az ECP a leggyorsabb. Méréseink szerint ez kb. 2-szeres gyorsaságot jelent. (Szintén lehet olvasni ennél nagyobb, 6,4-szeres becslésről is.) 22.

II. Kódolás és dekódolás Dekódolás időigénye 5 000 EC2N, pentan., PP EC2N, pentan., PP- EC2N, trinom., PP EC2N, trinom., PP- ECP, PP RSA, e=véletlen ECP, PP- RSA, e=65537 I d ő 4 000 3 000 EC2N, pentan. RSA ( t i c k ) 2 000 EC2N, trinom. 1 000 ECP 0 0 100 200 300 400 500 Közös kulcs méret (bit) 23.

II. Kódolás és dekódolás Kódolt adat mérete, maximális kódolható adatméret RSA - A kódolt adat mérete csak a kulcsmérettől függ, mérete megegyezik a modulus méretével. - A kódolandó adatnak kisebbnek kell lennie a modulusnál. ECC - A kódolt adat mérete függ a kulcsmérettől és a kódolandó adat méretétől. Adott kulcsméret esetén állandó a kódolt adatnak a kódolatlanhoz képest vett növekménye, 160 bites kulcsnál ez 61 byte. - A maximális kódolható adatméret függ a kulcs méretétől, ez 160 bites kulcsnál 4035 byte. A maximális kódolható adatok kódoltja mindig 4096 byte. Összehasonlítás Az ECC-vel készített kódok kisebbek. Emellett sokkal nagyobb adatot lehet vele egy lépésben rejtjelezni, mint az RSA-nál, ahol ez a korlát viszonylag alacsony. RSA-nál az ennél nagyobb méretű adatok kódolására blokkonkénti kódolással van lehetőség. 25.

Kódolt adat mérete, maximális kódolható adatméret Közös kulcsméret Kódolandó adat RSA-val kódolt ECC-vel kódolt (bit) mérete (byte) adat mérete (byte) adat mérete (byte) ECC 113 = RSA 512 22 64 73 ECC 131 = RSA 768 22 96 77 54 96 109 ECC 160 =RSA 1024 22 128 83 54 128 115 86 128 147 ECC 283 =RSA 2048 22 256 115 54 256 147 86 256 179 214 256 307 ECC 409 =RSA 4096 22 512 147 54 512 179 86 512 211 214 512 339 470 512 595 RSA ECC Közös kulcsméret Max. kód. adat Kódolt adat Max. kód. adat Kódolt adat (bit) (byte) mérete (byte) (byte) (byte) ECC 113 = RSA 512 22 64 4045 4096 ECC 131 = RSA 768 54 96 4041 4096 ECC 160 = RSA 1024 86 128 4035 4096 ECC 283 = RSA 2048 214 256 4003 4096 ECC 409 = RSA 4096 470 512 3971 4096 25.

III. Aláírás és aláírás ellenőrzés Időigény Aláírás = lenyomatkészítés + titkos kulccsal való műveletvégzés Aláírás ellenőrzés = lenyomatkészítés + művelet a nyilvános kulccsal + összehasonlítás Az aláíráshoz / aláírás ellenőrzéshez szükséges idők viszonya nagyon hasonló, mint a dekódolás / kódolás esetén. Az aláírás mérete - Nem függ a kiindulási dokumentum méretétől, csak a kulcs méretőtől és a lenyomatkészítő függvénytől. Összehasonlítás: ECC aláírások sokkal kisebbek. Közös kulcs RSA aláírás ECC aláírás méret (bit) mérete (byte) mérete (byte) ECC 113 = RSA 512 64 30 ECC 131 = RSA 768 96 34 ECC 160 = RSA 1024 128 42 ECC 283 = RSA 2048 256 72 ECC 409 = RSA 4096 512 102 26.

RSA Összefoglalás, értékelés Kritikus pontok, negatívumok:! A kulcsgeneráláshoz szükséges idő nem determinisztikus, esetenként igen nagy, akár percekben mérhető is lehet. Emiatt időkritikus rendszerekben, ahol a kulcsgenerálásra rendelkezésre álló idő felülről korlátos lehet, nem alkalmazható.! A kulcs mérete (modulus mérete) megszabja a kódolható maximális adatméretet, ami viszonylag kicsi. Az ennél nagyobb méretű adatok kódolására blokkonkénti kódolással van lehetőség.! Néhány speciális paraméterválasztás (pl. közös modulus vagy közös és kicsi nyilvános exponens választás stb.) módot ad különböző támadási lehetőségekre, ezért ezeket el kell kerülni. Specialitások, pozitívumok:! Létezik ismert, RSA-n alapuló anonimitási és vak aláírás protokoll. 27.

Összefoglalás, értékelés ECC Kritikus pontok, negatívumok:! Új közös paraméterek (elliptikus görbe és bázispont) keresése körülményes, bonyolult.! Praktikusan szükség van előszámított táblák alkalmazására. Ezek létrehozása időigényes (ezt csak egyszer kell megtenni), és többlet tárhelyet igényel. Specialitások, pozitívumok:! Önigazoló aláírások, amelyek kiváltják a certificate-ek alkalmazását.! Kiválóan párhuzamosítható, ezzel nagy gyorsítás érhető el. (Pl. az aláíró lánc ellenőrzése egyetlen lépésben.)! Szoftveres megvalósítás esetén a prím-rendű, hardveres implementáció esetén a 2-hatvány-rendű csoport alapú ECC alkalmazása lehet a praktikusabb. Utóbbi esetben megfelelő célhardver alkalmazásával sokkal jobb futási eredmények érhetők el, mint a most szoftveres implementációval mért adatok. 28.

Összefoglalás, értékelés Egymáshoz való viszonyok! Kódolásnál és aláírás ellenőrzésénél a kicsi exponensű RSA a leggyorsabb, kb. 4,5-ször gyorsabb, mint az ECP.! A dekódolás és aláírás létrehozása az ECP esetében a leggyorsabb, 2-szer gyorsabb, mint az RSA.! A paraméterek file-ok mérete ECC-nél és RSA-nál nagyjából ugyanannyi, viszont előszámított táblákkal az ECC majdnem 3-szor annyi helyet igényel.! Az ECC-vel készített kódok és digitális aláírások akár 3-szor kisebbek, mint az RSA-val készültek.! ECC-vel sokkal nagyobb, akár 10-szer akkora adatot lehet egy lépésben rejtjelezni, mint az RSA-nál, ahol ez a korlát viszonylag alacsony. 29.

Összefoglalás, értékelés! A maximális kódolható adatméret korlátja miatt nagy adat kódolásakor (a kulcsmérettől függően akár már 100 byte felett) az RSA-nél az adatot kisebb darabokra kell tördelni, és a kódolást több részletben kell elvégezni. Emiatt a kódolás az ECC-t alkalmazva akár 10-szer gyorsabban elvégezhető, mint RSA-val, annak ellenére, hogy a kis exponensű RSA azonos méretű adat kódolásakor gyorsabb az ECCnél.! A számítási kapacitások növekedésével az elegendő biztonságot nyújtó RSA kulcshossz nagyobb mértékben fog növekedni, mint az ECC kulcshossz. Σ: Általánosságban nem egyértelmű! Általánosságban nem egyértelmű! Melyik a jobb algoritmus? Adott alkalmazás szempontjából eldönthető. 30.

Érdekesség: Új riváliosok XTR (Efficient Compact Subgroup Trace Representation) http://www.ecstr.com/! Kidolgozók: Arjen Lenstra, Eric Verheul! Crypto2000 konferencián publikálták először! Az XTR biztonság a véges testek feletti DLP-n alapszik! Az XTR legalább olyan biztonságos, mint az RSA.! Az XTR pareméter- és kulcsgenerálása 80-szor gyorsabb, mint az RSA.! Az XTR olyan kulcsbit-hatékony, mint az ECC.! Az XTR gyorsabb, mint az ECC.! Az XTR egyesíti az RSA és az ECC előnyeit, jó alternatívája ezeknek az SSL-ben, WAP-ban stb. 31.

Érdekesség: Új riválisok NTRU http://www.ntru.com/! Kidolg.: Jeffrey Hoffstein, Joseph Silverman, Jill Pipher, Daniel Lieman! 1996: NTRU Cryptosystems Inc.! 2000. július: USA szabadalom! Az NTRU biztonság a rács redukción alapszik! NTRU Challange (eddigieket senki sem oldotta meg)! Az NTRU akár 2000-szer gyorsabb, mint az alternatívái.! A szükséges programkód akár 1/50 méretű. (Kódolás 20 soros, dekódolás 52 soros C program.)! Az NTRU legalább 100-szor gyorsabb, mint az ECC.! Az NTRU struktúrája egyszerűbb az RSA-énál.! Az NTRU kulcsméretek hasonlóak a jelenleg használtakhoz. - Titkos kulcs: max. 80 bit - Összesen: max. 2000 bit! A kódolás és dekódolás az NTRU-val 1-2 nagyságrenddel gyorsabb.! NTRU 167 RSA 512; NTRU 263 RSA 1024; NTRU 503 RSA 2048;! Törés: NTRU 167: 550 év; NTRU 503: 5,4 10 3 év 32.

Irodalmak! RSA RFC 2437, PKCS #1: RSA Cryptography Specifications http://www.rsa.com, http://www.ietf.org! ECC Sandards for Efficient Cryptography Group (SECG) SEC1: Elliptic Curve Cryptography SEC2: Recommended Elliptic Curve Cryptography Domain Parameters! Crypto++ a C++ Class Library of Cryptographic Primitives http://www.cryptopp.com! XTR (Efficient Compact Subgroup Trace Representation) http://www.ecstr.com/! NTRU http://www.ntru.com/ 33.

Köszönöm a figyelmet! í Endrődi Csilla <csilla@mit.bme.hu>