1 / 35

Algoritmus ECC

Algoritmus ECC. KOMUNIKAČNÁ BEZPEČNOSŤ Marek Lančarič E30. OBSAH. Úvod Autori Matematický základ - Eliptické krivky nad reálnymi číslami - Eliptické krivky nad konečným bodom GF(p) - Eliptické krivky nad konečným binárnym poľom GF(2 n )

perry-sloan
Télécharger la présentation

Algoritmus ECC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritmus ECC KOMUNIKAČNÁ BEZPEČNOSŤ Marek Lančarič E30

  2. OBSAH • Úvod • Autori • Matematický základ - Eliptické krivky nad reálnymi číslami - Eliptické krivky nad konečným bodom GF(p) - Eliptické krivky nad konečným binárnym poľom GF(2n) - Diskrétny logaritmus v eliptických krivkách • Výmena tajného kľúča na báze ECC • Šifrovanie na báze ECC • Dešifrovanie na báze ECC

  3. ÚVOD • Kyptografia na báze eliptických kriviek ECC (EllipticCurveCryptography) je novým perspektívnym smerom v modernej kryptografii. Jej hlavnou prednosťou v porovnaní s existujúcimi kryptografickými systémami a algoritmami (napr. RSA) je to, že umožňuje dosiahnuť rovnakú kryptografickú bezpečnosť pri menšej dĺžke kľúča. • Použitie eliptických kriviek v kryptogafii navrhol nezávisle NealKoblitz a Victor S. Miller v roku 1985-6. • Systémy na báze ECC sa stali súčasťou viacerých kryptografických štandardov a predstavujú alternatívu k systémom na báze RSA aj DSA, pričom hlavnou výhodou systémov ECC je väčšia rýchlosť a menšie nároky na technické prostriedky

  4. Neal I. koblitz • 1948 USA • Štúdium: Harvardská a Princentonská univerzita • Pôsobenie: profesor matematiky na Univerzite vo Woshingtone, profesor aplikovanej kryptografie na univerzite Waterloo (Kanada) • Publikoval použitie eliptických kriviek v roku 1985

  5. Victor s. Miller • 1947 New York • Štúdium: Kolumbijská a Harvardská univerzita • Výskum komunikácie v Princetone • Pôsobenie: pôsobil ako profesor matematiky a zúčastnil sa aj na vývoji IBM 801 • Publikáciu o využití eliptických kriviek v kryptografii vydal až v roku 1986

  6. Eliptické krivky nad reálnymi číslami • Eliptické krivky sú špeciálnou triedou kubických kriviek. Názov eliptické krivky sa zaužíval preto, lebo kubické rovinné funkcie sa v minulosti používali k výpočtu obvodu elipsy. • Eliptická krivka je opísaná rovnicou: y2=x3+ax+b • Definícia eliptickej krivky zahŕňa tiež špeciálny bod O, ktorý sa nazýva bod v nekonečne, alebo nulový bod.

  7. y2=x3-x+1 • a=-1, b=1

  8. Eliptické krivky nad reálnymi číslami Geometrická interpretácia sčítania • Musí platiť: 4a3+27b2≠0 • Geometrické sčítanie je formulované : ak sčítame tri body eliptickej krivky ležiace na jednej priamke, ich súčet je rovný O. Z definície vyplýva: • Bod O slúži ako neutrálny prvok a teda platí O=-O resp. P-O=Pak P≠O • Opačný bod k bodu P je bod –P ktorý má rovnakú súradnicu x ale opačnú hodnotu y tj. –y Potom platí že opačný bod k bodu P(x,y) je bod –P(x,-y). Body P a –P ležia na vertikálnej priamke a platí P+(-P)=O • Sčítanie dvoch rôznych bodov P a Q sa realizuje tak že bodmi P a Qpreložíme priamku, ktorej tretí priesečník s eliptickou krivkou bude –R. Sčítanie dvoch bodov je P+Q=R. Kde Rje symetrickým bodom k bodu –R podľa osi x. • Geometrickú interpretáciu pravidla možno aplikovať aj na symetrické body P+(-P)=O.Uvedené body možno spojiť vertikálnou krivkou ktorá pretne eliptickú krivku v nekonečne čiže v bode O.

  9. Príklad sčítania dvoch bodov

  10. Eliptické krivky nad reálnymi číslami Algebraická interpretácia sčítania • Ak platí že R=P+Q, potom súradnice bodu R=(xR,yR) možno určiť zo vzťahov • Kde s je smernica priamky spájajúcej body Q a P • Ak sa sčítavajú dva rovnaké body R=P+P potom pre smernicu s platí

  11. príklad • Sčítajte dva body P(1,1) a Q(0,-1) ktoré ležia na eliptickej krivke zadanej parametrami a= -1, b=1.

  12. riešenie P+Q=R(3,-5)

  13. Grafické sčítanie bodov P a Q

  14. Eliptické krivky nad konečným poľom GF(p) • Prvočíselné eliptické krivky - GF(p) • Binárne eliptické krivky - GF(2n) • Prvočíselné eliptické krivky nad konečným poľom GF(p) sú opísané kubickou rovnicou, v ktorej premenné a koeficienty nadobúdajú hodnoty z množiny celých čísel v rozsahu od0 po (p-1). Operácie sa realizujú modulop,sú vhodnejšie pre softvérové aplikácie. y2mod p =(x3+ax+b) modp

  15. Eliptické krivky nad konečným bodom GF(p) • Rovnica y2mod p =(x3+ax+b) modpje splnená napr. pre hodnoty a=1, b=1, x=6, y=4 a p=23 pretože platí y2mod p =(x3+ax+b) modp 42mod23 =(63+6+1) mod23 16mod23 = 223mod23 16 = 16 • Pre množinu E23(1,1) je potrebné uvažovať iba nezáporné celé čísla x,y z kvadrantu od (0,0) až (p-1, p-1), ktoré sú výsledkom operácie modp, teda x, y patrí {0,1,2,...,p-1}.

  16. Eliptické krivky nad konečným bodom GF(p) • Zoznam bodov, ktoré tvoria množinu E23(1,1)

  17. Rozloženie bodov eliptickej krivky

  18. Eliptické krivky nad konečným bodom GF(p) • Pravidlá sčítania nad množinou Ep(a,b) zodpovedajú pravidlám, ktoré boli definované pre eliptické krivky nad reálnymi číslami. Pre všetky body P, Q patrí Ep (a,b) platí: • P+O=P • Ak P=(xP,yP) a -P=(xP,-yP) potom P+(-P)=Oa-P je opačný bod k bodu P • Ak P=(xP,yP) a Q=(xQ,yQ) pričom P≠-Q, potom P+Q=R=(xR,yR) a platí • Násobenie bodu eliptickej krivky skalárom je definované ako opakované sčítanie

  19. príklad • Realizujte viacnásobné sčítanie rovnakého bodu P=(xP,yP)=(13,7) na eliptickej krivke Ep=(a,b)=(1,1), ktorá je daná rovnicou y2 =x3+x+1 nad GF(23). • Výpočet súčtu P+P=2P=R, pričom R=(xR,yR) sa realizuje podľa vzťahov pre výpočet xR, yRa s pre P=Q

  20. príklad Výpočet súčtu P+P+P=3P=2P+P=(5,4)+(13,7)=R, sa realizuje podľa vzťahov pre výpočet xR, yRa s pre P≠Q, pričom Q=2P=(xQ,yQ)

  21. Príklad • Opakovaným pripočítavaním bodov možno analogicky vypočítať súradnice bodov 4P, 5P, 6P a 7P ktoré sú uvedené v nasledujúcej tabuľke

  22. Eliptické krivky nad konečným poľom GF(2n) • Konečné pole GF(2n) pozostáva z 2n prvkov spolu s operáciami sčítania a násobenia, ktoré môžu byť definované nad polynómami. Pre eliptické krivky nad poľom GF(2n) sa používajú kubické rovnice, v ktorých koeficienty a premenné majú hodnoty z konečného poľa GF(2n), a v ktorých sa realizujú podľa pravidiel aritmetiky v GF(2n) • Kubická rovnica eliptických kriviek nad poľom GF(2n) sa odlišuje od rovnice eliptických kriviek nad poľom GF(p) y2+xy =x3+ax+b • Kde premenné x,y a koeficienty a,b sú prvkami konečného poľa GF(2n) a operácie sú realizované v GF(2n).

  23. Eliptické krivky nad konečným poľom GF(2n) • Nad množinou E2n(a,b) možno definovať abelovskú grupu, pričom všetky body P,Q patrí E2n(a,b) platia pre sčítanie tieto pravidlá • P+O=P • Ak P=(xP,yP), potom P+(xP,xP+yP)=O. Bod(xP,xP+yP) je opačný bod k bodu P a označuje sa ako -P • Ak P=(xP,yP) a Q=(xQ,yQ) pričom P≠-Q a P≠Q, potom pre súčet P+Q=R a R=(xR,yR) platí

  24. Eliptické krivky nad konečným poľom GF(2n) • Ak P=(xP,yP), potom R=P+P=2P platí • Výber prvkov konečného poľa GF(2n) možno realizovať 3 spôsobmi • Štandardná resp. polynominálna báza (prvky sú určené binárnymi polynómami menšieho stupňa než n a operácie sú realizované moduloireducibilný polynóm stupňa n) • Optimálna nomálna báza (prvky sú reprezentované ako lineárne kombinácie prvkov množiny kde je vhodne zvolený prvok poľa) • Reprezentácia telesom typu „veža“ (v tejto reprezentácii sú rvky určené polynómami nadGF(2r), kde r je deliteľom n

  25. Diskrétny logaritmus v eliptických krivkách • Využitie náročnosti výpočtu diskrétneho logaritmu je využívaná aj v tomto odvetví kryptografie. Ak pre určitý bod P na eliptickej krivke postupne vypočítame body 2P, 3P, 4P atd. dostaneme postupnosť rôznych bodov na tejto eliptickej krivke. Po určitom počte n krokov postupnosť dosiahne pod O. V ďalšom kroku sa realizuje výpočet nP+P=O +P=P a postupnosť sa opakuje. • Najmenšie číslo n pre ktoré platí nP=Osa nazýva rád bodu P • Rád eliptickej krivky: je počet bodov na krivke. Rád každého bodu P delí rád krivky. V uvedenom prípade je počet bodov krivky 28, takže aj rád eliptickej krivky je 28. • Šifrovanie a podpisovanie v kryptografii je založené na náročnosti výpočtu diskrétneho logaritmu. A to vypočítať tajné číslo n zo známych bodov P,Q tak aby Q=n.P. Pre malé n je to úloha triviálna avšak pre veľké n (2256 ) úloha obťažná.

  26. Rády n bodov na eliptickej krivke E23(1,1)

  27. Výmena tajného kľúča na báze ECC • Výmena tajného kľúča medzi účastníkom AaB: • Účastník A zvolí celé číslonA. Číslo nA<n. číslo nA je verejným kľúčom účastníka A, ktorý potom vygeneruje svoj verejný kľúč. Verejný kľúč je bod na krivke Eq(a,b) QA=nAP • Účastník B analogicky zvolí celé číslo nB<n. a vygeneruje svoj verejný kľúč. QB=nBP • Po vzájomnej výmene QAa QBúčastník A vypočíta tajný kľúč K použitím vzťahu K=nAQBa účastník B vypočíta rovnaký tajný kľúč K použitím vzťahu K=nBQA. Obaja účastníci získajú rovnaký tajný kľúč K, pretože platí: • nA.QB=nA.(nB.P)=nA.nB.P=nB.nA.P=nB.(nA.P)=nB.QA • Na získanie kľúča je potrebné zo známych hodnôt QAa QBurčiť nAa nB, čo je pre veľké hodnoty nAa nB obťažné.

  28. príklad • Vypočítajte tajný kľúč K s použitím eliptickej krivky E23(1,1) a bodu P (0,1) ak je hodnota nA= 3 a nB=2. • bod P (0,1) má rád n=28 takže je splnená podmienka nA<n aj nB<n

  29. riešenie QB=nBP=2P=P+P • Pozn. hodnota 1/2 je multiplikatívna inverzia je rovná 2-1mod23=11 xR=(s2-xP-xQ) mod p = (112 – 0 - 0 ) mod23 = 121 mod23 =6 yR=(s(xP-xR)-yP) mod p = (11(6) -1) mod23 = 65 mod23 = 19 QB(6,19)

  30. riešenie QA=nAP=3P=P+2P P(0,1),QB(6,19) xR=(s2-xP-xQ) mod p = (9 - 0 – 6)mod23 = 3 yR=(s(xP-xR)-yP) mod p = (3( -0 – 3 ) – 1 )mod23= 13 QA(3,13) Výpočet tajného kľúča K: K=nAQB= 3QB =K(7,11) K=nBQA= 2QA =K(7,11)

  31. Šifrovanie na báze ecc • Šifrovanie na báze ECC sa dá realizovať viacerými postupmi. Uvedený postup patrí medzi najjednoduchšie. Predpokladáme že otvorený text m je postupnosť symbolov otvoreného textu, ktorá sa interpretuje ako postupnosť súradníc x,y bodov Pm na zvolenej eliptickej krivke. Na priradenie symbolov k bodom Pm existuje viacero priamych algoritmov. • Ak účastník A posiela správu účastníkovi B, tak účastník A zvolí náhodné kladné číslo k a generuje symbol zašifrovaného textu Cm ,ktorý je reprezentovaný dvojicou bodov podľa vzorca Cm={k.P,Pm+kQB}

  32. Dešifrovanie na báze ecc • Pri prijatí šifrovaného symbolu Cm účastníkom B, účastník B vynásobí prvý z dvojice bodov, teda k.P svojim súkromným kľúčom nB a túto hodnotu odčíta od druhého bodu Pm+kQB – nB(k.P)= Pm+k(nBP)– nB(k.P)=Pm

  33. 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, ElGamalovpodpis atd.) je možné previesť do systémov na báze eliptických kriviek.

  34. literatúra • [1] Levický, D.: Kayptografia v informačnej a sieťovej bezpečnosti: Košice, 2010. ISBN 978-80-8086-163-6 • [2] Křivka, P.: Kryptografické systémy nad eliptickými křivkami: Brno 2009 • [3] Svoboda, P.: Systémy elektronických podpisú: Brno 2006 • [4]<http://en.wikipedia.org/wiki/Elliptic_Curve_Cryptography>

  35. Ďakujem za pozornosť

More Related