Yhtenäistettyjen yhteenlaskukaavojen käyttö elliptiseen kryptosysteemiin kohdistuvan yksinkertaisen sivukanavahyökkäyksen torjunnassa

Samankaltaiset tiedostot
k=1 b kx k K-kertoimisia polynomeja, P (X)+Q(X) = (a k + b k )X k n+m a i b j X k. i+j=k k=0

Mitään muita operaatioita symbolille ei ole määritelty! < a kaikilla kokonaisluvuilla a, + a = kaikilla kokonaisluvuilla a.

1 Lineaariavaruus eli Vektoriavaruus

802320A LINEAARIALGEBRA OSA I

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

on Abelin ryhmä kertolaskun suhteen. Tämän joukon alkioiden lukumäärää merkitään

(1) refleksiivinen, (2) symmetrinen ja (3) transitiivinen.

Matematiikassa ja muuallakin joudutaan usein tekemisiin sellaisten relaatioiden kanssa, joiden lakina on tietyn ominaisuuden samuus.

[a] ={b 2 A : a b}. Ekvivalenssiluokkien joukko

Kolmannen ja neljännen asteen yhtälöistä

Luonnollisten lukujen ja kokonaislukujen määritteleminen

Esko Turunen Luku 3. Ryhmät

Matematiikan tukikurssi, kurssikerta 2

Matematiikan tukikurssi

Matematiikan johdantokurssi, syksy 2016 Harjoitus 11, ratkaisuista

Matematiikan tukikurssi, kurssikerta 3

d Z + 17 Viimeksi muutettu

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

Matematiikan tukikurssi

Vektorien pistetulo on aina reaaliluku. Esimerkiksi vektorien v = (3, 2, 0) ja w = (1, 2, 3) pistetulo on

Avaruuden R n aliavaruus

Lineaarialgebra ja matriisilaskenta II. LM2, Kesä /141

Algebra I, harjoitus 5,

, on säännöllinen 2-ulotteinen pinta. Määrää T x0 pisteessä x 0 = (0, 1, 1).

Matematiikan ja tilastotieteen laitos Algebra I - Kesä 2009 Ratkaisuehdoituksia harjoituksiin 8 -Tehtävät sivua Heikki Koivupalo ja Rami Luisto

Matematiikan peruskurssi 2

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Matematiikan tukikurssi

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

Yleiset lineaarimuunnokset

Matematiikan tukikurssi

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Reaalifunktioista 1 / 17. Reaalifunktioista

Lineaarinen yhtälöryhmä

Esko Turunen MAT Algebra1(s)

Johdatus matematiikkaan

Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f )

MS-A0402 Diskreetin matematiikan perusteet

7. Olemassaolo ja yksikäsitteisyys Galois n kunta GF(q) = F q, jossa on q alkiota, määriteltiin jäännösluokkarenkaaksi

R : renkaan R kääntyvien alkioiden joukko; R kertolaskulla varustettuna on

2 Pistejoukko koordinaatistossa

rm + sn = d. Siispä Proposition 9.5(4) nojalla e d.

MAB3 - Harjoitustehtävien ratkaisut:

MATEMATIIKAN KOE, PITKÄ OPPIMÄÄRÄ HYVÄN VASTAUKSEN PIIRTEITÄ

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

kaikille a R. 1 (R, +) on kommutatiivinen ryhmä, 2 a(b + c) = ab + ac ja (b + c)a = ba + ca kaikilla a, b, c R, ja

Matematiikan tukikurssi, kurssikerta 5

MS-A0004/A0006 Matriisilaskenta

ECC Elliptic Curve Cryptography

HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI. Matematiikan ja tilastotieteen laitos. Matemaattis-luonnontieteellinen

Matematiikan tukikurssi

Alkulukujen harmoninen sarja

MS-A0207 Differentiaali- ja integraalilaskenta 2 Luento 5: Gradientti ja suunnattu derivaatta. Vektoriarvoiset funktiot. Taylor-approksimaatio.

1.4 Funktion jatkuvuus

Lauseen erikoistapaus on ollut kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa seuraavassa muodossa:

Sekalaiset tehtävät, 11. syyskuuta 2005, sivu 1 / 13. Tehtäviä

Esitetään tehtävälle kaksi hieman erilaista ratkaisua. Ratkaisutapa 1. Lähdetään sieventämään epäyhtälön vasenta puolta:

9. Lineaaristen differentiaaliyhtälöiden ratkaisuavaruuksista

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 9 (6 sivua) OT

MAB3 - Harjoitustehtävien ratkaisut:

Pollardin rho-hyökkäys elliptiseen käyrään perustuvaa kryptosysteemiä vastaan

Fermat n pieni lause. Heikki Pitkänen. Matematiikan kandidaatintutkielma

LUKUTEORIA johdantoa

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

1. Osoita, että joukon X osajoukoille A ja B on voimassa toinen ns. de Morganin laki (A B) = A B.

Rollen lause polynomeille

{I n } < { I n,i n } < GL n (Q) < GL n (R) < GL n (C) kaikilla n 2 ja

diskreetin logaritmin laskemisen käytännössä mahdottomaksi. Olkoon γ kunnan F q primitiivinen alkio. Luku q ja alkio γ ovat julkisia suureita.

a b 1 c b n c n

w + x + y + z =4, wx + wy + wz + xy + xz + yz =2, wxy + wxz + wyz + xyz = 4, wxyz = 1.

(iv) Ratkaisu 1. Sovelletaan Eukleideen algoritmia osoittajaan ja nimittäjään. (i) 7 = , 7 6 = = =

Tenttiin valmentavia harjoituksia

Teema 4. Homomorfismeista Ihanne ja tekijärengas. Teema 4 1 / 32

Solmu 3/2001 Solmu 3/2001. Kevään 2001 ylioppilaskirjoitusten pitkän matematiikan kokeessa oli seuraava tehtävä:

6. Tekijäryhmät ja aliryhmät

Kanta ja Kannan-vaihto

Ominaisarvot ja ominaisvektorit 140 / 170

Antti Rasila. Kevät Matematiikan ja systeemianalyysin laitos Aalto-yliopisto. Antti Rasila (Aalto-yliopisto) MS-A0204 Kevät / 16

a) Mitkä seuraavista ovat samassa ekvivalenssiluokassa kuin (3, 8), eli kuuluvat joukkoon

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

a ord 13 (a)

9 Matriisit. 9.1 Matriisien laskutoimituksia

Lineaariavaruudet. Span. Sisätulo. Normi. Matriisinormit. Matriisinormit. aiheita. Aiheet. Reaalinen lineaariavaruus. Span. Sisätulo.

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdoituksia harjoituksiin 8 (7 sivua)

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 3 (9 sivua) OT

Tämän luvun tarkoituksena on antaa perustaidot kompleksiluvuilla laskemiseen sekä niiden geometriseen tulkintaan. { (a, b) a, b œ R }

Johdatus diskreettiin matematiikkaan Harjoitus 2, Osoita että A on hyvin määritelty. Tee tämä osoittamalla

Ratkaisu: a) Kahden joukon yhdisteseen poimitaan kaikki alkiot jotka ovat jommassakummassa joukossa (eikä mitään muuta).

9. Vektorit. 9.1 Skalaarit ja vektorit. 9.2 Vektorit tasossa

MS-A0003/A0005 Matriisilaskenta Malliratkaisut 5 / vko 48

Vektorit, suorat ja tasot

Johdatus diskreettiin matematiikkaan (syksy 2009) Harjoitus 3, ratkaisuja Janne Korhonen

renkaissa. 0 R x + x =(0 R +1 R )x =1 R x = x

Matematiikan tukikurssi

Diofantoksen yhtälön ratkaisut

Johdatus diskreettiin matematiikkaan Harjoitus 5, Ratkaise rekursioyhtälö

Johdatus matematiikkaan

Yhtälön oikealla puolella on säteen neliö, joten r. = 5 eli r = ± 5. Koska säde on positiivinen, niin r = 5.

Transkriptio:

TAMPEREEN YLIOPISTO Pro gradu -tutkielma Sakari Hakala Yhtenäistettyjen yhteenlaskukaavojen käyttö elliptiseen kryptosysteemiin kohdistuvan yksinkertaisen sivukanavahyökkäyksen torjunnassa Matematiikan ja tilastotieteen laitos Matematiikka Huhtikuu 2008

Tampereen yliopisto Matematiikan ja tilastotieteen laitos Hakala, Sakari: Yhtenäistettyjen yhteenlaskukaavojen käyttö elliptiseen kryptosysteemiin kohdistuvan yksinkertaisen sivukanavahyökkäyksen torjunnassa Pro gradu -tutkielma, 43 s. Matematiikka Huhtikuu 2008 Tiivistelmä Elliptisten käyrien tutkiminen on ollut lukuteorian suosituimpia aloja viime vuosina. Tässä tutkielmassa keskitymme käsittelemään pelkästään elliptisten käyrien kryptografisia ominaisuuksia ja erityisesti elliptisten käyrien yhtenäistettyjä yhteenlaskukaavoja. Tutkielma jäsentyy seuraavasti. Luvussa 1 esittelemme joitakin esitietoina tarvittavia käsitteitä. Luvussa 2 tutustumme aluksi affiiniin ja projektiiviseen koordinaatistoon, jonka jälkeen määrittelemme Weierstrassin yhtälön ja tämän diskriminantin. Luvun lopuksi määrittelemme elliptisen käyrän yli kunnan F, sekä käsittelemme konkreettisen esimerkin elliptisestä käyrästä. Luku 3 käsittelee elliptisten käyrien yhteenlaskua. Aluksi esittelemme geometrisen tulkinnan yhteenlaskusta elliptisellä käyrällä yli reaalilukujenkunnan R, jonka jälkeen annamme yleisen määritelmän elliptisten käyrien yhteenlaskulle. Seuraavaksi johdamme algebralliset yhteenlaskukaavat määritelmästä. Luvun lopuksi esittelemme käytännössä esiintyvän double and add - algoritmin, sekä laskemme joitain konkreettisia esimerkkejä. Kryptografiasta on lyhyt kuvaus luvussa 4. Samassa kappaleessa määrittelemme myös diskreetin logaritmin ongelman. Seuraavaksi tarkastelemme elliptisiä kryptosysteemejä yleisesti. Tämän jälkeen tutustumme sivukanavahyökkäyksiin. Lopuksi luvussa 5 pääsemme käsittelemään elliptiseen kryptosysteemiin kohdistuvan yksinkertaisen sivukanavahyökkäyksen torjuntaa yleisesti, sekä yksityiskohtaisemmin yhtenäistettyjä yhteenlaskukaavoja. Tutkielman päälähteinä on käytetty kirjoja Koblitz: Algebraic aspects of cryptography ja Silverman: The arithmetic of elliptic curves sekä raportteja Brier, Joye: Weierstraßelliptic curves and side-channel attacks ja Brier, Déchène, Joye: Unified point addition formulae for elliptic curve cryptosystems. Lukijalta oletetaan esitietoina Tampereen yliopiston kurssien Algebra I ja II tietojen tuntemista.

