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

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

801698S KRYPTOGRAFIA. Tapani Matala-aho

802328A LUKUTEORIAN PERUSTEET Merkintöjä ja Algebrallisia rakenteita

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

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

a b 1 c b n c n

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

1 Algebralliset perusteet

Lukuteorian kertausta

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

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

802355A Renkaat, kunnat ja polynomit Luentorunko Syksy 2013

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

Polynomien suurin yhteinen tekijä ja kongruenssi

1 Lineaariavaruus eli Vektoriavaruus

ja jäännösluokkien joukkoa

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

Esko Turunen Luku 3. Ryhmät

MAT Algebra I (s) periodilla IV 2012 Esko Turunen

802320A LINEAARIALGEBRA OSA I

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

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

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

Liite 2. Ryhmien ja kuntien perusteet

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

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

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

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

d Z + 17 Viimeksi muutettu

Koodausteoria, Kesä 2014

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

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

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

ei ole muita välikuntia.

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.

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

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];

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Tommi Kuusisto

Algebra II. Syksy 2004 Pentti Haukkanen

14. Juurikunnat Määritelmä ja olemassaolo.

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

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

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

Äärelliset kunnat ja polynomien jako alkutekijöihin

802656S ALGEBRALLISET LUVUT OSA I ALGEBRAIC NUMBERS PART I

LUKUTEORIA I. Tapani Matala-aho

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

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

ALGEBRALLISET LUVUT S. Tapani Matala-aho

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

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

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

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

MAT Algebra 1(s)

Rationaaliluvun desimaaliesitys algebrallisesta ja lukuteoreettisesta näkökulmasta

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.

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

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

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

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

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

Algebra I, harjoitus 5,

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

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

Kuvauksista ja relaatioista. Jonna Makkonen Ilari Vallivaara

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

LUKUTEORIA I. Tapani Matala-aho

PERUSASIOITA ALGEBRASTA

ALGEBRA KEVÄT 2013 JOUNI PARKKONEN

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

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

LUKUTEORIA johdantoa

802328A LUKUTEORIAN PERUSTEET. Tapani Matala-aho

Koodausteoria, Kesä 2014

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

MS-A0402 Diskreetin matematiikan perusteet

Koodausteoria, Kesä 2014

1 Lukujen jaollisuudesta

Äärellisesti generoitujen Abelin ryhmien peruslause

Algebrallisista käyristä

pdfmark=/pages, Raw=/Rotate Lukujoukot Sekalaisia merkintöjä Porrasfunktiot Tärkeitä kaavoja...

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

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

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Johdatus matematiikkaan

Algebra I, harjoitus 8,

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

Esko Turunen MAT Algebra1(s)

Algebra 1, harjoitus 9, h = xkx 1 xhx 1. a) Käytetään molemmissa tapauksissa isomorfialausetta. Tarkastellaan kuvauksia

TAMPEREEN YLIOPISTO Pro gradu -tutkielma. Jarmo Niemelä. Primitiivisistä juurista ja. alkuluokkaryhmistä

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

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

802320A LINEAARIALGEBRA OSA III

802656S ALGEBRALLISET LUVUT OSA II ALGEBRAIC NUMBERS PART II

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

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

jonka laskutoimitus on matriisien kertolasku. Vastaavasti saadaan K-kertoiminen erityinen lineaarinen ryhmä

Transkriptio:

pdfmark=/pages, Raw=/Rotate 90 Sisältö 1 Yleistä 0-5 1.1 Merkintöjä................... 0-7 1.1.1 Lukujoukot............... 0-7 1.1.2 Sekalaisia merkintöjä.......... 0-8 2 Työkaluja 0-10 2.1 Porrasfunktiot................. 0-10 2.2 Asymptoottisesti sama............. 0-12 2.3 ISO OO.................... 0-14 3 Kongruenssi 0-17 3.1 Yksikköryhmä................. 0-19 3.2 Eulerin funktio................. 0-21 4 Algebrallisia rakenteita 0-23 4.1 Puoliryhmä, monoidi.............. 0-23 4.2 Ryhmä, Abelin ryhmä, Group.......... 0-24

4.3 Rengas, Ring................. 0-24 4.4 Kokonaisalue, Integral Domain......... 0-26 4.5 Kunta, Field.................. 0-26 4.6 POTENSSI................... 0-27 4.7 MONIKERTA.................. 0-27 4.8 Rengashomomorfiat.............. 0-28 4.9 Kunnista.................... 0-29 4.9.1 Kuntatorni............... 0-30 4.10 Hieman polynomialgebraa........... 0-30 4.11 Jako- ja Eukleideen algoritmit kokonaisalueessa 0-33 5 Tuloksia ryhmistä 0-37 6 Diskreetti logaritmi 0-43 6.1 Diskreetti logaritmi kertolaskuryhmässä..... 0-43 6.2 Diskreetti logaritmi yhteenlaskuryhmässä.... 0-45 6.3 Nopeaa potenssilaskentaa........... 0-46 6.4 Ryhmät Z n.................. 0-48 0-1

6.4.1 Primitiivijuuret.............. 0-48 6.5 Diskreetin logaritmin ongelma......... 0-49 6.6 Osittaisinfoa.................. 0-51 7 Kryptausjärjestelmiä 0-54 7.1 A. Diffie-Hellman avaimenvaihto........ 0-56 7.1.1 Diffie-Hellman ongelma......... 0-59 7.2 B. ElGamal kryptausjärjestelmä........ 0-60 7.3 C. Allekirjoituksista............... 0-63 7.3.1 ElGamal allekirjoitussysteemi...... 0-64 7.3.2 Hash-funktio.............. 0-71 7.3.3 DSA/FIPS 186-3............ 0-71 7.3.4 DSA2.................. 0-76 7.3.5 GOST................. 0-76 8 Äärelliset kunnat 0-78 8.1 Äärellisten kuntien teoriaa........... 0-78 8.2 Kuntalaajennukset............... 0-83 0-2

8.3 Äärellisten kuntien konstruointi......... 0-87 9 Lisää polynomeista 0-98 10 Affiinit ja projektiiviset tasokäyrät 0-102 10.1 Affiinit avaruudet................ 0-102 10.2 Projektiiviset avaruudet............. 0-103 10.2.1 Projektiivisen tason geometrisia tulkintoja 0-105 10.3 Algebralliset joukot, tasokäyrät......... 0-110 11 Elliptiset käyrät 0-120 11.1 Tapaus char K = 2, 3............. 0-123 12 E(L) on ryhmä 0-128 12.1 Tapaus char K = 2, 3............. 0-129 12.1.1 Yhteenlaskuryhmän kertaluvuista.... 0-139 13 Kryptausjärjestelmiä/Elliptiset käyrät 0-146 13.1 Diffie-Helmann avaimenvaihto/elliptinen analogia 0-146 0-3

13.2 Elgamal/elliptinen analogia........... 0-148 13.3 Menezes-Vanstone järjestelmä......... 0-150 14 Ryhmän E(L) rakenne 0-152 14.0.1 Karakteerit............... 0-153 14.0.2 Ryhmän E(L) kertaluvusta (Ei vaadita tentissä)................ 0-158 14.0.3 Ryhmän E(L) rakenteesta....... 0-160 15 Projektiiviset yhteenlaskukaavat 0-161 16 Elliptinen käyrä renkaan yli 0-164 16.1 Elliptisen käyrän alkulukutesti.......... 0-165 16.2 Lenstran tekijäalgoritmi (Ei vaadita tentissä).. 0-168 17 Kertausta projektiivisen tason P 2 (K) suorista 0-175 0-4

