801698S KRYPTOGRAFIA. Tapani Matala-aho

Samankaltaiset tiedostot
pdfmark=/pages, Raw=/Rotate 90 1 Yleistä Työkaluja Asymptoottisesti sama ISO OO Kongruenssi 0-14

pdfmark=/pages, Raw=/Rotate 90 1 Yleistä Merkintöjä Lukujoukot Sekalaisia merkintöjä Työkaluja 0-10

pdfmark=/pages, Raw=/Rotate 90 1 LUKUTEORIAA JA MUITA TYÖKALUJA SALAUKSEEN Lukujoukot Sekalaisia merkintöjä...

802328A LUKUTEORIAN PERUSTEET Merkintöjä ja Algebrallisia rakenteita

TOOLS. Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO TOOLS 1 / 28

802645S LUKUTEORIA A (5op) Tapani Matala-aho

pdfmark=/pages, Raw=/Rotate 90 3 Valittuja jaollisuuden tuloksia Renkaan yksikköryhmä Eräs kongruenssiryhmä 0-17

[E : F ]=[E : K][K : F ].

802645S LUKUTEORIA A (5op) Tapani Matala-aho

LUKUTEORIA A. Harjoitustehtäviä, kevät (c) Osoita, että jos. niin. a c ja b c ja a b, niin. niin. (e) Osoita, että

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

MAT Algebra I (s) periodilla IV 2012 Esko Turunen

Lukuteorian kertausta

1 Algebralliset perusteet

a b 1 c b n c n

802355A Algebralliset rakenteet Luentorunko Syksy Markku Niemenmaa Kari Myllylä Topi Törmä Marko Leinonen

Esko Turunen Luku 3. Ryhmät

ja jäännösluokkien joukkoa

Polynomien suurin yhteinen tekijä ja kongruenssi

koska 2 toteuttaa rationaalikertoimisen yhtälön x 2 2 = 0. Laajennuskunnan

802355A Renkaat, kunnat ja polynomit Luentorunko Syksy 2013

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

Koodausteoria, Kesä 2014

2 1/ /2 ; (a) Todista, että deg P (x)q(x) = deg P (x) + deg Q(x). (b) Osoita, että jos nolla-polynomille pätisi. deg 0(x) Z, Z 10 ; Z 10 [x];

d Z + 17 Viimeksi muutettu

14. Juurikunnat Määritelmä ja olemassaolo.

1 Lineaariavaruus eli Vektoriavaruus

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

802320A LINEAARIALGEBRA OSA I

ei ole muita välikuntia.

Koodausteoria, Kesä 2014

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

Algebran ja lukuteorian harjoitustehtäviä. 1. Tutki, ovatko seuraavat relaatiot ekvivalenssirelaatioita joukon N kaikkien osajoukkojen

800333A Algebra I Luentorunko Kevät Työryhmä: Markku Niemenmaa, Kari Myllylä, Juha-Matti Tirilä

Äärelliset kunnat ja polynomien jako alkutekijöihin

802328A LUKUTEORIAN PERUSTEET OSA II BASICS OF NUMBER THEORY PART II

Liite 2. Ryhmien ja kuntien perusteet

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

MAT Algebra I (s) periodeilla IV ja V/2009. Esko Turunen

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Tommi Kuusisto

Koodausteoria, Kesä 2014

802354A Algebran perusteet Luentorunko Kevät Työryhmä: Markku Niemenmaa, Kari Myllylä, Topi Törmä

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

2 Renkaat ja kunnat. toteutuvat: 1. pari (K, +) on Abelin ryhmä, jonka neutraalialkio on 0 K,

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

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

g : R R, g(a) = g i a i. Alkio g(a) R on polynomin arvo pisteessä a. Jos g(a) = 0, niin a on polynomin g(x) nollakohta.

1 Johdanto Algebralliset luvut Perusteita Renkaat ja kunnat Kokonaisalue, Integral Domain...

802328A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III. Tapani Matala-aho MATEMATIIKKA/LUTK/OULUN YLIOPISTO

Todistus. Eliminoidaan Euleideen algoritmissa jakojäännökset alhaaltaylöspäin.

H = : a, b C M. joten jokainen A H {0} on kääntyvä matriisi. Itse asiassa kaikki nollasta poikkeavat alkiot ovat yksiköitä, koska. a b.

Salausmenetelmät. Veikko Keränen, Jouko Teeriaho (RAMK, 2006)

1 Johdanto Algebralliset luvut Perusteita 5. 3 Renkaat ja kunnat Kokonaisalue, Integral Domain Kunta, Field...

LUKUTEORIA johdantoa

Algebra I, harjoitus 5,

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara

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

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

(x + I) + (y + I) = (x + y)+i. (x + I)(y + I) =xy + I. kaikille x, y R.

a 2 ba = a a + ( b) a = (a + ( b))a = (a b)a, joten yhtälö pätee mielivaltaiselle renkaalle.

15. Laajennosten väliset homomorfismit

R 1 = Q 2 R 2 + R 3,. (2.1) R l 2 = Q l 1 R l 1 + R l,

ALGEBRALLISET LUVUT S. Tapani Matala-aho

Rationaaliluvun desimaaliesitys algebrallisesta ja lukuteoreettisesta näkökulmasta

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Liisa Ilonen. Primitiiviset juuret

802328A LUKUTEORIAN PERUSTEET OSA III BASICS OF NUMBER THEORY PART III

PERUSASIOITA ALGEBRASTA

Algebra II. Syksy 2004 Pentti Haukkanen

802354A Algebran perusteet Luentorunko Kevät Työryhmä: Markku Niemenmaa, Kari Myllylä, Topi Törmä

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

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

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

802320A LINEAARIALGEBRA OSA III

Renkaat ja modulit. Tässä osassa käsiteltävät renkaat ovat vaihdannaisia, ellei toisin mainita. 6. Ideaalit

JOHDATUS LUKUTEORIAAN (syksy 2017) HARJOITUS 3, MALLIRATKAISUT

802354A Lukuteoria ja ryhmät Luentorunko Kevät Työryhmä: Markku Niemenmaa, Kari Myllylä, Juha-Matti Tirilä, Antti Torvikoski, Topi Törmä

Koodausteoria, Kesä 2014

pdfmark=/pages, Raw=/Rotate 90 1 Johdanto Algebralliset luvut Perusteita Renkaat ja kunnat 0-10

Shorin algoritmin matematiikkaa Edvard Fagerholm

Äärellisesti generoitujen Abelin ryhmien peruslause

Esko Turunen MAT Algebra1(s)

Lineaariset ryhmät Pro gradu -tutkielma Miia Lillstrang Matematiikan yksikkö Oulun yliopisto 2016

Määritelmä 1. Olkoot V ja W lineaariavaruuksia kunnan K yli. Kuvaus L : V. Termejä: Lineaarikuvaus, Lineaarinen kuvaus.

Primitiiviset juuret: teoriaa ja sovelluksia

a ord 13 (a)

Esimerkki A1. Jaetaan ryhmä G = Z 17 H = 4 = {1, 4, 4 2 = 16 = 1, 4 3 = 4 = 13, 4 4 = 16 = 1}.

Algebrallisista käyristä

Algebra I, harjoitus 8,

n (n 1) avainten vaihtoa. Miljoonalle käyttäjälle avainten vaihtoja tarvittaisiin

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

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

Algebra I Matematiikan ja tilastotieteen laitos Ratkaisuehdotuksia harjoituksiin 6 (8 sivua) OT. 1. a) Määritä seuraavat summat:

1 Lukujen jaollisuudesta

Nimittäin, koska s k x a r mod (p 1), saadaan Fermat n pienen lauseen avulla

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

Äärellisten mallien teoria

802656S ALGEBRALLISET LUVUT OSA II ALGEBRAIC NUMBERS PART II

MS-A0402 Diskreetin matematiikan perusteet

Dihedraalinen ryhmä Pro gradu Elisa Sonntag Matemaattisten tieteiden laitos Oulun yliopisto 2013

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

Transkriptio:

801698S KRYPTOGRAFIA Tapani Matala-aho 6. tammikuuta 2015

Sisältö 1 Yleistä 2 2 Työkaluja 3 2.1 Asymptoottisesti sama........................ 3 2.2 ISO OO................................ 4 3 Kongruenssi 6 3.1 Yksikköryhmä............................. 7 3.2 Eulerin funktio............................ 8 3.3 Euler-Fermat............................. 9 3.4 Eräs kongruenssiryhmä........................ 10 3.5 Kiinalainen jäännöslause....................... 10 4 Tuloksia ryhmistä 12 4.1 Syklisten ryhmien perusteita..................... 13 4.2 Sovelluksia ja esimerkkejä...................... 18 4.3 Nopeaa potenssilaskentaa...................... 20 4.4 Diskreetti logaritmi kertolaskuryhmässä............... 21 5 Kryptausjärjestelmiä 23 5.1 A. Diffie-Hellman avaimenvaihto................... 23 5.1.1 Diffie-Hellman ongelma.................... 25 5.2 B. ElGamal kryptausjärjestelmä................... 26 5.3 C. Allekirjoituksista.......................... 28 5.3.1 ElGamal allekirjoitussysteemi................ 28 5.3.2 Hash-funktio......................... 32 5.3.3 DSA/FIPS 186-3....................... 32 1

5.3.4 DSA2............................. 35 5.3.5 GOST............................. 35 6 Äärelliset kunnat 36 6.1 Äärellisten kuntien teoriaa...................... 36 6.2 Kuntalaajennukset.......................... 38 6.3 Äärellisten kuntien konstruointi................... 40 7 Lisää polynomeista 46 8 Affiinit ja projektiiviset tasokäyrät 48 8.1 Affiinit avaruudet........................... 48 8.2 Projektiiviset avaruudet....................... 48 8.2.1 Projektiivisen tason geometrisia tulkintoja......... 50 8.3 Algebralliset joukot, tasokäyrät................... 52 9 Elliptiset käyrät 58 9.1 Tapaus char K = 2, 3......................... 59 10 E(L) on ryhmä 62 10.1 Tapaus char K = 2, 3......................... 63 10.1.1 Yhteenlaskuryhmän kertaluvuista.............. 69 11 Kryptausjärjestelmiä/Elliptiset käyrät 73 11.1 Diffie-Helmann avaimenvaihto/elliptinen analogia......... 73 11.2 Elgamal/elliptinen analogia..................... 74 11.3 Menezes-Vanstone järjestelmä.................... 75 12 Ryhmän E(L) rakenne 77 12.0.1 Karakteerit.......................... 77 2