Sisältö Johdanto................................ 1 1 Esitiedot 3 2 Elliptiset käyrät affiinissa ja projektiivisessa tasossa 5 2.1 Affiinit ja projektiiviset koordinaatit.............. 5 2.2 Elliptiset käyrät.......................... 6 3 Elliptisten käyrien yhteenlaskukaavat 13 3.1 Geometrinen tulkinta, tapaus F = R.............. 13 3.2 Algebraa affiinissa tasossa.................... 15 3.3 Projektiivinen muoto....................... 21 3.4 Käytäntö, Double and add -algoritmi............. 24 4 Kryptografia 26 4.1 Johdatus kryptografiaan..................... 26 4.2 Diskreetin logaritmin ongelma.................. 28 4.3 Elliptiset käyrät ja kryptografia................. 28 4.4 Sivukanavahyökkäys, SCA.................... 29 5 Yhtenäistetyt yhteenlaskukaavat 31 5.1 Yksinkertaisen sivukanavahyökkäyksen torjunta........ 31 5.2 Ensimmäinen versio........................ 32 5.3 Lopullinen versio......................... 35 Kirjallisuutta 42 2

Johdanto Elliptisten käyrien tutkiminen on ollut lukuteorian suosituimpia aloja viime vuosina, johtuen niiden kryptografisista sovelluksista sekä Andrew Wiles n vuonna 1995 esittämän Fermat n suuren lauseen todistuksesta. Tässä tutkielmassa keskitymme käsittelemään pelkästään elliptisten käyrien kryptografisia ominaisuuksia ja erityisesti elliptisten käyrien yhtenäistettyjä yhteenlaskukaavoja. Elliptisten käyrien käyttöä kryptografiassa ehdottivat ensimmäisinä Neal Koblitz ja Victor Miller toisistaan riippumatta vuonna 1985. Koska elliptisten käyrien diskreetin logaritmin laskemiselle ei ole alieksponenttiaalista algoritmia, antavat niihin perustuvat kryptosysteemit vastaavan turvallisuuden huomattavasti lyhyemmällä avaimella verrattuna aiempiin kryptosysteemeihin, kuten RSA tai ElGamal. Tämä on erittäin tarpeellinen ominaisuus pienissä laitteissa, joissa tarvitaan salausta, esimerkkinä älykortit (smart cards). Yhteenlasku elliptisen käyrän pisteillä lasketaan eri tavalla riippuen onko kyseessä pisteen yhteenlasku itsensä kanssa (pisteen kahdentaminen) vai kahden toisistaan poikkeavan pisteen yhteenlaskusta. Tästä johtuen elliptinen kryptosysteemi on erityisen vahingoittuva sivukanavahyökkäyksille, jotka Paul Kocher esitteli vuonna 1996. Sivukanavahyökkäyksen torjuntaan esiteltiin seuraavina vuosina joitakin keinoja, mutta ne olivat joko laskennallisesti tehottomia tai sitten toimivat vain määrätyt ehdot täyttäville elliptisille käyrille. Vuonna 2002 Éric Brier ja Marc Joye esittelivät yhtenäistetyn yhteenlaskukaavan, joka toimii jokaisella elliptisellä käyrillä, ja vuonna 2004 Brier, Joye ja Isabelle Déchène toivat parannellun version yhtenäistetystä yhteenlaskukaavasta. Loppuosa tutkielmasta jäsentyy seuraavasti. Luvussa 1 esittelemme joitakin esitietoina tarvittavia käsitteitä, kuten kunnan karakteristika ja sen ominaisuuksia, sekä kunnan F algebrallisen sulkeuman F. Luvussa 2 tutustumme aluksi affiiniin ja projektiiviseen koordinaatistoon, jonka jälkeen määrittelemme Weierstrassin yhtälön ja tämän diskriminantin. Seuraavaksi osoitamme, että olettamalla kunnan karakteristika tunnetuksi voidaan Weierstrassin yhtälö kirjoittaa lyhyemmässä muodossa. Luvun lopuksi määrittelemme elliptisen käyrän yli kunnan F, sekä käsittelemme konkreettisen esimerkin ellip- 1

tisestä käyrästä yli kunnan Z 7. Luku 3 käsittelee elliptisten käyrien yhteenlaskua. Aluksi esittelemme geometrisen tulkinnan yhteenlaskusta elliptisellä käyrällä yli reaalilukujenkunnan R, jonka jälkeen annamme yleisen määritelmän elliptisten käyrien yhteenlaskulle. Seuraavaksi johdamme algebralliset yhteenlaskukaavat määritelmästä, aluksi affiinissa tasossa, ja erityistapauksena projektiivinen versio, kun kunnan karakteristika on erisuuri kuin kaksi tai kolme. Luvun lopuksi esittelemme käytännössä esiintyvän double and add - algoritmin, sekä laskemme joitain konkreettisia esimerkkejä. Kryptografiasta on lyhyt kuvaus luvussa 4, varsinkin julkisen avaimen systeemistä. Samassa kappaleessa määrittelemme myös erittäin oleellisen diskreetin logaritmin ongelman. Seuraavaksi tarkastelemme elliptisiä kryptosysteemejä yleisesti ja esimerkkinä otamme Diffie-Hellman avaimenvaihto protokollan elliptisille käyrille. Tämän jälkeen tutustumme sivukanavahyökkäyksiin. Lopuksi luvussa 5 pääsemme käsittelemään elliptiseen kryptosysteemiin kohdistuvan yksinkertaisen sivukanavahyökkäyksen torjuntaa yleisesti, sekä yksityiskohtaisemmin yhtenäistettyjä yhteenlaskukaavoja, tämän tutkielman varsinaista aihetta. Tutkielman päälähteinä on käytetty kirjoja Koblitz: Algebraic aspects of cryptography ja Silverman: The arithmetic of elliptic curves sekä raportteja Brier, Joye: Weierstraß elliptic curves and side-channel attacks ja Brier, Déchène, Joye: Unified point addition formulae for elliptic curve cryptosystems. Lisäksi useita muita teoksia on käytetty avuksi tutkielman teossa, täydellinen lista löytyy tutkielman loppuosasta. Lukijalta oletetaan esitietoina Tampereen yliopiston kurssien Algebra I ja II tietojen tuntemista. 2