1 Yleistä KRYPTOGRAFIA 801698S (5 op) Uusi kurssi Viimeinen luento oli to 22.4.2010. Viikoilla 17 ja 18 pidetään laskareita. 1. välikoe ma 19.4.2010 loppukoesalissa. 1. välikoealue kappaleet 1 7. 2. välikoe ma 10.5.2010 loppukoesalissa. 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 ellipti- 0-5

sen 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 Algebra I, Algebra II, Lukuteoria I ja Salausmenetelmät tuloksia, joita kerrataan tarvittaessa. Lukuteoria I, A, B 0-6

1.1 Merkintöjä 1.1.1 Lukujoukot N = {0, 1, 2,..., GOOGOL 10,...} = {ei-negatiiviset kokonaisluvut}. P = {2, 3, 5, 7, 11,...} = {alkuluvut}. Z = {..., 2, 1, 0, 1, 2,...} = {kokonaisluvut}. Z + = {1, 2, 3,...} = N {0} = {positiiviset kokonaisluvut}. Z = { 1, 2, 3,...} = Z N = {negatiiviset kokonaisluvut}. Q = { m n m Z, n Z+ } = {rationaaliluvut}. R = {reaaliluvut}. C = R(i) = {a + ib a, b R, i 2 = 1}= {kompleksiluvut} C Q = {Irrationaaliluvut}. Z m = {k Z k m}, R 0 = {r R r 0},... 0-7

Q = Q {0}, R = R {0}, C = C {0}. 1.1.2 Sekalaisia merkintöjä Olkoot a, b lukuja sekä A, J lukujoukkoja: aj + b = {aj + b j J} a J = {a j j J} A J = {a j a A, j J} ESIM: J = Z, b Z, n Z +, tällöin merkitään b = nz + b, joka on jakojäännösluokka (mod n) ja Z/nZ = {b b {0, 1,..., n 1}}, joka on jakojäännösrengas (mod n).! täsmälleen yksi. 0-8

A B A B ja A = B. #A = A = Joukon A alkioiden lukumäärä. Olkoon A = {a 1,..., a m }, tällöin f(a) = f(a 1 ) +... + f(a m ), a A f(a) = f(a 1 ) f(a m ). a A Jos A =, niin f(a) = 0, f(a) = 1 a A a A (tyhjä summa ja tulo). Edelleen "Summaus n. tekijöiden yli" f(d) = f(d 1 ) +... + f(d k ), d n missä d i Z + ovat n:n erilliset tekijät. "Summaus n. alkutekijöiden yli" f(p) = p n p n,p P f(p). 0-9

"Tulo n. alkutekijöiden yli" f(p) = p n p n,p P f(p). Suurin yhteinen tekijä (a, b) = s.y.t.(a, b). (1.1) Pienin yhteinen jaettava [a, b] = p.y.j.(a, b). (1.2) (a, b)[a, b] = ab. (1.3) 2 Työkaluja 2.1 Porrasfunktiot Määritelmä 2.1. Lattiafunktio (eli porrasfunktio): : R Z, 0-10

aina, kun x R. x = [x] = max{n Z n x} ESIM: Jos x R 0, niin tällöin x on x:n kokonaisosa, mutta esimerkiksi 1.2 = 2. Määritelmä 2.2. Kattofunktio: aina, kun x R. : R Z, x = min{n Z x n} Apulause. Olkoon x R muotoa x = k + c, k Z, 0 c < 1. (2.1) Tällöin k = x. (2.2) Lisää ominaisuuksia: Lukuteoria I 0-11

2.2 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.3. Asymptoottisesti sama: f(x) g(x) lim x Harmooninen sarja H n = n k=1 esiintyy Eulerin gamman lausekeessa 1 k f(x) g(x) = 1. (2.3) (2.4) γ = lim n (H n log n) = 0.577... (2.5) Tuloksesta (2.5) saadaan H n log n, (2.6) 0-12

sillä lim n H n log n = lim n H n log n log n + 1 = γ + 1 = 1. (2.7) Yleisemmin pätee, jos f(x) = g(x) + h(x), lim x h(x) g(x) = 0, (2.8) niin f(x) g(x). Määritelmä 2.4. Alkulukufunktio π(x) = #{p P x } (2.9) Lause 2.1. ALKULUKULAUSE π(n) n log n. (2.10) Olkoon P = {p 1 = 2, p 2 = 3, p 3 = 5,...} (2.11) eli p n on n:s alkuluku. 0-13

Lause 2.2. p n n log n. (2.12) 2.3 ISO OO Määritelmä 2.5. O-symboli, O = ISO OO: Olkoon g(x) > 0 aina, kun x M g. f(x) = O(g(x)) (2.13) on olemassa sellaiset vakiot B, C R +, että f(x) Cg(x), x M f M g, x B. (2.14) Asetetaan vielä f(x) O(g(x)) f(x) h(x) = O(g(x)); (2.15) f(x) = h(x) + O(g(x)) f(x) h(x) = O(g(x)) (2.16) 0-14

ja v(x)o(g(x)) = O(v(x)g(x)), v(x) > 0 x B. (2.17) HUOM: Merkintä f(x) = O(g(x)) (2.18) on hieman harhaanjohtava, sillä tarkkaan ottaen pitäisi kirjoittaa f(x) O(g(x)) = {f(x) f(x) Cg(x)}. (2.19) Mutta (2.18) on sujuvampi käyttää kuin (2.19) 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.20) f g f = O(g). (2.21) 0-15

f g = O(1) f = O(g). (2.22) lim x f(x) g(x) < f = O(g). (2.23) f 1 + f 2 = O max{o( f 1 ), O( f 2 )} (2.24) f 1 f 2 = O( f 1 )O( f 2 ). (2.25) f 1 = O(g), f 2 = O(g) ESIM. a) f 1 + f 2 = O(g) f 1 f 2 = O(g 2 ) (2.26) 1 = O(1) (2.27) b) sin x = O(1) (2.28) 0-16

c) n = O(n) (2.29) d) log n = O(n) (2.30) e) n 2 + 2n 3 5 = O(n 4 ). (2.31) f) (n+8 log n)(10n log n+17n 2 ) = O(n) O(n 2 ) = O(n 3 ). (2.32) 3 Kongruenssi Määritelmä 3.1. Olkoon n Z + annettu ja a, b Z. Jos n a b, (3.1) 0-17

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. n): Kongruentit luvut kuuluvat samaan jakojäännösluokkaan (mod a b (mod n) a = b. (3.4) Siispä joukkoa Z/nZ = {a a = 0, 1, 2,..., n 1} = Z n (3.5) 0-18

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ä Olkoon R-ykkösellinen rengas. 0-19

Määritelmä 3.2. Joukko R = {yksiköt} = {u R u 1 R : uu 1 = 1} = on renkaan R yksikköryhmä. (3.10) 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.11) Huomaa,että ehdosta a n seuraa Eukleideen algoritmin kohdan 5) nojalla, että 1 = s m a + t m n, (3.12) 0-20

missä m on E.A:n pituus. Siten s m a 1 (mod n) a 1 = s m. (3.13) Erityisesti, jos p P, niin Z p on kunta ja Z p = {a Z p a p} = {1, 2,..., p 1}. (3.14) 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 on kuvaus φ : Z + Z +, φ(n) = #{k Z + 1 k n, k n}. (3.15) 0-21