12.0.2 Ryhmän E(L) kertaluvusta (Ei vaadita tentissä)...... 80 12.0.3 Ryhmän E(L) rakenteesta.................. 81 13 Projektiiviset yhteenlaskukaavat 82 14 Elliptinen käyrä renkaan yli 83 14.1 Elliptisen käyrän alkulukutesti.................... 84 14.2 Lenstran tekijäalgoritmi (Ei vaadita tentissä)............ 85 15 Kertausta projektiivisen tason P 2 (K) suorista 89 16 Merkintöjä ja työkaluja 91 16.1 Lukujoukot.............................. 91 16.2 Sekalaisia merkintöjä......................... 91 16.3 Porrasfunktiot............................. 94 16.4 Tärkeitä kaavoja........................... 96 16.5 Algebrallisia rakenteita........................ 96 16.5.1 Puoliryhmä, monoidi..................... 96 16.5.2 Ryhmä, Abelin ryhmä, Group................ 97 16.5.3 Rengas, Ring......................... 97 16.5.4 Kokonaisalue, Integral Domain............... 98 16.5.5 Kunta, Field.......................... 98 16.5.6 POTENSSI.......................... 98 16.5.7 MONIKERTA......................... 99 16.5.8 Rengashomomorfiat...................... 99 16.6 Kunnista................................ 99 16.6.1 Karakteristika......................... 100 16.7 Kuntalaajennus............................ 100 16.8 Kuntatorni............................... 100 3

16.9 Hieman polynomialgebraa...................... 101 16.10Jako- ja Eukleideen algoritmit kokonaisalueessa.......... 102 4

1 Yleistä KRYPTOGRAFIA 801698S (5 op) Luennoilla tutkitaan salaus-, avaimenvaihto- ja allekirjoitusjärjestelmiä sekä niiden perustana olevia matemaattisia, lähinnä ryhmä- ja lukuteoreettisia menetelmiä. Esille tulevat nopea potenssi ja diskreetti logaritmi äärellisessä syklisessä ryhmässä sovellettuna äärellisen kunnan kertolaskuryhmässä ja elliptisen käyrän yhteenlaskuryhmällä. Lisäksi tarkastellaan laskentaan ja erityisesti äärellisten kuntien laskutoimituksiin liittyviä kompleksisuusarviointeja. Edelleen johdetaan yhteenlaskukaavat projektiivisella ja affiinilla Weierstrassin elliptisellä käyrällä. Tarkasteltavia järjestelmiä ovat Diffie-Hellman avaimenvaihto sekä ElGamal salaus ja allekirjoitus äärellisessä syklisessä ryhmässä sekä edelliset sovellettuna äärellisissä kunnissa tai niiden yli määritellyillä elliptisilllä käyrillä kuten DSA, ECDSA ja Massey-Omura. Testejä ja algoritmeja: Shanksin Baby step-giant step, Elliptisen käyrän alkulukutesti, Lenstran elliptisen käyrän tekijäalgoritmi. Kurssilla käytetään kurssien Lukuteoria ja ryhmät, Renkaat, kunnat ja polynomit, Lukuteorian perusteet ja Salausmenetelmät tuloksia, joita kerrataan tarvittaessa. Lukuteorian perusteet, Salausmenetelmät 5

2 Työkaluja 2.1 Asymptoottisesti sama log = ln Neperin logaritmi, siis log e = 1. Olkoot seuraavissa määritelmissä g, f : R R reaaliarvoisia funktioita, joiden määrittelyalueet ovat M g, M f. Määritelmä 2.1. Asymptoottisesti sama: f(x) g(x) lim x f(x) g(x) = 1. (2.1) Harmooninen sarja esiintyy Eulerin gamman lausekeessa H n = n k=1 1 k (2.2) γ = lim n (H n log n) = 0.577... (2.3) Tuloksesta (2.3) saadaan H n log n, (2.4) sillä lim n Yleisemmin pätee, jos niin f(x) g(x). Määritelmä 2.2. Alkulukufunktio H n log n = lim H n log n + 1 = γ + 1 = 1. (2.5) n log n h(x) f(x) = g(x) + h(x), lim x g(x) = 0, (2.6) π(x) = #{p P x } (2.7) 6

Lause 2.1. ALKULUKULAUSE π(n) n log n. (2.8) Olkoon P = {p 1 = 2, p 2 = 3, p 3 = 5,...} (2.9) eli p n on n:s alkuluku. Lause 2.2. p n n log n. (2.10) 2.2 ISO OO Määritelmä 2.3. O-symboli, O = ISO OO: Olkoon g(x) > 0 aina, kun x M g. f(x) = O(g(x)) (2.11) on olemassa sellaiset vakiot B, C R +, että f(x) Cg(x), x M f M g, x B. (2.12) Asetetaan vielä f(x) O(g(x)) f(x) h(x) = O(g(x)); (2.13) f(x) = h(x) + O(g(x)) f(x) h(x) = O(g(x)) (2.14) ja v(x)o(g(x)) = O(v(x)g(x)), v(x) > 0 x B. (2.15) 7

HUOM: Merkintä f(x) = O(g(x)) (2.16) on hieman harhaanjohtava, sillä tarkkaan ottaen pitäisi kirjoittaa f(x) O(g(x)) = {f(x) f(x) Cg(x)}. (2.17) Mutta (2.16) on sujuvampi käyttää kuin (2.17) ja siten vakiinnuttanut asemansa. Lause 2.3. Olkoon g(x) > 0 aina, kun x M g. Tällöin f(x) < M x B f = O(1). (2.18) f g f = O(g). (2.19) f g = O(1) f = O(g). (2.20) lim f(x) x g(x) < f = O(g). (2.21) f 1 + f 2 = O max{o( f 1 ), O( f 2 )} (2.22) f 1 f 2 = O( f 1 )O( f 2 ). (2.23) f 1 + f 2 = O(g) f 1 = O(g), f 2 = O(g) f 1 f 2 = O(g 2 ) (2.24) ESIM. a) 1 = O(1) (2.25) 8

b) c) d) e) f) sin x = O(1) (2.26) n = O(n) (2.27) log n = O(n) (2.28) n 2 + 2n 3 5 = O(n 4 ). (2.29) (n + 8 log n)(10n log n + 17n 2 ) = O(n) O(n 2 ) = O(n 3 ). (2.30) 3 Kongruenssi Määritelmä 3.1. Olkoon n Z + annettu ja a, b Z. Jos n a b, (3.1) niin tällöin asetetaan a b (mod n) (3.2) eli a on kongruentti b:n kanssa modulo n. Huomaa, että n a b a = b + l n, jollakin l Z a b + nz = b. (3.3) Lemma 3.1. Keskenään kongruenteilla luvuilla on samat jakojäännökset ja Vice Versa. 9

Kongruentit luvut kuuluvat samaan jakojäännösluokkaan (mod n): a b (mod n) a = b. (3.4) Siispä joukkoa Z/nZ = {a a = 0, 1, 2,..., n 1} = Z n (3.5) kutsutaan jakojäännösrenkaaksi, missä on laskutoimitukset a + b = a + b, (3.6) ab = ab. (3.7) HUOM: Usein lasketaan vain pelkillä edustajilla eli jakojäännöksillä 0, 1, 2,..., n 1 = 1 (mod n). ESIM: 1 + 1 = n 1 + 1 = n = 0, ( 1) 1 = 1, (3.8) 2 1 = 1 2 = p + 1 2, p P p 3. (3.9) 3.1 Yksikköryhmä Määritelmä 3.2. Olkoon R ykkösellinen rengas. Joukko R = {yksiköt} = {u R u 1 R : uu 1 = 1} (3.10) on renkaan R yksikköryhmä (unit group). Usein käytetään esitystä R = {u R v R : uv = 1}, (3.11) 10

jolloin pätee u R 1 = uv, u, v R. (3.12) Jos R = K kunta, niin K = K {0}. Lemma 3.2. Joukko {a Z n a n} on renkaan Z n yksikköryhmä eli Z n = {a Z n a n}. (3.13) Huomaa,että ehdosta a n seuraa Eukleideen algoritmin kohdan 5) nojalla, että 1 = s m a + t m n, (3.14) missä m on E.A:n pituus. Siten s m a 1 (mod n) a 1 = s m. (3.15) Erityisesti, jos p P, niin Z p on kunta ja Z p = {a Z p a p} = {1, 2,..., p 1}. (3.16) Määritelmä 3.3. Olkoon n 2. Jos a n, niin a on alkuluokka (mod n) ja Z n = {a Z n a n} on renkaan Z n kertolaskuryhmä (multiplication group of the ring). 3.2 Eulerin funktio Määritelmä 3.4. Eulerin funktio φ : Z + Z + saadaan asettamalla φ(n) = #{k Z + 1 k n, k n} (3.17) aina, kun n Z +. 11

Siten, ryhmän Z n kertaluku (order) on #Z n = φ(n), n Z 2. (3.18) Lemma 3.3. φ(mn) = φ(m)φ(n), M N. (3.19) Eli φ on multiplikatiivinen ja koska ( φ(p m ) = p m 1 1 ), p P, m Z +, (3.20) p niin saadaan Lemma 3.4. Olkoon n = p a 1 1... p a k k, p i P. Tällöin ( a φ(n) = p 1 a 1... p k k 1 1 ) )... (1 1pk p 1 (3.21) eli φ(n) = n p n ( 1 1 ). (3.22) p 3.3 Euler-Fermat Lause 3.1. EULER-FERMAT: Olkoot a Z, n Z 2 annettu ja a n. Tällöin a φ(n) 1 (mod n). (3.23) Lause 3.2. FERMAT N PIKKULAUSE: Olkoon p P annettu. Tällöin a p 1 1 (mod p), jos p a Z; (3.24) a p a (mod p), a Z. (3.25) 12

Olettaen (3.24) todistetaan (3.25): Jos syt(a, p) = 1, niin Pikku Fermat n (3.24) nojalla a p a (mod p). (3.26) Jos p a, niin a 0 (mod p) a p 0 (mod p) (3.27) a p a (mod p). (3.28) 3.4 Eräs kongruenssiryhmä Lause 3.3. A) Olkoot p, q P ja p = q. Tällöin yhtälöistä a b (mod p) a b (mod q) (3.29) seuraa a b (mod pq). (3.30) B) Olkoot m i Z ja m i m j kaikilla i = j. Tällöin yhtälöistä a b (mod m i ) i = 1,..., r (3.31) seuraa a b (mod m 1 m r ). (3.32) 3.5 Kiinalainen jäännöslause Lause 3.4. KIINALAINEN JÄÄNNÖSLAUSE. Olkoot m 1,..., m r Z + pareittain keskenään jaottomia ja olkoot a 1,..., a r Z 13

annettu. Tällöin yhtälöryhmän ratkaisut ovat x a 1 (mod m 1 ),. x a r (mod m r ) (3.33) x = x 0 + l M, l Z, M = m 1... m r = m k M k, (3.34) missä x 0 = n 1 M 1 a 1 +... + n r M r a r, (3.35) n k M k 1 (mod m k ). (3.36) 14

