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