Lause 3.1. φ(mn) = φ(m)φ(n), M N. (3.16) Todistus: Algebra I. Lause 3.2. φ(p m ) = p m (1 1 p ) = pm p m 1, p P, m Z +, (3.17) Todistus: Algebra I. Lause 3.3. φ(n) = n p n(1 1 ) eli (3.18) p φ(n) = p a 1 1... pa k k (1 1 p 1 ) (1 1 p k ) (3.19) 0-22

4 Algebrallisia rakenteita 4.1 Puoliryhmä, monoidi Määritelmä 4.1. A =. Pari (A, ) on puoliryhmä eli semigroup, jos pätee: S0) on A:n laskutoimitus eli binäärioperaatio eli a b A a, b A. S1) on assosiatiivinen eli liitännäinen eli a (b c) = (a b) c a, b, c A. Edelleen pari (A, ) on monoidi, jos S0) ja S1):n lisäksi pätee: S2) neutraalialkio= e A e a = a e = a, a A. 0-23

4.2 Ryhmä, Abelin ryhmä, Group Määritelmä 4.2. Monoidi (G, ) on ryhmä, jos pätee: G3) käänteisalkio= a 1 G a a 1 = a 1 a = e, a G (G0=S0, G1=S1, G2=S2) Määritelmä 4.3. Ryhmä (G, ) on Abelin ryhmä, jos pätee: G4) on kommutatiivinen eli a b = b a a, b G. 4.3 Rengas, Ring Tästä eteenpäin tarkastellaan struktuureja, joissa on kaksi laskutoimitusta + ja. 0-24

Määritelmä 4.4. R =. Kolmikko (R, +, ) on rengas, jos pätee: 1) (R, +) on Abelin ryhmä. 2) (R, ) on puoliryhmä. 3) distributiivisuus eli osittelulait a(b + c) = ab + ac (a + b)c = ac + bc, a, b, c R. Tällöin sanotaan, että R on rengas. Määritelmä 4.5. Rengas R on kommutatiivinen, mikäli kertolasku on vaihdannainen eli ab = ba, a, b R. Määritelmä 4.6. Rengas R on ykkösellinen rengas, mikäli (R, ) on monoidi eli kertolaskun ykkösalkio = 1 R. (R, +) on renkaan additiivinen ryhmä, ja renkaan nollaalkio= 0 R. 0-25

4.4 Kokonaisalue, Integral Domain Määritelmä 4.7. Renkaan R alkio a = 0 on nollantekijä, jos b R {0} s.e. ab = 0 tai ba = 0. Määritelmä 4.8. Kommutatiivinen ykkösellinen rengas D on kokonaisalue, mikäli D:ssä ei ole nollantekijöitä eli ehdosta ab = 0 seuraa a = 0 tai b = 0 a, b D. 4.5 Kunta, Field Määritelmä 4.9. Kolmikko (K, +, ) on kunta, jos: 1) (K, +) on Abelin ryhmä (additiivinen ryhmä), 2) (K, ) on Abelin ryhmä (multiplikatiivinen ryhmä), K = K {0}. 3) a(b + c) = ab + ac, a, b, c K. Erityisesti, kunta on kommutatiivinen ykkösellinen rengas. 0-26

Lisäksi polynomirengas K[x], K =kunta, on kokonaisalue. 4.6 POTENSSI Kertolaskurakenteessa (A, ), e, a A: a 0 = e, a k+1 = a a k 0 Z k N a k = (a 1 ) k k N, jos a 1 Sanotaan, että a k on a:n k:s potenssi ja k on vastaava eksponentti. 4.7 MONIKERTA Yhteenlaskurakenteessa (B, +), e = 0, b B: 0b = e, 0 Z 0-27

(k + 1)b = b + kb k N ( k)b = k( b) k N, jos b Sanotaan, että kb on b:n k:s monikerta ja k on vastaava kerroin (yhteenlaskettavien lkm summassa kb = b +... + b). Siten 0b = 0, 1b = b. Esim: a) A = Z 7 b) B = Z 7 4.8 Rengashomomorfiat Määritelmä 4.10. Olkoot R, R 1 ja R 2 renkaita. Tällöin kuvaus H : R 1 R 2 on rengasmorfismi eli rengashomomorfia, jos pätee H(a + b) = H(a) + H(b), H(ab) = H(a)H(b), H(1 1 ) = 1 2, 1 1 R 1, 1 2 R 2 (ykkösalkioita). 0-28

Edelleen homomorfia on monomorfia, jos se on injektio. isomorfia, jos se on bijektio. automorfia, jos se on isomorfia: R R. F-automorfia, jos H(a)=a, a F R. 4.9 Kunnista Olkoon K kunta; 0, 1 K; 1 = 0. Määritelmä 4.11. Kunnan K karakteristika char K = p p P : p1 = 0; 0 n Z + : n1 = 0. Määritelmä 4.12. Kunta K on kunnan L alikunta eli kunta L on kunnan K laajennus K ja L ovat kuntia sekä K L. Tällä kurssilla käytetään merkintää K L. Edelleen, jos K M L, niin kuntaa M sanotaan välikunnaksi. 0-29

4.9.1 Kuntatorni L 1 L 2 L 3 K K L 3 L 1 ja K L 3 L 2 Määritelmä 4.13. Kuntalaajennuksen aste eli [L : K] = dim K L. Äärellinen, jos [L : K] <. 4.10 Hieman polynomialgebraa Olkoon R rengas. Olkoon R[x] = {p(x) p(x) = n p k x k ; p k R, n N} k=0 R-kertoimisten polynomien joukko. Jos p n = 0, niin polynomin aste deg p(x) = n, erityisesti deg 0(x) =. Pää- 0-30

polynomiksi sanotaan polynomia, missä korkeimman potenssin kerroin p n = 1. Määritelmä 4.14. Olkoot n p(x) = p k x k, q(x) = k=0 n q k x k R[x], k=0 jolloin asetetaan p(x) = q(x) k(p k = q k ); p(x) + g(x) = k 0(p k + q k )x k ; p(x)q(x) = k 0 r k x k, missä k r k = p i q k i = p i q j, (4.1) joka on Cauchyn kertosääntö. i=0 i+j=k Tällöin R[x] on rengas, missä 0(x) = 0+0 x+0 x 2 +... 1(x) = 1+0 x+0 x 2 +.... 0-31

Olkoon R = K kunta. Tällöin polynomirengas K[x] on kokonaisalue, jossa pätee Jakoalgoritmi: Olkoon a(x), b(x) K[x], a(x)b(x) = 0(x) ja deg b(x) deg a(x). Tällöin q(x), r(x) K[x] s.e. (J.A.) a(x) = q(x)b(x) + r(x), missä deg r(x) < deg b(x). Seuraus: p(α) = 0 (x α) p(x). Kokonaisalueen D = K[x] yksikköryhmä=k. Joten polynomien a(x) ja b(x) suurin yhteinen tekijä d(x) = s.y.t.(a(x), b(x) voidaan valita pääpolynomiksi. Eukleideen algoritmin nojalla saadaan, että on olemassa sellaiset polynomit s(x), t(x) K[x], että d(x) = s(x)a(x) + t(x)b(x). Jos K on kunta, niin K[x] pääideaalialue= P.I.D. 0-32

4.11 Jako- ja Eukleideen algoritmit kokonaisalueessa Olkoon nyt D kokonaisalue, jossa on ns. Eukleideen funktio E : D N { } eli pätee Jakoalgoritmi: Jos a, b D on annettu ja ab = 0, 0 E(b) E(a), niin q, r D s.e. (J.A.) a = qb + r ja E(r) < E(b). Tälläista aluetta sanotaan Eukleideen alueeksi. (huomaa, että Eukleideen funktion määritelmä vaihtelee.) Esimerkki 4.1. a)d = Z, E(k) = k. b)d = K[x], E(p(x)) = deg p(x). Jakoalgoritmin nojalla saadaan 0-33