Luku 1 Esitiedot Tässä luvussa esittelemme muutamia tutkielmassa tarvittavia tietoja. Luku perustuu kirjaan [5]. Määritelmä 1.1. Olkoon F kunta, ja olkoon a F. Jos on olemassa alkio x F siten, että x 2 = a, niin sanomme alkiota a neliönjäännökseksi kunnassa F. Muutoin alkio a on epäneliönjäännös. Määritelmä 1.2. Kunnan F karakteristika on pienin luku p, jolla pätee } 1 + 1 + {{ + 1 } = 0, p missä 1 on kertolaskun neutraalialkio ja 0 on yhteenlaskun neutraalialkio. Mikäli tälläistä lukua p ei ole, on kunta F ääretön, ja sen karakteristika on 0. Käytämme merkintää char(f ) kunnan F karakteristikalle. Lause 1.1. Olkoon kunnan F karakteristika char(f ) = p. Tällöin luku p on joko 0 tai alkuluku. Lisäksi kaikille kunnan alkioille a F on voimassa pa = a } + a + {{ + a } = 0. p Todistus. Oletetaan, että luku p ei ole alkuluku, eli on olemassa kokonaisluvut n ja m siten, että p = nm. Tällöin kunnan ominaisuuksista seuraa, että p1 = (nm)1 = (n1)(m1) = 0. Koska kunnassa ei ole olemassa nollanjakajia, on joko n1 = 0 tai m1 = 0. Mutta tämä on vastoin oletusta, jonka mukaan luku p on pienin kokonaisluku, jolla kerrottuna 1 on 0. Siis karakteristikan on oltava joko 0 tai alkuluku. Selvästi saadaan, että pa = p(1a) = (p1)a = 0a = 0. 3

Lause 1.2. Olkoon kunnan F karakteristika char(f ) = 2. Tällöin a = a, kaikilla alkioilla a F. Todistus. Olkoon a F ja char(f ) = 2. Nyt a = a + 0 = a + 2a = a. Esim. 1.1. Kunnan Z q, missä q = p r, karakteristika on p. Reaalilukujen kunta on ääretön, joten char(r) = 0. Määritelmä 1.3. Kunta F on algebrallisesti suljettu, jos jokaisella ei-vakio polynomilla, jonka kertoimet ovat kunnan F alkioita, on juuri x F. Jos kunta F ei ole algebrallisesti suljettu, niin silloin sen algeballinen sulkeuma F on pienin algebrallisesti suljettu kunnan F laajennus. Esim. 1.2. Kompleksilukujen kunta C on algebrallisesti suljettu. Reaalilukujen kunta R ei ole algebrallisesti suljettu, sillä esimerkiksi polynomilla f(x) = x 2 + 1 ei ole reaalilukujuurta. Reaalilukujen kunnan algebrallinen sulkeuma R on kompleksilukujen kunta C. 4

Luku 2 Elliptiset käyrät affiinissa ja projektiivisessa tasossa Tässä luvussa tutustumme ensimmäiseksi affiiniin ja projektiiviseen tasoon alaluvussa 2.1, ja esitämme niiden välisen yhteyden. Tämän jälkeen alaluvussa 2.2 määrittelemme Weierstassin yhtälön ja elliptiset käyrät, sekä tutkimme kunnan F karakteristikan vaikutusta käyrän yhtälölle. Luvun päätteeksi käsittelemme konkreettista esimerkkiä elliptisestä käyrästä yli kunnan Z 7. 2.1 Affiinit ja projektiiviset koordinaatit Määritelmä 2.1. Olkoon F kunta. Affiini n-avaruus yli kunnan F on joukko A n = A n ( F ) = { P = (x 1, x 2,..., x n ) : x i F }. Vastaavasti, F-rationaalisten pisteiden joukko affiinissa n-avaruudessa A n on A n (F ) = {P = (x 1, x 2,..., x n ) : x i F }. Esim. 2.1. Affiini 2-avaruus yli reaalilukujen kunnan R on normaali karteesinen taso. Määritelmä 2.2. Olkoon F kunta. Määrittelemme ekvivalenssirelaation affiinin n+1-avaruuden alkioille seuraavasti: Alkiot (x 0, x 1,..., x n ) ja (y 0, y 1,..., y n ) ovat ekvivalentit, jos on olemassa nollasta poikkeava luku λ F siten, että x i = λy i, kaikilla i = 0, 1,..., n. Käytämme alkion (x 0, x 1,..., x n ) A n+1 (F ) ekvivalenssiluokalle merkintää [x 0, x 1,..., x n ]. Tällöin Projektiivinen n-avaruus yli kunnan F on joukko P n = P n ( F ) = {[x 0, x 1,..., x n ] : (x 0, x 1,..., x n ) A n+1 } 5

siten, että vähintään yksi komponentti x i on nollasta poikkeava. Komponentteja x 0, x 1,..., x n kutsutaan vastaavan pisteen P P n homogeenisiksi koordinaateiksi. K-rationaalisten pisteiden joukko projektiivisessa n-avaruudessa P n on P n (K) = {[x 0, x 1,..., x n ] P n : x i K}. Elliptisiä käyriä tutkiessamme liikumme ainoastaan affiinissa 2-avaruudessa (tasossa) yli kunnan F, sekä projektiivisessa 2-avaruudessa (tasossa) yli kunnan F. Olkoon nyt piste P = [X, Y, Z] projektiivisen tason piste. Nyt on olemassa vain yksi ekvivalenssiluokka (piste), jolla Z = 1, nimittäin luokka [XZ 1, Y Z 1, ZZ 1 ] = [X, Y, 1]. Tällöin voimme asettaa vastaavuudet X = x ja Y = y, ja saamme yksikäsitteisen affiinin tason pisteen (x, y). 2.2 Elliptiset käyrät Aloitamme tämän alaluvun määrittelemällä elliptisten käyrien kannalta erittäin oleellisen yhtälön, joka luo pohjan loppututkielmaa varten. Määritelmä 2.3. Pitkä Weierstrassin normaali yhtälö on yhtälö, joka on projektiivisessa tasossa muotoa (2.1) E : Y 2 Z + a 1 XY Z + a 3 Y Z 2 = X 3 + a 4 XZ 2 + a 6, missä a i F. Kun Z = 0, sievenee yhtälö 2.1 muotoon 0 = X 3, joten myöskin X = 0. Siis ainoa ekvivalenssiluokka, joka toteuttaa yhtälön 2.1 ja jolla Z = 0 on luokka [0, 1, 0]. Tätä kutsutaan äärettömyyspisteeksi (point at infinity), ja sitä merkitään merkillä O. Kuten kappaleessa 2.1 todettiin, on projektiivisen tason ekvivalenssiluokilla ja affiinin tason pisteillä olemassa yksikäsitteinen yhteys, lukuun ottamatta äärettömyyspistettä. Näin ollen voimme tarkastella määritelmää 2.3 myöskin affiinissa tasossa. Sijoitamme yhtälöön 2.1 muunnokset x = XZ 1 ja y = Y Z 1, ja saamme (2.2) E : y 2 + a 1 xy + a 3 y = x 3 + a 2 x 2 + a 4 x + a 6, missä a i F, ja äärettömyyspiste määritellään pisteeksi O = (, ). Seuraavaksi määrittelemme käyrän sileyden affiinissa tasossa. Projektiivisessa tasossa määritelmä on vastaava, mutta lisäksi pitää huomioida muodollinen osittaisderivaatta muuttujan Z suhteen. Määritelmä 2.4. Olkoon E : Y 2 + a 1 XY + a 3 Y = X 3 + a 2 X 2 + a 4 X + a 6 affiinin tason yhtälö. Piste P = (x, y) on säännöllinen piste, jos se toteuttaa yhtälön E, ja molemmat muodolliset osittaisderivaatat häviävät pisteessä P : E X := a 1Y = 3X 2 + 2a 2 X + a 4, 6 E Y := 2Y + a 1X + a 3 = 0.

Muutoin piste P on epäsäännöllinen. Jos yhtälön E määräämällä käyrällä on säännöllinen piste, kutsutaan sitä säännölliseksi käyräksi. Muutoin käyrä on epäsäännöllinen tai sileä. Määritelmä 2.5. Olkoon F kunta. Tutkitaan yhtälöä 2.2, jonka kertoimet a 1, a 2, a 3, a 4 ja a 6 ovat kunnan F alkioita. Yhtälön Taten arvot ovat b 2 = a 2 1 + 4a 2, b 4 = 2a 4 + a 1 a 3, b 6 = a 2 3 + 4a 6, b 8 = a 2 1a 6 + 4a 2 a 6 a 1 a 3 a 4 + a 2 a 2 3 a 2 4, c 4 = b 2 2 24b 4 ja c 6 = b 3 2 + 36b 2 b 4 216b 6. Tällöin yhtälön diskriminantti on (2.3) = b 2 2b 8 8b 3 4 27b 2 6 + 9b 2 b 4 b 6 ja j-invariantti on j = c3 4. Seuraavissa lauseissa tutkimme miten kunnan F karakteristika char(f ) vaikuttaa yhtälön 2.2 muotoon, sekä yhtälön diskriminanttiin. Käsittelemme lauseet affiinissa muodossa, mutta vastaavat tulokset ovat voimassa myöskin projektiivisessa tasossa. Lause 2.1. Oletetaan, että kunnan F karakteristika char(f ) on 2. Tällöin yhtälöllä 2.2 on kaksi mahdollista muotoa, joiden määräämät käyrät ovat sileitä. (2.4) (2.5) Y 2 + XY = X 3 + a 2 X 2 + a 6, a i F, = a 6 Y 2 + a 3 Y = X 3 + a 4 X + a 6, a i F, = a 4 3. Edeltävää yhtälöä kutsumme epäsupersingulaariseksi ja jälkimmäistä supersingulaariseksi. Todistus. Olkoon yhtälö E : Y 2 + a 1 XY + a 3 Y = X 3 + a 2 X 2 + a 4 X + a 6 määritelty yli kunnan F, ja olkoon kunnan F karakteristika char(f ) = 2. Aloitamme olettamalla, että a 1 0, ja teemme lineaarimuunnoksen X X a 3 a 1. Tällöin yhtälön vasen puoli on Y 2 + a 1 (X a 3 a 1 )Y + a 3 Y = Y 2 + a 1 XY a 3 Y + a 3 Y = Y 2 + a 1 XY. 7

Vastaavasti oikea puoli tulee muotoon X 3 + a 2X 2 + a 4X + a 6, missä a 2, a 4 ja a 6 ovat kunnan F alkioita. Muunnoksella Y Y + a 4 a 1 saadaan vasen puoli (Y + a 4 a 1 ) 2 + a 1 X(Y + a 4 a 1 ) = Y 2 + 2 a 4 a 1 Y + (a 4) 2 (a 1 ) 2 + a 1XY + a 4X = Y 2 + (a 4) 2 (a 1 ) 2 + a 1XY + a 4X, josta saadaan muuttujasta Y riippumattomat termit oikealle puolelle. Nyt oikea puoli on X 3 + a 2X 2 + a 4X a 4X + a 6 (a 4) 2 (a 1 ) = 2 X3 + a 2X 2 + a 6. Lopulta teemme vielä lineaarimuunnokset Y a 3 1Y ja X a 2 1X, jolloin lopuksi jakamalla koko yhtälö kertoimella a 6 1 saamme XY termin kertoimeksi 1. Yhtälön diskriminantin laskeminen tapahtuu sijoittamalla Taten arvoihin vakiot, a 3 = a 4 = 0 ja a 1 = 1. Tulokseksi saamme yhdessä lauseen 1.2 kanssa, että = a 6 = a 6. Näin olemme saaneet epäsupersingulaarisen tapauksen todistettua. Seuraavaksi oletamme, että a 1 = 0. Kryptografisesti heikompi supersingulaarinen tapaus saadaan todistettua tekemällä lineaarimuunnos Y Y +cx, missä c 2 = a 2. Nyt vasemmalle puolelle saadaan (Y + cx) 2 + a 3 (Y + cx) = Y 2 + 2cXY + c 2 X 2 + a 3 Y + a 3 cx = Y 2 + a 2 X 2 + a 3 Y + a 3 cx, ja siirtämällä muuttujasta Y riippumattomat termit oikealle puolelle saadaan haluttu tulos. Sijoittamalla diskriminantin yhtälöön arvot a 1 = a 2 = 0, saamme tuloksen = 27a 4 3 = a 4 3. Lause 2.2. Oletetaan, että kunnan F karakteristika char(f ) = 3. Tällöin yhtälö 2.2 sievenee muotoon Y 2 = X 3 + a 2 X 2 + a 4 X + a 6, a i F. Lisäksi diskriminantti = a 2 2a 2 4 a 3 2a 6 a 3 4. Todistus. Tehdään yhtälöön 2.2 seuraava lineaarimuunnos: Y Y (a 1 X + 8

a 3 )/2. Yhtälön vasenta puolta sieventämällä saamme (Y a 1X + a 3 2 ) 2 + a 1 X(Y a 1X + a 3 2 =Y 2 Y (a 1 X + a 3 ) + (a 1X + a 3 ) 2 =Y 2 + (a 1X + a 3 ) 2 4 =Y 2 + (a 1X + a 3 ) 2 4 =Y 2 (a 1X + a 3 ) 2 4. 4 ) + a 3 (Y a 1X + a 3 ) 2 + (a 1 X + a 3 )(Y a 1X + a 3 ) 2 + (a 1 X + a 3 )(Y Y a 1X + a 3 ) 2 (a 1X + a 3 ) 2 2 Seuraavaksi siirrämme muuttujasta Y riippumattoman termin oikealle puolelle. Nyt yhtälön oikea puoli on X 3 + a 2 X 2 + (a 1X + a 3 ) 2 + a 4 X + a 6 4 =X 3 + a 2 X 2 + 1 4 (a2 1X 2 + 2a 1 a 3 X + a 2 3) + a 4 X + a 6 =X 3 + (a 2 + 1 4 a2 1)X 2 + (a 4 + 1 2 a 1a 3 )X + (a 6 + 1 4 a2 3) =X 3 + a 2X 2 + a 4X + a 6, a i F. Näin olemme saaneet yhtälön 2.2 muotoon (2.6) Y 2 = X 3 + a 2 X 2 + a 4 X + a 6, a i F. Sijoittamalla a 1 = a 3 = 0 Taten arvoihin ja edelleen diskriminantin yhtälöön 2.3, saadaan haluttu tulos käyttämällä hyväksi tietoa, että karakteristika char(f ) = 3: = b 2 2b 8 8b 3 4 27b 2 6 + 9b 2 b 4 b 6 = b 2 2b 8 2b 3 4 = (4a 2 ) 2 (4a 2 a 6 a 2 4) 2(2a 4 ) 3 = a 2 2(a 2 a 6 a 2 4) a 3 4 = a 2 2a 2 4 a 3 2a 6 a 3 4. Lause 2.3. Olkoon kunnan F karakteristika on erisuuri kuin 2 tai 3. Tällöin yhtälö 2.2 saadaan muotoon (2.7) Y 2 = X 3 + ax + b, a, b F. Yhtälön diskriminantti on tällöin = 16(4a 3 + 27b 2 ). 9

Todistus. Lauseen 2.2 perusteella riittää osoittaa, että saamme yhtälön oikealta puolelta toisen asteen termi poistetuksi. Tämän saamme aikaiseksi tekemällä lineaarimuunnos X X 1 3 a 2. Tarkastelemme seuraavassa yhtälön oikeata puolta. (X 1 3 a 2) 3 + a 2 (X 1 3 a 2) 2 + a 4 (X 1 3 a 2) + a 6 =X 3 a 2 X 2 + 1 3 a2 2X 1 27 a3 2 + a 2 (X 2 2 3 a 2X + 1 9 a2 2) + a 4 X 1 3 a 2a 4 + a 6 =X 3 a 2 X 2 + 1 3 a2 2X 1 27 a3 2 + a 2 X 2 2 3 a2 2X + 1 9 a3 2 + a 4 X 1 3 a 2a 4 + a 6 =X 3 + ( 1 3 a2 2 2 3 a2 2 + a 4 )X + ( 1 27 a3 2 + 1 9 a3 2 1 3 a 2a 4 + a 6 ) =X 3 + ax + b, a, b F. Laskemme diskriminantin arvo suoraviivaisesti sijoittamalla arvot a 4 = a, a 6 = b ja a 1 = a 2 = a 3 = 0 yhtälöön 2.3. Tällöin b 2 = 0, b 4 = 2a, b 6 = 4b, b 8 = a 2, = 8(2a) 3 27(4b) 2 = 16(4a 3 + 27b 2 ). Lause 2.4. Weierstrassin yhtälön 2.2 määräämä käyrä on säännöllinen jos, ja vain jos, sen diskriminantti on nolla. Todistus. Ks. [15, s. 50]. Osoitamme aluksi, että piste äärettömyydessä O ei voi olla säännöllisyys piste. Tarkastelemme käyrän yhtälöä projektiivisessa tasossa, jolloin O = [0, 1, 0] ja merkitsemme F (X, Y, Z) = Y 2 Z + a 1 XY Z + a 3 Y Z 2 X 3 a 2 X 2 Z a 4 XZ 2 a 6 Z 3. Nyt polynomin F osittaisderivaatta muuttujan Z suhteen on F Z = Y 2 + a 1 XY + 2a 3 Y Z a 2 X 2 2a 4 XZ 3a 6 Z 2, F ([0, 1, 0]) = 1 0, Z jolloin joten äärettömyyspiste on käyrän E epäsäännöllinen piste. Todistuksen loppuosaksi siirrymme takaisin affiiniin tasoon, ja olkoon E : f(x, y) = y 2 + a 1 xy + a 3 y x 3 a 2 x 2 a 4 x a 6. 10

Oletetaan, että E on säännöllinen, joten on osoitettava, että diskriminantti = 0. Koska diskriminantin arvoon ei vaikuta lineaarimuunnos x = x + x 0, y = y + y 0, voimme olettaa, että E on säännöllinen pisteessä P = (0, 0), kts. [15, s. 49]. Nyt saamme sijoittamalla, että a 6 = f(0, 0) = 0, a 4 = f (0, 0) = 0, x a 3 = f (0, 0) = 0. y Edelleen sijoittamalla nämä arvot diskriminantin yhtälöön 2.3 saamme, että = 0. Toiseen suuntaan todistettaessa jaamme todistuksen kahteen osaan. Oletamme aluksi, että = 0, ja lisäksi, että char(f ) = 2, jolloin lauseen 2.1 mukaan on kaksi tapausta. Epäsupersingulaarisessa tapauksessa saamme oletuksesta = 0, että a 6 = 0. Nyt on hyvin suoraviivaista sijoittaa piste P = (0, 0) yhtälöön 2.4, ja todeta, että piste P on tällöin säännöllinen piste. Supersingulaarinen tapaus seuraa oletuksesta = a 4 3 = 0, joten a 3 = 0. Nyt on tilanne a 1 = a 3 = 0, jolloin käyrän yhtälö on muotoa Y 2 = X 3 + a 2 X 2 + a 4 X + a 6. Olkoon f(x) yhtälön oikea puoli, ja olkoon x 0 polynomin f (X) = 3X 2 + 2a 2 X + a 4 = X 2 + a 4 juuri, eli f (x 0 ) = 0. Valitaan luku y 0 siten, että se on luvun f(x 0 ) neliöjuuri, jolloin y0 2 = f(x 0 ). Nyt piste (x 0, y 0 ) toteuttaa käyrän yhtälön ja myös polynomin muodolliset osittaisderivaatat häviävät. Tällöin yhtälö ei ole sileä. Lauseessa 2.2 todistimme, että kun kunnan F karakteristika char(f ) 2, saamme yhtälön 2.2 muotoon Y 2 = X 3 + a 2 X 2 + a 4 X + a 6. Edelleen suorittamalla muunnos Y Y ja kertomalla koko yhtälö luvulla 4, saamme 2 E : Y 2 = 4X 3 + b 2 X 2 + 2b 4 X + b 6, missä b 2, b 4 ja b 6 ovat Taten arvot. Nyt E on säännöllinen jos, ja vain jos, on olemassa piste P = (x 0, y 0 ) käyrällä E, joka toteuttaa muodollisista osittaisderivaatoista muodostetun yhtälön 2y 0 = 12x 2 0 + 2b 2 x 0 + 2b 4 = 0. Siis säännöllisyys pisteet ovat muotoa (x 0, 0), missä x 0 on yhtälön 4X 3 + b 2 X 2 +2b 4 X +b 6 = 0 kaksoisjuuri. Yleisesti diskriminantti lasketaan kaavalla (r i r j ) 2, i j missä luvut r k ovat polynomin juuria, kts. [5, s.524]. Tästä nähdään, että diskriminantti on nolla jos, ja vain jos, polynomilla on (vähintään) kaksoisjuuri. Näin olemme osoittaneet, että käyrä E on säännöllinen jos, ja vain jos, = 0. 11

Nyt olemme valmiita määrittelemään elliptisen käyrän yli kunnan F. Määritelmä 2.6. Elliptinen käyrä yli kunnan F on yhtälön 2.2 määräämä sileä käyrä. Käytämme elliptisen käyrän F -rationaalisille pisteille merkintää E(F ). Kuten lauseissa 2.1, 2.2 ja 2.3 osoitimme, voimme käyttää yhtälöstä 2.2 lyhyempiä muotoja, riippuen aina käsiteltävän kunnan karakteristikasta. Tämä tekee elliptisten käyrien käsittelystä helpompaa ja nopeampaa. Esim. 2.2. Olkoon E elliptinen käyrä Y 2 = X 3 + 4X + 6 määriteltynä yli äärellisen kunnan Z 7. Yhtälön diskriminantti on = 16(4 4 3 + 27 6 2 ) = 2(4 1 + 6 1) = 20 = 1 0, joten yhtälön määräämä käyrä on sileä. Kunnan Z 7 neliönjäännös luvut ovat 1, 2 ja 4. Nyt voimme etsiä käyrän E pisteet seuraavan taulukon avulla. Ks. [17, s. 259]. X X 3 + 4X + 6 mod 7 Neliönjäännös Y 0 6 Ei - 1 4 Kyllä 2,5 2 1 Kyllä 1,6 3 3 Ei - 4 2 Kyllä 3,4 5 4 Kyllä 2,5 6 1 Kyllä 1,6 Näin olemme löytäneet käyrän E pisteet, E(Z 7 ) = {(1, 2), (1, 5), (2, 1), (2, 6), (4, 3), (4, 4), (5, 2), (5, 5), (6, 1), (6, 6)} O. 12

Luku 3 Elliptisten käyrien yhteenlaskukaavat Kuten tutkielman otsikon ensimmäisistä sanoista Yhtenäistettyjen yhteenlaskukaavojen käyttö voimme tulkita, on alkuperäisessä yhteenlaskukaavassa jotain poikkeavaa. Tämä johtuu siitä, että laskemme kahden toisistaan eroavan pisteen yhteenlaskun eri tavalla kuin pisteen yhteenlaskun itsensä kanssa, eli pisteen kahdennuksen. Alaluvussa 3.1 hahmoittelemme tätä eroa tutustumalla yhteenlaskuun elliptisellä käyrällä yli reaalilukujen kunnan R, jolloin yhteenlasku saa yksinkertaisen geometrisen tulkinnan. Alaluvussa 3.2 tarkastelemme yhteenlaskua abstraktissa kunnassa F ja johdamme algebralliset yhteenlaskukaavat. Alaluvussa 3.3 siirrämme edellisen luvun tulokset projektiiviseen tasoon P 2 (F ). Kappaleen viimeisessä alaluvussa esittelemme double and add -algoritmin, joka on hyvin oleellinen käytännön laskutoimituksissa. 3.1 Geometrinen tulkinta, tapaus F = R Tässä alaluvussa oletetaan, että elliptinen käyrä E on määritelty yli reaalilukujen kunnan R. Koska kunnan R karakteristika char(r) = 0, voimme käyttää yhtälöä 2.7, eli E : Y 2 = X 3 + ax + b. Käytämme hyväksi Bézoutin teoreeman tulosta, jonka mukaan suora leikkaa elliptisen käyrän kolmessa pisteessä, kun otamme huomioon pisteiden kertaluvut. Teoreeman todistus ei sovi tämän tutkielman alueeseen, todistus löytyy esimerkiksi kirjasta [6]. Seuraava esitys perustuu Koblitzin määritelmään [10, s.118]. Olkoot pisteet P ja Q äärettömyyspisteestä eroavia käyrän E pisteitä. Tällöin yhteenlasku suoritetaan seuraavasti 1. Äärettömyyspiste O on yhteenlaskun neutraalialkio, ts. P + O = P = 13

Kuva 3.1: Pisteiden P ja Q yhteenlasku. O + P. 2. Pisteen P vasta-alkio P on sen peilikuva x-akselin suhteen. Käyrän E yhtälön Y 2 = X 3 + ax + b perusteella on selvää, että P kuuluu aina käyrälle. 3. Jos pisteillä P ja Q on toisistaan eroavat x-koordinaatit, niin tällöin voimme piirtää pisteiden kautta kulkevan suoran, joka Bézoutin teoreeman perusteella leikkaa käyrän E myöskin kolmannessa pisteessä T. Nyt määrittelemme yhteenlaskun P + Q = T. Kuvassa 3.1 on esitetty yhteenlasku geometrisesti mielivaltaisella elliptisellä käyrällä yli reaalilukujen kunnan. 4. Oletetaan lopuksi, että P = Q, eli kyseessä on pisteen kahdennus 2P. Tällöin voimme piirtää käyrän E tangentin pisteeseen P, joka Bézoutin teoreeman perusteella leikkaa käyrän E toisessa pisteessä T. Nyt määrittelemme, että 2P = T. Kuvassa 3.2 on piirretty kyseinen tilanne. Edellä esitetty saattaa tuntua hiukan epämääräiseltä, eikä ole kovinkaan selkeää miten yhteenlasku toimii abstraktissa kunnassa. Tavoitteena olikin vain antaa intuitiivinen pohja varsinaisen yhteenlaskun tutkimiselle. Tämä epämääräisyys poistuukin seuraavan alaluvun alussa annettavalla määritelmällä, sekä sitä seuraavalla lauseella. 14

Kuva 3.2: Pisteen P tuplaus. 3.2 Algebraa affiinissa tasossa Annamme aluksi määritelmän elliptisen käyrän pisteiden yhteenlaskulle, jossa käytämme taas Bézoutin teoreemaa hyväksi. Määritelmä 3.1. Olkoon E elliptinen käyrä yli kunnan F, ja olkoot pisteet P 1 ja P 2 sen pisteitä. Pisteiden P 1 ja P 2 kautta kulkeva suora l 1 leikkaa käyrän E kolmannessa pisteessä P 3. Olkoon suora l 2 pisteiden P 3 ja O kautta kulkeva. Nyt suora l 2 leikkaa käyrän E kolmannessa pisteessä P 3. Nyt määrittelemme P 1 + P 2 := P 3. Jos pisteet P 1 ja P 2 ovat samat, on suoraksi l 1 otettava käyrän E tangentti pisteessä P 1. Seuraavassa lauseessa johdamme määritelmän 3.1 yhteenlaskulle algebralliset yhteenlaskukaavat. Lause 3.1. Olkoon E : Y 2 + a 1 XY + a 3 Y = X 3 + a 2 X 2 + a 4 X + a 6 elliptinen käyrä yli kunnan F, ja olkoot pisteet P 1 = (x 1, y 1 ) ja P 2 = (x 2, y 2 ) käyrän pisteitä. Tällöin 1. Äärettömyyspiste O on yhteenlaskun neutraalialkio, eli P 1 + O = O + P 1 = P 1. 15

2. Pisteen P 1 vasta-alkio on P 1 = (x 1, y 1 a 1 x 1 a 3 ). 3. Jos P 1 = P 2, niin P 1 + P 2 = O. 4. Jos P 1 P 2, niin määrittelemme kun x 1 x 2, ja λ = y 2 y 1 x 2 x 1, v = y 1x 2 y 2 x 1 x 2 x 1 = y 1 λx 1, λ = 3x2 1 + 2a 2 x 1 + a 4 a 1 y 1 2y 1 + a 1 x 1 + a 3, v = x3 1 + a 4 x 1 + 2a 6 a 3 y 1 2y 1 + a 1 x 1 + a 3 = y 1 λx 1, kun x 1 = x 2. Tällöin P 1 + P 2 = P 3 = (x 3, y 3 ), missä x 3 =λ 2 + a 1 λ a 2 x 1 x 2 y 3 = (λ + a 1 )x 3 v a 3 = λ(x 1 x 3 ) y 1 a 1 x 3 a 3. Todistus. Merkitsemme f(x, Y ) = Y 2 +a 1 XY +a 3 Y X 3 a 2 X 2 a 4 X a 6. Ensimmäinen kohta seuraa suoraan määritelmästä, sillä suorien P 1 ja O kautta kulkeva suora l leikkaa käyrän E kolmannessa pisteessä P. Pisteiden P ja O kautta kulkeva suora on sama l, joten sen kolmas leikkauspiste on P 1. Siis P 1 + O = O + P 1 = P 1. Todistamme seuraavaksi kohdan 2. Olkoon pisteiden P 1 ja O kautta kulkeva suora L : X x 1 = 0. Suoran L ja käyrän E kolmas leikkauspiste P = (x 1, y 1) saadaan sijoittamalla X = x 1 polynomiin f(x, Y ), jolloin f(x 1, Y ) = Y 2 + (a 1 x 1 + a 3 )Y (x 3 1 + a 2 x 2 1 + a 4 x 1 + a 6 ). Toisaalta tiedämme, että polynomilla f(x 1, Y ) on kaksi juurta, nimittäin y 1 ja y 1. Tällöin f(x 1, Y ) = c(y y 1 )(Y y 1) = cy 2 + c( y 1 y 1)Y + y 1 y 1. Nyt saamme kertoimia vertaamalla, että c = 1 ja y 1 = y 1 a 1 x 1 a 3. Voimme myöskin laskea tällöin vakiotermin arvon y 1 y 1 = y 1 ( y 1 a 1 x 1 a 3 ) = (y 2 1 + a 1 x 1 y 1 + a 3 y 1 ) = (x 3 1 + a 2 x 2 1 + a 4 x 1 + a 6 ). 16

Yhdessä 1.-kohdan perusteella seuraa, että P = P 1. Seuraavaksi oletamme, että P 1 P 2 ja jaamme kohdan 4. tarkastelun kahteen osaan. Oletamme ensiksi, että x 1 = x 2, eli P 1 = P 2, jolloin kyseessä on pisteen kahdennus 2P 1. Polynomin f(x, Y ) muodolliset osittaisderivaatat ovat f X = a 1Y 3X 2 2a 2 X a 4 ja f Y = 2Y + a 1X + a 3. Oletuksesta P 1 P 2 seuraa, että y 2 y 1 a 1 x 1 a 3, ja edelleen ehdosta P 1 = P 2 seuraa, että y 2 = y 1. Siis 2y 1 +a 1 x 1 +a 3 0. Toisin sanoen saamme, että f Y (x 1, y 1 ) = 2y 1 + a 1 x 1 + a 3 0. Pisteen P 1 kautta kulkevan käyrän E tangentin yhtälö on L : f X (x 1, y 1 )(X x 1 ) + f Y (x 1, y 1 )(Y y 1 ) = 0, jonka saamme muotoon L : Y = f X (x 1, y 1 ) f Y (x 1, y 1 ) (X x 1) + y 1 = f (x X 1, y 1 ) f (x Y 1, y 1 ) X + x 1 f (x f X 1, y 1 ) + y 1 (x Y 1, y 1 ) f Y (x 1, y 1 ) = 3x2 1 + 2a 2 x 1 + a 4 a 1 y 1 2y 1 + a 1 x 1 + a 3 X + x 1(a 1 y 1 3x 2 1 2a 2 x 1 a 4 ) + y 1 (2y 1 + a 1 x 1 + a 3 ) 2y 1 + a 1 x 1 + a 3 =λx + a 1y 1 x 1 3x 3 1 2a 2 x 2 1 a 4 x 1 + 2y 2 1 + a 1 x 1 y 1 + a 3 y 1 2y 1 + a 1 x 1 + a 3 =λx + 3x3 1 2a 2 x 2 1 a 4 x 1 + 2(y 2 1 + a 1 x 1 y 1 + a 3 y 1 ) a 3 y 1 2y 1 + a 1 x 1 + a 3 =λx + 3x3 1 2a 2 x 2 1 a 4 x 1 + 2(x 3 1 + a 2 x 2 1 + a 4 x 1 + a 6 ) a 3 y 1 2y 1 + a 1 x 1 + a 3 =λx + x3 1 + a 4 x 1 + 2a 6 a 3 y 1 2y 1 + a 1 x 1 + a 3 =λx + v. Kohdan 4. todistuksen toisessa osassa oletamme, että x 1 x 2, joten pisteet P 1 ja P 2 ovat eri pisteitä. Tällöin pisteiden kautta kulkevan suoran yhtälö on L : Y y 1 X x 1 = y 2 y 1 x 2 x 1. 17

Suoran yhtälöstä saamme, että L : Y = y 2 y 1 x 2 x 1 X + y 2 y 1 x 2 x 1 ( x 1 ) + y 1 = λx + x 1y 2 + y 1 x 1 + y 1 x 2 x 1 y 1 x 2 x 1 = λx + v. Molemmissa 4. kohdan tapauksissa olemme saaneet pisteiden P 1 ja P 2 kautta kulkevan suoran yhtälön muotoon L : Y = λx + v, joten voimme tarkastella 4.kohdan todistuksen molempia osia samanaikaisesti. Seuraavaksi laskemme suoran L ja käyrän E kolmannen leikkauspisteen P 3 = (x 3, y 3). Oletuksen P 1 P 2 perusteella tiedämme, että P 3 O. Sijoittamalla Y = λx + v polynomiin f(x, Y ), saamme f(x, λx + v) = (λx + v) 2 + a 1 X(λX + v) + a 3 (λx + v) X 3 a 2 X 2 a 4 X a 6 = X 3 + (λ 2 + a 1 λ + a 2 2)X 2 + (2λv + a 1 v + a 3 a 4 )X + (v 2 + a 3 v a 6 ). Koska tiedämme, että polynomilla f(x, λx + v) on kolme juurta x 1, x 2 ja x 3, voimme kirjottaa yhtälön muotoon f(x, λx + v) = c(x x 1 )(X x 2 )(X x 3) = cx 3 c(x 1 + x 2 + x 3)X 2 + c(x 1 x 2 + x 1 x 3 + x 2 x 3)X cx 1 x 2 x 3. Kertoimia vertailemalla saamme, että c = 1 ja x 3 = λ 2 + a 1 λ a 2 x 1 x 2, ja koska piste P 3 on piste suoralla L, saadaan y 3 = λx 3 + v. Piste P 3 = P 1 +P 2 on määritelmän 3.1 perusteella P 3, ja edelleen 2. kohdan perusteella pisteen P 3 = (x 3, y 3 ) koordinaatit ovat x 3 =λ 2 + a 1 λ a 2 x 1 x 2 y 3 = y 3 a 1 x 3 a 3 = (λ + a 1 )x 3 v a 3. 18

Seuraavaksi muutamme lauseen 3.1 tulokset kryptografisesti mielenkiintoisimpiin tapauksiin, ensiksi epäsupersingulaariselle käyrälle yli kunnan F, jonka karakteristika char(f ) = 2, ja sen jälkeen elliptisille käyrille yli kunnan F, jonka karakteristika char(f ) 2, 3. Seurauslauseiden todistaminen on hyvin suoraviivaista, kun käytämme karakteristikan ominaisuuksia hyväksi. Seuraus 3.1. Olkoon E : Y 2 + XY = X 3 + ax 2 + b epäsupersingulaarinen elliptinen käyrä yli kunnan F, jonka karakteristika char(f ) = 2, ja olkoot pisteet P 1 = (x 1, y 1 ) ja P 2 = (x 2, y 2 ) käyrän pisteitä. Tällöin 1. Piste O on yhteenlaskun neutraalialkio, eli P 1 + O = O + P 1 = P 1. 2. Pisteen P 1 vasta-alkio on P 1 = (x 1, y 1 + x 1 ). 3. Jos P 1 = P 2, niin P 1 + P 2 = O. 4. Jos P 1 P 2, niin määrittelemme kun x 1 x 2, ja λ = y 2 + y 1 x 2 + x 1, λ =x 1 + y 1 x 1, kun x 1 = x 2. Tällöin P 1 + P 2 = P 3 = (x 3, y 3 ), missä x 3 =λ 2 + λ + a + x 1 + x 2 y 3 =λ(x 1 + x 3 ) + y 1. Seuraus 3.2. Olkoon E : Y 2 = X 3 + ax + b elliptinen käyrä yli kunnan F, jonka karakteristika char(f ) 2, 3, ja olkoot pisteet P 1 = (x 1, y 1 ) ja P 2 = (x 2, y 2 ) käyrän pisteitä. Tällöin 1. Piste O on yhteenlaskun neutraalialkio, eli P 1 + O = O + P 1 = P 1. 2. Pisteen P 1 vasta-alkio on P 1 = (x 1, y 1 ). 3. Jos P 1 = P 2, niin P 1 + P 2 = O. 4. Jos P 1 P 2, niin määrittelemme λ = y 2 y 1 x 2 x 1, 19

kun x 1 x 2, ja λ = 3x2 1 + a 2y 1, kun x 1 = x 2. Tällöin P 1 + P 2 = P 3 = (x 3, y 3 ), missä x 3 =λ 2 x 1 x 2 y 3 =λ(x 1 x 3 ) y 1. Seuraava lause tuo esille sen elliptisten käyrien ominaisuuden, minkä takia ne soveltuvat kryptografisiin sovelluksiin. Lause 3.2. Olkoon E elliptinen käyrä yli kunnan F. Tällöin käyrän pisteiden joukko E(F ) yhdessä määritelmän 3.1 yhteenlaskun kanssa muodostavat Abelin ryhmän. Todistus. Lauseessa 3.1 osoitimme, että yhteenlaskun neutraalialkio on äärettömyyspiste O. Samassa lauseessa johdimme myöskin yhteenlaskukaavat määritelmän 3.1 yhteenlaskulle, joten selvästi yhteenlasku on sulkeutuva. Määritelmän perusteella on selvää, että yhteenlasku on kommutatiivinen. Yhtä selkeästi myöskin saamme pisteen P käänteisalkion P : Olkoon P käyrän E ja pisteiden O ja P kautta kulkevan suoran kolmas leikkauspiste. Tällöin P + P = O, joten P = P. Assosiatiivisuuden toteaminen ei ole yhtä suoraviivaista kuin muiden ominaisuuksien. Sen todistaminen vaatii huomattavasti syvällisempää algebrallisen geometrian tuntemusta, joten se sivuutetaan tästä tutkielmasta. Hahmotelmia todistuksesta löytyy [15] ja [14]. Seuraavaksi määrittelemme luonnollisella tavalla pisteen kertomisen skalaarilla. Määritelmä 3.2. Olkoon piste P elliptisen käyrän piste, ja olkoon m kokonaisluku. Tällöin m j=1 P, kun m on positiivinen, (3.1) mp = O, kun m = 0, ( P ), kun m on negatiivinen. m j=1 Esim. 3.1. Jatkamme esimerkiä 2.2. Olkoon E : Y 2 = X 3 +4X +6 elliptinen käyrä määriteltynä yli äärellisen kunnan Z 7. Edellisessä esimerkissä etsimme käyrän E pisteet, jotka ovat: E(Z 7 ) = {(1, 2), (1, 5), (2, 1), (2, 6), (4, 3), (4, 4), (5, 2), (5, 5), (6, 1), (6, 6)} O. 20

Olkoon piste P = (2, 6) E. Tällöin voimme laskea P +P = 2P seuraavasti. Seurauksen 3.2 perusteella saamme, että λ = (3x 2 1 + a)(2y 1 ) 1 = (3 2 2 + 4)(2 6) 1 = 2 5 1 = 2 3 = 6, jolloin x 3 = λ 2 2 x 1 = 6 2 2 2 = 1 4 = 3 = 4, y 3 = λ(x 1 x 3 ) y 1 = 6(2 4) 6 = 4 = 3. Siis 2P = (4, 3) E. Edelleen voimme laskea 3P = 2P + P : λ = (y 2 y 1 )(x 2 x 1 ) 1 = (3 6)(4 2) 1 = ( 3)(2) 1 = 4 4 = 16 = 2, jolloin x 3 = λ 2 x 1 x 2 = 2 2 4 2 = 2 = 5, y 3 = λ(x 1 x 3 ) y 1 = 2(4 5) 3 = 5 = 2. Eli 3P = (5, 2) E. Lisäksi voisimme laskea kaikki pisteen P monikerrat: P = (2, 6) 2P = (4, 3) 3P = (5, 2) 4P = (1, 2) 5P = (6, 6) 6P = (6, 1) 7P = (1, 5) 8P = (5, 5) 9P = (4, 4) 10P = (2, 1) 11P = O 3.3 Projektiivinen muoto Olkoon E elliptinen käyrä yli kunnan F. Kun alkio x F, niin mikä on käänteisalkio x 1 F? Kun kunta sisältää vain vähän alkioita, on käänteisalkioiden etsiminen suhteellisen vaivatonta, kuten esimerkin kunnassamme Z 7. Tehtävä on kuitenkin huomattavasti haastavampi, kun kuntana on esimerkiksi Z 2 17 1. Projektiivisilla koordinaateilla laskettaessa joudumme laskemaan käänteisalkion vain kerran muunnettaessa projektiivinen piste P = (X, Y, Z) takaisin affiiniin muotoon P = (XZ 1, Y Z 1 ). Tästä johtuen projektiiviset koordinaatit ovat tehokkaampia kun kunnan karakteristika on suurempi kuin 3. Johdamme seuraavassa lauseessa projektiiviset yhteenlaskukaavat affiineista yhteenlaskukaavoista. Lause 3.3. Olkoon E : Y 2 Z = X 3 + axz 2 + bz 3 elliptinen käyrä yli kunnan F, char(f ) 2, 3. Olkoot pisteet P = (X 1, Y 1, Z 1 ) ja Q = (X 2, Y 2, Z 2 ) käyrän E pisteitä siten, että P ±Q. Pisteen kahdentaminen on 2P = (X 3, Y 3, Z 3 ), 21

missä X 3 = SH, Y 3 = W (T H) 2M 2 Z 3 = S 3, ja missä W = 3X 2 1 + az 2 1, S = 2Y 1 Z 1, M = Y 1 S, T = 2X 1 M ja H = W 2 2T. Yhteenlasku on P + Q = (X 3, Y 3, Z 3 ), missä X 3 = 2W X 3, Y 3 = RV MW 3 Z 3 = 2ZW 3, ja missä U 1 = X 1 Z 2, U 2 = X 2 Z 1, S 1 = Y 1 Z 2, S 2 = Y 2 Z 1, T = U 1 + U 2, W = U 1 U 2, M = S 1 + S 2, R = S 1 S 2, Z = Z 1 Z 2, H = T W 2, X 3 = ZR 2 H ja V = H 2X 3. Todistus. Olkoot P ja Q kuten oletuksissa. Todistamme ensimmäisenä pisteen kahdennuksen 2P = (X 3, Y 3, Z 3 ). Nyt saamme kertoimen λ affiinista yhtälöstä sijoittamalla x 1 = X 1 Z 1, jolloin λ = 3( X 1 Z 1 ) 2 + a 2 Y 1 Z 1 Nyt voimme käyttää kaavaa x 3 = λ 2 2x 1, X 3 = ( W Z 3 S )2 2( X 1 ) = W 2 Z 1 2X 1 S 2 Z 1 Z 1 S 2 = W 2 4X 1 Y 1 S S 2 = W 2 4X 1 M S 2 = 3X2 1 + az 2 1 2Y 1 Z 1 = W S. = W 2 Z 1 2X 1 2Y 1 Z 1 S Z 1 S 2 = W 2 2T S 2 = H S 2 = SH S 3. Seuraavaksi käytämme kaavaa y 3 = λ(x 1 x 3 ) y 1, Y 3 = W ( X1 SH ) Y 1 = W ( ) X1 S 3 SHZ 1 Y 1S 4 Z 3 S Z 1 S 3 Z 1 S Z 1 S 3 Z 1 S 4 = W X 1S 3 W SHZ 1 Y 1 S 4 = 2Y 1W X 1 S 3 2Y 1 W SHZ 1 2Y 2 Z 1 S 4 2Y 1 Z 1 S 4 1 S 4 = 2W X 1Y 1 SS 2 W SH2Y 1 Z 1 2M 2 S 2 = 2W X 1MS 2 W HS 2 2M 2 S 2 S 5 S 5 = W 2X 1M W H 2M 2 S 3 = W T W H 2M 2 S 3 = 22 W (T H) 2M 2 S 3.

Nyt näemme yhtälöistä, että X 3 = SH, Y 3 = W (T H) 2M 2 ja Z 3 = S 3. Yhteenlaskun tapauksessa on P + Q = (X 3, Y 3, Z 3 ), λ = Y 1 Z 1 Y 2 Z 2 X 1 Z 1 X 2 = Y 1Z 2 Y 2 Z 1 = R Z 2 X 1 Z 2 X 2 Z 1 W. Kuten edellä, voimme käyttää kaavaa x 3 = λ 2 x 1 x 2, ( ) 2 ( X 3 R X1 = + X ) 2 = R2 Z 3 W Z 1 Z 2 W T 2 Z = ZR2 W 2 T ZW 2 = ZR2 H ZW 2 = X 3 ZW 2 = 2W X 3 2ZW 3. Yhteenlaskun symmetrisyydestä P + Q = Q + P johtuen saamme y 3 = λ(x 1 x 3 ) y 1 y 3 = λ(x 2 x 3 ) y 2, ja ja yhdistämällä nämä yhtälöt saamme, että Tähän sijoittamalla x i = X i Z i 2 Y 3 Z 3 = R W ( X1 + X 2 2 X 3 Z 1 Z 2 Z 3 = R ( X1 Z 2 + X 2 Z 1 W Z = R ( T W Z 4W X ) 3 M 2ZW 3 Z 2y 3 = λ(x 1 + x 2 2x 3 ) (y 1 + y 2 ). ja y i = Y i Z i saamme ) ( Y1 + Y ) 2 Z 1 Z 2 ) 4W X 3 2ZW 3 Y 1Z 2 + Y 2 Z 1 Z = 2RT W 3 4RW X 3 2MW 4 = 2 RT W 2 2RX 3 MW 3, joten 2ZW 4 2ZW 3 Y 3 = R(T W 2 2X 3) MW 3 = R(H 2X 3) MW 3 Z 3 2ZW 3 2ZW 3 3 RV MW =. 2ZW 3 Jälleen yhtälöitä vertaamalla saamme halutun tuloksen X 3 = 2W X 3, Y 3 = RV MW 3 ja Z 3 = 2ZW 3. 23

Esim. 3.2. Jatkamme esimerkkiä 3.1. Olkoot pisteet 2P = (4, 3) = [1, 6, 2] ja 7P = (1, 5) = [3, 1, 3]. Tällöin saamme yhteenlaskun 2P + 7P = [X 3, Y 3, Z 3 ] laskettua sijoittamalla edellisen lauseen kaavoihin. Nyt U 1 = X 1 Z 2 = 1 3 = 3, U 2 = X 2 Z 1 = 3 2 = 6, S 1 = Y 1 Z 2 = 6 3 = 4, S 2 = Y 2 Z 1 = 1 2 = 2, T = U 1 + U 2 = 3 + 6 = 2, W = U 1 U 2 = 3 6 = 4, M = S 1 + S 2 = 4 + 2 = 6, R = S 1 S 2 = 4 2 = 2, Z = Z 1 Z 2 = 2 3 = 6, H = T W 2 = 2 4 2 = 4, X 3 = ZR 2 H = 6 2 2 4 = 6 V = H 2X 3 = 4 2 6 = 6. ja Nyt voimme sijoittaan ämä arvot koordinaattien kaavoihin, X 3 = 2W X 3 = 2 4 6 = 6, Y 3 = RV MW 3 = 2 6 6 4 3 = 6 Z 3 = 2ZW 3 = 2 6 4 3 = 5. ja Piste 2P + 7P = [6, 6, 5] vastaa affiinin tason pistettä (6 5 1, 6 5 1 ) = (4, 4) = 9P 3.4 Käytäntö, Double and add -algoritmi Kun elliptisillä käyrillä käytännössä lasketaan, yleensä on kyseessä laskutoimitus muotoa kp, missä k N ja P E(F ). Yleisesti käytössä on double and add - algoritmi, eli kahdenna ja summaa - algoritmi, joka on additiivisesti kirjoitettu versio tutummasta square and multiply - algoritmista. Algoritmi 1. Double and add Syöte: Piste P = (x 1, y 1 ) E, luonnollinen luku k = n 1 i=0 k i2 i. 1. Q = (x 1, y 1 ) 2. i = n 2 24

3. 2Q Q 4. jos k i = 1, niin P + Q Q 5. jos i = 0, niin lopeta. Muutoin i 1 i ja palaa kohtaan 3). Tulostus: Piste Q = kp, Q E(F ). Esim. 3.3. Jatkamme edelleen esimerkkiämme, jolloin E on elliptinen käyrä Y 2 = X 3 + 4X + 6 yli kunnan Z 7. Olkoon P = (2, 6) E(F ), ja laskemme Q = 9P edellisen algoritmin avulla. Syöte: P = (2, 6), luonnollinen luku 9 = (1001) 2. 1. Q = (2, 6) 2. i = 2 3. 2Q = 2(2, 6) = (4, 3) Q 4. k 2 = 0 5. i 1 = 1 i 6. 2Q = 2(4, 3) = (1, 2) Q 7. k 1 = 0 8. i 1 = 0 i 9. 2Q = 2(1, 2) = (5, 5) Q 10. k 0 = 1, joten P + Q = (2, 6) + (5, 5) = (4, 4) Q 11. i = 0, joten lopeta. Tulostus: Piste Q = 9P = (4, 4) E(F ). 25