4 Tuloksia ryhmistä Merkintää D H käytetään, kun ryhmä D on ryhmän H aliryhmä. Lemma 4.1. Aliryhmäkriteeri I. Olkoon H ryhmä. Jos, ryhmän H osajoukko D = toteuttaa ehdon: a, b D ab 1 D, niin D on H:n aliryhmä. Lemma 4.2. Aliryhmäkriteeri II. Olkoon H äärellinen ryhmä. Jos, ryhmän H osajoukko D = toteuttaa ehdon: a, b D ab D, niin D on H:n aliryhmä. Olkoon A H. Joukkoa A = D A D H sanotaan joukon A generoimaksi aliryhmäksi. Käytetään myös merkintää a, b,..., c = {a, b,..., c}. Erityisesti a = {a k k Z} = a Z. Jos H on Abelin ryhmä, niin a, b = {a k b l k, l Z} = a Z b Z. 15

4.1 Syklisten ryhmien perusteita Lause 4.1. Olkoon (H, ) kertolaskuryhmä ryhmä, e = 1, α H. Ryhmän H osajoukko α = α Z = {α k k Z} H (4.1) on H:n aliryhmä. Määritelmä 4.1. Aliryhmä α = {α k k Z} on

josta edelleen saadaan Euler-Fermat n lause a φ(n) 1 (mod n) a n. (4.7) Erikoistapauksena, jos p P, niin Z p on ryhmä ja #Z p = p 1. Siten a p 1 = 1 a p, (4.8) josta edelleen saadaan Fermat n pieni lause Lause 4.5. a p 1 1 (mod p) a p. (4.9)

Täten 3 ja 5 ovat Z 7:n generaattorit. 3 = 5 = {3, 2, 6, 4, 5, 1} = Z 7. (4.16) ord 1 = 1, ord 2 = ord 4 = 3, ord 3 = ord 5 = 6, Esimerkki 2. Määrätään ryhmän ord 6 = 2, d = 1, 2, 3, 6 6 = h. (4.17) H = Z 8 = {1, 3, 5, 7}, #H = 4 = φ(8). (4.18) aliryhmät ja sykliset aliryhmät. α 4 = 1, α Z 8 (4.19) mutta 1 1 = 1, 3 2 = 1, 5 2 = 1, 7 2 = 1. (4.20) 1 = {1}, 3 = {1, 3}, 5 = {1, 5}, (4.21) 7 = {1, 7}. (4.22) Täten ryhmällä Z 8 ei ole generaattoria ja siten se ei ole syklinen. ord 1 = 1, ord 3 = ord 5 = ord 7 = 2. (4.23) Esimerkki 3. H = Z 15 = {1, 2, 4, 7, 8, 11, 13, 14}. (4.24) 18

4 = {1, 4}, 14 = {1, 14}. (4.25) 4, 14 = {1, 4, 14, 11}, (4.26) joka ei ole syklinen ja siten Z 15 ei ole syklinen. Lause 4.7. Olkoon H Abelin ryhmä ja olkoot α 1, α 2 H. Jos ord α 1 = e 1, ord α 2 = e 2, e 1 e 2, (4.27) niin ts. ord (α 1 α 2 ) = e 1 e 2. (4.28) # α 1 = e 1, # α 2 = e 2, e 1 e 2 (4.29) # α 1 α 2 = e 1 e 2. (4.30) Lause 4.8. Olkoon H on ryhmä ja #H = p P. Tällöin τ = H τ H {1}. (4.31) Lause 4.9. I. Syklisen ryhmän aliryhmät ovat syklisiä. II. Olkoon H = β, ord β = h = #H ja d h, 2 d h 1, ld = h. Tällöin A: ord β l = d B. ja on olemassa aliryhmät H d = β l, #H d = d d h. Lause 4.10. Olkoon G Abelin ryhmä ja olkoot x, y G, ord x = m, ord y = n. Tällöin löytyy alkio z G, jolle pätee ord z = [m, n] (4.32) 19

Lause 4.11.

Esimerkki 4. G = Z 71, #G = 70 = 2 5 7. Valitaan τ = 7 G, jolle pätee 7 70 = 1, (käytä nopeaa potenssilaskentaa.) Siten 7 70 2 = 7 35 =... = 70 = 1, 7 70 5 = 7 14 =... = 1, 7 70 7 = 7 10 = 1, ord 7 = 70 7 = Z 71. (4.43) 4.2 Sovelluksia ja esimerkkejä Lause 4.12. Olkoon H ryhmä ja α H. Tällöin α = α 1. (4.44) Huom 1. Lauseen 4.11 avulla saadaan toinen todistus Lauseelle 4.7. Esimerkki 5. Olkoon H ryhmä ja α, β H sekä ord α = 5, ord β = 7 ord αβ = 35. (4.45) Todistus: Luvun h = 35 alkutekijäjoukko on {5, 7}. Lasketaan (αβ) 35 = 1; (4.46) (αβ) h/5 = α 2 = 1; (4.47) (αβ) h/7 = β 5 = 1. (4.48) 21

Siten Lauseen 4.11 nojalla ord αβ = h = 35. (4.49) Esimerkki 6. Koska Z 13 = 2 ord 2 = 12 = φ(13), (4.50) niin Lauseen?? nojalla tiedetään, että myös 2 a, a = 1, 5, 7, 11 12. (4.51) ovat generaattoreita. Osoitetaan kuitenkin suoraan Lauseen 4.11 avulla, että ord 2 5 = 12 = h. (4.52) Luvun h = 12 alkutekijäjoukko on {2, 3}. Tiedetään, että (2 5 ) 12 = 1; (4.53) Näytetään vielä, että (2 5 ) h/2 = 1; (4.54) (2 5 ) h/3 = 1. (4.55) Lauseen 4.11 nojalla ord 2 5 = h = 12. (4.56) Edelleen, Lauseen 4.12 nojalla saadaan 2 7 = 2 7 = 2 5 = 2 ; (4.57) 2 11 = 2 1 = 2. (4.58) 22

4.3 Nopeaa potenssilaskentaa Lasketaan ryhmässä H alkion a H potenssi: a r, r Z +, r h = #H, r = e t 1 2 t 1 +... + e 0, e i {0, 1}, e t 1 = 1. (4.59) Aluksi: a 1 = a a 2 = a 2 1 = a 21 a 3 = a 2 2 = a 22 (4.60) Yhteensä t 1 kertolaskua. Seuraavaksi:. a t = a 2 t 1 = a 2t 1. a r = a e t 1 t missä korkeintaan t 1 kertolaskua. Siten Lause 4.13. Olkoon 1 r h = #H. Tällöin a e t 2 t 1... a e 0 1, (4.61)

4.4 Diskreetti logaritmi kertolaskuryhmässä Olkoon H äärellinen syklinen kertalukua h = #H oleva ryhmä eli H = β = {β j j = 0, 1,..., h 1} = {1, β, β 2,..., β h 1 }. (4.65) Huomaa, että β 0 = β h = β 2h =... = 1. (4.66) Määritelmä 4.3.

(mod 71) ja eksponentit (mod 70). 7 2 = 49 log 7 49 = 2 7 3 = 59 log 7 59 = 3 7 6 = 2 log 7 2 = 6. 7? = 33 log 7 33 =? 7 35 = 70 = 1 log 7 70 = log 7 1 = 35. 7 69 = 61 log 7 61 = 69 7 70 = 1 = 7 0 log 7 1 = 0 25

5 Kryptausjärjestelmiä "Yksisuuntaisella funktiolla" tarkoitetaan operaatiota f, joka on nopea (helppo) suorittaa, mutta käänteisoperaatio f 1 on tiettävästi hidas (vaikea). Esimerkki 9. a) f 1 (p, q) = p q = n; p, q P. p, q 2 500 ja f 1 1 (n) = (p, q). Tässä lukujen kertominen on nopeaa, mutta luvun n tekijöihinjako on hidasta. b) f 2 (x) = β x = y, x Z h. H = β, h = ord β, h = 2 1000. f 1 2 = log β y = x. Potenssien lasku on nopeaa mutta diskreetin logaritmin määrittäminen hidasta. Aluksi sanoma koodataan lukujonoksi viesti= m R =ryhmä, rengas,... Käyttäjän U (U = A, B.C,...) salaus- eli kryptausfunktio E U on injektio: E U : R S = ryhmä, rengas,... ja dekryptaus- eli avausfunktio D U on E U :n käänteisfunktio: D U : S R. (D U (E U (m)) = m, E U (D U (k)) = k.) Julkisessa salauksessa E U on jokin yksisuuntainen funktio, joka julkaistaan A) Avaimien vaihdot. trapdoor Jos lisäksi D U :ssa on salaportti B) Julkiset kryptojärjestelmät. C) Allekirjoitukset. jonka vain U tuntee, niin 5.1 A. Diffie-Hellman avaimenvaihto Tarkastellaan järjestelmää yleisessä syklisessä ryhmässä H = β, h = #H. Siis ryhmä H sen generaattori β ja kertaluku h ovat kaikkien käyttäjien U = A, B, C,... tiedossa. 26

Jokainen käyttäjä U = A, B, C,... valitsee salaisen avaimen m U =eksponentin, jonka avulla U laskee luvun k U = β m U, joka julkaistaan. Olkoot

Siten saadaan yhteinen avain 52. U salainen avain= x julkinen k U (= β x ) A a k A B b k B C c k C.. U Yhteinen avain k U,Y = (k Y ) x A k A,B k A,C B k B,A k B,C C k C,A k C,B. missä k X,Y = k Y,X X, Y {A, B, C,...} ja käyttäjien X ja Y yhteinen avain on vain X:n ja Y :n tiedossa. Järjestelmän turvallisuus perustuu 5.1.1 Diffie-Hellman ongelma D.H=Diffie-Hellman ongelma. Määrää β ab luvuista β, β a, β b, h (a, b salaisia). Yleisesti oletetaan, että D.H

logaritmit. 3) Jotain muuta...? Siten, vaikka käyttäjä C tietää luvut k A ja k B, niin C = A, B ei voi päätellä ilman logaritmeja A:n ja B:n yhteistä avainta k A,B. 5.2 B. ElGamal kryptausjärjestelmä Nyt R = H, S = H H ja E : H H H. Tässäkin jokainen käyttäjä U = A, B, C,... valitsee salaisen avaimen m U =eksponentin, jonka avulla U laskee luvun k U = β m U, joka julkaistaan. Seurataan miten käyttäjä A kryptaa viestin m ja lähettää sen käyttäjälle B. Julkiset avaimet k A = β a, k B = β b. (5.10) A: Määrittää yhteisen avaimen

Nyt käyttäjä B dekryptaa saadun sanoman:

5.3 C. Allekirjoituksista Olkoon viestiavaruusblokki = R = H = ryhmä, missä #H = h ja esimerkiksi [H = F q, Z n, E(F q )], missä m h = 1 H. Viesti m 1... m n H n, viesti(pala)= m i H. Avain a, b,... Z q. Kryptausfunktiot E, D : H H, H = β ovat muotoa E(x) = β x, x {a, b,...} tai H 2 H, E(x, m) = mβ x. A: 1. salaa viestin m kryptotekstiksi E B m. 2. muodostaa allekirjoituksen E B D A m. Salainen julkinen, avoin A D A m E A (E B m, E B D A m) B D B E B (E B m, E B D A m) B: 3. avaa kryptotekstin D B E B m = m. 4. varmistaa allekirjoituksen laskemalla E A D B E B D A m = m. Jos nyt m = m, niin viesti m on A:lta. Perustelu: Vain A tietää D A :n, jolle E A D A = Id, joten B varma, että viesti m on A:lta ja muuttumaton. 5.3.1 ElGamal allekirjoitussysteemi Käytetään aikaisempia merkintöjä eli H = β on kertalukua h = ord β oleva syklinen ryhmä ja A:n salaiset avaimet