Eukleideen algoritmi=e.a.: r 0 = a, r 1 = b E(r 1 ) < E(r 0 ) r 0 = q 1 r 1 + r 2 E(r 2 ) < E(r 1 ). r k = q k+1 r k+1 + r k+2 E(r k+2 ) < E(r k+1 ). r n 1 = q n r n n N : r n = 0, r n+1 = 0 r n = syt(a, b). Tässä n = Eukleideen algoritmin pituus. Asetetaan nyt R k = r k r k+1, Q k = q k 1, k N, 1 0 jolloin det Q k = 1, Q k 1 = 0 1. 1 q k 0-34

Nähdään, että (E.A.) R k = Q k+1 R k+1, k = 0,..., n 1, jolloin pätee 1) R 0 = Q 1 Q 2... Q k R k. Merkitään S 0 = s 0 t 0 = s 1 t 1 1 0 0 1 ja S k = s k t k = Q k 1... Q 2 1 Q 1 1, s k+1 t k+1 jolloin 2) R k = S k R 0. Nyt 3) S k+1 = Q 1 k+1 S k 0-35

eli s k+1 t k+1 = 0 1 s k t k s k+2 t k+2 1 q k+1 s k+1 t k+1 4) s k+2 = s k q k+1 s k+1, k = 0, 1,... t k+2 = t k q k+1 t k+1, k = 0, 1,... Edelleen 5) syt(a, b) = s n a + t n b, missä n on E.A:n pituus. 0-36

5 Tuloksia ryhmistä Merkintää D H käytetään, kun ryhmä D on ryhmän H aliryhmä. Lemma 5.1. Olkoon (G, ) kertolaskuryhmä ryhmä, e = 1, α G. Ryhmän G osajoukko α = α Z = {α k k Z} G on G:n aliryhmä. Määritelmä 5.1. Aliryhmä α = {α k k Z} on α:n generoima syklinen aliryhmä. Jos H = α, niin H on syklinen ryhmä ja α on H:n generaattori. Määritelmä 5.2. Ryhmän G kertaluku = #G ja alkion α kertaluku eli ord α = # α. (5.1) 0-37

Lemma 5.2. Lagrangen lause. Olkoon #D = d, #H = h <. Jos D H, niin d h. Lemma 5.3. Olkoon G äärellinen ryhmä ja g = #G, tällöin a g = 1 a G. SEURAUS: Olkoon n Z +, jolloin Z n on ryhmä ja #Z n = φ(n). Siten a φ(n) = 1 a n, josta edelleen saadaan Euler-Fermat n lause a φ(n) 1 (mod n) a n. Erikoistapauksena, jos p P, niin Z p on ryhmä ja #Z p = p 1. Siten a p 1 = 1 a p, 0-38

josta edelleen saadaan Fermat n pieni lause a p 1 1 (mod p) a p. Lemma 5.4. Jos ord α = n Z +, niin α = {1, α, α 2,..., α n 1 } ja α n = 1, missä n Z + on pienin eksponentti k Z +, jolla α k = 1. Lemma 5.5. Olkoon α G, m Z +. Tällöin α m = 1 ord α m. Lemma 5.6. Olkoon G Abelin ryhmä ja olkoot α 1, α 2 G, ord α i = e i. Jos e 1 e 2, niin ord (α 1 α 2 ) = e 1 e 2. ts. kun # α 1 = e 1, # α 2 = e 2 ja syt(e 1, e 2 ) = 1, niin # α 1 α 2 = e 1 e 2. Lemma 5.7. Olkoon H on ryhmä ja #H = p P. Tällöin τ H {1} pätee τ = H. 0-39

Lemma 5.8. 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. Lemma 5.9. 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] (5.2) Lemma 5.10. Olkoon G ryhmä, τ G. Tällöin ord τ = h (5.3) τ h = 1 ja τ h p i = 1, p i h; p i P. 0-40

ESIM: G = Z 71, #G = 70 = 2 5 7. Valitaan τ = 7 G, jolle pätee 7 70 = 1, 7 70 2 = 7 35 =... = 70 = 1, 7 70 5 = 7 14 =... = 1, 7 70 7 = 7 10 = 1, (käytä nopeaa potenssilaskentaa.) Siten ord 7 = 70 7 = Z 71. (5.4) Lemma 5.11. Olkoon H äärellinen syklinen ryhmä eli H = α, #H = h. Tällöin #{β H H = β } }{{} Ryhmän H generaattoreiden lkm. = φ(h). (5.5) 0-41

Esimerkki 5.1. H = Z 7 = {1, 2, 3, 4, 5, 6}, #H = 6, φ(6) = 2(1 1 2 )3(1 1 3 ) = 2. Nyt 1 = {1}, 2 = {2, 4, 1}, 3 = {3, 2, 6, 4, 5, 1} = Z 7. Siten 3 on generaattori, joten Lemma 5.11 nojalla Z 7 :ssa on 2 generaattoria. Koska 3 1 = 5 5 = Z 7, niin 3 ja 5 ovat Z 7 :n generaattorit. Huomaa: ord 1 = 1, ord 2 = 3, ord 3 = 6, ord 4 = 3, ord 5 = 6, ord 6 = 2, (6=-1) ja α 6 = 1, α Z 7. Huomaa vielä, että d = 1, 2, 3, 6 6 = h. 0-42

6 Diskreetti logaritmi 6.1 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 }. (6.1) Huomaa, että β 0 = β h = β 2h =... = 1. (6.2) Määritelmä 6.1. Alkion y H diskreetti logaritmi kannan β suhteen on eksponentti k {0, 1,..., h 1}, jolle pätee y = β k. Tällöin käytetään merkintää k = log β y. (6.3) 0-43

Lemma 6.1. 1) log β 1 = 0; 2) log β xy log β x + log β y (mod h); 3) log β x k k log β x (mod h). EX2b: Z 71 lasketaan siis (mod 71) 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 0-44

6.2 Diskreetti logaritmi yhteenlaskuryhmässä Olkoon H äärellinen syklinen kertalukua #H = h < oleva additiivinen ryhmä eli H = β = {kβ k = 0, 1,..., h 1} = {0, β, 2β,..., (h 1)β}. (6.4) Huomaa, että monikerta kβ vastaa potenssia β k. Määritelmä 6.2. Olkoon H äärellinen syklinen additiivinen ryhmä. Alkion y H diskreetti logaritmi kannan β suhteen on luku k {0, 1,..., h 1}, jolle y = kβ. Merkitään k = log β y. (6.5) 0-45

EX2c: Olkoon nyt β = 7, jolloin H = Z 71 = 7. Tällöin 07 = 0 log 7 0 = 0 17 = 7 log 7 7 = 1.?7 = 33 log 7 33 =?. 707 = 7 = 64 log 7 64 = 70 6.3 Nopeaa potenssilaskentaa Lasketaan ryhmässä H alkion a H potenssi: a r, r Z +, r = e t 1 2 t 1 +... + e 0, e i {0, 1}, e t 1 = 1. 0-46

