Elliptisen käyrän salaus
Elliptisen käyrän salaus (Malline:K-en, ECC) tarkoittaa elliptisiin käyriin liittyviin laskutoimituksiin perustuvia salausmenetelmiä, joita käytetään julkisen avaimen salauksessa.[1] Konseptin esittelivät 1980-luvun puolivälissä toisistaan riippumatta Neal Koblitz ja Victor S. Miller.[2][3] Elliptisen käyrän menetelmiä pidetään turvallisempana kuin ensimmäisen sukupolven julkisen avaimen salausta kuten RSA:ta.[4]
Etuna yleisempään RSA:han verrattuna on avainten pieni koko, jonka ansiosta salaukseen liittyvät toiminnot ovat nopeita.[5][6] ECC sopii erityisesti tarkoituksiin, joissa muisti ja laskentakyky on rajoitettu, kuten sirukorteissa ja muissa sulautetuissa järjestelmissä.[7] Toisaalta se on monimutkaisempi toteuttaa, sillä sopivien käyrien valinta edellyttää matemaattista erityisosaamista.[6][8] Turvallisuus perustuu yksisuuntaisen laskutoimituksen käänteisoperaation, tässä tapauksessa diskreetin logaritmin vaikeuteen.[8] Nyrkkisääntönä on myös sellaisen julkisen toteutuksen käyttö, josta ammattilaisetkaan eivät ole löytäneet virheitä.[5] Näitä ovat esimerkiksi niin sanotun sivukanavahyökkäyksen mahdollistavat tietovuotolähteet, joista saatuja ajallisia ja sisällöllisiä tietoja käyttämällä itse algoritmi voidaan murtaa.[9][10][11] Toteutuksiin liittyy myös muita yksityiskohtia, jotka voivat vaarantaa salauksen toimivuuden. Esimerkiksi tarkistetaanko sijoittuvatko pisteet todella käyrälle.[12][13]
Käyttö
Käyttö on yleistynyt sitä mukaa kun luottamus RSA-salauksen kestävyyteen on heikentynyt. Sen avaimen pituuteen liittyvät ongelmat korostuvat siirryttäessä vahvempaan salaukseen. Kun RSA:n ja Diffie–Hellmanin murtaminen tavanomaisin menetelmin on arvioitu olevan kenties vain viiden vuoden päässä, on ECC-siirtymä nähty jopa ainoana käyttökelpoisena vaihtoehtona.[14] Pitemmällä tähtäimellä kvanttitietokoneiden kehityksen edistyminen ja sen myötä Shorin algoritmi uhkaa.[15] Proosin ja Zalkan mukaan 2048-bitin RSA:n murtamiseen tarvitaan 4096 kubitin laskentateho, mutta vastaavaan 224-bitin ECC:hen vain 1300–1600.[16] Muun muassa NSA ja EU ovat alkaneet kehittämään kvanttiturvallisia salausmenetelmiä.[17][18][19]
Teoria
Elliptisen käyrän laskutoimitukset:
Julkisia toteutuksia
- Diffie–Hellman avaimenvaihtojärjestelmään perustuva elliptisten käyrien salausmenetelmä (Malline:K-en, ECDH)
- ECDSA, elliptisen käyrän salaukseen perustuva sähköisen allekirjoituksen menetelmä
- Edwardsin käyrien allekirjoitusalgoritmi (Malline:K-en, EdDSA)
- Ed25519 (SSH), Malline:RFC [24][25]
ECDHE (Malline:K-en) viittaa lyhytikäisiin parametreihin perustuvaan, jopa kertakäyttöiseen avaimenvaihtoon. Tällöin tieto pysyy salassa, vaikka pääsalausavaimet joskus myöhemmin vaarantuisivat (Malline:K-en).[26]
Dual_EC_DRBG (Malline:K-en) on pahamaineinen satunnaislukugeneraattori, johon RSA-yhtiön on arvioitu jättäneen NSA:n pyynnöstä niin sanotun takaoven, jonka paljastumisen reaktiot ovat olleet näyttäviä.[27][28] Sitä ei suositella käytettäväksi.[29][30] Muiden julkisen avaimen salausmenetelmien tavoin ECC edellyttää, ettei hyökkääjä voi ennustaa satunnaislukujen luomista.[31]
Edward Snowdenin paljastusten valossa on herännyt epäilyksiä, voiko NIST:n viranomaiskäyttöön suosittelemiin käyriin luottaa ilman pelkoa takaovista.[32]
Lähteet
Viitteet
Aiheesta muualla
- ECC Tutorial
- A (relatively easy to understand) primer on elliptic curve cryptography
- How to design an elliptic-curve signature system
- SafeCurves: choosing safe curves for elliptic-curve cryptography
- On the Impending Crypto Monoculture
Malline:Kryptografiset algoritmit
- ↑ Malline:Verkkoviite
- ↑ Malline:Lehtiviite
- ↑ Malline:Lehtiviite
- ↑ Malline:Verkkoviite
- ↑ 5,0 5,1 Malline:Verkkoviite
- ↑ 6,0 6,1 Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ 8,0 8,1 Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite
- ↑ Malline:Verkkoviite