A:n julkiset avaimet

Salaisia Julkisia H = β x x h = ord β A a a m k A B (r, s, k A, v A ) ρ B: 3. dekryptaa ElGamal-järjestelmän mukaisesti sanomasta (k A, v A ) viestin m. 4. laskee luvut

. Olkoon α = γ. Vain A tietää luvun k A = β a eksponentin a = log β k A. Olkoon C tehnyt allekirjoituksen (r, s) eli r = β c, ρ(m) = cρ(r) + c s. (5.34) Nyt α = γ (5.35) β ρ(m) = k A ρ(r) r s = k A ρ(r) β c s 5.34 = k A ρ(r) β ρ(m) cρ(r) (5.36) k A ρ(r) = β cρ(r) β aρ(r) = β cρ(r) (5.37) eli C:n pitäisi arvata a = log β k A. Siten D.L. ongelmasta saadaan, että C=A. mot. 5.23 β a = β c c = a (5.38) Esimerkki 13. Jatketaan Esimerkkien 10, 11 ja 12 parametreilla. Olkoot A:n salaiset avaimet Edelleen olkoon m = 41 ja a = 3, a = 9 Z 70, h = 70. (5.39) ρ : Z 71 Z 70, ρ(x) = x. (5.40) Tällöin k A = 59, k A = 7 9 = 47, r = ρ(k A ) = 47. (5.41) A: määrää luvun s = 1 a (ρ(m) aρ(r)) = 1 (41 3 47) = 20. (5.42) 9 34

Lähetettävä kryptattu viesti allekirjoituksella (r, s, k A, v A ) = (47, 20, 59, 2). (5.43) B: Suorittaa dekryptauksen ja laskee luvut α = β ρ(m) = 7 41, γ = k A ρ(r) r s = 59 47 47 20 =... = α. (5.44) HAPPY! 5.3.2 Hash-funktio Hash-funktio H on yksisuuntainen tiivistefuntio. Olkoon lähetettävä bittijono H n, n Z + H : H n J, [J H]. Esimerkiksi perinteinen salasanan varmistus: Operaattorin tiedostossa kunkin käyttäjän A salasanasta a on Hash-arvo H A. Kone laskee annetun salasanan a Hash-arvon H(a), jota verrataan talletettuun arvoon H A. Jos H(a) = H A, niin käyttäjätunnus A saa käyttöluvan. Seuraavassa keinotekoinen esimerkki. Esimerkki 14. H = Z 101 a. H 1 (a) = 7 a (mod 19), H 1 : Z 101 Z 19. 5.3.3 DSA/FIPS 186-3 Digital Signature Algorithm Merkinnät 1) p P, l(p) = L {k 1024 k = 1, 2, 3}. 2) q P, q p 1, l(q) = 160, 256. 3) D q = β ; #D q = q, D q Z p. 35

4) σ : Z p Z q, σ(x) x (mod q), x {1,..., p 1}. 5) H : Z n p Z q Hash-funktio. (Kts. standardit standardit) Matemaattinen perusta 1) Alkuluku q generoidaan esimerkiksi Miller-Rabinin testin 3 avulla. 2) Samoin p generoidaan s.e p = 1 + k q Huom 3. Alkulukulauseen nojalla #{q P 159 < l(q) 160} = ( 2160 160 2159 159 ) 1 log 2 joten ehdokkaita on riittävästi. = 2 160 2 159 160 log 2 = 2159 111, 3) Olkoon h Z p sellainen, että β = h p 1 q q olevan syklisen aliryhmän D q eli β = D q, #D q = q. Todistus. a) β q = h p 1 = 1. = 1. Tällöin β generoi kertalukua b) Koska q P, niin ainoa q:n alkutekijä on q, jolle lisäksi pätee β q q = β = 1. Siten Lemman?? nojalla ord β = q. mot. Huom 4. Välttämättä h ei ole Z p:n generaattori! 4) Huomaa tässä, että β a D q, a Z, mutta välttämättä ei β a Z q. DSA: Edelleen, olkoon x = β a Z p, jolloin σ(x) x (mod q) eli σ(x) Z q. HUOMAA vielä, että σ : D q Z q EI yleensä ole injektio. Julkisia ovat parametrit p, q, h ja Hash-funktio H. Käyttäjä A valitsee salaiset avaimet a, a Z q ja laskee luvut 1) H(m) Z q 2) k A = β a, k A = βa Z p 3) r = σ(k A ) Z q. 36

4) s = 1 (H(m) + ar) Z a q. A:n julkinen avain = k A = β a. A:n viesti m B:lle lähtee allekirjoitettuna sanomana a) (r, s, m) (5.45) tai salattuna sanomana b) (r, s, k A, v A ), (5.46) missä (r, s) on allekirjoitus. Vastaanottaja B laskee luvun v = σ(β 1 s H(m) k A 1 s r ). Varmennus: Viesti m hyväksytään A:lta tulleeksi, jos v = r. Yleisesti perusteluna varmennukselle pidetään lausetta 5.2. Huom 5. k A, k A, v = β 1 s H(m) k A 1 s r D q Z p, mutta r = σ(k A ), v = σ(β 1 s H(m) k A 1 s r ) Z q. Lause 5.2. Allekirjoitus on A:lta v = r. Todistus. Oletetaan, että (r, s) tulee A:lta, joten v = σ(β 1 s H(m) β 1 s ar ) = σ(β 1 s (H(m)+ar) ) = 4) σ(β a ) = r. HUOMAA: Jos yritetään todistaa, niin tällöin oletetaan, että v = r eli σ( v) = σ(k A ). Mutta σ : D q Z q ei ole injektio. Joten voi olla, että v = k A. Siten EI voida varmasti päätellä, että lähettäjä on A. Jos kuitenkin olisi v = k A, niin (D.L.) ongelman perusteella voitaisiin päätellä, että lähettäjä on A. Turvallisuus: -Pohlig-Hellman ei tepsi. -MUTTA edellä esitetyn nojalla ON KYSEENALAISTA, että turvallisuus perustellaan D.L. ongelmalla D q :ssa (tai Z p:ssä). 37

5.3.4 DSA2 jossa samat parametrit kuin DSA:ssa. A: Salaiset avaimet a, a, d. r = σ(β a ), s = (H(m) + ar)d, t = a d B: Varmistus w = t s, u 1 = H(m)w, u 2 = rw. r = σ(β u 1 k A u 2 ) allekirjoitus A:lta 5.3.5 GOST 1) p P, l(p) [509, 512] [1020, 1024]. 2) q P, l(q) [254, 256] ja q p 1. 3) β Z p {1}, joten ord β = q, β q = 1 4) σ : Z p Z q, σ(x) x (mod q). 5) Hash-funktio H: Z n p Z q. Jos H(m) = 0, niin asetetaan H(m) = 1. A: Salaiset avaimet a, a. r = σ(β a ) Z q, s = ar + a H(m) Z q, ja (r, s) on allekirjoitus. B: Laskee v = H(m) q 2, z 1 = sv, z 2 = (q r)v = rv, Varmistus: u=r. Huom 6. H(m) q 2 = H(m) 1. u = σ(β z 1 k A z 2 ) Z q 38

6 Äärelliset kunnat 6.1 Äärellisten kuntien teoriaa Olkoon F = F q = {α 1 = 0, α 2 = 1, α 3,..., α q }, #F = q 2 (6.1) äärellinen kunta, jonka kertolaskuryhmä F = F {0}. Tällöin Lemman 4.4 nojalla α q 1 = 1, α F α q = α, α F. (6.2) Lemma 6.1. Polynomirenkaassa F q [x] pätee x q x = (x α 1 )... (x α q ) = (x α). α F q Lemma 6.2. Olkoon K kunta F q K ja α K. Tällöin α F q α q = α. (6.3) Lemma 6.3. Olkoon H = {ne n Z}, e = 1 F = F q. Tällöin H on kunnan F q alikunta ja H = Z/pZ jollakin p P. Lemman 6.3 nojalla H F q ja H = Z p = Fp, joten samaistetaan H, F p ja Z p. Siten F p on kunnan F q alikunta eli F p F q. Edelleen voidaan osoittaa, että F q on F p -kertoiminen lineaariavaruus, jonka dimensio dim Fp F q = n eli [F q : F p ] = n. Yhteenvetona esitetään Lause 6.1.

Määritelmä 6.1. Äärellisen kunnan kertolaskuryhmän F kunnan F primitiivialkio. generaattori β on Ominaisuudet lyhyesti:

Määritelmä 6.2. Olkoon K L. (Kuntalaajennus.) Olkoon γ L. Tällöin γ:n minimipolynomi kunnan K suhteen on alinta astetta= m oleva K[x]:n polynomi M(x) = x m + a m 1 x m 1 +... + a 0, jolle M(γ) = 0. Merkitään M = M γ. Olkoon nyt K = F p, L = F q=p n. Määritelmä 6.3. Olkoon γ = β primitiivinen alkio. Tällöin M β on primitiivinen polynomi. Lause 6.4. x pn x = d n P d (x) = tulo kaikista F p [x]:n jaottomista alkioista P d (x), joiden aste deg P d (x) = d n. Määritelmä 6.4. Olkoot F q M. Kuvaus ω : M M, ω(x) = x q on Frobeniuskuvaus eli Frobeniusautomorfismi. Lemma 6.6. Frobeniuskuvaus ω on F q -automorfismi. 6.2 Kuntalaajennukset Määritelmä 6.5. Olkoon R rengas ja = I R. Tällöin I on R:n ideaali, jos 1) (I, +) (R, +) a b I, a, b I. 2) Ra I ja ar I, a I. ra I ja ar I r R, a I. Edelleen ideaali M R on R:n maksimaalinen ideaali, jos M I R ja I on R:n ideaali, niin I = R. Lemma 6.7. Olkoon R ykkösellinen kommutatiivinen rengas ja M R maksimaalinen ideaali. Tällöin tekijärakenne R/M = {a = a + M a R}, 0 = M, 1 = 1 + M on kunta. 41