Aluksi: a 1 = a a 2 = a 2 1 = a 21 a 3 = a 2 2 = a 22 Yhteensä t 1 kertolaskua. Seuraavaksi:. a t = a 2 t 1 = a 2t 1. a r = a e t 1 t a e t 2 t 1... ae 0 1, missä korkeintaan t 1 kertolaskua. Siten Lemma 6.2. Potenssin a r laskemiseen tarvitaan 2t 2 ryhmän H laskutoimitusta. Huom 1. t 1 + log r log 2 2 log h, (log e = 1.) 0-47

Jos ryhmässä H, #H = h, niin (vrt. ex2b) vapaasti valitun alkion α H diskreetin logaritmin määräämiseen tarvitaan (jopa) kaikkien potenssien β k, 1 k h laskeminen eli tarvitaan h laskutoimitusta. Lemman 6.2 nojalla yksittäisen potenssin laskemiseen vaaditaan korkeintaan 4 log h kertolaskua. 6.4 Ryhmät Z n 6.4.1 Primitiivijuuret Määritelmä 6.3. Olkoon n Z 2. Luku b {1, 2,..., n 1} on primitiivijuuri (mod n), jos Z n = b eli b generoi ryhmän Z n. Käytetään myös merkintää ind b y = log b y. Lause 6.1. Z n on syklinen n = 2, 4, p l, 2p l, l Z +, p P 3. (6.6) 0-48

Todistus: Lukuteoria A Siten Primitiivijuuri (mod n) n {2, 4} P Z+ 3 2PZ+ 3. Huomaa, että Z n = b ord b = φ(n). (6.7) 6.5 Diskreetin logaritmin ongelma D.L=Diskreetin logaritmin ongelma. Olkoon H = β, #H = h, missä β ja h tunnetaan. Valitaan y H vapaasti. Määritä tällöin log β y, kun h=iso. ESIM: Valitaan h 2 1000, 1 r h 1. Tällöin r = e t 1 2 t 1 +... + e 0, t 1000. Potenssin a r laskemiseen tarvitaan ainoastaan 2000 lasku- 0-49

toimitusta (Lemma 6.2), kun taas diskreetin logaritmin log β y määrääminen vaatii jopa 2 1000 laskua H:ssa. Eli D.L sanoo sen, että käytännössä potenssiinkorotus on nopeaa ja logaritmin määrittäminen :n hidasta. Huom 2. 2 10 = 1024 = 10 3 log 2 log 10 =0.30103 = 3 10 = 0.300 2 1000 log 2 1000 = 10 log 10 = 10 300. Huom 3. D.L ongelman vaikeus riippuu valitusta ryhmästä: (a) (H, ) = (Z n, +), missä Z n = β = {k1 k Z} = {0, 1, 2,..., n 1}. Tässä D.L on HELPPO. (b) (H, ) = (Z n, ), n = p l, 2p l, p P 3. Tässä D.L on yleensä VAIKEA. 0-50

(c) (H, ) = (F q, ) eli äärellisen kunnan kertolaskuryhmä, missä D.L on yleensä VAIKEA. (d) (H, ) = (E, +) eli elliptisen käyrän yhteenlaskuryhmä, missä D.L on yleensä VAIKEA. 6.6 Osittaisinfoa Olkoon x = log β α β x = α (6.8) ryhmässä Z p = β, p P 3, ord β = p 1. (6.9) Koska Z p on kunta, niin toisen asteen polynomiyhtälöllä on korkeintaan 2 juurta. Siten yhtälöllä x 2 = 1 (6.10) on vain ratkaisut x = ±1 Z p. 0-51

Toisaalta, jos merkitään z = p 1 2 Z +, (6.11) niin (β z ) 2 = β p 1 = 1 (6.12) eli β z toteuttaa yhtälön (6.10). Siten β z = 1 tai β z = 1, mutta ordβ = p 1 > z, joten β p 1 2 = 1. (6.13) Niinpä α z = (β x ) z = (β z ) x = ( 1) x. (6.14) Lasketaan siis α p 1 2 = 1 2 x 1 2 x, (6.15) jolloin saadaan diskreetin logaritmin parillisuus selville. 0-52

ESIM: Olkoot Z 71 = 7, ord 7 = 70 (6.16) ja α = 2. Lasketaan α p 1 2 = 2 35 = 2 6 6 1 = ( 7) 6 2 1 =... = 1, (6.17) joten 2 log 7 2. (6.18) Yleisemmin Pohlig-Helmann algoritmi. 0-53

7 Kryptausjärjestelmiä "Yksisuuntaisella funktiolla" tarkoitetaan operaatiota f, joka on nopea (helppo) suorittaa, mutta käänteisoperaatio f 1 on tiettävästi hidas (vaikea). Esimerkki 7.1. 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 0-54

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. Jos lisäksi D U :ssa on trapdoor salaportti jonka vain U tuntee, niin B) Julkiset kryptojärjestelmät. C) Allekirjoitukset. 0-55

7.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. 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 a = m A, b = m B,... (7.1) salaisia avaimia ja k A (= β a ), k B (= β b ),... (7.2) julkisia. Tällöin käyttäjä A laskee luvun k A,B = (k B ) a (7.3) 0-56

ja vastaavasti käyttäjä B laskee luvun k B,A = (k A ) b. (7.4) Nyt k A,B = (k B ) a = (β b ) a = (β a ) b = (k A ) b = k B,A eli saadaan yhteinen avain. (7.5) Esimerkki 7.2. Olkoon ryhmänä Z 71 = 7, (7.6) ja julkisina avaimina k A = 59, k B = 62. (7.7) Laskee A: Salainen eksponentti a = 3. k A,B = (k B ) a = 62 3 = 52. (7.8) 0-57

Toisaalta B: Salainen eksponentti b = 17. Laskee k B,A = (k A ) 17 = 59 17 = 52. (7.9) 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. 0-58

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 7.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 D.L. Perustelua: Olkoot y = β a, z = β b. Tehdään yritelmiä: 1) a = log β y, b = log β z ab β ab, mutta pitäisi laskea logaritmit. 2) yz = β a+b y z = βa b a + b = log β (yz) a b = log β ( y z ) ab, mutta jälleen tarvitaan logaritmit. a, b 0-59

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. 7.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. 0-60

Julkiset avaimet k A = β a, k B = β b. (7.10) A: Määrittää yhteisen avaimen k A,B = k B a (7.11) ja laskee luvun v A = mk B a = mk A,B. (7.12) salaisia julkisia A a m k A E A (m) = (k A, v A ) v A = mk A,B B b k B Nyt käyttäjä B dekryptaa saadun sanoman: B: Laskee aluksi yhteisen avaimen eli k B,A = k A b = k A,B (7.13) 0-61

ja jakaa v A k B,A = mk A,B k A,B = m. (7.14) TURVALLISUUDESTA: 1. Avain a on vaihdettava jokaisen käyttökerran jälkeen, sillä jos C on saanut tiedon aikaisemmasta viestistä m 1, niin v 1 = m 1 k B,A m 2 = v 2 m 1. (7.15) v v 2 = m 2 k 1 B,A 2. Muutoin järjestelmän turvallisuus perustuu D.H. ongelmaan. Esimerkki 7.3. Jatketaan Esimerkin 7.2 parametreilla. Olkoon lähetettävä viesti m = 41. Nyt A kryptaa: v A = mk A,B = 41 52 = 2. (7.16) B dekryptaa v A k A,B = 2 52 = 41. (7.17) 0-62

