320 likes | 619 Vues
Michal Valkovič 34E31. Algoritmus ECC a jeho použitie v schémach digitálneho podpisu. Úvod. ECC bola predstavená v roku 1985 Victorom Millerom a Nealom Koblitzom ECC je ideálne pre obmedzené prostredia ako na príklad : PDA, mobilné telefón, čipové karty.
E N D
Michal Valkovič 34E31 Algoritmus ECC a jeho použitie v schémach digitálneho podpisu.
Úvod • ECC bola predstavená v roku 1985 Victorom Millerom a Nealom Koblitzom • ECC je ideálne pre obmedzené prostredia ako na príklad : PDA, mobilné telefón, čipové karty. • Používajú sa pri šifrovaní, dešifrovaní a na elektronický podpis
VictorSaulMiller • Narodený 3.3.1947 v New Yorku, USA • Spolu vynálezca ECC. • Hlavná oblasť záujmu: teória čísiel, kombinatorika, kompresia dát a kryptografia. • Vynálezca Millerovho algoritmu.
NealKoblitz • Narodený 24. 12. 1948 • Profesor matematiky na Washingtonskej univerzite. • Nezávislý spolu vynálezca ECC. • Tvorca hyperelltic curve cryptography
Prečo ECC ? • Používa menšiu dĺžku kľúča oproti RSA • Bezpečnosť = nájdenie diskrétneho logaritmu je nemožné v reálnom čase. • Použitie menších grúp (nižšie požiadavky na prenos a ukladanie)
ECC • Veľkosť kľúča nezohráva rolu len pri šifrovaní, ale aj pri prenose dát. • Menší kľúč = menší objem prenášaných údajov = vyššia dátová priepustnosť informačného kanála.
Čo sú eliptické krivky ? • Rovinnou krivkou rozumieme množinu bodov, ktoré spĺňajú rovnicu F (x, y) = 0. • Kubické krivky, závislosť premenných je popísaná rovnicou tretieho stupňa. Ich špeciálnou podtriedou sú eliptické krivky. • V kryptografii sú predmetom záujmu eliptické krivky definované nad konečnými telesami
Konečné pole • Konečné pole je pole, ktoré sa skladá z konečnej množiny objektov tzv. prvkov poľa. • Operácie : sčítanie a násobenie. • Konečné pole obsahujúce p prvkov môžeme definovať ako konečné pole vtedy a len vtedy, keď p je prvočíslo. Konečné pole s p prvkami je označované ako Fp.
Konečné pole • Eliptické krivky používajú dva druhy konečných polí Fp: • Fp- hlavné konečné polia, kde pje prvočíslo • F2m - binárne konečné polia, kde q=2mpre m ≥ 1
Eliptické krivky nad Fp • Nech Fpje hlavné konečné pole a nech koeficienty a, b є Fpa vyhovujú pre 4a3+27b2 ≠ 0 (mod p). • Potom eliptická krivka E=Ep(a,b) je množina bodov P = (x, y) pre x, y є Fpspĺňajúcich rovnicu (Weirstrassova): y2 ≡ x3 + ax + b
Eliptické krivky nad reálnymi číslami a nad Fp • Eliptické krivky pre rôzne hodnoty a , b .
Eliptické krivky nad reálnymi číslami a nad Fp • Body binárnej eliptickej krivky pre p=29, a= 38, b=-31, P=(27,1)
Aritmetika eliptických kriviek (geometricky) • Bod O slúži ako neutrálny prvok vzhľadom na sčítanie a teda bude platiť O = -O, resp., • P ± O = P. • Bod opačný k bodu P bude bod, ktorý ma rovnakú x-ovú súradnicu ako bod P a y-ovú súradnicu opačnú, t. j. má hodnotu –y. Pre opačný bod –P teda platí, že ak P(x,y), potom –P=(x,-y). Je potrebné tiež uviesť, že body P a –P ležia ne vertikálnej priamke a zároveň platí že P + (-P) = P – P = O.
Aritmetika eliptických kriviek (geometricky) • Sčítanie dvoch rôznych bodov P a Q realizujeme geometricky tak, že bodmi P a Q preložíme priamku, ktorej tretí priesečník s eliptickou krivkou označíme R. Sčítanie dvoch rôznych bodov P a Q možno zapísať v tvare P + Q + R = 0, čiže P + Q = -R. Bod R je symetrickým bodom k bodu –R podľa osi x, kde leží na rovnobežke s osou y, ktorá prechádza bodom –R.
Aritmetika eliptických kriviek (geometricky) • Geometrická definícia súčtu na krivke
Aritmetika eliptických kriviek (algebricky) • 1. P + O = P. • 2. Ak P=( ) a P=( xp, -yp), potom P+(-P) = O a –P je opačný bod k bodu P. • 3. Ak P=(xp,yp ) a Q=(xq, yq ) pričom P sa nerovná -Q, potom P+Q=R=(xr, yr ) a platí:
Aritmetika eliptických kriviek (algebricky) Násobenie bodu eliptickej krivky skalárom je definovanéako opakované sčítanie; napr. 2·P=P + P , 4·P = P + P + P + P = 2·P + 2·P, 3·P = P + P + P = 2·P + P, atď.
Príklad: • Je daná eliptická krivka a=1, b=3 a bod P= [-0,77; 1,33]. Nájdi bod R pričom bod R = 2.P .
Príklad: • P=(2,63 ; -4,88 )
Digitálne podpisy na báze eliptických kriviek • Časť generovania podpisu.
Digitálne podpisy na báze eliptických kriviek • M – správa • x – náhodné číslo • g - číslo • p – prvočíslo (512 – 1024b) • k – náhodné číslo • q – prvočíslo (160b) • H – hašovacia funkcia
Digitálne podpisy na báze eliptických kriviek • Časť overovania podpisu.
Digitálne podpisy na báze eliptických kriviek • Prvky r´, s´, M´ sú rovnaké prvky ako v časti generovania podpisu. Čiarka označuje, že mohlo dôjsť k zmene správy, alebo k nejakej chybe pri prenose. • Overovanie podpisu nezávisí len od znalosti verejného kľúča, ale treba poznať aj parametre krivky z ktorej je verejný kľúč odvodený.
Záver • Primárnou výhodou kryptosystému na báze eliptických kriviek je ich veľká kryptografická bezpečnosť vzhľadom k danej veľkosti kľúča. • Významne kratšia dĺžka kľúčov (napr. oproti RSA) vedie ku kratším certifikátom i menším parametrom systému a teda i k väčšej výpočtovej efektívnosti algoritmov. • Druhá výhoda je v tom, že fakticky všetky už známe použitie v systémoch na báze diskrétneho logaritmu (kryptografické protokoly, ElGamalův podpis atď) je možné previesť do systémov na báze eliptických kriviek.
Zoznam použitej literatúry • [1] CryptoolUserGuide • [2] JOHNSON D., MENEZES A, VANSTONE S.: TheEllipticCurveDigitalSignatureAlgorithm (ECDSA) • [3] HANKERSON D., MENZES A., VANSTONE S.: Guide to EllipticCurveCryptography ISBN 038795273 • [4] http://en.wikipedia.org/wiki/Elliptic_curve_cryptography • [5] http://www.nsa.gov/business/programs/elliptic_curve.shtml • [6] http://kakaroto.homelinux.net/2012/01/how-the-ecdsa-algorithm-works/ • [7] Poznámky z prednášok.