Luku 4 Kryptografia Tässä luvussa tutustumme kryptografiaan. Ensimmäisessä alaluvussa 4.1 tarkastelemme modernille kryptografialle asetettuja tavotteita ja vaatimuksia, sekä esittelemme julkisen avaimen kryptografian ajatuksen. Tämän jälkeen alaluvussa 4.2 tutustumme diskreettiin logaritmiin ja siihen liittyvään ongelmaan, joka toimii usean kryptosysteemin perustana. Alaluvussa 4.3 annamme yksinkertaisen esimerkin elliptisten käyrien käytöstä kryptografiassa ja lopuksi alaluvussa 4.4 esittelemme pintapuolisesti sivukanavahyökkäyksen idean. 4.1 Johdatus kryptografiaan Kryptografian tarkoitus on mahdollistaa kahdenvälinen tiedonvaihto turvaamattomassa (vihamielisessä) ympäristössä siten, että kolmannella osapuolella (salakuuntelija) ei ole mahdollista ymmärtää lähetettyä informaatiota. Usein käytetään nimiä Alice ja Bob tietojaan vaihtavista henkilöistä, ja salakuuntelijasta nimeä Eve (eavesdropper). Kuitenkaan kryptografiassa ei edellytetä, että kyseessä olisi ihmisten välinen operaatio, vaan mukana voi olla niin ihmisiä, tietokoneita, matkapuhelimia, jne. Moderni kryptografia kohtaa useita haasteita. Tässä on lueteltuna tärkeimmät niistä, kts. [1]: 1. Luottamuksellisuus: Alicen Bobille lähettämää viestiä ei pysty kukaan muu tulkitsemaan. 2. Aitous: Bob tietää, että vastaanotettu viesti voi olla vain Alicen lähettämä. 3. Eheys: Bob tietää, että kukaan ulkopuolinen ei ole voinut muuttaa Alicen lähettämää viestiä. 26