Esimerkki 7.4. Jatketaan Esimerkkien 7.2 ja 7.3 parametreilla. Merkitään m 1 = 41 ja v 1 = 2 ja olkoon uusi viesti m 2 = 3, jolloin v 2 = 14. Jos C tietää aikaisemman viestin m 1 = 41, niin laskemalla m 1 v 2 v 1 = 41 14 2 = 3 (7.18) käyttäjä C saa selville uuden viestin m 2 = 3. 7.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. 0-63

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. 7.3.1 ElGamal allekirjoitussysteemi Käytetään aikaisempia merkintöjä eli H = β on kertalukua h = ord β oleva syklinen ryhmä ja 0-64

A:n salaiset avaimet a, a Z h. (7.19) A:n julkiset avaimet k A = β a, r = k A = β a (7.20) sekä kryptoteksti Valitaan vielä v A = mk A,B (7.21) ρ : H Z h, (7.22) joka on tunnettu funktio (esim. Hash-funktio) ja oletetaan, että ρ(r) Z h, (7.23) jota tarvitaan Lauseen 7.1 osan todistuksessa. ALLEKIRJOITUSYHTÄLÖ: ρ(m) = aρ(r) + a s Z h. (7.24) 0-65

Tällöin A:n allekirjoitus viestille m on (r, s). (7.25) Käyttäjä A lähettää viestin m kryptattuna allekirjoituksella (r, s) seuraavasti: A: 1. määrää s:n yhtälöllä s = s A = 1 (ρ(m) aρ(r)) (7.26) a 2. Kanavaan lähetetään nelikko (r, s, k A, v A ). (7.27) Salaisia Julkisia H = β x x h = ord β A a a m k A B (r, s, k A, v A ) ρ 0-66

B: 3. dekryptaa ElGamal-järjestelmän mukaisesti sanomasta (k A, v A ) viestin m. 4. laskee luvut α = β ρ(m), γ = k A ρ(r) r s. (7.28) VARMENNUS: Viesti m hyväksytään A:lta tulleeksi α = γ. (7.29) 7.1. Perustelu varmennukselle saadaan seuraavasta lauseesta Huom 4. Tässä k A = β a, r = β a, α = β ρ(m), m, γ = k A ρ(r) r s H ja eksponentit (7.30) a, a, ρ(m), ρ(r), s Z h = {0,..., h 1}. (7.31) 0-67

Lause 7.1. Allekirjoitus on A:lta α = γ. (7.32) H. Huomaa, että perustuu (DL) ongelmaan ryhmässä Todistus.. Allekirjoitus on A:lta, jolloin γ = k A ρ(r) r s = β aρ(r) β a s = β aρ(r)+a s = 7.24 β ρ(m) = α.. Olkoon α = γ. Vain A tietää luvun k A = β a eksponentin a = log β k A. Olkoon C tehnyt allekirjoituksen (r, s) eli (7.33) r = β c, ρ(m) = cρ(r) + c s. (7.34) Nyt α = γ (7.35) 0-68

β ρ(m) = k A ρ(r) r s = k A ρ(r) β c s 7.34 = k A ρ(r) β ρ(m) cρ(r) (7.36) k A ρ(r) = β cρ(r) β aρ(r) = β cρ(r) (7.37) eli C:n pitäisi arvata a = log β k A. 7.23 β a = β c c = a (7.38) Siten D.L. ongelmasta saadaan, että C=A. mot. Esimerkki 7.5. Jatketaan Esimerkkien 7.2, 7.3 ja 7.4 parametreilla. Olkoot A:n salaiset avaimet a = 3, a = 9 Z 70, h = 70. (7.39) Edelleen olkoon m = 41 ja ρ : Z 71 Z 70, ρ(x) = x. (7.40) 0-69

Tällöin k A = 59, k A = 7 9 = 47, r = ρ(k A ) = 47. (7.41) A: määrää luvun s = 1 a (ρ(m) aρ(r)) = 1 (41 3 47) = 20. (7.42) 9 Lähetettävä kryptattu viesti allekirjoituksella (r, s, k A, v A ) = (47, 20, 59, 2). (7.43) B: Suorittaa dekryptauksen ja laskee luvut α = β ρ(m) = 7 41, γ = k A ρ(r) r s = 59 47 47 20 =... = α. (7.44) HAPPY! 0-70

7.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 7.6. H = Z 101 a. H 1 (a) = 7 a (mod 19), H 1 : Z 101 Z 19. 7.3.3 DSA/FIPS 186-3 Digital Signature Algorithm 0-71

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. 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 5. Alkulukulauseen nojalla #{q P 159 < l(q) 160} = ( 2160 160 2159 159 ) 1 log 2 = 2160 2 159 160 log 2 = 2159 111, 0-72

joten ehdokkaita on riittävästi. 3) Olkoon h Z p p 1 sellainen, että β = h q = 1. Tällöin β generoi kertalukua q olevan syklisen aliryhmän D q eli β = D q, #D q = q. Todistus. a) β q = h p 1 = 1. b) Koska q P, niin ainoa q:n alkutekijä on q, jolle lisäksi pätee β q q = β = 1. Siten Lemman 5.10 nojalla ord β = q. mot. Huom 6. 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. 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. DSA: Julkisia ovat parametrit p, q, h ja Hash-funktio H. 0-73

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 = Z βa p 3) r = σ(k A ) Z q. 4) s = 1 a (H(m) + ar) Z q. A:n julkinen avain = k A = β a. A:n viesti m B:lle lähtee allekirjoitettuna sanomana a) (r, s, m) (7.45) tai salattuna sanomana b) (r, s, k A, v A ), (7.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 7.2. 0-74

Huom 7. 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 7.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ä tur- 0-75

vallisuus perustellaan D.L. ongelmalla D q :ssa (tai Z p :ssä). 7.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 7.3.5 GOST 1) p P, l(p) [509, 512] [1020, 1024]. 2) q P, l(q) [254, 256] ja q p 1. 0-76

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, u = σ(β z 1 k A z 2 ) Z q Varmistus: u=r. Huom 8. H(m) q 2 = H(m) 1. 0-77

8 Äärelliset kunnat 8.1 Äärellisten kuntien teoriaa Olkoon F = F q = {α 1 = 0, α 2 = 1, α 3,..., α q }, #F = q 2 (8.1) äärellinen kunta, jonka kertolaskuryhmä F = F {0}. Tällöin Lemman 5.3 nojalla α q 1 = 1, α F α q = α, α F. (8.2) Lemma 8.1. Polynomirenkaassa F q [x] pätee x q x = (x α 1 )... (x α q ) = (x α). α F q Lemma 8.2. Olkoon K kunta F q K ja α K. Tällöin α F q α q = α. (8.3) 0-78

Lemma 8.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 8.3 nojalla H F q ja H = Z p = F p, 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 8.1. Olkoon F q äärellinen kunta. Tällöin #F q = p n P Z+, q = p n, charf p n = p, (8.4) F p F p n, [F p n : F p ] = n. (8.5) Lause 8.2. Äärellisen kunnan F = F q kertolaskuryhmä (F, ) on syklinen eli F = β, (8.6) 0-79