Määritelmä 6.6. Kanoninen homomorfismi K K : R R/M, K(a) = a = a + M. Esimerkki 16. a) R = Z, p P. M = p = pz = {p : llä jaolliset kokonaisluvut} Z K 1 Z/ p = Z/pZ = Z p = Fp. K 1 (a) = a = a + pz, K(p) = p = 0 = pz. Olkoon D = {a α R a α = a β, α = β} R = jäännösluokkien a α edustajisto. Lemma 6.8. Kanonisen homomorfian rajoittuma K D eli K : bijektio. D R/M on Esimerkki 17. a) D = {0, 1,..., p 1} {0, 1,..., p 1} = Z p. Täten tehdään samaistus Z p = {0, 1,..., p 1}. Lemma 6.9. Olkoon K-kunta ja g(x) K[x] jaoton polynomi. Tällöin pääideaali g(x) = K[x]g(x) on K[x]:n maksimaalinen ideaali. Lause 6.5. Olkoon g(x) K[x] jaoton. Tällöin K[x]/ g(x) on kunta. Lause 6.6. Olkoon h(x) K[x]. Tällöin kunta L ja α L s.e. K L ja h(α) = 0. Tod: Olkoon g(x) h(x), g(x) K[x] jaoton. Asetetaan L = K[x]/ g(x) ja f = deg g(x), jolloin L = {s(x) s(x) K[x]}, missä s(x) = s(x) + g(x) = {s(x) + k(x)g(x) k(x) K[x]} on s(x):n jäännösluokka (mod g(x)). Ex: g(x) = 0(x) = g(x). Koska (JA):n nojalla s(x) = l(x)g(x) + r(x), missä deg r(x) < deg g(x) = f, niin f 1 L = {r(x) r(x) = a i x i ; a i K}. i=0 42

Merkitään α = x, a i = a i, (vakiot samaistetaan, koska K = K = {vakiopolynomit}), joten f 1 L = { a i α i a i K}. i=0 Siis joukko {1, α,..., α f 1 } = B virittää lineaariavaruuden L. Huomaa, että nolla-alkio 0 = 0(x) = g(x) ). Asetetaan nyt a 0 1 + a 1 α +... + a f 1 α f 1 = 0 eli t(α) = 0, missä t(x) = a 0 +... + a f 1 x f 1 K[x]. Täten t(x) = 0(x) = g(x) t(x) = g(x) k(x) K[x] : t(x) = k(x)g(x). Tässä deg t(x) f 1 < deg g(x) = f, joten k(x) = 0(x) t(x) = 0(x) ja siten a 0 = a 1 =... = a f 1 = 0. Täten B on lineaarisesti vapaa/k ja #B = f, joten B on L:n kanta ja [L : K] = dim K L = f. Huom 7. Nyt g(α) = g(x) = g(x) = 0 L!, missä α L. Esimerkki 18. a) R = R[x], g(x) = x 2 + 1 R[x]/ x 2 + 1 = C, missä x 2 + 1 = x 2 + 1 = 0, x = i, joten i 2 = 1. 6.3 Äärellisten kuntien konstruointi Erityisesti, kun K = F p = Z p, niin saadaan f-asteisia F p :n laajennuksia kunhan löydetään jaottomia polynomeja F p [x]. Lause 6.7. Olkoon f Z +. Tällöin jaoton g(x) Z p [x] ja deg g(x) = f. 43

Lause 6.8. Jokaista p P ja f Z + kohti on olemassa Galois n kunta GF (p f ) = F q, q = p f. Tällöin R = Z p [x], M = g(x) = g(x)z p [x] = g(x):llä jaolliset. deg g(x) = f Z p [x] K 2 Z p [x]/ g(x) = F q. K 2 (s(x)) = s(x) = s(x) + g(x). Esimerkki 19. b) Polynomi x 2 + x + 1 F 2 [x] on jaoton. Mutta kunnassa GF (2 2 ) = F 4 : α 2 + α + 1 = 0, jolloin 0, 1, α F 4 : α 2 = 1 + α α 3 = α + α 2 = α + 1 + α = 1. Laskutaulut: Summataulu: Kertotaulu: 0 = 0 + 0 α 1 = 1 + 0 α α = 0 + 1 α α 2 = 1 + 1 α + 0 1 α 1 + α 0 1 0 1 + α α α 1 + α 0 1 1 + α α 1 0 1 α 1 + α α 1 + α 1 1 + α 1 α 44

Vertaa laskutaulut renkaassa Z 4 = Z/4Z : + 0 1 2 3 0 1 2 3 0 2 3 0 1 3 0 1 2 1 2 3 2 0 2 3 2 1 Z 4 EI ole kunta. Esimerkki 20. c) x 2 + x + 2 F 3 [x], jaoton. Tällä on nollakohta α F 9 = GF (3 2 ), missä a 2 + α + 2 = 0. Nyt F 3 F 9, joten 0, 1, 2, α F 9. Koska F 9 on kunta, niin α 2 F 9 α 2 = α 2 = 2α + 1 F 9 α 3 = α α 2 = 2α 2 + α = 4α + 2 + α = 2α + 2 F 9... α 8 = α + α 2 = α + 1 + 2α = 1. 45

0 0 + 0 α 1 = α 0 1 + 0 α α 0 + 1 α α 2 α 3 1 + 2 α 2 + 2 α α 4 2 α 5 α 6 α 7 2 α 2 + 1 α 1 + 1 α α 8 1 Logaritmit: esimerkiksi log α (2 + 2α) = 3. Tässä laskettiin + 0 α 0 α α 2 α 3 α 4 α 5 α 6 α 7 0 α 0 α 4 α 7 α 3 α 5 α 1 α 2 α 3 α + α 2 = α + 1 + 2α = 1 1 + α 2 = 1 + 1 + 2α = α 3 1 + α 3 = 1 + 2 + 2α = 2α = α 5 Ei samaa samalle riville 46

F 9 α 0 α 1 α 2 α 7 = Z/8Z α 0 α 0 α 1 α 7 α 1 α 1 α 2 α 0 α 2 α 2 α 3 α 4 α 0 α 1 + 0 1 2 7 0 7 1 0 2 1 Siis (F 9, ) = (Z/8Z, +). d) K = Z 3. g(x) = x 3 + 2x + 1 Z 3 [x] on jaoton. L = Z 3 [x]/ g(x) = GF (3 3 ) Nyt g(x) = 0. Merkitään siis α = x, jolloin α 3 + 2α + 1 = ja siten kunnassa F 27 saadaan α 3 = α + 2. Lemmasta 5.8 saadaan, että α = F 27 = {1 = α 0, α 1,..., α 25 }; #F 27 = 26. Siten α on primitiivialkio ja koska M α (x) = x 3 + 2x + 1, niin g(x) = x 3 + 2x + 1, on primitiivipolynomi. Huomaa vielä F 3 = Z 3 F 27. 47

Otetaan vielä yhteenvetona: K : R R/I = {a a R}. K(a) = a. I = M =maksimaalinen ideaali R/M on kunta. Z K 1 Z/ p = Z p = Fp, p P. Z p [x] K 2 Z p [x]/ g(x) = F q, g jaoton, deg g(x) = n, q = p n. Q[x] Q[x]/ f(x) = Q(α), f jaoton, deg f(x) = n, α n asteen algebrallinen luku. Esimerkki 21. Laskutoimituksista: Esimerkin d) kunnassa. Olkoot β 1 = 2 + α + α 2, β 2 = 2 + 2α 2 F 27, jossa β i = β i (α) Z 3 [α]. (YL) β 1 + β 2 = 4 1 + 1 α + 3 α 2 = 1 + α. (KL) β 1 β 2 = 2 2+(1 2+2 0)α+(2 2+1 0+1 2)α 2 +(1 2+1 0)α 3 +1 2α 4 = 1 + 2α + 2α 3 + 2α 4 = p(α). (J.A.) p(x) = q(x)g(x) + r(x), deg r(x) 2, g(α) = 0. p(α) = q(α)g(α) + r(α) = r(α) = 2α 2 + 2α + 2. (JL) β 1 β 2 = β 1 β 2 1, β 1 = β 1 (α), β 2 = β 2 (α) = 0. (EA) a(x), b(x) Z 3 [x] s.e. 1 = a(x)β 2 (x) + b(x)g(x) 1 = a(α)β 2 (α) + b(α)g(α) 1 = a(α)β 2 eli β 2 1 = a(α) = α 2 + 2α + 1 Z 3 [α] β 1 β 2 Yleensäkin F q :ssä (q = p f ) = β 1 (α)a(α) (KL) =... = r (α) F 27. (YL) (KL) (JL) Yhteen- ja vähennyslaskut Z f p:ssä. Kertolaskut polynomien Z[α] kertolaskuilla +(JA) + (Y L). Jakolaskut: (EA) + (KL). 48

7 Lisää polynomeista Polynomeista K[x], missä K =kunta, esimerkiksi K = Q, R, C, chark = 0 tai K = F q, charf q=p f. Olkoon p(x) = p 0 + p 1 x +... + p n x n K[x], deg p(x) = n, ja sen nollakohtien lukumäärä N 0 (p) = #{x i K p(x i ) = 0} n. Tiedetään, että kompleksilukukunnassa C pätee N 0 (p) = n, n Z +, ja muutoin 0 N 0 (p) n. Voidaan todistaa, että x α p(x) p(α) = 0, L[x] missä α L, jossakin kunnan K laajennuskunnassa L. Edelleen, jos p(x) = p n n i=1 (x α i ), α i L jossakin kunnan K laajennuskunnassa L, niin (olkoon p n = 1) tällöin p 0 = ( 1) n p 1 =. p n 1 = n α i i=1 n ( 1) n 1 n α i j=1 i =j, i=1 n i=1 Esimerkki 22. p(x) = x 3 + Ax 2 + Bx + C = (x α 1 )(x α 2 )(x α 3 ), joten A = (α 1 + α 2 + α 3 ), B = α 2 α 3 + α 1 α 3 + α 1 α 2, C = α 1 α 2 α 2. α i 49

Määritelmä 7.1. Olkoon p(x) K[x] jaoton. Tällöin N(α) = n α i, i=1 missä α = α j, on α:n normi ja T r(α) = n i=1 α i on α:n jälki. Siten saadaan, että N(α), T r(α) K. Määritelmä 7.2. Polynomin p(x) = p n x n +... + p 0 K[x] diskriminantti on Δ p = p 2n 2 n Siten Δ p = 0 α i = α j, i = j. 1 i<j n (α i α j ) 2. Lemma 7.1. Jos f(x) = x 3 + ax + b, niin ( (a ( ) ) 3 2 b Δ f = 108 +. 3) 2 50

8 Affiinit ja projektiiviset tasokäyrät 8.1 Affiinit avaruudet Määritelmä 8.1. Olkoon K-kunta, K = K {0} ja n Z +. Pistejoukko A n (K) = K n = {x = (x 1,..., x n ) x i K} (8.1) on

ja olkoon aina, kun w x t K : w = tx (8.6) x, w B = A n+1 (K) {0}. (8.7) Tällöin on ekvivalenssirelaatio joukossa B, jolloin saadaan tekijärakenne B/ = {[x] x B}, (8.8) missä [x] = {w B w x} (8.9) on alkion x määräämä ekvivalenssiluokka. Merkintään vielä [x] = [x 1,..., x n+1 ] = (x 1 : x 2 :... : x n+1 ) (8.10) jota sanotaan