4. Kiistämättömyys: Alicen on mahdotonta jälkeenpäin kieltää lähettäneensä viestiä. Seuraava esimerkki pyrkii selventämään minkä takia edellä luetellut kohdat ovat tärkeitä viestittäessä vihamielisessä ympäristössä. Esim. 4.1. Alice ostaa matkapuhelimen Bobilta internetin välityksellä, ja lähettää luottokortin numeronsa Bobille maksua varten. Alice vaatii yhteyden olevan luottamuksellinen, ettei hänen luottokorttinsa numero joudu vääriin käsiin. Bob puolestaan vaatii, että viesti on aito, eli se on Alicen lähettämä, eikä kenenkään muun. Molempien tahtona on, että viesti säilyy eheänä, eli ettei kukaan esimerkiksi pysty muuttamaan tilauksen kappalemäärää kymmeneen matkapuhelimeen. Lisäksi Bob vaatii viestiltä kieltämättömyyttä, jottei Alice pysty myöhemmin kieltää tehneensä tilausta. Määritelmä 4.1. Kryptosysteemi on viisikko (P, C, K, E, D), joka toteuttaa seuraavat ehdot: 1. Äärellinen joukko P on mahdollisten selkokielisten merkkien joukko; 2. Äärellinen joukko C on mahdollisten salakielisten merkkien joukko; 3. Äärellinen joukko K on mahdollisten avainten joukko; 4. Jokaiselle avaimelle K K on olemassa salausavain e K E ja vastaava purkuavain d K D. Jokainen e K : P C ja d K : C P ovat funktioita siten, että d K (e K (x)) = x kaikille x P. Ennen vuotta 1976 käytetyt kryptosysteemit ovat kaikki niin sanottuja symmetrisen avaimen systeemejä. Tällä tarkoitamme sitä, että purkuavain d K on sama kuin salausavain e K, tai helposti siitä johdettavissa. Tästä seuraa, että Alicen ja Bobin on sovittava etukäteen salaisesta avaimesta, ja tämä avaimen vaihto on suoritettava jotakin turvallista kanavaa pitkin, esimerkiksi fyysinen tapaaminen tai diplomaattiposti ovat tälläisia kanavia. Nykyaikana tälläinen ei ole kovin tehokasta, tai edes mahdollista jokaisessa tapauksessa. Vuonna 1976 Diffie ja Hellman esittelivät julkisen avaimen kryptografian (Public Key Cryptography) idean. Idea perustuu ajatukselle, että on mahdollista käyttää kryptosysteemiä, jossa purkuavain d K on laskennallisesti mahdoton johtaa salausavaimesta e K. Tälläisessä systeemissä Bob voi julkistaa oman salausavaimensa e B, ja pitää purkuavaimensa d B omana tietonaan. Nyt Alice voi salata informaation Bobin salausavaimella, ja lähettää salatun tekstin y = e B (x), missä y C ja x P, Bobille. Lopuksi Bob purkaa avaimellaan 27