missä β F on generaattori. Määritelmä 8.1. Äärellisen kunnan kertolaskuryhmän F generaattori β on kunnan F primitiivialkio. Ominaisuudet lyhyesti: F q = β = {1, β, β 2,..., β q 2 } ord β = q 1 = p n 1. (8.7) γ q 1 = 1, γ F q γ pn = γ, γ F q. (8.8) Huomaa, että kunnan Z p primitiivialkio saadaan primitiivijuuresta (mod p) ja vice versa. 0-80

ESIM: Kunnassa Z 71 alkio 7 on primitiivijuuri eli Z 71 = {0, 1, 7, 7 2,..., 7 69 }. (8.9) Lemma 8.4. Olkoon char F = p P. Tällöin (α + β) pd = α pd + β pd, (8.10) ja α, β F, d Z +. Lemma 8.5. Olkoon K kunta ja x l 1, x m 1 K[x]. Tällöin x l 1 x m 1 l m. Lause 8.3. Olkoon [F : F p ] = n. Tällöin, jos E F ja d = [E : F p ], niin d n ja, jos d n, niin! E s.e. E F ja [E : F p ] = d. Merkitään siis F = F q = GF (p n ); aina, kun p n = q. Galois field. Esimerkki 8.1. Tarkastellaan Galois n kunnan GF (2 12 ) kuntatornia. Jossa esimerkiksi F 8 F 16. 0-81

Määritelmä 8.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ä 8.3. Olkoon γ = β primitiivinen alkio. Tällöin M β on primitiivinen polynomi. Lause 8.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ä 8.4. Olkoot F q M. Kuvaus ω : M M, ω(x) = x q on Frobeniuskuvaus eli Frobeniusautomorfismi. 0-82

Lemma 8.6. Frobeniuskuvaus ω on F q -automorfismi. 8.2 Kuntalaajennukset Määritelmä 8.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 8.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. 0-83

Määritelmä 8.6. Kanoninen homomorfismi K K : R R/M, K(a) = a = a + M. Esimerkki 8.2. a) R = Z, p P. M = p = pz = {p : llä jaolliset kokonaisluvut} Z K 1 Z/ p = Z/pZ = Z p = F p. K 1 (a) = a = a + pz, K(p) = p = 0 = pz. Olkoon D = {a α R a α = a β, α = β} R = jäännösluokkien a α edustajisto. Lemma 8.8. Kanonisen homomorfian rajoittuma K D eli K : D R/M on bijektio. Esimerkki 8.3. a) D = {0, 1,..., p 1} {0, 1,..., p 1} = Z p. Täten tehdään samaistus Z p = {0, 1,..., p 1}. Lemma 8.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. 0-84

Lause 8.5. Olkoon g(x) K[x] jaoton. Tällöin K[x]/ g(x) on kunta. Lause 8.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 L = {r(x) r(x) = f 1 i=0 a i x i ; a i K}. 0-85

Merkitään α = x, a i = a i, (vakiot samaistetaan, koska K = K = {vakiopolynomit}), joten f 1 L = { i=0 a i α i a i K}. 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) 0-86

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 9. Nyt g(α) = g(x) = g(x) = 0 L!, missä α L. Esimerkki 8.4. 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. 8.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 8.7. Olkoon f Z +. Tällöin jaoton g(x) Z p [x] ja deg g(x) = f. 0-87

Lause 8.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 8.5. 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. 0 = 0 + 0 α 1 = 1 + 0 α α = α 2 = 0 + 1 α 1 + 1 α 0-88

Laskutaulut: Summataulu: + 0 1 α 1 + α 0 1 0 1 + α α α 1 + α 0 1 1 + α α 1 0 Kertotaulu: 1 α 1 + α α 1 + α 1 1 + α 1 α 0-89

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 8.6. 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 0-90

α 2 F 9 α 2 = α 2 = 2α + 1 F 9 α 3 = α α 2 = 2α 2 + α = 4α + 2 + α = 2α + 2 F 9... α 8 = α + α 2 = α + 1 + 2α = 1. 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. 0-91

+ 0 α 0 α α 2 α 3 α 4 α 5 α 6 α 7 0 α 0 α 4 α 7 α 3 α 5 α 1 α 2 α 3 Tässä laskettiin α + α 2 = α + 1 + 2α = 1 1 + α 2 = 1 + 1 + 2α = α 3 1 + α 3 = 1 + 2 + 2α = 2α = α 5 Ei samaa samalle riville 0-92

F 9 α 0 α 1 α 2 α 7 α 0 α 0 α 1 α 7 α 1 α 1 α 2 α 0 α 2 α 2 α 3 α 4 α 0 α 1 = Z/8Z + 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 0-93

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. 0-94

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 = F p, 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 8.7. 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 + α. 0-95

(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 β 1 2 = a(α) = α 2 + 2α + 1 Z 3 [α] β 1 β 2 = β 1 (α)a(α) (KL) =... = r (α) F 27. Yleensäkin F q :ssä (q = p f ) (YL) Yhteen- ja vähennyslaskut Z f p :ssä. (KL) Kertolaskut polynomien Z[α] kertolaskuilla +(JA) + (Y L). 0-96

(JL) Jakolaskut: (EA) + (KL). 0-97

9 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 0-98

jossakin kunnan K laajennuskunnassa L, niin (olkoon p n = 1) tällöin p 0 = ( 1) n p 1 =. n α i i=1 n ( 1) n 1 j=1 p n 1 = n i=1 n i =j, i=1 Esimerkki 9.1. p(x) = x 3 + Ax 2 + Bx + C = (x α 1 )(x α 2 )(x α 3 ), joten α i α i A = (α 1 + α 2 + α 3 ), B = α 2 α 3 + α 1 α 3 + α 1 α 2, C = α 1 α 2 α 2. 0-99

Määritelmä 9.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ä 9.2. Polynomin p(x) = p n x n +...+p 0 K[x] diskriminantti on Δ p = p 2n 2 n 1 i<j n (α i α j ) 2. Siten Δ p = 0 α i = α j, i = j. 0-100

Lemma 9.1. Jos f(x) = x 3 + ax + b, niin ( (a ) ( ) ) 3 2 b Δ f = 108 +. 3 2 0-101

10 Affiinit ja projektiiviset tasokäyrät 10.1 Affiinit avaruudet Määritelmä 10.1. Olkoon K-kunta, K = K {0} ja n Z +. Pistejoukko A n (K) = K n = {x = (x 1,..., x n ) x i K} (10.1) on n-ulotteinen affiini avaruus ja A 2 (K) = K 2 = {(x, y) x, y K} (10.2) on affiini taso ja on affiini suora kunnan K yli. A 1 (K) = K (10.3) Luvut x i, i = 1,.., n ovat pisteen x = (x i ) affiinit koordinaatit ja piste 0 = (0,..., 0) on origo. Huom 10. Affiiniin avaruuteen ei välttämättä liitetä lineaariavaruuden laskutoimituksia. 0-102

10.2 Projektiiviset avaruudet Huom 11. Esimerkiksi Elliptisen käyrän yhteenlaskuryhmään tarvitaan ns. äärettömyyspisteitä kuten laajennetun reaalisuoran R = R { }, / R (10.4) tapauksessa. Merkitään nyt tx = (tx 1,..., tx n+1 ), t K, x A n+1 (K) (10.5) ja olkoon w x t K : w = tx (10.6) aina, kun x, w B = A n+1 (K) {0}. (10.7) Tällöin on ekvivalenssirelaatio joukossa B, jolloin saadaan 0-103

tekijärakenne B/ = {[x] x B}, (10.8) missä [x] = {w B w x} (10.9) on alkion x määräämä ekvivalenssiluokka. Merkintään vielä [x] = [x 1,..., x n+1 ] = (x 1 : x 2 :... : x n+1 ) (10.10) jota sanotaan pisteeksi. Määritelmä 10.2. Pistejoukko P n (K) = {[x 1,..., x n+1 ] (x 1,..., x n+1 ) B} on n-ulotteinen projektiivinen avaruus ja (10.11) P 2 (K) = {[x, y, z] (x, y, z) K 3 {0}} (10.12) on projektiivinen taso ja P 1 (K) = {[x, y] (x, y) K 2 {0}} (10.13) 0-104

on projektiivinen suora kunnan K yli. Pisteen [x 1,..., x n+1 ] homogeeniset koordinaatit ovat x 1,..., x n+1. Huom 12. 1) Usein pisteet x ja [x] samaistetaan ja homogeeniset koordinaatit voidaan korvata uusilla edustajilla tx 1,..., tx n+1, t K. 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. 10.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 }, (10.14) 0-105