2) Ainakin yksi homogeeninen koordinaatti x j = 0. 3) Projektiiviseen avaruuteen ei voi määritellä yhteenlaskua ainakaan tavanomaisen koordinaattien yhteenlaskun kautta, koska tällöin laskutoimitus ei ole hyvin määritelty. Siten ei saada lineaariavaruusrakennetta ja normaali dimension käsite ei myöskään päde. 8.2.1 Projektiivisen tason geometrisia tulkintoja Olkoon nyt n = 2, jolloin projektiivisen tason P 2 (K) pisteitä ovat [x] = [x, y, z] = {t(x, y, z) t K }, (8.14) missä (x, y, z) = 0. A. Ensimmäinen tulkinta: Olkoon c = 0, tällöin [a, b, c] = [a/c, b/c, 1]. (8.15) Siten pisteet voidaan jakaa kahteen luokkaan: 1). [x, y, 1], z = 1. (8.16) Tehdään samaistus A 2 (K) (x, y) [x, y, 1] P 2 (K). (8.17) 2). [x, y, 0], z = 0, (8.18) koska (x, y, z) = 0, niin tässä (x, y) = (0, 0). Siten tehdään samaistus P 1 (K) [x, y] [x, y, 0] P 2 (K). (8.19) 53

1)+2): P 2 (K) = A 2 (K) P 1 (K), (8.20) missä ( on "erillinen unioni"). Edelleen P 1 (K):n pisteet jaetaan kahteen luokkaan: 2.1). [x, 1], y = 1. (8.21) Samaistus 2.2). A 1 (K) x [x, 1] P 1 (K). (8.22) [x, 0], y = 0 (8.23) joten tässä x = 0 ja siten [x, 0] = [1, 0] P 1 (K). (8.24) Merkitään [1, 0] =, joka on projektiivisen suoran äärettömyyspiste. 2.1)+2.2) P 1 (K) = A 1 (K) { }. (8.25) Nyt saadaan geometrinen tulkinta (katso viimeinen sivu) vaikkei välttämättä olekaan K = R. Ensinnäkin kohdista 2.1)+2.2)saadaan, että Projektiivinen suora P 1 (K) on affiini suora A 1 (K) unioni "äärettömyyspiste" [1, 0] / A 1 (K). (8.26) Vertaa laajennettu R eli R = R { }. (8.27) 54

Edelleen kohtien 1) + 2) nojalla projektiivinen taso muodostuu affiinista tasosta A 2 (K) = K K ja tähän kuulumattomasta projektiivisesta suorasta P 1 (K). Joten voidaan tulkita, että tämä projektiivinen suora sijaitsee horisontissa ja muodostaa ns. äärettömyyspisteiden joukon projektiiviselle tasolle P 2 (K). B. Toinen tulkinta: Olkoon nyt n = 2, jolloin projektiivisen tason P 2 (K) pisteitä ovat [x] = [x, y, z] = {t(x, y, z) t K }, (8.28) missä (x, y, z) = 0, eli piste [x] on origon kautta kulkeva K 3 :n suora, josta on poistettu origo. Siten piste [x] voidaan samaistaa suuntaparin x, x K 3 kanssa. Toisaalta projektiivisen suoran P 1 (K) pisteitä ovat [x, y] = {t(x, y) t K }, (x, y) = 0. Siten piste P = [x, y] on origon kautta kulkeva K 2 :n suora {0}. Edelleen piste P = [x] voidaan samaistaa suuntaparin x, x K 2 {0} kanssa. (Tästä saadaan toinen geometrinen tulkinta.) 8.3 Algebralliset joukot, tasokäyrät Olkoon R = K[x 1,....x n ] n. muuttujan polynomien rengas. Olkoon p(x) = p(x 1,..., x n ) R polynomi, jonka arvo pisteessä α A n (K) on p(α) = p(α 1,..., α n ) K. Määritelmä 8.3. Polynomin p R nollajoukko on Z(p) = {α A n (K) p(α) = 0} ja polynomi-osajoukon T R nollajoukko on Z(T ) = {α A n (K) p(α) = 0, p T } 55

ja osajoukko Y A n on algebrallinen joukko, jos T R s.e. Y = Z(T ). (Tällöin voidaan määritellä Zarinski topologia.) Määritelmä 8.4. Olkoon R = K[x, y] = 2. muuttujan polynomijoukko ja d Z +. Astetta d oleva

nollajoukko (eräillä lisäehdoilla) eli

Siten 1) määrittää affiinin käyrän polynomin p(x, y) = F (x, y, 1) K[x, y] (8.39) nollajoukkona ja 2) määrittää ne äärettömyyspisteet, jotka [α, β, 0] C F (K). (8.40) Toisaalta, olkoon

1) [x, y, 1] eli z = 0, jolloin saadaan affiini osa L = {(x, y) K 2 ax + by + c = 0}. (8.47) 2) [x, y, 0] eli z = 0, jolloin saadaan äärettömyysosat Ä1 = {[ b, a]}, jos (a, b) = (0, 0); (8.48) Ä2 = P 1 (K), jos (a, b) = (0, 0); (8.49) Perustellaan nämä. Olkoon ensin (a, b) = (0, 0) ja [x, y] L ax + by = 0. Jos a = 0 sillä nyt y = 0. Vastaavasti [x, y] = [ax, ay] = [ by, ay] = [ b, a], (8.50) b = 0... [x, y] = [ b, a]. (8.50) Siten Ä1 = {[x, y] P 1 (K) ax + by = 0, (a, b) = (0, 0)} = {[ b, a]} (8.50) Olkoon seuraavaksi (a, b) = (0, 0), jolloin saadaan c = 0 ja siten z = 0. Täten Ä2 = {[x, y] P 1 (K)} = P 1 (K). (8.50) Huomaa, että Ä1 = {[ b, a]} 59

on piste, joka vastaa suoran ax + by + c = 0 suuntavektoria ( b, a) ja Ä2 = P 1 (K), on projektiivinen suora horisontissa. Esimerkiksi olkoon L : y = 2x 2x + ( 1)y = 0 (a, b) = (2, 1), (8.50) jolloin [x, y] = [ b, a] = [1, 2]. (8.50) Siten L = L {[1, 2]}. Esimerkki 24. d = 2. Tarkastellaan hyperbeliä H : x 2 y 2 = 1, (8.51) jonka projektiivinen sulkeuma on H : x 2 y 2 = z 2. (8.52) 1) Pisteet [x, y, 1] H määräävät affiinin osan H : x 2 y 2 = 1 (8.53) 2) äärettömyyspisteet [x, y, 0] H eli {[x, y] P 1 (K) x 2 = y 2 } = {[1, 1], [ 1, 1]} (8.54) vastaavat hyperbelin H asymptoottien y = ±x suuntavektoreita (1, 1) ja ( 1, 1). 60

9 Elliptiset käyrät Elliptiset käyrät ovat 3. astetta olevien algebrallisten käyrien erikoistapauksia. Esimerkki 25. d = 3. Käyrän E : y 2 = x 3 + 1, (9.1) projektiivinen sulkeuma on E : y 2 z = x 3 + z 3. (9.2) 1) Ratkaisupisteet [x, y, 1] E (9.3) määräävät affiinin osan E ja 2) Äärettömyydessä olevat ratkaisupisteet ovat {[x, y, 0] P 2 (K) y 2 0 = x 3 + 0 3 x = 0} = {[0, 1, 0]}. (9.4) Yleisemminkin projektiivinen Weierstrassin käyrä C W (K) = {[x, y, z] P 2 (K) W (x, y, z) = (9.5) y 2 z + a 1 xyz + a 3 yz 2 x 3 a 2 x 2 z a 4 xz 2 a 6 z 3 = 0} koostuu affiinista osasta ja pisteestä W (x, y, 1) = 0 (9.6) O = [0, 1, 0], (9.7) joka sijaitsee äärettömyydessä. Määritelmä 9.1. Piste P = [α, β, γ] P 2 (K) on funktion F : singulaaripiste, jos osittaisderivaatat F (x, y, z), x F (x, y, z), y F (x, y, z) z P 2 (K) K 61

ovat nollia, kun [x, y, z] = [α, β, γ] = P. Edelleen, jos F (x, y, z) S d, niin tällöin algebrallinen käyrä C F (K) on singulaarinen, muutoin C F (K) on sileä eli säännöllinen, Määritelmä 9.2. Elliptinen käyrä E = E(K) on sileä projektiivinen Weierstrassin käyrä C W (K) eli polynomin W (x, y, z) nollajoukko E(K) = {[α, β, γ] P 2 (K) W (α, β, γ) = 0}, (9.8) missä ainakin yksi polynomin W (x, y, z) osittaisderivaatoista = 0 pisteessä P = [α, β, γ]}. Huom 12. Usein tarkastellaan affiinia elliptistä käyrää E : y 2 + a 1 xy + a 3 y = x 3 + a 2 x 2 + a 4 x + a 6, a i K, (9.9) varustettuna nolla-alkiolla O = [0, 1, 0] ja merkitään O E = E(K). Huom 13. Sanotaan, että käyrä F (x, y, z) = 0 on määritelty kunnan K yli, kun F (x, y, z) K[x, y, z]. Kuitenkin voidaan tutkia käyrän C F pisteitä projektiivisessä avaruudessa P 2 (L), missä L on kunnan K laajennuskunta, jolloin merkitään C F (L) = {[x, y, z] P 2 (L) F (x, y, z) = 0}. (9.10) Vastaavasti merkitään E(L) = C W (L). 9.1 Tapaus char K = 2, 3 Olkoon nyt jolloin a 1 = a 2 = a 3 = 0, a 4 = a, a 6 = b, (9.11) W (x, y, z) = y 2 z x 3 axz 2 bz 3. (9.12) 62

Tällöin saadaan Elliptinen käyrä E : y 2 z = x 3 + axz 2 + bz 3 ; a, b K, (9.13) jonka affiini osa on E : y 2 = x 3 + ax + b = f(x). (9.14) Määritelmä 9.3. Elliptisen käyrän E diskriminantti on 16Δ, missä Δ = 4a 3 + 27b 2. (9.15) Lause 9.1. Käyrä E on sileä Δ = 0. Tällöin määritelmän 9.2 "erikoistapauksena"asetetaan. Määritelmä 9.4. Olkoon char K = 2, 3; a, b K L ja W (x, y, z) = y 2 z x 3 axz 2 bz 3, Δ = 4a 3 + 27b 2 = 0. (9.16) Tällöin nollajoukko E(L) = {[α, β, γ] P 2 (L) W (α, β, γ) = 0} (9.17) on elliptinen käyrä kunnan K yli. Voidaan osoittaa, että tässä tapauksessa kaikki elliptiset käyrät ovat isomorfiaa vaille määritelmän 9.4 mukaisia. Nytkin sanotaan, että affiini käyrä E : y 2 = x 3 + ax + b, a, b K, Δ = 0 (9.18) varustettuna alkiolla O = [0, 1, 0] määrää elliptisen käyrän E(L) kunnan K yli ja merkitään E(L)/K tai E(L). Esimerkki 26. a) K = F 11 = Z 11, a = 1, b = 5. E : y 2 = x 3 + x + 5 = f(x) Z 11 [x], (9.19) 4a 3 + 27b 2 = 0 Z 11. (9.20) 63

