Elliptinen kryptografia on kryptografian haara , joka tutkii epäsymmetrisiä kryptosysteemejä , jotka perustuvat elliptisiin käyriin äärellisten kenttien yli . Elliptisen kryptografian tärkein etu on se, että subeksponentiaalisia diskreettejä logaritmialgoritmeja ei tunneta toistaiseksi .
Neil Koblitz ja Victor Miller ehdottivat itsenäisesti elliptisten käyrien käyttöä kryptosysteemien luomiseen vuonna 1985 [1] .
Vuonna 1985 Neil Koblitz ja Victor Miller ehdottivat itsenäisesti elliptisten käyrien algebrallisten ominaisuuksien käyttöä kryptografiassa . Siitä hetkestä lähtien kryptografian uuden suunnan nopea kehitys alkoi, josta käytetään termiä "elliptisten käyrien kryptografia". Pääsalauksen rooli suoritetaan elliptisen käyrän pisteen skalaarikertoinnilla annetulla kokonaisluvulla, joka määräytyy elliptisen käyrän pisteiden yhteen- ja tuplausoperaatioilla. Jälkimmäiset puolestaan suoritetaan summaus-, kerto- ja inversiooperaatioiden perusteella siinä äärellisessä kentässä, jonka yli käyrää tarkastellaan. Erityisen kiinnostava elliptisen käyrän kryptografia johtuu eduista, joita sen käyttö langattomassa viestinnässä tarjoaa - suuri nopeus ja pieni avaimen pituus [2] . Epäsymmetrinen kryptografia perustuu joidenkin matemaattisten ongelmien ratkaisemisen monimutkaisuuteen. Varhaiset julkisen avaimen salausjärjestelmät, kuten RSA-algoritmi , ovat turvallisia, koska yhdistelmälukua on vaikea sisällyttää alkutekijöihin. Käytettäessä algoritmeja elliptisille käyrille oletetaan, että diskreetin logaritmin ongelman ratkaisemiseksi niiden pisteiden ryhmissä ei ole subeksponentiaalisia algoritmeja . Tässä tapauksessa elliptisen käyrän pisteryhmän järjestys määrittää ongelman monimutkaisuuden. Uskotaan, että saman kryptografisen vahvuuden saavuttamiseksi kuin RSA:ssa tarvitaan pienempien tilausten ryhmiä, mikä vähentää tiedon tallennus- ja lähetyskustannuksia. Esimerkiksi RSA 2005 -konferenssissa National Security Agency ilmoitti luovansa "Suite B:n", joka käyttää vain elliptisiä salausalgoritmeja ja vain 384-bittisiä avaimia käytetään suojaamaan "Top Secret" -luokkaan luokiteltuja tietoja.
Elliptinen käyrä on joukko pisteitä , jotka täyttävät yhtälön:
Tätä yhtälöä voidaan tarkastella mielivaltaisten kenttien ja erityisesti äärellisten kenttien yli , jotka ovat erityisen kiinnostavia kryptografian kannalta.
Krypografiassa elliptisiä käyriä tarkastellaan kahdentyyppisten äärellisten kenttien yli : yksinkertaisten parittomien ominaisuuksien kentät ( , missä on alkuluku) ja ominaisuuden 2 ( ) kentät.
Ominaiskentän yli elliptisen käyrän E yhtälö voidaan pelkistää muotoon:
missä vakiot tyydyttävät .
Kentän päällä olevan elliptisen käyrän E pisteryhmä on E : ssä olevien parien joukko yhdistettynä nollaelementtiin :
On huomattava, että jokaisessa nollasta poikkeavassa elementissä on joko kaksi neliöjuurta tai ei yhtään, joten elliptisen käyrän pisteet on jaettu muodon ja -pareihin .
Tarkastellaan elliptistä käyrää kentän päällä . Erityisesti tällä käyrällä on piste , koska . On helppo tarkistaa, että pisteet , , , ovat kaikki annetun käyrän pisteitä.
Hassen elliptisen käyrän lauseessa sanotaan, että elliptisen käyrän pisteiden lukumäärä on lähellä äärellisen kentän kokoa:
mitä tuo:
Ominaisuuden 2 kentässä tarkastellaan kahdenlaisia elliptisiä käyriä:
Supersingulaaristen elliptisten käyrien erityinen mukavuus on, että niiden järjestys on helppo laskea, kun taas ei-supersingulaaristen käyrien järjestyksen laskeminen on vaikeaa. Supersingulaariset käyrät ovat erityisen käteviä kotitekoisen ECC (Elliptic-curve cryptography) -salausjärjestelmän luomiseen. Voit käyttää niitä ilman aikaa vievää tilauksen laskentaprosessia.
Pisteparin summan laskemiseksi elliptisellä käyrällä ei vaadita vain useita yhteen- ja kertolaskuoperaatioita , vaan myös inversiooperaatio , eli tietylle löydökselle , joka on yksi tai kaksi suuruusluokkaa hitaampi kuin kertolasku. Onneksi elliptisen käyrän pisteet voidaan esittää erilaisissa koordinaattijärjestelmissä, jotka eivät vaadi inversion käyttöä pisteiden lisäämisessä:
On tärkeää huomata, että nimiä voi olla erilaisia - esimerkiksi IEEE P1363-2000 kutsuu projektitiivisia koordinaatteja, joita yleensä kutsutaan Jacobi-koordinaateiksi.
Ensimmäinen tehtävä tarkasteltavassa järjestelmässä on salata viestin pelkkä teksti , joka lähetetään arvona (Kuinka?) [3] pisteelle . Tässä piste edustaa siihen koodattua tekstiä ja se puretaan myöhemmin. Huomaa, että viestiä ei voi koodata pelkällä koordinaatilla tai pisteellä, koska kaikki tällaiset koordinaatit eivät ole käytettävissä .
Kuten avaimenvaihtojärjestelmässä, salaus- ja salauksenpurkujärjestelmissä myös piste ja elliptinen ryhmä katsotaan parametreina . Käyttäjä valitsee yksityisen avaimen ja luo julkisen avaimen . Salatakseen ja lähettääkseen viestin käyttäjälle käyttäjä valitsee satunnaisen positiivisen kokonaisluvun ja laskee salatekstin , joka koostuu pisteparista.
Huomaa, että osapuoli käyttää osapuolen julkista avainta : . Pura tämän salatekstin salaus kertomalla parin ensimmäinen piste salaisella avaimella ja vähentämällä tulos toisesta pisteestä:
Käyttäjä peitti viestin lisäämällä . Kukaan muu kuin tämä käyttäjä ei tiedä :n arvoa , joten vaikka se on julkinen avain, kukaan ei voi paljastaa naamiota . Käyttäjä kuitenkin sisällyttää viestiin myös "vihjeen", joka riittää poistamaan maskin henkilöltä, jolla on yksityinen avain . Viestin palauttamiseksi vastustajan on laskettava tiedoista ja , mikä näyttää olevan vaikea tehtävä [4] .
Elliptisen käyrän pisteiden aritmeettiset operaatiot eivät vastaa näitä koordinaattiensa aritmeettisia operaatioita.
Elliptisen käyrän pisteet äärellisen kentän yli edustavat ryhmää [5] . Kertominen pelkistyy toistuvaan tuplaukseen ja summaukseen.
Esimerkiksi G+G ≠ 2G ( nämä ovat eri operaatioita ), 2G + 2^115G = 2^115G + 2G (summaus on kommutatiivista);
2G = 2*G; 4G = 2*2G; 8G = 2*4G; 16G = 2*8G jne. (kahdelle identtiselle pisteelle - vain tuplaustoiminto);
25*G; 25 = 11001 (binäärimuodossa); 25 = 1*2^0 + 0*2^1 + 0*2^2 + 1*2^3 + 1*2^4 = 1 + 8 + 16; 25G = 16G + 8G + G = 1*(2^4)G + 1*(2^3)G + 1*G (summausoperaatio).
24G/3 = 24G* (3^-1 mod P); missä 3^(-1) mod P - modulaarinen kertova käänteinen ,
5G - 3G = 5G + (-3G); missä -3G = nG - 3G = O - 3G - additiivinen käänteispiste, vastakkainen piste .
Tarkastellaan tapausta , , joka vastaa käyrää
Oletetaan, että käyttäjä on lähettämässä käyttäjälle elliptisellä pisteellä koodatun viestin ja että käyttäjä valitsee satunnaisluvun . Julkinen avain on . Meillä on:
Siten käyttäjän on lähetettävä salateksti .
Elliptisen käyrän salausalgoritmien erityiset toteutukset kuvataan alla. Tässä tarkastellaan elliptisen kryptografian yleisiä periaatteita.
Elliptisen kryptografian käyttämiseksi kaikkien osallistujien tulee sopia kaikista elliptistä käyrää määrittävistä parametreista, ts. joukko salausprotokollan parametreja. Elliptinen käyrä määritetään vakioilla ja yhtälöstä (2). Abelin pistealaryhmä on syklinen ja sen antaa yksi generoiva piste G . Tässä tapauksessa kofaktorin , jossa n on pisteen G kertaluku , on oltava pieni ( , mieluiten parillinen ).
Joten ominaisuuden 2 kentällä parametrien joukko: , ja lopullisen kentän , jossa , parametrien joukko: .
On olemassa useita suositeltuja parametrijoukkoja:
Voit luoda oman parametrijoukon seuraavasti.
Käyrän etsimiseen tietylle parametrijoukolle käytetään kahta menetelmää.
On olemassa useita kryptografisesti "heikkojen" käyrien luokkia, joita tulisi välttää:
Jakomoduuli p (joka on välttämätön yhteen- ja kertolaskussa) voidaan suorittaa nopeammin, jos p valitaan alkuluvuksi lähellä 2:n potenssia. Erityisesti p voi olla Mersennen alkuluku . Esimerkiksi tai ovat hyviä valintoja . National Institute of Standards and Technology (NIST) suosittelee käyttämään samanlaisia alkulukuja kuin p .
Toinen NIST:n suosittelemien käyrien etu on valinta , joka nopeuttaa Jacobin koordinaattien yhteenlaskutoimintoa.
NIST suosittelee 15 elliptistä käyrää, joista monet on johtanut Jerry Solinas (NSA) Neil Koblitzin työn perusteella [10] . Erityisesti FIPS 186-3 [11] suosittelee 10 päätekenttää. Jotkut heistä:
Lisäksi suositellaan yhtä elliptistä käyrää jokaista äärellistä kenttää kohden. Nämä äärelliset kentät ja elliptiset käyrät valitaan usein virheellisesti korkean turvallisuustason vuoksi. NIST:n mukaan heidän valintansa perusteli ohjelmistototeutuksen tehokkuus [13] . Ainakin muutamien turvallisuudesta on epäilyksiä [14] [15] [16] .
Nopein algoritmi, joka ratkaisee diskreetin logaritmiongelman elliptisillä käyrillä, kuten Shanksin algoritmi ja Pollardin ρ-menetelmä , tarvitsee operaatioita. Siksi kentän koon on oltava vähintään kaksi kertaa avaimen koko. Esimerkiksi 128-bittiselle avaimelle on suositeltavaa käyttää elliptistä käyrää kentän päällä , jossa p on 256 bittiä pitkä.
Monimutkaisimmat tähän mennessä julkisesti murtetut elliptisen käyrän piirit ovat sisältäneet 112-bittisen avaimen äärelliselle alkukentälle ja 109-bittisen avaimen ominaisuuden 2 äärelliselle kentälle. . Heinäkuussa 2009 yli 200 Sony Playstation 3 : n klusteri löysi 109-bittisen avaimen 3,5 kuukaudessa. Ominaisuuskentän 2 avain löydettiin huhtikuussa 2004 2 600 tietokoneella 17 kuukauden aikana. .
Oletetaan, että tilaajat A ja B haluavat sopia avaimesta, jota he käyttävät myöhemmin jossain klassisessa salausjärjestelmässä. Ensinnäkin he valitsevat avoimesti jonkin äärellisen kentän ja jonkin elliptisen käyrän sen päälle. Niiden avain on rakennettu tämän elliptisen käyrän satunnaisesta pisteestä . Jos niillä on satunnainen piste , niin esimerkiksi sen -koordinaatti antaa satunnaisen elementin , joka voidaan sitten muuntaa -bitiksi kokonaisluvuksi -aarilukujärjestelmässä (jossa ), ja tämä luku voi toimia avaimena heidän klassisissa kryptojärjestelmä. Heidän on valittava kohta niin, että kaikki heidän viestinsä toisilleen ovat avoimia ja silti kukaan muu kuin he kaksi eivät tiedä niistä mitään .
Tilaajat (käyttäjät) A ja B valitsevat ensin avoimesti pisteen ∈ "kantapaikaksi"; Sillä on sama rooli kuin generaattori Diffie-Hellman-järjestelmässä äärellisille kentille. Emme kuitenkaan vaadi sen olevan generoiva elementti käyrän pisteryhmässä . Tämä ryhmä ei välttämättä ole syklinen. Vaikka se olisi syklistä, älkäämme tuhlaako aikaa generoivan elementin tarkistamiseen (tai edes N pisteen kokonaismäärän löytämiseen, jota emme seuraavassa tarvitse). Haluamme, että B:n generoima alaryhmä on suuri, mieluiten samaa suuruusluokkaa kuin se itse . Tällä hetkellä oletetaan, että se on avoimesti otettu piste erittäin suuressa järjestyksessä (yhtä kuin joko , tai suuri jakaja ).
Avaimen muodostamiseksi valitaan ensin satunnaisesti kokonaisluku , joka on verrattavissa arvoon (joka on lähellä ); hän pitää tämän numeron salassa. Se laskee ∈ ja ohittaa tämän pisteen avoimesti. Tilaaja B tekee samoin: hän valitsee satunnaisesti ja lähettää julkisesti ∈ . Silloin heidän käyttämä salainen avain on ∈ . Molemmat käyttäjät voivat laskea tämän avaimen. Se esimerkiksi tietää (piste välitettiin avoimesti) ja oman salaisuutensa . Kuka tahansa kolmas osapuoli tietää kuitenkin vain ja . Lukuun ottamatta diskreetin logaritmin ongelman ratkaisemista - lähteen ja (tai lähteen ja :n löytäminen ) ei näytä olevan mitään keinoa löytää , tietäen vain ja [17] .
Esimerkkinä otetaan
. _joka vastaa käyrää
ja .Voidaan laskea, että . Käyttäjän A yksityinen avain on , joten A:n julkinen avain on
Käyttäjän B yksityinen avain on , joten B:n julkinen avain on
Jaettu salaisuus on
Elliptisen käyrän kryptografisen lähestymistavan tarjoama turvallisuus riippuu siitä, kuinka vaikeaa on ratkaista datasta ja . Tätä ongelmaa kutsutaan yleensä diskreetiksi logaritmiongelmaksi elliptisellä käyrällä. Nopein nykyään tunnettu menetelmä logaritmien ottamiseen elliptisellä käyrällä on ns. Pollard-menetelmä. Taulukossa (katso alla) verrataan tämän menetelmän tehokkuutta seula-alkutekijälaskentamenetelmään yleisessä lukukentässä. Siitä voidaan nähdä, että RSA:han verrattuna elliptisten käyrien kryptografiamenetelmiä käytettäessä saavutetaan suunnilleen sama suojaustaso huomattavasti pienemmillä avaimen pituuksilla.
Samoilla avainten pituuksilla RSA:n ja elliptisen käyrän salaustekniikan vaatima laskenta ei myöskään eroa paljon. Siten verrattuna RSA:han samalla suojaustasolla selkeä laskennallinen etu kuuluu elliptisiin käyriin perustuvalle kryptografialle, jonka avaimen pituus on lyhyempi [18] .
Taulukko: Elliptisiä käyriä ja RSA:ta käyttävän krypta-analyysin vaatima laskentateho
Avaimen koko | MIPS vuotta |
---|---|
150 | 3,8*10^10 |
205 | 7,1*10^18 |
234 | 1,6*10^28 |
Avaimen koko | MIPS vuotta |
---|---|
512 | 3*10^4 |
768 | 3*10^7 |
1024 | 3*10^11 |
1280 | 3*10^14 |
1536 | 3*10^16 |
2048 | 3*10^20 |
ECDSA ( Elliptic Curve Digital Signature Algorithm) -algoritmi on hyväksytty ANSI X9F1- ja IEEE P1363 -standardeiksi .
Viestin M allekirjoitus on numeropari (r, s).
Suurin osa nykyaikaisen kryptografian kryptosysteemeistä voidaan luonnollisesti "siirtää" elliptisiin käyriin. Perusajatuksena on, että tietyille äärellisille ryhmille käytetty tunnettu algoritmi kirjoitetaan uudelleen käyttämään elliptisten käyrien rationaalisten pisteiden ryhmiä:
On huomattava, että tällaisten digitaalisten allekirjoitusjärjestelmien turvallisuus ei riipu ainoastaan salausalgoritmien kryptografisesta vahvuudesta, vaan myös käytettyjen kryptografisten hajautusfunktioiden ja satunnaislukugeneraattoreiden kryptografisesta vahvuudesta .
Vuoden 2013 katsauksen mukaan yleisimmin käytetyt käyrät ovat nistp256, nistp384, nistp521, secp256k1, secp384r1, secp521r1 [20] .