missä (x, y, z) = 0. A. Ensimmäinen tulkinta: Olkoon c = 0, tällöin [a, b, c] = [a/c, b/c, 1]. (10.15) Siten pisteet voidaan jakaa kahteen luokkaan: 1). [x, y, 1], z = 1. (10.16) Tehdään samaistus A 2 (K) (x, y) [x, y, 1] P 2 (K). (10.17) 2). [x, y, 0], z = 0, (10.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). (10.19) 0-106

1)+2): P 2 (K) = A 2 (K) P 1 (K), (10.20) missä ( on "erillinen unioni"). 2.1). Edelleen P 1 (K):n pisteet jaetaan kahteen luokkaan: [x, 1], y = 1. (10.21) Samaistus A 1 (K) x [x, 1] P 1 (K). (10.22) 2.2). joten tässä x = 0 ja siten [x, 0], y = 0 (10.23) [x, 0] = [1, 0] P 1 (K). (10.24) 0-107

Merkitään [1, 0] =, joka on projektiivisen suoran äärettömyyspiste. 2.1)+2.2) P 1 (K) = A 1 (K) { }. (10.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" Vertaa laajennettu R eli [1, 0] / A 1 (K). (10.26) R = R { }. (10.27) 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. 0-108

ää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 }, (10.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.) 0-109

10.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ä 10.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 } 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ä 10.4. Olkoon R = K[x, y] = 2. muuttujan polynomijoukko ja d Z +. Astetta d oleva algebrallinen käyrä 0-110

C p (K) on astetta d olevan polynomin p(x, y) R nollajoukko C p (K) = {(α, β) K 2 p(α, β) = 0}. (10.29) Astetta d = 1 oleva algebrallinen käyrä on suora L = {(x, y) K 2 Ax + By + C = 0, (A, B) = 0} p(x, y) = Ax + By + C, deg p(x, y) = 1. Astetta d = 2 oleva algebrallinen käyrä on kartioleikkaus (10.30) H = {(x, y) K 2 Ax 2 + By 2 + Cxy + Dx + Ey + F = 0, (A, B, C) = 0}, (10.31) p(x, y) = Ax 2 +By 2 +Cxy+Dx+Ey+F, deg p(x, y) = 2. 0-111

Kartioleikkauksia ovat mm. paraabeli, ellipsi, ympyrä, hyperbeli ja ristikkäiset suorat (asymptootit). Kolmannen asteen algebrallisista käyristä saadaan mm. elliptisen käyrän affiini esitys = E, joka on polynomin w(x, y) = y 2 + a 1 xy + a 3 y f(x) K[x, y], f(x) = x 3 + a 2 x 2 + a 4 x + a 6 (10.32) nollajoukko (eräillä lisäehdoilla) eli E = {(x, y) K 2 w(x, y) = 0} (10.33) lisättynä ns. nolla-alkiolla, joka on eräs P 2 (K):n äärettömyyspiste O = [0, 1, 0]. Määritelmä 10.5. Polynomi F K[x 1,..., x n+1 ] on astet- 0-112

ta d oleva homogeeninen polynomi eli muoto, jos F (λx 1,..., λx n+1 ) = λ d F (x 1,..., x n+1 ), λ K. (10.34) Tällöin voidaan määritellä projektiivisen avaruuden P n (K) algebralliset joukot ja käyrät. Määritelmä 10.6. Olkoon S d K[x, y, z] kolmen muuttujan astetta d olevien homogeenisten polynomien joukko, d Z +. Astetta d oleva projektiivisen tason algebrallinen käyrä C F (K) on homogeenisen polynomin F (x, y, z) S d nollajoukko C F (K) = Z(F ) = {[α, β, γ] F (α, β, γ) = 0}. (10.35) Huom 13. Koska [tα, tβ, tγ] = [α, β, γ], (10.36) 0-113

niin pitää olla F (tα, tβ, tγ) = 0; t K. (10.37) Näin on, koska jos F S d, niin F (tα, tβ, tγ) = t d F (α, β, γ) = 0, t K. (10.38) Siten on syytä oletetaa polynomien homogeenisuusehto. Edelleen projektiivinen käyrä C F (K) voidaan jakaa kahteen osaan: 1) F (α, β, 1) = 0; (α, β) A 2 (K). 2) F (α, β, 0) = 0; [α, β] P 1 (K). Siten 1) määrittää affiinin käyrän polynomin p(x, y) = F (x, y, 1) K[x, y] (10.39) nollajoukkona ja 2) määrittää ne äärettömyyspisteet, jotka [α, β, 0] C F (K). (10.40) 0-114

Toisaalta, olkoon C p = {(x, y) A 2 (K) p(x, y) = 0}, deg p(x, y) = d, (10.41) affiini tasokäyrä. Muodostetaan C p :n projektiivinen sulkeuma C p asettamalla F (x, y, z) = z d p( x z, y z ) F S d, (10.42) jolloin C p = C F = {[x, y, z] F (x, y, z) = 0.} (10.43) Nyt 1) F (x, y, 1) = p(x, y) 2) F (x, y, 0) = z d 0 i+j d p i,j ( x z ) i ( y z ) j z=0. 0-115

Esimerkki 10.1. d = 1. Affiini suora L : p(x, y) = ax + by + c = 0; (a, b) = (0, 0). (10.44) Projektiivinen suora L : F (x, y, z) = ax + by + cz = 0; (a, b, c) = (0, 0, 0). (10.45) Tässä L on affiinin suoran L projektiivinen sulkeuma, koska F (x, y, z) = ax+by+cz = z(a( x z )+by z +c) = zp(x z, y z ). (10.46) 1) [x, y, 1] eli z = 0, jolloin saadaan affiini osa L = {(x, y) K 2 ax + by + c = 0}. (10.47) 2) [x, y, 0] eli z = 0, jolloin saadaan äärettömyysosat Ä1 = {[ b, a]}, jos (a, b) = (0, 0); (10.48) Ä2 = P 1 (K), jos (a, b) = (0, 0); (10.49) 0-116

Perustellaan nämä. Olkoon ensin (a, b) = (0, 0) ja [x, y] L ax + by = 0. Jos a = 0 [x, y] = [ax, ay] = [ by, ay] = [ b, a], (10.50) sillä nyt y = 0. Vastaavasti b = 0... [x, y] = [ b, a]. (10.50) Siten Ä1 = {[x, y] P 1 (K) ax + by = 0, (a, b) = (0, 0)} = {[ b, a]} (10.50) 0-117