Siten E on elliptinen käyrä kunnan Z 11 yli, merkitään E/Z 11. Kunnan Z 11 neliöt ovat {1, 4, 9, 5, 3} = {(±1) 2, (±2) 2, (±3) 2, (±4) 2, (±5) 2 }, (9.21) sillä x = 11 x. Täten Elliptinen käyrä E = E(Z 11 ) on pistejoukko E(Z 11 ) = {[x, y, z] y 2 z = x 3 + xz 2 + 5z 3 } (9.22) = {O = [0, 1, 0]} {(x, y) y 2 = x 3 + x + 5}. Siis jolloin E(Z 11 ) = {O, (0, ±4), (2, ±9), (5, ±5), (7, ±5), (10, ±5)}, (9.23) #E(Z 11 ) = 1 + 2 5 = 11. (9.24) 64

(x, y) E x x 3 + x + 5 y (0, 4) 0 5 4 (0, 7) 0 5 4 = 7 1 7 (2, 2) 2 4 2 (2, 9) 2 4 2 = 9 3 2 4 7 (5, 5) 5 3 5 (5, 6) 5 3 5 = 6 6 7 (7, 5) 7 3 5 (7, 6) 7 3 5 = 6 8 8 9 6 (10, 5) 10 = 1 3 5 (10, 6) 10 3 6 10 E(L) on ryhmä Kerrataan vielä, että O E = E(L). Määritelmä 10.1. Olkoot P = (x 1, y 1 ), Q = (x 2, y 2 ) E {O}. (10.1) Tällöin asetetaan: 1) O + S = S, S E "nolla-alkio"; 65

2) P = (x 1, y 1 a 1 x 1 a 3 ) "vasta-alkio"; 3) P + Q = (x 3, y 3 ), missä x 3 = α 2 + a 1 α a 2 x 1 x 2, y 3 = (α + a 1 )x 3 y 1 + αx 1 a 3, y 2 y 1 x α = 2 x 1, kun x 2 = x 1 3x 2 1 +2a 2 x 1 +a 4 a 1 y 1 2y 1 +a 1 x 1 +a 3, kun P = Q; =0 4 P + Q = O, kun P = Q ja 2y 1 + a 1 x 1 + a 3 = 0. Huom: Kun kohdassa 3) pätee P = Q ja x 2 = x 1, (10.2) niin P + Q = O eli Q = P, (10.3) joka palautuu kohtaan 2). Voidaan todistaa, että Lause 10.1. (E(L), +) on Abelin ryhmä. 10.1 Tapaus char K = 2, 3 Olkoon nyt a, b K L ja E : y 2 = x 3 + ax + b; Δ = 0, O E(L). (10.4) Koska a 1 = a 2 = a 3 = 0, a 4 = a, a 6 = b, niin määritelmän 10.1 erikoistapauksena saadaan 66

Määritelmä 10.2. Olkoot P = (x 1, y 1 ), Q = (x 2, y 2 ) E(L) {O}. (10.5) Tällöin asetetaan 1) O + S = S, S E(L) nolla-alkio; 2) P = (x 1, y 1 ) vasta-alkio; 3) P + Q = (x 3, y 3 ), missä ja x 3 = α 2 x 1 x 2, y 3 = α(x 1 x 3 ) y 1, y 2 y 1 x α = 2 x 1, kun P = Q, x 2 = x 1 3x 2 1 +a 2y 1, kun P = Q, y 1 = 0 tuplaus; 4) P + Q = 2P = O, kun P = Q ja y 1 = 0 tuplaus. (10.6) (10.7) Perustellaan Määritelmän 10.2 kohtien 2) 4) yhteenlaskukaavat lähtien 1) kohdasta eli

Tässä E : y 2 z = x 3 + axz 2 + bz 3 L : Ax + By + Cz = 0. (10.10) Aluksi todetaan seuraavaa: P, Q, O E (10.11) P, Q L L:n yhtälö (10.12) {P, Q, R} L E. (10.13) Olkoon siis P = (x 1, y 1 ), Q = (x 2, y 2 ) E {O} = E. (10.14) (I) Olkoon P = Q eli y 2 = y 1 tai x 2 = x 1. a) x 2 = x 1 siis y 2 = y 1. Tällöin P, Q L, missä L on affiini suora L : x = x 1, (10.15) jonka projektiivinen sulkeuma on L : x = x 1 z. (10.16) Nyt joten [x, y, z] L E (10.17) y 2 z = (x 1 3 + ax 1 + b)z 3 (10.18) 2) z = 0 x = 0 y = 0 tai 1) z = 0 y 2 = (x 1 3 + ax 1 + b)z 2 = y 1 2 z 2. Edelleen 68

2) [x, y, z] = [0, 1, 0] tai 1) [x, y, z] = [x 1 z, ±y 1 z, z] = [x 1, ±y 1, 1], tässä [x 1, y 1, 1] P = (x 1, y 1 ), Koska niin välttämättä L E = {P, Q, R} = {(x 1, y 1 ), (x 1, y 1 ), O}, (10.19) R = O Q = (x 1, y 1 ). (10.20) Tällöin [JAC] (P + Q) + R = P + Q = O Q = P. (10.21) Siten saatiin 2) kohta: P = (x 1, y 1 ). (10.22) Olkoon R = (r 1, r 2 ) (P + Q) + R = O P + Q = R. (10.23) Täten (x 3, y 3 ) = (r 1, r 2 ) = (r 1, r 2 ) x 3 = r 1, y 3 = r 2. (10.24) (I) b) x 2 = x 1. Nyt P, Q L, missä L : y = y 2 y 1 x 2 x 1 (x x 1 ) + y 1 (10.25) eli ja L : y = αx + β; α = y 2 y 1 x 2 x 1 (10.26) E : y 2 = x 3 + ax + b. (10.27) 69

Nyt E L = {P, Q, R}, jolloin (αx + β) 2 = x 3 + ax + b (10.28) x 3 α 2 x 2 + (a 2αβ)x + b β 2 = 0 (10.29) (x x 1 )(x x 2 )(x r 1 ) = 0 x 1 + x 2 + r 1 = α 2 (10.30) ja koska r 1 = x 3, niin x 3 = α 2 x 1 x 2. (10.31) Vielä, koska joten R = (r 1, r 2 ) L r 2 = α(r 1 x 1 ) + y 1 (10.32) y 3 = α(x 1 x 3 ) y 1, (10.33) sillä y 3 = r 2. (II) Olkoon P = Q eli x 2 = x 1, y 2 = y 1. a) Jos y 1 = 0 P = P (10.34) ja siten P + Q = 2P = O. (10.35) b) Olkoon y 1 = 0, jolloin kohdasta (I) b) saadaan (x 2 x 1 ) 2 x 3 = (y 2 y 1 ) 2 (x 1 + x 2 )(x 2 x 1 ) 2 (y 2 + y 1 ) 2 (10.36) (x 2 x 1 ) 2 (y 2 + y 1 ) 2 x 3 = (10.37) 70

( y 2 2 2 y }{{ 1 ) } 2 (x 1 + x 2 )(x 2 x 1 ) 2 (y 2 + y 1 ) 2 x 3 2 x 3 1 +a(x 2 x 1 ) (y 2 + y 1 ) 2 x 3 = (x 2 2 + x 2 x 1 + x 1 2 + a) 2 (x 1 + x 2 )(y 2 + y 1 ) 2. (10.38) Asetetaan x 2 = x 1, y 2 = y 1, joten (2y 1 ) 2 x 3 = (3x 1 2 + a) 2 2x 1 (2y 1 ) 2 (10.39) ja nytkin y 3 = r 2 = α(x 1 x 3 ) y 1. (10.40) Huom: Derivaattaa (raja-arvo prosessi) ei voida käyttää esimerkiksi äärellisissä kunnissa. Jatketaan Esimerkkiä 26: E = E(Z 11 ), E : y 2 = x 3 + x + 5; a = 1, b = 5. Olkoon P = (0, 4) E. Lasketaan 2P = (0, 4) + (0, 4) = (x 3, y 3 ) α = 3 02 +1 = 1 = 7 2 4 8 x 3 = 7 2 2 0 = 5 y 3 = 7(0 5) 4 = 39 = 5 2(0, 4) = (5, 5) 4(0, 4) = 2(5, 5) = (x 3, x 4 ) α = 3 52 +1 = 3 3+1 = 1 2 5 1 x 3 = 1 2 2 5 = 9 = 2 y 3 = 1(5 2) 5 = 9 4(0, 4) = (2, 9) 3P = P + 2P = (0, 4) + (5, 5) 71

α = 5 4 5 0 = 1 5 = 9 x 3 = 9 2 0 5 = 4 5 = 10 y 3 = 9(0 10) 4 = 5 3P = (10, 5) 5P = P + 4P = (7, 6), 5P = ( x 1 0, y 1 4) + ( x 2, y 2 9), α = 9 4 2 0 = 6 5 = 3, x 3 = 3 2 0 2 = 7, y 3 = 3 (0 7) 4 = 1 4 = 6. Koska 6P = ( 5)P = 5P = (7, 6) = (7, 5) 7P = ( 4)P = 4P = (2, 9) = (2, 2)... #E = 11 11P = O, P E (10.41) 10.1.1 Yhteenlaskuryhmän kertaluvuista Potenssia a n vastaa yhteenlaskuryhmässä monikerta np = P } +. {{.. + P } ; 0P = O; (10.42) n kpl ( n)p = np, n Z +. (10.43) 72

Yhteenlaskuversio Kertolaskuversio ordp = h hp = O ja a h = 1 # P = h, missä h = min{k Z + kp = O} P = {lp l Z} a = {a l l Z} P = {0P, 1P,..., (h 1)P }, a = {a 0, a 1,..., a h 1 }. ord O = 1. ord 1 = 1. ord P = 2 ord a = 2 2P = O P = P. a 2 = 1 a 1 = a. Esim: (Z 10, +) : 5 + 5 = 0 Esim: (Z 11, ) : 10 2 = 1-5=5 ord5 = 2. 10 1 = 10 ord10 = 2. 73

Olkoon seuraavassa E = E(L) elliptisen käyrän määräämä pistejoukko, joka on kommutatiivinen ryhmä. Olkoon N = N(E) = #E(L), tällöin NP = O, P E (10.44) ja ord P N, P E. (10.45) Olkoon H E aliryhmä ja #H = p P. Tällöin jokainen H:n alkio = P = O on H:n generaattori eli P = H; P H {O}. (10.46) Esimerkki 27. Jatketaan Esimerkkiä 26: N = #E(Z 11 ) = 11 P E(Z 11 ) = P, P E(Z 11 ) {O}. (10.47) Siten E(Z 11 ) = (0, 4) = (7, 5) =... (10.48) Olkoon seuraavassa K = F q : q = p f ja K L = F q ; q = q g sekä elliptisen käyrän ryhmä E = E(L). Merkitään vielä kp = (x k, y k ), k N, x k, y k L = F q. (10.49) Lause 10.2. Nopea monikerta. T IME(x k, y k ) = O(log k log 3 q ). (10.50) 74