saadun lähetyksen, eli laskee d B (y) = d B (e B (x)) = x. Tälläinen kryptosysteemi mahdollistaa turvatun tiedonvälityksen tarvitsematta mitään aiempaa yhteydenottoa Alicen ja Bobin välillä. Tunnetuimpia julkisen avaimen kryptosysteemejä on RSA, joka perustuu kokonaislukujen tekijöihin jakoon, sekä Diffie-Hellmanin avaimen vaihto protokolla, joka perustuu seuraavaksi määriteltävään diskreetin logaritmin ongelmaan. 4.2 Diskreetin logaritmin ongelma Monet kryptosysteemit perustuvat diskreetin logaritmin ongelmaan. Seuraavassa määrittelemme ensin diskreetin logaritmin, kun laskutoimitus on yhteenlaskun kaltainen, jonka jälkeen esittelemme siihen perustuvan ongelman. Määritelmä 4.2. Olkoon (G, +) ryhmä, ja olkoon a, b G. Tällöin alkion a b-kantainen diskreetti logaritmi on n, jos Tällöin merkitsemme log b a = n. nb = a. Diskreetin logaritmin ongelmalla tarkoitamme tilannetta, jossa tiedämme ryhmän alkiot a ja b, ja yritämme selvittää log b a. Elliptisten käyrien kryptografian yhteydessä tilanne on seuraava: Sivustakuuntelija on saanut tietää pisteet P ja Q, sekä tietää niiden välillä olevan yhteyden Q = kp, missä k on jokin luonnollinen luku. Jos hän saa selvitettyä luvun k arvon, on hän onnistunut purkamaan salauksen. 4.3 Elliptiset käyrät ja kryptografia Tässä kappaleessa käsittelemme elliptisten käyrien käyttöä kryptografiassa, ja annamme yksinkertaisen esimerkin aiheesta. Alaluku perustuu teokseen [10]. Ensimmäisenä elliptisten käyrien käyttöä kryptografiassa ehdottivat Neal Koblitz ja Victor Miller toisistaan riippumatta vuonna 1985. Heitä molempia kiinnosti kaksi asiaa aiheessa. Ensinnäkin määrältään suurempi kryptografiaan soveltuvien äärellisten ryhmien määrä verrattuna tavanomaisiin äärellisiin kuntiin F q, johtuen elliptisten käyrien runsaasta lukumäärästä yli kunnan F. Toinen, ja kenties tärkeämpi syy on se, että elliptisten käyrien diskeetin logaritmin ongelmaan ei ollut (eikä ole vieläkään) tiedossa alieksponenttista algoritmia, toisin kuin on olemassa diskreettien logaritmien laskemiseen 28