Todistus. Lemman 4.13 nojalla tarvitaan O(log k) ryhmän E laskutoimitusta, joissa jokaisessa korkeintaan 20 F q :n laskutoimitusta, joiden kompleksisuus = O(log 3 q ). (10.51) T IME(x k, y k ) = O(log k) 20 O(log 3 q ). (10.52) Esimerkki 28. 100 = 2 6 + 2 5 + 2 2 = 2 2 (2 4 + 2 3 + 1) (10.53) 100P = 2 2(2 2 2(2P + P ) + P ) (10.54) (8 laskua ja arvio 2 log 2 100 = 12). Olkoon B E(F q ) annettu. Monikerta kb vastaa potenssia β k, joten nytkin luku k määritellään diskreetiksi logaritmiksi kannan B suhteen. Koska ryhmä E(F q ) ei ole välttämättä syklinen, niin B:ksi valitaan piste, jonka kertaluku ord B on tarpeeksi iso. Määritelmä 10.3. Olkoon B = H, h = #H <. Alkion P H diskreetti logaritmi kannan B suhteen on luku k {0, 1,..., h 1}, jolle P = kb. Merkitään: k = log B P. Erityisesti 0B = O log B O = 0. Määritelmää 10.3 sovelletaan nyt erityisesti elliptisen käyrän syklisessä aliryhmässä H E(F q ). Nopean monikerran takia yksittäisen alkion B monikerta kb on nopeasti laskettavissa (polynomiajassa). Toisaalta ei tunneta nopeaa (polynomiaikaista) algoritmia, jolla log B P saadaan. EDL-HYPOTEESI: Elliptisen käyrän E(F q ) pisteen P diskreetti logaritmi log B P on vaikeampi määrätä kuin ryhmän F q alkion a diskreetti logaritmi log β a. 75

Esimerkki 29. y 2 = x 3 + x + 5 Z 11 [x]. E(Z 11 ) = B B = (0, 4) X log B X ord X 0B = O 0 1 1B = (0, 4) 1 11 2B = (5, 5) 2 11 3B = (10, 5) 3 11 4B = (2, 9) 4 11 5B = (7, 6) 5 11 6B = (7, 5) 6 11 7B = (2, 2) 7 11 8B = (10, 6) 8 11 9B = (5, 6) 9 11 10B = (0, 7) 10 11 11B = O 11 Kryptausjärjestelmiä/Elliptiset käyrät 11.1 Diffie-Helmann avaimenvaihto/elliptinen analogia Sovitaan ryhmä E = E(F q ), Q E, H = Q, h = #H. user secret key public key common keys A a K A K A,B B b K B K B,A Käyttäjä X muodostaa

Tällöin käyttäjät X ja Y saavat

Käyttäjä A kryptaa viestin P m laskemalla:

m = (u 1, u 2 ) F 2 q, jonka ei välttämättä tarvitse olla käyrällä E.

12 Ryhmän E(L) rakenne Olkoon seuraavassa N = #E(L) elliptisen käyrän yhteenlaskuryhmän E(L) kertaluku, missä E on elliptinen käyrä kunnan L alikunnan K yli. Kertaluvulle N voidaan todistaa Lause 12.1. (Hasse) Olkoon L = F q. Tällöin N (q + 1) 2 q. (12.1) Siis q + 1 2 q N q + 1 + 2 q, (12.2) jota sanotaan Hassen väliksi. Edelleen voidaan sanoa, että N = q + 1 + O(q 1 2 ) N q + 1. (12.3) 12.0.1 Karakteerit Monissa tapauksissa karakteerien avulla saadaan Hassen rajaa parempia arvioita tai jopa tarkkoja arvoja kertaluvulle N. Olkoon seuraavassa K = F q, F q = β, q = p m, p 5, joten char K = 2, 3 sekä E : y 2 = x 3 +ax+b F q [x], Δ = 0, tutkittava elliptinen käyrä. Huomioidaan aluksi, että x F q pätee #{y F q (x, y) E} 2, (12.4) joten N = #E 1 + 2q. Jos, charf q = 2, niin 2 q 1 ja siten Lukuteoria A: Lauseen 6.1 nojalla ryhmässä F q on yhtä paljon neliöitä ja epäneliöitä eli F q = { 1,..., q 1 2 } { 1,..., q 1 }. (12.5) 2 Edelleen, β q 1 2 = 1, ja jos 2 q 1, niin 1 =. (12.6) 2 80

Määritelmä 12.1. Olkoon G äärellinen Abelin ryhmä. Homomorfismi on ryhmän G karakteri. χ : G C Koska χ on homomorfismi, niin χ(ab) = χ(a)χ(b), a, b G χ(1) = 1 Määritelmä 12.2. Neliökarakteeri on kuvaus χ : F q {0, ±1}; 1, x = χ (x) = 1, x = (12.7) 0, x = 0, Myös -karakteeria sanotaan karakteeriksi. Määritelmä 12.3. Olkoon a Z ja p P 3. Legendren symboli ( a p ) määritellään asettamalla 0, jos p a ( a = 1, jos a on neliönjäännös (mod p) p) 1, jos a on epäneliö (mod p). (12.8) Legendren symboli kertoo, milloin a on neliönjäännös (mod p) eli milloin a on neliö Z p:ssä. Lause 12.2. Eulerin kriteeri. Olkoon a Z ja p P 3. Tällöin ( a p) a p 1 2 (mod p). (12.9) 81

Huom 14. Legendren symboli ( x ) on -karakteri p ( ) x : Z p {0, ±1}. (12.10) p Olkoon χ = χ neliökarakteeri, tällöin N = 1 + x F q (1 + χ(x 3 + ax + b)) = 1 + q + x F q χ(x 3 + ax + b), (12.11) jonka avulla kertaluku voidaan määrittää eräissä tapauksissa. Esimerkki 33. Olkoon E : y 2 = x 3 x = f(x) Z 71 [x], (12.12) missä Δ = 4a 3 + 27b 2 = 0 Z 71, joten saadaan ryhmä E(Z 71 ). Nyt Legendren symboli ( x χ(x) = (12.13) 71) on -karakteri, jolloin χ(f( x)) = χ( (x 3 x)) = χ( 1)χ(x 3 x) = (12.14) ( 1) 71 1 2 χ(x 3 x) = χ(x 3 x) = χ(f(x)). (12.15) Täten x Z 71 χ(f(x)) = χ(f(0))+ (12.16) χ(f(x)) + χ(f( x)) = (12.17) x {1,...,35} x {1,...,35} χ(0) + A + ( A) = 0, (12.18) josta saadaan N = #E = q + 1 = 72. (12.19) 82

Edelleen 72P = O P E(Z 71 ), (12.20) 37P = 35P, S = 36P = 36P, (12.21) joten esimerkiksi 2S = O ord S 2. (12.22) 12.0.2 Ryhmän E(L) kertaluvusta (Ei vaadita tentissä) Lause 12.3. Olkoon, q = p m, p P, m Z +. Tällöin on olemassa sellainen elliptinen käyrä kunnan F q yli, että #E(F q ) = q + 1 t täsmälleen, silloin kun pätee 1) tai 2) tai 3), missä (1) t 0 (mod p) ja t 2 4q. (2) 2 m ja joko a) t = 0 tai b) t 2 = 2q ja p = 2 tai c) t 2 = 3q ja p = 3. (3) 2 m ja joko a) t 2 = 4q tai b) t 2 = q ja p 1 (mod 3) tai c) t = 0 ja p 1 (mod 4). Tässä t on E:n jälki. Lauseesta 12.3 saadaan Lause 12.4. Jokaista alkulua p ja kokonaislukua t kohti on olemassa elliptinen käyrä E/F p, missä #E(F p ) = p + 1 t, t 2 p. 83

Lemma 12.1. Lause 12.5. Jos niin E(F q ) E(F q n) n Z +. #E(F q ) = q + 1 t, #E(F q n) = q n + 1 v n n Z +, missä v 0 = 2, v 1 = t ja v n = v 1 v n 1 qv n 2 aina, kun n 2. 12.0.3 Ryhmän E(L) rakenteesta Olkoon m Z. Tällöin joukko E[m] = {P E(L) mp = O} on ryhmän E(L) aliryhmä. Määritelmä 12.4. E[m] on m-torsio aliryhmä. Lause 12.6. (Ei vaadita tentissä) Olkoon K = F q = GF (p r ), tällöin a) Joko E[p l ] = {O}, l Z + tai E[p l ] = Z p l, l Z +. b) E[m] = Z m Z m m p. c) Olkoon m p. Tällöin, jos E[m] E(F q ), niin m q 1. Lause 12.7. (Ei vaadita tentissä) E(F q ) = Z m Z mn joillakin n, m Z + ja m q 1. Esimerkki 34. Tarkastellaan 2-torsio aliryhmää E[2] = {p E(L) 2P = O}. 84

Tässä 2P = O P = O tai P = (x, y) = P = (x, y) y = 0 f(x) = x 3 + ax + b = 0. (12.24) 13 Projektiiviset yhteenlaskukaavat Yhteenlaskukaavat voidaan siirtää projektiiviseen esitykseen, jolloin nimittäjät voidaan heittää z-koordinaattiin. Tällöin saavutetaan usein nopeusetua, koska yleensä käänteisalkiomääritys on hidasta (useisiinkin) kertolaskuihin verrattuna. Toisaalta nyt elliptisiä käyriä voidaan tarkastella myös renkaiden yli, sillä mahdolliset nollantekijät eivät enää aiheuta harmeja kuten aikaisemmissa nimittäjälausekkeissa. Olkoon pisteen P E projektiivinen sulkeuma piste P = [x, y, z] ja sen monikerta kp = [X k, Y k, Z k ]. Yhteenlaskukaavojen nojalla (x = x 1 = x 2, y = y 1 = y 2 ) 2P = (x 3, y 3 ), missä x 3 = (3x2 +a) 2 8xy 2 (2y) 2, y 3 = (3x2 +a)(12xy 2 (3x 2 +a) 2 8y 4 ) 8y 3. Edelleen x 3 = (x2 +a) 2 8bx 4(x 3 +ax+b) vapaa y:stä! y 3 = x6 +5ax 4 +20bx 3 5a 2 x 2 4abx a 3 8b 2 8y 3. Homogenisoidaan P = (x, y) P asettamalla x x z, y y z P = [X, Y, Z], joten kun 2P = O, niin 2P = [ (x2 az 2 ) 2 8bxz 3 4z(x 3 +axz 2 +bz 3 ),..., 1] = [X 2, Y 2, Z 2 ], 85