äärellisissä kunnissa (Diffie-Hellmann) tai kokonaislukujen tekijöihin jakoon (RSA). Tästä johtuen elliptisissä kryptosysteemeissä pärjätään huomattavasti lyhyemmillä avaimilla kuin aiemmissa kryptosysteemeissä, mistä on hyötyä etenkin rajatun muistikapasiteetin omaavissa laitteessa, kuten älykorteissa. Seuraavassa esimerkissä on kyseessä Diffie-Hellmanin avaimen vaihto protokolla elliptisille käyrille kirjoitettuna. Esim. 4.2. Olkoon E elliptinen käyrä yli kunnan F, ja olkoon piste Q aiemmin sovittu ja julkisesti tiedossa oleva käyrän E piste. Aluksi Alice valitsee salaisen kokonaisluvun k A ja laskee pisteen k A Q arvon, ja lähettää sen Bobille. Vastaavasti Bob valitsee salaisen kokonaisluvun k B ja laskee pisteen k B Q arvon, ja lähettää sen Alicelle. Yhteinen avain on nyt piste P = k A k B Q, jonka Alice saa selville kertomalla Bobilta saamansa pisteen k B Q omalla salaisella luvullaan k A. Vastaavasti Bob saa yhteisen avaimen P lasketuksi. Salakuuntelija Eve saa selville kommunikaatiota seuraamalla pisteet Q, k A Q ja k B Q, mutta salaisia lukuja k A ja k B hän ei tiedä. Tällöin Eve saa salaisen avaimen P selville jos, ja vain jos, hän pystyy ratkaisemaan elliptisten käyrien diskreetin logaritmin ongelman. 4.4 Sivukanavahyökkäys, SCA Nykyaikana miltein kaikki salattu informaatio kulkee jonkinlaisen tietokoneen kautta, jolloin tietokoneen mikroprosessorit suorittavat tarvittavat laskut tiettyjen algoritmien perusteella, esimerkiksi edellä olleen double and add -algoritmin mukaan. Tällöin on mahdollista saada tietoa suoritetuista operaatioista sivukanava informaation avulla. Tälläistä informaatiota on muun muassa laskentaan käytetty aika ja virran kulutus. Sivukanavainformaatiota seuraamalla hyökkääjä yritää päätellä salaus-algoritmin toimintaa ja täten saada selville jotain salaista tietoa. Sivukanavahyökkäykset voidaan jakaa kahteen pääluokkaan: Yksinkertaisella sivukanavahyökkäyksellä (Simple Side-Channel Attack) tarkoitetaan hyökkäystä, jossa seurataan salaus-algoritmin yhtä toteutusta ja sen tuottamaa sivukanavainformaatiota. Mikäli tarkasteltavia tapauksia on useita, on kyseessä differentiaali sivukanavahyökkäyksestä (Differential Side-Channel Attack), ja tällöin hyökkäyksessä käytetään apuna tilastollisia menetelmiä. [2]. Tässä tutkielmassa tarkastelemme vain yksinkertaisia sivukanavahyökkäyksiä ja niiden torjuntaa. Differentiaali sivukanavahyökkäyksiä on käsitelty tarkemmin esimerkiksi [12]. Esittelimme elliptisten käyrien yhteenlaskun kappaleessa 3.2, jolloin huomatsimme, että yhteenlaskukaavat ovat toisistaan poikkeavia yhteenlaskun ja kahdennuksen tapauksissa. Edelleen kappaleessa 3.4 käsitellyn douple and 29

Kuva 4.1: Sivukanava informaation jälki square and multiply -algoritmista. add -algoritmin kulku on riippuvainen kertoimen k = n 1 i=0 k i2 i kulloisenkin bitin arvosta. Toisin sanoen, jos bitti k i on arvoltaan yksi, suoritetaan yhteenlasku P + Q, ja muutoin yhteenlaskua ei suoriteta. Koska elliptisten käyrien laskutoimitukset poikkeavat toisistaan, on tämä eroavaisuus mahdollisesti huomattavissa sivukanava informaatiota tarkkailemalla. Jos sivustakuuntelija tarkkailee algoritmin kulkua, ja huomaa, että kahdennusta seuraa yhteenlasku, hän tietää, että kyseinen bitti on yksi, ja muutoin bitti on nolla. Esim. 4.3. Esimerkissä 3.3 laskimme douple and add -algoritmilla pisteen 9P, missä P = (2, 6). Jos sivustakuuntelija olisi seurannut algoritmin kulkua, hän olisi saanut selville seuraavan laskutoimitusten jonon DBL DBL DBL ADD, missä DBL tarkoittaa tuplausta ja ADD yhteenlaskua. Koska voimme olettaa, että sivustakuuntelija tuntee kyseisen algoritmin, hän tietää, että ensimmäinen bitti on aina yksi. Näin hän voi yhdistää tietonsa, ja päätellä bittijonon 1001, jolloin hän on saanut selville salaisen kertoimen k = 9. Esim. 4.4. Kuvassa 4.1 on esitetty erään square and multiply -algoritmin virrankulutuksen jättämä sivukanavajälki. Kuvassa virrankulutuksen päälle on merkitty vastaavat bitit, ja niiden päällä on heksadesimaalinen merkintä. Kuviosta huomataan, että kertolaskun vaatima virta on huomattavasti suurempi kuin neliöinnin, jolloin kertolasku jättää aina tolpan virrankulutuksen graafiin. Koska kertolasku suoritetaan vain siinä tapauksessa, että kyseinen bitti on 1, saadaan graafista kohtuullisella vaivalla selville skalaarin arvo. 30

Luku 5 Yhtenäistetyt yhteenlaskukaavat Tässä viimeisessä luvussa pääsemme vihdoin käsittelemään tutkielman varsinaista aihetta, eli elliptiseen kryptosysteemiin kohdistuvan sivukanavahyökkäyksen torjuntaa. Aluksi alaluvussa 5.1 tarkastelemme yleisesti eri vaihtoehtoja sivukanavahyökkäyksen torjunnassa, jonka jälkeen yhdistämme alaluvussa 5.2 elliptisten käyrien yhteenlaskun ja kahdennuksen laskukaavat ja saamme ensimmäisen version yhtenäistetyille yhteenlaskukaavoille. Tutkielman viimeinen alaluku 5.3 esittää lopullisen version elliptisten käyrien yhtenäistettyille yhteenlaskukaavoille. 5.1 Yksinkertaisen sivukanavahyökkäyksen torjunta Kuten huomasimme alaluvussa 4.4, on elliptinen kryptosysteemi erityisen haavoittuvainen yksinkertaista sivukanavahyökkäystä vastaan, johtuen elliptisten käyrien yhteenlaskun poikkeavuuksista, sekä double and add - algoritmin ehtolauseen käytöstä. Luonnollisesti yksinkertaista sivukanavahyökkäystä varten on kehitelty erilaisia torjunta keinoja, ja esimerkiksi Tanja Lange on käsitellyt näitä artikkelissaan [12]. Esittelemme seuraavaksi näitä lyhyesti. Ensimmäinen, ja kenties yksinkertaisin, keino torjua yksinkertainen sivukanavahyökkäys on ns. double and always add - algoritmi, joka on hiukan muunneltu versio double and add - algoritmista. Algoritmissa lasketaan joka kerta myöskin yhteenlasku riippumatta kyseisen bitin arvosta, ja indeksoimalla otetaan yhteenlasku mukaan lopputulokseen tarvittaessa. Kyseessä on tällöin dummy operation eli turha laskutoimitus ryhmässä. Myöskin voidaan suorittaa turhia laskutoimituksia kunnassa, ja näin saada yhteenlasku ja tuplaus yhteneväiseksi kunnan laskutoimituksia vertaillessa. Vaikka nämä 31