Simuleringar av elliptiska kurvor för elliptisk kryptografi

Relevanta dokument
3. Bestäm med hjälpa av Euklides algoritm största gemensamma delaren till

Euklides algoritm för polynom

Övningshäfte 3: Polynom och polynomekvationer

Övningshäfte 6: 2. Alla formler är inte oberoende av varandra. Försök att härleda ett par av de formler du fann ur några av de övriga.

Övningar. MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Avd. Matematik. Linjär algebra 2. Senast korrigerad:

Rekursionsformler. Komplexa tal (repetition) Uppsala Universitet Matematiska institutionen Isac Hedén isac

POLYNOM OCH POLYNOMEKVATIONER

x 23 + y 160 = 1, 2 23 = ,

Abstrakt algebra för gymnasister

TATA42: Föreläsning 8 Linjära differentialekvationer av högre ordning

Tal och polynom. Johan Wild

Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik

Mer om faktorisering

1. (3p) Ett RSA-krypto har parametrarna n = 77 och e = 37. Dekryptera meddelandet 3, dvs bestäm D(3). 60 = = =

Läsanvisning till Discrete matematics av Norman Biggs - 5B1118 Diskret matematik

Övningar. c) Om någon vektor i R n kan skrivas som linjär kombination av v 1,..., v m på precis ett sätt så. m = n.

DEL I. Matematiska Institutionen KTH

TATA42: Föreläsning 9 Linjära differentialekvationer av ännu högre ordning

SF2703 Algebra grundkurs Lösningsförslag med bedömningskriterier till tentamen Fredagen den 5 juni 2009

Grupper och RSA-kryptering

Lösningar till udda övningsuppgifter

Lösning till tentamensskrivning på kursen Diskret Matematik, moment B, för D2 och F, SF1631 och SF1630, den 1 juni 2011 kl

EXAMENSARBETEN I MATEMATIK

SF2703 Algebra grundkurs Lösningsförslag med bedömningskriterier till tentamen Måndagen den 9 mars 2009

Matematiska Institutionen KTH. Lösning till några övningar inför lappskrivning nummer 5, Diskret matematik för D2 och F, vt09.

Övningshäfte 3: Funktioner och relationer

MINNESANTECKNINGAR FÖR DELTAGARNA I WORKSHOP GRUPPER

Material till kursen SF1679, Diskret matematik: Lite om kedjebråk. 0. Inledning

SJÄLVSTÄNDIGA ARBETEN I MATEMATIK

10! = =

8(x 1) 7(y 1) + 2(z + 1) = 0

En hastig inblick i den algebraiska geometrin

Algebra och kombinatorik 28/4 och 5/ Föreläsning 9 och 10

NÅGOT OM KRYPTERING. Kapitel 1

Gaussiska heltal. Maja Wallén. U.U.D.M. Project Report 2014:38. Department of Mathematics Uppsala University

1. (3p) Ett RSA-krypto har de offentliga nycklarna n = 33 och e = 7. Dekryptera meddelandet 5. a b c d e. a a b c d e

Ändliga kroppar. Anna Boman. U.U.D.M. Project Report 2016:12. Department of Mathematics Uppsala University

1 Linjära ekvationssystem. 2 Vektorer

MA2047 Algebra och diskret matematik

Några satser ur talteorin

MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Avd. Matematik Examinator: Daniel Bergh. Lösningsförslag Algebra och kombinatorik

Något om algebraiska kurvor

SF1626 Flervariabelanalys Lösningsförslag till tentamen DEL A

Abstract Vi betraktar ringen R = Z 2 [x 1,...,x n ]/(x 2 1 x 1,...,x 2 n x n ). Vi visar att det finns en naturlig 1-1-motsvarighet mellan elementen

Lösningar till utvalda uppgifter i kapitel 3

Moment 1.15, 2.1, 2.4 Viktiga exempel 2.2, 2.3, 2.4 Övningsuppgifter Ö2.2ab, Ö2.3. Polynomekvationer. p 2 (x) = x 7 +1.

Matematiska uppgifter

Sidor i boken f(x) = a x 2 +b x+c

Finaltävling i Uppsala den 24 november 2018

Lösandet av ekvationer utgör ett centralt område inom matematiken, kanske främst den tillämpade.

Uppsala Universitet Matematiska Institutionen Bo Styf. Sammanfattning av föreläsningarna

Mer om analytisk geometri

Optimering med bivillkor

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 14 augusti, 2002

Andragradspolynom Några vektorrum P 2

Föreläsningsanteckningar Linjär Algebra II Lärarlyftet

EN KONCIS INTRODUKTION TILL RINGTEORI

Analys o Linjär algebra. Lektion 7.. p.1/65

1 Addition, subtraktion och multiplikation av (reella) tal

Komplexa tal: Begrepp och definitioner

MA2047 Algebra och diskret matematik

C/D-uppsats Matematik

Algebra och kryptografi Facit till udda uppgifter

Matrisexponentialfunktionen

Oändligtdimensionella vektorrum

Moment 6.1, 6.2 Viktiga exempel Övningsuppgifter T6.1-T6.6

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 11 april, 2002

Stora bilden av Linjära algebran. Vektorrum, linjära transformationer, matriser (sammanfattning av begrepp)

5 Linjär algebra. 5.1 Addition av matriser 5 LINJÄR ALGEBRA

Lösningsförslag till Tentamen i 5B1118 Diskret matematik 5p 22 augusti, 2001

Modul 1: Komplexa tal och Polynomekvationer

TAIU07 Matematiska beräkningar med Matlab

Kontinuitet och gränsvärden

.I Minkowskis gitterpunktssats

Läsanvisningar och övningsuppgifter i MAA150, period vt Erik Darpö

Exempel. Komplexkonjugerade rotpar

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor

Föreläsning 8 i kursen Ma III, #IX1305, HT 07. (Fjärde föreläsningen av Bo Åhlander)

Tentamen i matematik. f(x) = ln(ln(x)),

Linjen P Q tangerar cirkeln i P och enligt en sats i geometrin är OP vinkelrät. tan u = OP. tan(180 v) = RS. cos v = sin v = tan v, tan v = RS.

Linjär algebra. Lars-Åke Lindahl

Lösning till tentamensskrivning i Diskret Matematik för CINTE, CL2 och Media 1, SF1610 och 5B1118, onsdagen den 17 augusti 2011, kl

RSA-kryptering och primalitetstest

Polynomekvationer. p 2 (x) = x x 3 +2x 10 = 0

(A B) C = A C B C och (A B) C = A C B C. Bevis: (A B) C = A C B C : (A B) C = A C B C : B C (A B) C A C B C

SF1624 Algebra och geometri Lösningsförslag till tentamen DEL A

Symbolisk integrering av rationella funktioner

Algebra II. Isac Hedén och Johan Björklund

3 differensekvationer med konstanta koefficienter.

Institutionen för matematik SF1626 Flervariabelanalys. Lösningsförslag till tentamen Måndagen den 5 juni 2017 DEL A

TATM79: Föreläsning 3 Komplexa tal

TALSYSTEM OCH RESTARITMETIKER. Juliusz Brzezinski

Polynomekvationer (Algebraiska ekvationer)

DEL I 15 poäng totalt inklusive bonus poäng.

Vi börjar med en viktig definition som inte finns i avsnitt 3.4 i [EG], den formella definitionen av kongruens modulo n:

KTH, Matematik. Övningar till Kapitel , 6.6 och Matrisframställningen A γ av en rotation R γ : R 2 R 2 med vinkeln γ är

SF1624 Algebra och geometri

Moment Viktiga exempel Övningsuppgifter

Manipulationer av algebraiska uttryck

Linjär algebra på några minuter

Transkript:

Simuleringar av elliptiska kurvor för elliptisk kryptografi Matematiska institutionen, Linköpings universitet Eric Felding LiTH - MAT - EX - - 2019/02 - - SE Högskolepoäng: 16 Nivå: Handledare: Examinator: G2 Linköping: Juni 2019 Milagros Izquierdo, Matematiska institutionen, Linköpings universitet Göran Bergqvist, Matematiska institutionen, Linköpings universitet

Abstract This thesis describes the theory behind elliptic-curve Diffie-Hellman key exchanges. All the way from the definition of a group until how the operator over an elliptic curve forms an abelian group. This is illustrated with clear examples. After that a smaller study is made to determine if there is a connection between the size of the underlying field, the amount of points on the curve and the order of the points to determine how hard it is to find out the secret key in ellipticcurve Diffie-Hellman key exchanges. No clear connection is found. Since elliptic curves over extension fields have more computational heavy operations, it is concluded that these curves serve no practical use in elliptic-curve Diffie-Hellman key exchange. Keywords: Diffie-Hellman, elliptic curves, cryptography, ECDH, ECC URL for electronic version: Felding, 2019. iii

Sammanfattning Denna rapport går igenom teorin bakom Diffie-Hellmans nyckelutbyte över elliptiska kurvor. Från definitionen av en grupp hela vägen till hur operatorn över en elliptisk kurva utgör en abelsk grupp gås igenom och görs tydligt med konstruktiva exempel. Sedan görs en mindre undersökning av sambandet mellan storleken av den underliggande kroppen, antal punkter på kurvan och ordning av punkterna på kurvan, det vill säga svårigheten att hitta den hemliga nyckeln framtagen med Diffie-Hellmans nyckelutbyte för elliptiska kurvor. Ingen tydlig koppling hittas. Då elliptiska kurvor över utvidgade kroppar har mer beräkningstunga operationer dras slutsatsen att dessa kurvor inte är praktiska inom Diffie-Hellman nyckelutbyte över elliptiska kurvor. Nyckelord: Diffie-Hellman, elliptiska kurvor, kryptografi, ECDH, ECC URL för elektronisk version: Felding, 2019. v

Tack Jag skulle vilja tacka min handledare Milagros Izquierdo för att ha lett mig med en stadig hand genom detta arbete. Jag vill även tacka Sam Olsson som då vi suttit tillsammans och skrivit våra separata rapporter ofta har kommit med insiktsfulla kommentarer och stöttat mig moraliskt då det varit som tyngst. Jag vill även rikta ett tack till min opponent Olivia Linder. Felding, 2019. vii

Nomenklatur N De naturliga heltalen Z Heltalen Z + De positiva heltalen Z n Heltalen modulo n Q De rationella talen R De reella talen C De komplexa talen G Grupp R Ring R Den multiplikativa gruppen till R R[x] Polynomring i en variabel R[x 1,..., x n ] Polynomring i n variabler I Ideal A Ideal genererat av mängden A F, K Kroppar F n Ändlig kropp med n element F n Affina rummet av dimension n över F F P 2 Det projektiva planet över F C Kurva E Elliptisk kurva Felding, 2019. ix

Innehåll 1 Introduktion 1 1.1 Historisk bakgrund.......................... 1 2 Algebraiska strukturer 3 2.1 Grupper................................ 3 2.2 Ringar................................. 5 2.3 Kroppar................................ 12 3 Geometri 19 3.1 Affin geometri............................. 19 3.2 Projektiva planet........................... 23 3.3 Bezouts sats.............................. 26 4 Elliptiska kurvor 29 5 Diffie-Hellman för elliptiska kurvor 37 5.1 Diffie-Hellman............................. 37 5.2 Undersökning............................. 39 5.3 Nästa steg............................... 41 Litteraturförteckning 42 A Kod för elliptisk kurvor på normalform 45 B Kod för generella ellitpiska kurvor 51 Felding, 2019. xi

Kapitel 1 Introduktion 1.1 Historisk bakgrund Så länge det har funnits penna och papper har människan försökt att skicka meddelanden som ingen obehörig skulle kunna läsa. Ett av de tidigaste exemplen är Ceasarchiffret där alla bokstäver i alfabetet förskjuts några steg [2]. Under andra världskriget hade en del krypteringssystem blivit så svåra att det inte gick att lösa dem utan att testa alla möjliga kombinationer. Alan Turing och kollegorna vid Bletchley Park byggde en maskin som med vissa startvärden kunde räkna ut krypteringsnyckeln. Startvärderna kom bland annat ifrån att tyskarna varje morgon skickade ut en krypterad väderleksrapport som avslutade med "Heil Hitler". Detta var en nackdel för det var ast ett lösenord per dag som användes. Lösenorden var tryckta i böcker som aldrig fick komma i fies händer. Hur skickas ett hemligt medelande utan att skicka lösenordet, nyckeln, i vanlig text, fysiskt eller digitalt? Whitfield Diffie och Martin Hellman publicerade år 1976 ett system för att bestämma en gemensamm nyckel, kallat Diffie-Hellmans nyckelutbyte [2]. Det bygger på att (g a ) b (g b ) a g a g b mod p för hemliga tal a, b. Nu finns det en nyckel att kryptera med för parterna A och B. Året efter publicerade Ron Rivest, Adi Shamir och Leonard Adleman ett system kallat RSA som bygger på samma idé men som kan liknas vid att varje person har en hemlig nyckel och ett hänglås som vem som helst kan låsa kring ett meddelande. År 1997 kom det fram att brittiska GCHQ som bedriver signalspaning under MI5 hade kommit på liknande system som både Diffie- Hellman och RSA år 1969 respektive 1973. Felding, 2019. 1

2 Kapitel 1. Introduktion Neal Koblitz och Victor Miller kom oberoe av varandra på hur elliptiska kurvor skulle kunna användas inom kryptografi 1985 [2]. En elliptisk kurva är ingen ellips! Namnet kommer ifrån att ekvationen för en elliptisk kurva är kopplat till bågländen av ellipser som studeras med integraler i det komplexa planet [1]. Giulio Fagnano (1682-1766) och Leonhard Euler (1707-1783) studerade bågländen av en ellips med elliptiska integraler. Niels Henrik Abel (1802-1829) studerade abelska integraler som är en generallissering av elliptiska integraler. Teorin utvecklades av Carl Gustav Jacobi (1804-1851). En rigorös forskning gjordes senare av Karl Weierstrass (1815-1897) och Hermann Schwarz (1843-1921) som fokuserade på elliptiska funktioner. Elliptiska kurvor är en sorts elliptisk funktion så det är därifrån namnet kommer. Bernhard Riemann (1826-1866) studerade också ellliptiska funktioner. Svensken Anders Wiman (1865-1959) studerade hyperelliptiska kurvor. Elliptiska kurvor användes av Andrew Wiles 1994 för att bevisa Fermats stora sats. Elliptiska kurvor används hela tiden av datorer som med Diffie-Hellman kan bestämma en gemensam nyckel, de används även för att verifiera identiteter för att kunna ha en digital signatur bland annat inom blockkedjeteknologin där Bitcoin är framträddande.

Kapitel 2 Algebraiska strukturer Algebraiska strukturer är mängder tillsammans med en eller flera slutna operatorer. Vi ska fokusera på de resultat för grupper, ringar och kroppar som är nödvändiga för att kunna definiera elliptiska kurvor och tillämpa dem inom kryptografi. Satser och definitioner i detta kapitel finns främst i [3]. 2.1 Grupper Definition 2.1. 1. Låt G vara en mängd och låt vara en binär operator. Det ordnade paret (G, ) är grupp om: (a) a b G, a, b G, sluten, (b) I d G så att a G gäller att a I d = I d a = a, identitet, (c) a G a 1 så att a a 1 = a 1 a = I d, invers, (d) (a b) c = a (b c) gäller a, b, c G, associativ. 2. Gruppen (G, ) kallas abelsk om a b = b a a, b G, kommutativ. Vi säger att G är en grupp under om (G, ) är en grupp. Exempel 2.1. Exempel på några grupper är: 1. Z, Q, R samt C med vanlig addition,+. 2. Q \ {0}, R \ {0} samt C \ {0} med vanlig multiplikation,*. Felding, 2019. 3

4 Kapitel 2. Algebraiska strukturer 3. Heltalen mod n, Z n = {0, 1,..., n 1} där a = {a + kn : k Z} är en grupp under addition mod n. Addition för gruppen definieras som a + b = a + b, där a + b är klassen {a + b + kn : k Z}. Vi passar på att definiera multiplikation mod n som ab = ab, där ab är klassen {ab + kn : k Z}. I fortsättningen kommer vi enbart att skriva a istället för a. 4. Transformationer på Rubiks kub består av rotationer i det 3 dimensionela rummet. Det är permutationer av de 48 sidorna på kuben. Transformationerna är elementen i en grupp tillsammans med en operator som utför transformationerna i ordning. Det är lätt att se att om en transformation sker så är vi kvar i kuben, alltså sluten. Identiteten är ingen rotation alls. Inversen till en transformation fås genom att snurra tillbaks. Associativitet kan vara svår att föreställa sig, för hur utvärderas transformationer innan de utförs? Speciellt då operatorn inte är kommutativ. Bevis för associativitet finns i [4]. Det gäller även för grupper att [3] 1. Identiteten är unik, 2. a G så är a 1 G unikt bestämd, 3. a, b G så är (a b) 1 = (b 1 ) (a 1 ), 4. om a u = a v eller u a = v a så är u = v, a, u, v G, kancellering. Exempel 2.2. Betrakta grupperna (R +, ) och (R, +). Låt f : R R + som definieras av f(a) = e a. Då gäller att f(a + b) = e a+b = e a e b = f(a)f(b). Detta är ett exempel på en grupphomomorfi. Det gäller även att f 1 : R + R är väldefinerad så f är en bijektiv funktion. En bijektiv grupphomomorfi kallas för en isomorfi. Två grupper som är isomorfa är grupper med samma struktur och lika många element så de kan slarvigt sägas vara samma grupp. Det kan även vara intressant att ha ett begrepp för storleken av element samt för grupper. Definition 2.2. Låt G vara en grupp samt låt x G. Ordningen av x, x, är det minsta heltalet n så att x n = I d där x n betecknar gruppoperationen upprepad n gånger. Om det inte finns något sådant n sägs ordningen vara oändlig. Exempel 2.3. 1. Kleins fyrgrupp, V 4, är gruppen 1 a b c 1 1 a b c a a 1 c b b b c 1 a c c b a 1

2.2. Ringar 5 där 1 = I d har ordning 1 och elementen a, b, c har ordningen 2. 2. Elementet 1 (R, +) har oändlig ordning. Definition 2.3. Låt G vara en grupp. Ordningen av G är antalet element i G och betecknas G. Exempel 2.4. 1. Gruppen V 4 har ordning 4. 2. Ordningen av Z n är n. 3. Ordningen av (Z, +) är oändlig. Sats 2.1. [3] Låt G vara en ändlig grupp och låt x G. Det gäller då att x delar G. Definition 2.4. En grupp G är cyklisk om x G så att G = {x n : n Z}. Vi skriver gruppen G som genereras av x som G = x. Elementet som genererar en grupp, generatorn, behöver inte heller vara unik. Det gäller även att cykliska grupper är abelska. Cykliska gruppen av ordning n betecknas C n. Det gäller att för gruppen G genererade av x att x = G Exempel 2.5. 1. Gruppen (Z, +) är cyklisk ty alla element kan skrivas på formen 1+ +1 = n, n Z. Det är lätt att se att även -1 är en generator. 2. Gruppen av enhetsrötter ({z : z C, z n = 1}, ) är en cyklisk grupp, C n. Det är lätt att se att z = e 2π n i är en generator och att e 0 = 1 = I d. 3. Vi kommer i avsnittet om kroppar se att utvidgade kroppar är cykliska grupper med hjälp av Sats 2.12. 2.2 Ringar Då vi ska utforska kroppar som är en viss typ av kommutativa ringar så kommer vi inte att fokusera så mycket på generella ringar. Vi är även intresserade av att konstruera ändliga kroppar med hjälp av polynomringar. Den särskilt intresserade kan läsa mer om icke-kommutativa ringar i [3]. Definition 2.5. 1. En ring (R, +, ) är en mängd R tillsammans med två binära operationer, +,, som kallas addition och multiplikation, som uppfyller följande: (a) (R, +) är en abelsk grupp, identiteten för + betecknas 0 R,

6 Kapitel 2. Algebraiska strukturer (b) är associativ: (a b) c = a (b c), (c) Den distrubitiva lagen håller i R (a + b) c = (a c) + (b c) och a (b + c) = (a b) + (a c). 2. R kallas kommutativ om * är kommutativ. 3. R säges ha en etta om det finns ett element, 1 R R, som a R a 1 R = 1 R a = a. För att förkorta notationen kommer vi att skriva a b som ab. På samma sätt som för grupper kommer notationen R att användas för ringen istället för (R, +, ) om det är givet vilka operatorer vi arbetar med. Exempel 2.6. 1. Med vanlig addition samt multiplikation så är (Z, +, ), (R, +, ) och (C, +, ) ringar med etta. 2. Alla jämna tal, 2Z = {2x : x Z}, bildar en ring med addition och multiplikation som vanligt. Denna ring saknar etta. Definition 2.6. Låt R vara en ring. En underring I till R är en ring med samma addition och multiplikation som R samt att I är en delmängd till R. Exempel 2.7. Ringen 2Z är en underring till Z som i sin tur är en underring till ringen R. Definition 2.7. Låt R vara en kommutativ ring och I vara en underring. Då är I ett ideal om r R så gäller att givet i I så gäller att ri I. Exempel 2.8. 1. Till ringen R så är R och {0 R } alltid ideal. Dessa är ganska tråkiga ideal men i vissa fall de a som finns. Det gäller speciellt för kroppar som vi kommer till senare att de bara har två ideal [3]. 2. (2Z, +, ) är ett ideal till (Z, +, ). Det är lätt att se ty ett jämnt tal multiplicerat med ett annat heltal blir jämnt. Definition 2.8. Låt R vara en ring och låt A vara en delmängd till R 1. Låt A beteckna de minsta idealet till R innehållande A, kallat idealet genererat av A. Om R är kommutativ så gäller att A = a i r i : a i A, r i R. 1 i A

2.2. Ringar 7 2. Ett ideal genererat av ett a element kallas principalideal. 3. Ett primideal P är ett ideal så att om ab P så gäller att a P eller b P. Exempel 2.9. Ett principalideal till (Z, +, ) är (2Z, +, ) = 2 som är idealet generat av 2. Det är även ett primideal. Exempel 2.10. Ett ideal till Z är 2, 3 = {2a + 3b : a, b Z}. Det gäller att 1 = ( 2) + 3 2, 3 vilket ger att 2, 3 = Z. Definition 2.9. Låt R vara en ring. Ett ideal M till R kallas maximala idealet om M R och de a ideal som innehåller M är M och R. Exempel 2.11. Ringarna 2 och 3 är två maximala ideal till (Z, +, ). 4 är inte ett maximalt ideal till (Z, +, ) ty 4 2. 4 är inte heller ett primideal ty 2 2 4 men 2 / 4. Sats 2.2. [3] Antag R en kommutativ ring med etta. Varje maximalt ideal till R är ett primideal. Definition 2.10. Låt R vara en ring och låt I vara ett ideal till R. En kvotring R/I är en ring där elementen är ekvivalensklasser {a : a + i I, a R, i I}. Addition och multiplikation för a, b R/I är 1. a + b = a + b 2. ab = ab där a + b är klassen {a + b : a + b + i I, a, b R, i I} och på samma sätt är ab klassen {ab : ab + i I, a, b R, i I}. Observera att det är olika operationer för addition och multiplikation i R och R/I men det använder samma symbol. Definitionen bör kännas igen från Exempel 2.1 då vi definierade Z n på ett liknande vis. Definition 2.11. Låt R vara en kommutativ ring med etta. 1. Ett element a R, a 0 R kallas nolldelare om b 0 R, b R så att ab = 0 R. 2. En enhet är ett element a R så att b R, ab = ba = 1 R. Mängden av enheter till R betecknas R, kallas den multiplikativa gruppen till R. Exempel 2.12. I Z 8 = {0, 1, 2, 3, 4, 5, 6, 7} med addition och multiplikation mod 8 så är 2 4 = 0, 6 4 = 0 så 2, 4 och 6 är nolldelare. Det gäller även att den multiplikativa gruppen Z 8 = {1, 3, 5, 7} ty 1 1 = 1, 3 3 = 1, 5 5 = 1, 7 7 = 1. Ordningen av 1, 3, 5 och7 är alltså 2. Det är inte så svårt sen att visa att Z 8 är isomorf med V 4, som sågs i Exempel 2.3.

8 Kapitel 2. Algebraiska strukturer Exempel 2.13. För Z p gäller där p är ett primtal att Z p = Z p \ {0}. I Z n så gäller det att elementen u för vilka u och n är relativt prima är enheter. I Z p är alla element förutom 0 relativt prima n. I annat fall om, a 0 är ett heltal inte relativt prima n så låter vi d vara största gemensamma delare till a och n och låt b = n d. Så d > 1 och således 0 < b < n, b 0. Men konstruktionen gör att n delar ab, ab = 0. Alltså a är en nolldelare. Således är alla element i Z n nolldelare eller enheter. Speciellt gäller då n är ett primtal att Z p = Z p \ {0}. Definition 2.12. Låt R vara en kommutativ ring med etta så att 1 R 0 R, då kallas R för ett integritetsområde om R saknar nolldelare. Exempel 2.14. Några olika integritetsområden är Z, C och de gaussiska heltalen {a + bi : a, b Z}. Definition 2.13. Låt R vara en kommutativ ring med etta. Polynomringen R[x] över R är mängden {p(x) = i=0 a i x i : a i R, a i = 0 i > i 0 } i=0 tillsammans med additionen a i x i + b i x i = (a i + b i )x i samt multiplikationen i=0 i=0 i=0 i=0 i=0 ( a i x i )( b i x i ) = c i x i där c k = a i b j. i+j=k Polynomringen i variablerna x 1, x 2,..., x n R[x 1, x 2,..., x n ], definieras rekursivt som med koefficienter i R, betecknad R[x 1, x 2,..., x n ] = R[x 1, x 2,..., x n 1 ][x n ]. Läsaren har säkerligen arbetat i exempelvis R[x] och C[x, y] utan att ha funderat på ringteorin. Exempel 2.15. 1. x 3 + 2x + 34 R[x] 2. x 3 + 3x 2 + y 2 + 4xy 3 Z[x, y] Exempel 2.16. 1. Betrakta R[x] och polynomet x 2 + 10. Det gäller då att x 2 + 10 är ett ideal till R[x].

2.2. Ringar 9 2. Ett ideal till R[x, y] är (x + 1), (y + 1) vilket är ett maximalt och således primideal enligt Sats 2.2. Idealet I = xy + x + y + 1 är inte ett primideal ty (x + 1)(y + 1) I men (x + 1), (y + 1) / I. Sats 2.3. Låt R vara ett integritetsområde, då är R[x] ett integritetsområde. Definition 2.14. Låt R vara ett integritetsområde. Antag att r R inte är noll och inte en enhet, då kallas r för reducibelt i R om r kan skrivas på formen r = ab, a, b R och varken a eller b är en enhet, a, b / R. Annars säges r vara irreducibelt. Exempel 2.17. I Z utgör primtalen alla irreducibla element. Exempel 2.18. Låt r = ab = x 2 2 Q[x]. Då är r irreducibelt i Q[x] ty x 2 2 = (x 2)(x + 2) men ± 2 / Q. Exempel på värden till a och b är: a = x2 2 1 samt b = 2, en enhet. Exempel 2.19. Integritetsområdet Z 2 = {0, 1} ger att ett irreducibelt polynom, p(x) Z 2 [x], av grad två är på formen p(x) = x 2 + αx + β där α, β Z 2. Skulle p(x) kunna skrivas på formen p(x) = r = ab så skulle a och b vara irreducibla polynom av grad 1 alltså x + γ, γ { Z 2 [x] det vill säga antingen rötter p(0) = 1 i x eller x 1 = x + 1 i Z 2 [x], så vi söker, vilket ger den unika p(1) = 1 lösningen r = p(x) = x 2 + x + 1 som är irreducibelt i Z 2 [x]. Exempel 2.20. För att finna ett irreducibelt polynom av grad tre i Z 2 [x] det vill säga p(x) = x 3 + αx 2 + βx + γ Z 2 [x] så räcker det att kontrollera att det inte { finns några faktorer av grad 1 p(0) = 1 p(1) = 1 + 1 + 1 = 1 Vi finner då att x 3 + x 2 + 1 samt x 3 + x + 1 är irreducibla. Exempel 2.21. För att finna ett irreducibelt polynom av grad fyra i Z 2 [x] det vill säga p(x) = x 4 + αx 3 + βx 2 + γx + δ Z 2 [x] så ska alla faktorer av grad ett samt faktorer av grad 2 kontrolleras. { α + β + γ = 0 Inga faktorer av grad 1 ger δ = 1 Inga faktorer av grad 2 ger att (x 2 +x+1) 2 = x 4 +2x 3 +3x 2 +2x+1 = x 4 +x 2 +1 även kan uteslutas. De irredubibla polynomen av grad 4 i Z 2 [x] är: x 4 + x + 1, x 4 + x 3 + 1, x 4 + x 3 + x 2 + x + 1.

10 Kapitel 2. Algebraiska strukturer Detta argument kan generaliseras för att hitta irreducibla polynom. Alla irreducibla faktorer av lägre grad måste kontrolleras så att de inte är faktorer. Detta kan bli omständigt att göra för hand så datorer är bra. Det räcker dock att kolla alla faktorer av grad högst n 2. För vissa ringar har vi ett effektivt kriterium: Sats 2.4. [3] Eisensteins kriterium Låt P vara ett primideal till integritetsområdet R och låt f(x) = x n +a n 1 x n 1 + +a 1 x+a 0 vara ett polynom av grad 1 i R[x]. Antag att a n 1,..., a 1, a 0 P och antag att a 0 / P 2. Då är f(x) irreducibel i R[x]. Exempel 2.22. x 4 + 10x + 5 Z[x] irreducibelt, följer då P = 5 används i Eisensteins kriterium. Definition 2.15. Låt R vara en ring och låt I vara ett ideal till R. 1. Radikalen till I, betecknad rad I, defineras som rad I = {r R : r k I för något k 1}. 2. Ett ideal säges vara radikalt om I = rad I. Det är inte ovanligt att rad I betecknas I. Exempel 2.23. 1. Betrakta integritetsområdet Z och dess ideal I = 6Z. Ett element är på formen x = 6y. Det följer att om x k = (6y) k I så är x = 6y I. Så 6Z är ett radikalt ideal. 2. Idealet I = x 2 till R[x] är inte radikalt ty x / I men x 2 I. Sats 2.5. [3] Prim och således maximala ideal är radikala. Definition 2.16. Låt F vara en ring med etta, 1 F 0 F. Om a F, a 0 F, b F så att ab = ba = 1 F så kallas F för en divisionsring. Med andra ord gäller att (F \ {0 F }) = F är en grupp med multiplikation. 1. Q, R och C med vanlig addition och multiplikation är di- Exempel 2.24. visionsringar. 2. Låt H = {a + bi + cj + dk : a, b, c, d R} vara kvarterionerna. Addition definieras (a+bi+cj+dk)+(a +b i+c j+d k) = (a+a )+(b+b )i+(c+c )j+(d+d )k.

2.2. Ringar 11 Multiplikation definieras genom att expandera (a + bi + cj + dk)(a + b i + c j + d k) med den distrubutiva lagen och använda relationerna i 2 = j 2 = k 2 = 1, ij = ji = k, jk = kj = i, ki = ik = j. Exempelvis så är (1 + i + 2j)(j + k) = 2 + 2i + 2k. Kvarterionerna är en av de första upptäckta ickekommutativa divisionsringarna och upptäcktes 1843 av William Hamilton. De spelar en viktig roll i vissa områden av matematik och fysik [3]. Definition 2.17. En kommutativ divisionsring kallas för en kropp. Vi kommer hädanefter att sluta använda beteckningarna 0 F och 1 F för att istället använda 0 och 1. Exempel 2.25. Z p där p är ett primtal är en kropp. Vi identifierar Z p med F p, kroppen med p stycken element. Vi noterar även att följande sats är applicerarbar på Z p. Sats 2.6. [3] Ett ändligt integritetsområde F är en kropp. Bevis. Låt F vara ett ändligt integritetsområde och låt a F, a 0. Med kancellering så har vi att avbildningen x ax är en injektiv funktion. Då F är ändlig gäller det även att den avbildning är surjektiv. Speciellt så b F så att ab = 1. Då multiplikation är kommutativ i ett integritetsområde så gäller att ab = ba = 1 så F är en kommutativ divisionsring, en kropp. Följande sats angåe maximala ideal kommer att användas flitigt, för att det är ett sätt att konstruera kroppar. Sats 2.7. [3] Antag R en kommutativ ring med etta. Idealet M är maximalt om och ast om kvotringen R/M är en kropp. Definition 2.18. Låt R vara en kommutativ ring med etta. Då kallas R för en Noethersk ring om det för varje kedja med växande ideal till R, I 1 I 2 I 3... finns m Z, I k = I m k m. Detta garanterar att det finns ett maximalt ideal, I, och således är R/I en kropp. Det gäller även att kroppar är Noetherska ty de enbart har två ideal. Sats 2.8. [3] Hilberts bassats Låt R vara en Noethersk ring. Då är R[x] också en Noethersk ring.

12 Kapitel 2. Algebraiska strukturer Vi har nu olika sätt för att hitta kroppar. Antingen som en kommutativ divisionsring eller som en kvotring R/I där R är en kommutativ ring med etta och idealet I = q(x) är maximalt. Det är inte säkert att exempelvis integritetsområdet Z[x]/ q(x) är ändligt. Senare i Sats 2.12 kommer vi få en sats som ger upphov till större kroppar givet ett irreducibelt polynom och kan ses som en utökning av Sats 2.7. 2.3 Kroppar Kroppar är mängder tillsammans med addition och multiplikation som uppför sig så som vi är vana vid. Detta då vi vill kunna arbeta med kurvor över kroppar. Definition 2.19. Låt F vara en kropp. Karakteristiken av kroppen F är det minsta positiva heltalet p så att p 1 = 0 om sådant p existerar, annars definieras karakteristiken till 0. Vi betecknar karakteristiken av en kropp som ch(f ). Sats 2.9. [3] Låt F vara en kropp. Om ch(f ) = p > 0 så gäller x F, p x = p(1 x) = (p 1)x = 0. Det följer att karakteristiken för en kropp antingen är ett primtal, p, eller 0. Det gäller även i en kropp av karakteristik p att (x+y) p = x p +y p och (xy) p = x p y p, kallat Frobenius homomorfin. Detta då ( ) p n = p! n!(p n)! är delbart med p n, 0 < n < p. Exempel 2.26. Detta är ett illustrativt exempel till varför det inte finns kroppar av karakteristik 6. Antag att (F, +, ) är en kropp med 6 element. Då är (F, +) en abelsk grupp. Eftersom Z 6 är den a abelska gruppen med 6 element så måste (F, +) vara Z 6. Så låt F = {0, 1, 2, 3, 4, 5} och + att vara addition mod 6. Operationen * är ännu inte definierad men vi vet att 2 3 = (1+1) (1+1+1) = 1 1 + 1 1 + 1 1 + 1 1 + 1 1 + 1 1 = i + i + i + i + i + i = /6i/ = 0. Men detta kan inte hända i en kropp ty ab = 0 a = 0 eller b = 0 men i detta exempel så är a = 2 och b = 3. Så det finns inget sätt att definiera * så att (F, +, ) är en kropp. Nedan följer några definitioner som säger hur kroppar kan förhålla sig till varandra. Definition 2.20. Låt K vara en kropp. Om F är en kropp med samma operatorer samt att F K så säges F vara en underkropp till K. Definition 2.21. Den primära underkroppen till en kropp F är underkroppen till F genererad av den multiplikativa identiteten 1 till F. Den är isomorf till Q om ch(f ) = 0 annars F p.

2.3. Kroppar 13 Definition 2.22. Om K är en kropp innehållande underkroppen F, då säges K vara en utvidgning av F, som betecknas K/F. Graden av utvidgningen betecknas [K : F ]. Definition 2.23. Den utvidgade kroppen K till F kallas en delandekropp för polynomet f(x) F [x] om f(x) faktoriseras komplett i linjära faktorer i K[x] och f(x) inte kan faktoriseras i linjära faktorer i någon underkropp E till K så att F E K. Exempel 2.27. Polynomet x 2 2 Q[x] kan inte faktoriseras i linjära faktorer över Q men om Q utvidgas med 2 så fås att (x 2), (x + 2) Q( 2)[x] där Q( 2) = {a + b 2 : a, b Q} och [Q( 2) : Q] = 2. Addition i K definieras som vanlig polynomaddition mod ch(f ). Låt a(x), b(x) K[x] och låt a(x)b(x) = p(x)h(x)+r(x) där h(x), r(x) K[x] och deg r(x) < n. Multiplikation i K definieras då som a(x)b(x) = r(x), där r(x) är resten (av grad < n) som fås efter att dividera polynomet a(x)b(x) med p(x) i F [x]. Definition 2.24. Låt F vara en kropp och låt K vara en utvidgning av F. Ett element a K är algebraiskt över F om f(a) = 0 F [x]. Definition 2.25. Låt F vara en kropp. Kroppen F kallas det algebraiska höljet till F om F är algebraisk över F och om alla polynom f(x) F [x] delas över F (så F kan sägas innehålla alla element som är algebraiska över F. Definition 2.26. En kropp F säges vara algebraisk sluten om f(x) F [x] a F så att f(a) = 0. Exempel 2.28. Höljet till R är C ty alla polynom med koefficienter i R har komplexa nollställen enligt algebrans fundementalsats. Således är R(i) = R = C. Sats 2.10. [3] Låt F vara en kropp. Det algebraiska höljet till F, F, är algebraiskt slutet. Då C är höljet till R så är C en algebraiskt sluten kropp. Sats 2.11. [3] Låt p(x) F [x] vara ett irreducibelt polynom av grad n över kroppen F och låt K vara kroppen F [x]/ p(x). Låt θ = x + p(x) K. Då är elementen 1, θ, θ 2,..., θ n 1

14 Kapitel 2. Algebraiska strukturer en bas för K som ett vektorrum över F, så graden av utvidgningen är n, [K : F ] = n. Således är K = {a 0 + a 1 θ + a 2 θ 2 + + a n 1 θ n 1 : a 0, a 1,..., a n 1 F } som består av alla polynom i θ av grad < n. Exempel 2.29. [3] Det irreducibla polynomet x 2 + 1 R[x] ger upphov till kroppen R[x]/ x 2 + 1. Detta är en utvidgning av grad 2 i R i vilken x 2 + 1 har en rot. Således är elementen på formen a + bθ, a, b R. Addition ges av (a + bθ) + (c + dθ) = (a + c) + (b + d)θ. För multiplikation använder vi att θ 2 +1 = 0 alltså att θ 2 = 1. Detta ger (a+bθ)(c+dθ) = ac+(ad+bc)θ+bdθ 2 = ac + (ad + bc)θ + bd( 1) = (ac bd) + (ad + bc)θ. Om vi inför noteringen θ = i så ser vi att det är samma välbekanta addition och multiplikation som vi lärt oss för C. Exempel 2.30. Med samma metod som i exemplet ovan fast med kroppen Q så finnes att Q[x]/ x 2 + 1 = {a + bi : a, b Q}, inte så förvånande. Vi har dock med a, b, c, d Z att a+bi c+di = (a+bi)(c di) c 2 +d = ac+db 2 c 2 +d + i bc ad 2 c 2 +d = e + fi, e, f Q. Vi 2 ser alltså att på samma sätt som Q är en fraktionskropp till Z, Q = { a b : a, b Z, b 0} så är Q[x]/ x 2 + 1 = { a b : a, b G, b 0} där G är de Gaussiska heltalen {a + bi : a, b Z} som vi såg i Exempel 2.14. Sats 2.12. [3] Låt F vara en kropp och låt p(x) F [x] vara ett irreducibelt polynom av grad n. Antag att K är en utvidgandekropp till F innehållande en rot α till p(x) : p(α) = 0. Låt F (α) = α beteckna underkroppen till K genererad över F av α. Då är F (α) = F [x]/ p(x). Det gäller även att F (α) = {a 0 + a 1 α + a 2 α 2 + + a n 1 α n 1 : a 0, a 1,..., a n 1 F } K. Det följer att om F p utvidgas så får vi F p n. Exempel 2.31. Kvotringen F 2 [x]/ x 2 +x+1 = F 4 är en kropp ty x 2 +x+1 är irreducibelt i F 2 [x]. Låt α vara en rot till x 2 + x + 1, α 1 = α, α 2 = (α + 1) = α + 1 ty α 2 + α + 1 = 0 och addition och subtraktion är desamma i en kropp av karakteristik 2, α 3 = 1 ty α(α + 1) = α 2 + α = 2α + 1 = 1 så elementen i F 2 [x]/(x 2 + x + 1) är 0, 1, α, α + 1. Nedan följer additions- och multiplikationstabell för F 4. Vi känner igen additionen som V 4 från Exempel 2.3. Vi ser även att F 4 = C 3.

2.3. Kroppar 15 + 0 1 α α + 1 0 0 1 α α + 1 1 1 0 α + 1 α α α α + 1 0 1 α + 1 α + 1 α 1 0 0 1 α α + 1 0 0 0 0 0 1 0 1 α α + 1 α 0 α α + 1 1 α + 1 0 α + 1 1 α Additionen är lätt att förstå, till exempel är α + (α + 1) = 2α + 1 = 1, det vill säga addition mod 2. Multiplikation är lite klurigare men för exempelvis α(α + 1) = α 2 + α = (α 2 + α + 1) + 1 = 1 då vi är i en kvotring. Annars kan α 2 + α + 1 = 0 α 2 = α + 1 användas ty 1 = 1 mod 2 så α(α + 1) = α 2 + α = α + 1 + α = 2α + 1 = 1. Om beteckningen α = 2 införs så fås att + 0 1 2 3 0 0 1 2 3 1 1 0 3 2 2 2 3 0 1 3 3 2 1 0 0 1 2 3 0 0 0 0 0 1 0 1 2 3 2 0 2 3 1 3 0 3 1 2 Skulle vi istället jobba i F p där p primtal så sammanfaller addition och multiplikation med den vanliga mod p, som vi såg i Exempel 2.1. Exempel 2.32. Nedan följer additions- och multiplikationsmatriserna för kroppen F 8 genererad med det irreducibla polynomet p(x) = x 3 + x + 1. Additionsmatrisen är samma oavsett genererande polynom. Multiplikationsmatrisen blir dock olika för olika polynom. Det gäller att den ena är en permutation av den andra..

16 Kapitel 2. Algebraiska strukturer + 0 1 α α + 1 0 0 1 α α + 1 1 1 0 α + 1 α α α α + 1 0 1 α + 1 α + 1 α 1 0 α 2 α 2 α 2 + 1 α 2 + α α 2 + α + 1 α 2 + 1 α 2 + 1 α 2 α 2 + α + 1 α 2 + α α 2 + α α 2 + α α 2 + α + 1 α 2 α 2 + 1 α 2 + α + 1 α 2 + α + 1 α 2 + α α 2 + 1 α 2 + α 2 α 2 + 1 α 2 + α α 2 + α + 1 0 α 2 α 2 + 1 α 2 + α α 2 + α + 1 1 α 2 + 1 α 2 α 2 + α + 1 α 2 + α α α 2 + α α α + α + 1 α 2 + 1 α 2 α + 1 α 2 + α + 1 α 2 + α α 2 + 1 α 2 α 2 0 1 α α + 1 α 2 + 1 1 0 α + 1 α α 2 + α α α + 1 0 1 α 2 + α + 1 α + 1 α 1 0 0 1 α α + 1 0 0 0 0 0 1 0 1 α α + 1 α 0 α α 2 α 2 + α α + 1 0 α + 1 α 2 + α α 2 + 1 α 2 0 α 2 α + 1 α 2 + α + 1 α 2 + 1 0 α 2 + 1 1 α 2 α 2 + α 0 α 2 + α α 2 + α + 1 1 α 2 + α + 1 0 α 2 + α + 1 α 2 + 1 α α 2 α 2 + 1 α 2 + α α 2 + α + 1 0 0 0 0 0 1 α 2 α 2 + 1 α 2 + α α 2 + α + 1 α α + 1 1 α 2 + α + 1 α 2 α + 1 α 2 + α + 1 α 2 1 α α 2 α 2 + α α α 2 + 1 1 α 2 + 1 α α 2 + α + 1 α + 1 α 2 + α α 2 + α α 2 + 1 α + 1 α α 2 α 2 + α + 1 1 α 2 + α α 2 α + 1

2.3. Kroppar 17 Exempel 2.33. Nedan följer additions- och multiplikationsmatriserna för F 9 = F 3 [x]/ x 2 + x + 2. + 0 1 2 α α + 1 α + 2 2α 2α + 1 2α + 2 0 0 1 2 α α + 1 α + 2 2α 2α + 1 2α + 2 1 1 2 0 α + 1 α + 2 α 2α + 1 2α + 2 2α 2 2 0 1 α + 2 α α + 1 2α + 2 2α 2α + 1 α α α + 1 α + 2 2α 2α + 1 2α + 2 0 1 2 α + 1 α + 1 α + 2 α 2α + 1 2α + 2 2α 1 2 0 α + 2 α + 2 α α + 1 2α + 2 2α 2α + 1 2 0 1 2α 2α 2α + 1 2α + 2 0 1 2 α α + 1 α + 2 2α + 1 2α + 1 2α + 2 2α 1 2 0 α + 1 α + 2 2α + 2 2α + 2 2α 2α + 1 2 0 1 α + 2 α α + 1 0 1 2 α α + 1 α + 2 2α 2α + 1 2α + 2 0 0 0 0 0 0 0 0 0 0 1 0 1 2 α α + 1 α + 2 2α 2α + 1 2α + 2 2 0 2 1 2α 2α + 2 2α + 1 α α + 2 α + 1 α 0 α 2α 2α + 1 1 α + 1 α + 2 2α + 2 2 α + 1 0 α + 1 2α + 2 1 α + 2 2α 2 α 2α + 1 α + 2 0 α + 2 2α + 1 α + 1 2α 2 2α + 2 1 α 2α 0 2α α α + 2 2 2α + 2 2α + 1 α + 1 1 2α + 1 0 2α + 1 α + 2 2α + 2 α 1 α + 1 2 2α 2α + 2 0 2α + 2 α + 1 2 2α + 1 α 1 2α α + 2 Vi ser även att F 9 = C 8 = {α 0,..., α 8 } = {1, α, 2α + 1, 2α + 2, 2, 2α, α + 2, 1 + α}.

Kapitel 3 Geometri Följande kapitel kommer att behandla affin och projektiv geometri. Affin geometri är som vanligt medan i projektiv geomtri lägger vid till extra punkter vi oändligheten för varje klass av parallella linjer. En liknelse är ett rakt tågspår där rälsen ser ut att gå mot samma punkt i fjärran. Detta kapitel kommer även att behandla Bezouts sats som säger i hur många punkter två kurvor möts. Denna sats är nödvändig för gruppoperatorn som vi senare kommer att definiera för elliptiska kurvor. Bra källor är för detta område är [5], [6], och en stor del återfinns även [3]. 3.1 Affin geometri Definition 3.1. Låt F vara en kropp och låt n Z +. Det affina rummet av dimension n över F är mängden F n = {(a 1,..., a n ) : a 1, a 2,..., a n F }. Vi kallar F 1 = F den affina linjen och F 2 det affina planet. Läsaren har arbetat i R n samt C n inom linjära algebra. Exempel 3.1. Hörnen på en hyperkub i n dimensioner är F n 2. Det kan ses som grafen med hörn i (x 1,..., x n ), x i F 2 och det är en kant mellan hörnen (x 1,..., x n ) och (y 1,..., y n ) om givet i 0 så gäller x i = y i och x i0 y i0, i, 1 i n, i i 0. Vi kommer att arbeta mest i planen F 2 q, q = p m, p primtal, m Z +. Felding, 2019. 19

20 Kapitel 3. Geometri Definition 3.2. Låt F vara en kropp, och låt f 1,..., f s vara polynom i F [x 1,..., x n ]. Då definieras mängden V(f 1,..., f s ) = {(a 1,..., a n ) F n : f i (a 1,..., a n ) = 0, 1 i s}. Vi kallar V(f 1,..., f s ) den affina varieteten definierad av f 1,..., f s. Så om I är ett ideal till F [x 1,..., x n ] så består I av polynom. Det gäller då att V(I) är en affin varietet genererad av alla polynom i I. Det gäller att V( 0 ) är det hela affina rummet F n. Detta då 0 ast består av nollpolynom, f F n [x 1,..., x n ] så f(a 1,..., a n ) = 0 (a 1,..., a n ) F n. Definition 3.3. Låt V F n vara en affin varietet. Då sätter vi I(V ) = {f F [x 1,..., x n ] : f(a 1,..., a n ) = 0, (a 1,..., a n ) V }. Sats 3.1. [5] Om V F n är en affin varietet, då är I(V ) F [x 1,..., x n ] ett ideal. Vi kommer att kalla I(V ) idealet till V. Den viktiga observationen är att I(V ) är ett ideal som är ändligt genererat. Detta eftersom kroppar är Noetheriska som följer från Definition 2.18. Definition 3.4. Låt f F [x, y] vara ett polynom. Då är V( f ) en affin kurva. Vi definierar alltså en kurva som en varietet beståe av nollställen till ett principal ideal i F [x, y]. Exempel 3.2. Låt f = x 2 y F 3 / α 2 + α + 2. Vi finner att V( f ) = {(0, 0), (1, 1), (2, 1), (α, 2α+1), (α+2, 2), (2α, 2α+1), (2α+1, 2), (2α+2, α+2)}. Detta illustreras med α = 2 i Figur 3.1. Exempel 3.3. I Exempel 2.16 hade vi I = (x + 1), (y + 1) R[x, y]. Detta ger V = V(I) = {(x, y) : x = 1 och y = 1}. Vi ser att I(V ) = I genom att ansätta f = h 1 (x + 1) + h 2 (y + 1) + r där h 1, h 2 R[x, y] och r R. Detta då om f är ett monomial, ett polynom med ast en term, så gäller f = x α y β = ( 1 + x + 1) α ( 1 + y + 1) β = ( 1) α + h 1 (x + 1) + ( 1) β + (y + 1) β. Då ett godtyckligt f R[x, y] är en R-linjär kombination av monomial så gäller det att f alltid är på formen h 1 (x + 1) + h 2 (y + 1) + r. För att visa att I(V ) = I så ser vi att I I(V ). För att visa likhet noterar vi att 0 = f( 1, 1) så det måste vara så att r = 0. Så det gäller att I = I(V(I)). I(V(f 1,..., f s )) behöver inte vara samma som f 1,..., f n. Ett exempel är J = x 2, y 2. Det gäller att V(J) = {(0, 0)} = V( x n, y n ), speciellt så är {(0, 0)} = V( x, y ). Det gäller att I({0, 0)}) = x, y. Det gäller även att J x, y så I(V(J)) J. En naturlig fråga som uppkommer är när de är desamma.

3.1. Affin geometri 21 y 4 3 2 1 4 3 2 1 1 2 3 4 x (5) (6) (7) (8) (8) 1 (7) 2 (6) 3 (5) 4 Figur 3.1: x 2 = y över F 3 [x]/ x 2 + x + 2 = F 9

22 Kapitel 3. Geometri y x ( 1, 1) Figur 3.2: V = V( (x + 1), (y + 1) ) = {( 1, 1)}, i blått V 1 = V( x + 1 ), i rött V 2 = V( y + 1 ), V 1 V 2 = V, V 1 V 2 = V 3 = V( xy + x + y + 1 ) Definition 3.5. Låt V vara en affin varietet. V säges vara reducibel om V = V 1 V 2, där V 1, V 2 är affina varieter och V 1 V, V 2 V. Annars säges V vara irreducibel. Exempel 3.4. Betrakta f 1 = x + 1, f 2 = y + 1 R[x, y] som genererar V 1 = V( f 1 ) = {( 1, a) : a R} och V 2 = V( f 2 ) = {(a, 1) : a R}. Låt V 3 = V( (x + 1)(y + 1) ) = {(a, b) : a, b R, a = 1 eller b = 1}. Det är tämligen enkelt att se att V 3 = V 1 V 2 så V 3 är reducibel. Se Figur 3.2. Sats 3.2. [5] Låt V vara en affin varietet. Då är V irreducibel om och ast om I(V ) är ett primideal. Sats 3.3. [3], [5], [6] Hilberts Nullstellensatz Låt F vara en algebraiskt sluten kropp. Då är I(V(I)) = rad I för alla ideal I till F [x 1,..., x n ]. Dessutom så definierar avbildningarna I och V inversa bijektioner {affina algebraiska mänder} I {radikala ideal}. V Då radikalen av ett primideal är primidealet så har vi funnit en hel klass av ideal som har egenskapen att I(V(I)) = I. Exempel 3.5. För att illustrera varför kroppen måste vara sluten betrakta f = x 2 + x + x 2 y + xy 2 + 1 F 2 [x, y] och I = f. Vi har att f(0, 0) = f(1, 0) = f(0, 1) = f(1, 1) = 1 och således är V = V(I) =. Så I(V ) = F 2 [x, y]. Det

3.2. Projektiva planet 23 gäller att V är irreducibel varietet och således är I ett primideal. Det gäller att primideal är radikala så radi = I. För att se att I F 2 [x, y] noterar vi att x / I. Ytterligare ett exempel på varför kroppen måste vara sluten är x 2 + 1 R[x]. Definition 3.6. Låt V F n vara en affin varietet. Då kallas kvotringen F n /I(V ) för koordinatringen till V och betecknas F [V ]. Då vi har en kurva C med genererande polynom f så är F [C] = {a : a + bf, a, b F [x, y]}. Det är alltså en mängd ekvivalensklasser av polynom. Det gäller att detta är en ring [5]. Om vi inför funktionerna x = x + f, y = y + f så gäller det att x, y : C F vars värden vid en punkt p C är koordinaterna till p. Vi kallar x för x-koordinatfunktionen på C. På samma sätt är y, y-koordinatfunktionen på C. Det gäller då att koordinatfunktionerna genererar F [C] då något polynom i F [C] är en linjärkombination av x och y. Det är därifrån namnet koordinatring kommer. 3.2 Projektiva planet Då vi vill kunna beskriva elliptiska kurvor, som är kurvor i planet så kommer vi i följande avsnitt att arbeta i 2 dimensioner. Definitionerna går med fördel att generalisera och det är ofta så de är beskrivna, se [5]. Definition 3.7. Låt F vara en kropp och låt (X, Y, Z) F 3. Det projektiva planet F P 2 = {ekvivalensklasser [X : Y : Z]} = (F 3 \ {0, 0, 0})/ där [X : Y : Z] [λx : λy : λz] om λ F, det vill säga ekvivalensklasser. Med andra ord, så är varje punkt i det projektiva planet F P 2 en linje i F 3 genom origo. Definition 3.8. En linje i F P 2 är L : {[X : Y : Z] : ax + by + cz = 0, a, b, c F }. Linjen L skär {Z = 0} vid X = b, Y = a så [ b : a : 0] är linjens punkt vid oändligheten, L. Punkter till F P 2 med Z = 0 motsvarar kvoter [X : Y : 0], dessa punkter bildar linjen som är F P 1 = F { } kallat ideella linjen alternativt linjen vid oändligheten. Ett sätt att se det är att då parallella linjer möts i en punkt vid oändligheten så bildas det ekvivalensklasser för linjer i F 2. Varje klass har en punkt vid oändligheten associerad med den. Mängden av punkter vid oändligheten bildar en egen projektiv linje, linjen vid oändligheten, [X : Y : 0]. Mängderna U x, U y, U z betecknar mängderna där U z = {[X : Y : Z] : Z 0} = {( X Z, Y Z, 1)} så U z = F 2 och på liknande sätt för U x, U y. Vi har att F P 2 =

24 Kapitel 3. Geometri Figur 3.3: F 3 P 2 U x U y U z = U z {Z = 0}. Beroe på vilken mängd U i som vi arbetar i så blir det olika punkter vid oändligheten. Vi väljer att hädanefter arbeta med {Z = 0} som de punkter vid oändligheten. Vi har att då Z 0 att [X : Y : Z] = [X/Z : Y/Z : 1] som kan identifieras med (x = X Z, y = Y Z ) F 2. Exempel 3.6. Se Figur 3.3 och 3.4 för hur det affina planet och det projektiva planet hör ihop. Definition 3.9. Låt f(x, y, z) F [x, y, z]. Polynomet f säges vara ett homogent polynom om summan av exponenterna i varje term är densamma. Det är ekvivalent med att säga att för ett homogent polynom g(x, Y, Z) F [X, Y, Z] av grad d så gäller g(λx, λy, λz) = λ d g(x, Y, Z), λ F. Definition 3.10. Låt F vara en kropp och låt f 1,..., f s F [x, y, z] vara homogena polynom. Då definieras mängden V(f 1,..., f s ) = {(x, y, z) F P 2 : f i (x, y, z) = 0 1 i s}. Vi kallar V(f 1,..., f s ) den projektiva varieteten i F P 2 definierad av f 1,..., f s. Sats 3.4. [5] Låt V = V(f 1,..., f s ) vara en projektiv varietet. Då kan W = V U z identifieras med den affina varieteten V (g 1,..., g s ) F n, där g i (x, y, z) = f i (x, y, z) 1 i s.

3.2. Projektiva planet 25 z y x Figur 3.4: RP 2 = U z {Z = 0}. Punkten [1 : 1 : 2] är markerad linje x + y + 2z = 0 R 3. Skärningen med det affina planet R 2 är även markerad. Vi ser även att två parallella linjer går mot samma punkt. Detta för att om vi bara har kvar punkter på formen ( X Z, Y Z, 1) i en projektiv varietet så kan de identifieras med affina punkter i en affin varietet. Exempel 3.7. Låt f(x, y) = x 3 + 3x 3 y 2 + y 4 + 2 F [x, y]. Vi kan notera att f = 1 5 (x 3 + 3x 3 y 2 + y 4 + 2). För att homogenisera f kan vi se det som att f F [x, y, 1] som ger med insättning av Z: Z 5 (( X Z )3 + 3( X Z )3 ( Y Z )2 + ( Y Z )4 + ( 2 Z )5 ) = X 3 Z 2 + 3X 3 Y 2 + Y 4 Z + Z 5 = g(x, Y, Z). Exempel 3.8. Betrakta den projektiva varieteten V = V(X 2 Y Z) RP 2. Vi betraktar skärningen mellan V och U z som ger den affina V(x 2 y) R 2. Vi kan även betrakta den affina varieteten som ges av V U X, (y = Y X, z = Z X ), som är V(1 yz) R 2. För att gå från en affin varietet till en projektiv räcker det ibland att homogenisera varieteten medan i vissa fall krävs lite mer för att finna en projektiv varietet. Då vi i fortsättningen kommer att vara försiktiga och arbeta med väl valda varieter som enbart kräver homogenisering så lämnas detaljerna till [5]. Definition 3.11. Låt F vara en kropp och låt g F [X, Y, Z] vara ett homogent polynom. Då är en planprojektiv kurva C = V( g ) = {p F P 2 : g(p) = 0}. Vi säger även att en punkt p är rationell om g(p) = 0 och således p C. Notera igen att p är en linje i F 3 så det kan vara svårt att visualisera sig kurvan. Det som görs är att vi betraktar U z och sedan vid behov punkterna vid oändligheten.

26 Kapitel 3. Geometri Definition 3.12. Låt F vara en kropp och låt I vara ett ideal till F [x, y, z]. Idealet I säges vara ett homogent ideal om f I, så gäller att f i I, där f i är de homogena komponeterna till f. Exempel 3.9. Låt I = y x 2. De homogena komponenterna till f = y x 2 är f 1 = y samt f 2 = x 2. Det gäller att f 1, f 2 / I då ingen av de är en multipel av y x 2 och således är I inte ett homogent ideal. Sats 3.5. [5] Låt I vara ett ideal. Det gäller att I är ett homogent ideal I = f 1,..., f s där f i är ett homogent polynom. Sats 3.6. [5] Projektiva Nullenstellensatz Låt F vara en sluten kropp och låt I vara ett homogent ideal i F [X, Y, Z]. Om V = V(I) är en projektiv varietet i F P 2 så gäller det att För att sammanfatta: I(V(I)) = rad I. af f int projektivt f(x, y) g(x, Y, Z) homogent C = {p : f(p) = 0, p F 2 } C = {p : g(p) = 0, p F P 2 } V(f) V(g) f ideal till F [x, y] g homogent ideal till F [X, Y, Z] N ullenstellensatz N ullenstellensatz Det går att definiera en projektiv koordinatring som en kvotring men den kommer inte att ha samma fina egenskap att den genereras av koordinatfunktionerna. Detta på grund av att ett icke-konstant element p är ju faktiskt en linje i F 3, inte en funktion! 3.3 Bezouts sats Vi är nu intresserade av att finna snittet av kurvor. Speciellt då en av kurvorna är en linje. Definition 3.13. Låt f, g F [x] vara polynom av grad > 0 på formen f = a 0 x l + + a l, a 0 0, g = b 0 x m + + b m, b 0 0.

3.3. Bezouts sats 27 Då är Sylvestermatrisen av f och g med avse på x, betecknad Syl(f, g, x), följande matris a 0 b 0 a 1 a 0 b 1 b 0. a 2 a... 1 b 2 b.. 1...... a0... b0 Syl(f, g, x) =. a 1. b 1. a l b m al. bm....... } {{ al }} {{ bm } m kolumner l kolumner Vi definierar även resultanten av f och g med avsee på x, betecknat Res(f, g, x) som: Res(f, g, x) = det(syl(f, g, x)). Exempel 3.10. 1. Polynomen f = x 2 + x och g = x + 2 ger upphov till Syl(f, g, x) = 1 1 0 1 2 1. Vi finner att Res(f, g, x) = 2. 0 0 2 2. Om vi låter f = xy 1, g = x 2 +y 2 4 och betraktar dem som polynom i x, alltså i kroppen F (y)[x], så finner vi Res(f, g, x) = det 1 y 0 = y 0 1 0 1 y 2 4 y 4 4y 2 + 1. Hur många skärningspunkter har y = x 2 och x = c? En vid (c, c 2 ). Vad händer om vi går över till det projektiva planet och betraktar skärningspunkterna mellan Y Z = X 2 och X = cz? Vi löser ut X och får då Y Z = c 2 Z 2. Lösningarna blir då [X : Y : Z] = [0 : 1 : 0] eller [c : c 2 : 1]. Detta är samma som innan samt en skärning vid oändligheten. ( ) Y c Vi har även att Res(Y Z X 2, cz X, Z) = det X 2 = (cx X 2 XY ) = X 1 (cx Y ) 1. Resultanten blir 0 för samma punkter! Exponenten till varje faktor ger även multipliciteten av skärningen i den punkten. Detta exempel illustrerade följande sats:

28 Kapitel 3. Geometri Sats 3.7. [5], [6] Bezouts sats Låt C = V( g ) och D = V( h ) vara två planprojektiva kurvor över F P 2 av grad m respektive n utan gemensam komponent. Då är antalet skärningspunkter över en algebraisk sluten kropp, F, mn räknat med multiplicitet. Det är fullt möjligt att två kurvor aldrig skär varandra i en kropp men har alla skärningspunkter i kroppens hölje. Det är inte säkert att resultanten ger rätt multiplicitet direkt, utan ett variabelbyte kan vara nödvändig. Se detaljer i [5]. Exempel 3.11. För att illustrera varför kroppen ska vara sluten så betrakta skärningen mellan två cirklar på formen (x a) 2 +(y b) 2 r 2 = 0 som projektivt är (x az) 2 + (y bz) 2 r 2 z 2. Det gäller för alla cirklar att punkterna [1 : i : 0] och [1 : i : 0] vid oändligheten alltid ligger på cirkeln. Vad händer om cirklarna ligger i RP 2? Punkterna vid oändligheten finns inte och således skär cirklarna varandra i högst 2 punkter.

Kapitel 4 Elliptiska kurvor Elliptiska kurvor är en typ av kurvor som redan innan deras bruk inom kryptografi var av särskilt intresse. Bland annat så är en elliptisk kurva över C en torus. Fokus kommer dock att ligga på elliptiska kurvor över ändliga kroppar. Det mesta i detta kapital kommer från [6] och [2]. Definition 4.1. En elliptisk kurva är en irreducibel plankurva av grad tre över en kropp, F, med ekvation Y 2 Z + a 1 XY Z + a 3 Y Z 2 = X 3 + a 2 X 2 Z + a 4 XZ 2 + a 6 Z 3 betecknat E. Affint är kurvan y 2 + a 1 xy + a 3 y = x 3 + a 2 x 2 + a 4 x + a 6 tillsammans med tre extra punkter vid oändligheten för att det alltid ska finnas tre punkter där kurvan möter en linje, detta från Bezouts sats. Att en elliptisk kurva inte är singulär innebär att {(x, y) : f(x,y) x = f(x,y) y = 0} =. Detta krav kan även skrivas med diskriminanten,, med kravet att 0 som kan skrivas som b 2 = a 2 14a 2, b 4 = 2a 4 + a 1 a 3, b 6 = a 2 3 + 4a 6, b 8 = a 2 1a 6 + 4a 2 a 6 a 1 a 3 a 4 + a 2 a 2 3 a 2 4, = b 2 2b 8 8b 3 4 27b 2 6 + 9b 2 b 4 b 6. Det gäller även att varje elliptisk kurva över en kropp av karakteristik > 3 eller 0 kan sättas i (Weierstrass) normalformen E : Y 2 Z = X 3 + axz 2 + bz 3. Den affina formen är y 2 = x 3 + ax + b Felding, 2019. 29

30 Kapitel 4. Elliptiska kurvor tillsammans med en punkt vid oändligheten av ordning 3, O = [0 : 1 : 0] [6]. Detta då linjen vid oändligheten, Z = 0, ger att 0 = X 3 och således att X = 0 så Y är den a fria koordinaten. Att den inte ska vara singulär kan även nu skrivas med diskriminanten = 16(4a 3 + 27b 2 ) 0. En elliptisk kurva över R har två huvudsakliga utseen, se Figur 4.1 och 4.2. Utseet beror på om determinanten är positiv eller negativ. y x Figur 4.1: y 2 = x 3 4x + 1 över R För att kunna tillämpa elliptiska kurvor till kryptering måste vi ha någon gruppoperator. Tillämpningar av elliptisk kryptering bygger på att elliptiska kurvor är abelska grupper, se Definition 2.1. Definition 4.2. Låt E vara en elliptisk kurva. Låt vara en operator sådan att P Q = R. Där P, Q, R är de 3 punkter, räknat med multiplicitet, på linjen P Q som skär E. Låt sedan R vara en punkt med samma x-koordinat som R och om möjligt annan y-koordinat. I R så gäller det att samma x-koordinat är en spegling i x-axeln för ( a) 2 = a 2. I andra kroppar så är det lite svårare att hitta speglingen men från Exempel 2.33 så ser vi i F 9 att (2α + 2) + (α + 1) = 0, så (2α + 2) 2 = (α + 1) 2 = α + 2. Sats 4.1. [6] Låt E vara en elliptisk kurva på normalform och som ovan. Det gäller då P, Q, R E : 1. P Q R = R R = O P, Q, R är kolinjära,

31 y x Figur 4.2: y 2 = x 3 x + 1 över R 2. Identiteten är I d = O = [0 : 1 : 0], 3. Inversen ges av linjen OP E = {O, P, P }, 4. Operatorn är assosiativ, P (Q R) = (P Q) R, 5. Operatorn är även kommutativ P Q = Q P. Skiss av beviset: Det är alltså en abelsk grupp. Identiteten O O = O är linjen vid oändligheten och en punkt av ordning 3, O R = R är den lodräta linjen som går igenom R, R samt O och sen speglas R till R. Inversen är liknande att R R ger den lodräta linjen i riktning mot O som sen speglas till sig själv. Att operatorn är kommutativ är lätt att se för det finns bara en linje mellan två punkter. Att operatorn är associativ är inget som följer direkt utan det krävs ett väldigt tekniskt bevis med flertalet falluppdelningar. Exempel 4.1. Betrakta den elliptiska kurvan E : y 2 = x 3 4x+1 över R. Vi har då de rationella punkterna P = ( 2, 1), Q = (3, 4). Vi söker P Q = R. Först så drar vi linjen mellan P och Q. Lutningen är λ = 4 1 3 ( 2) = 3 5 så linjen är då L : y = 3 11 5x+ 5. Detta ger ( 3 5 x + ) 11 2 5 = x 3 4x+1 0 = x 3 ( 3 5 x + ) 11 2 5 4x+1 = x 3 9 25 x2 166 96 25 ( x 25 = (x+2)(x 3)(x+16/25) ) där vi använda att P, Q L E. Detta ger R = 16 25, 3 ( 16) 5 25 + 11 5 = ( 16 25, 227 125 ). Spegling i x-axeln ger R = ( 16 25, 227 125 ). Vi kan se att det stämmer med resultanten och Bezouts sats Res(z 3 4xz 2 y 2 z +x 3, 11/5z +3/5x y, z) = (4x 3y)(x+2y)( 227 16 125x 25 y).

32 Kapitel 4. Elliptiska kurvor 140 120 100 80 60 40 20 0 0 20 40 60 80 100 120 140 Figur 4.3: y 2 = x 3 + 4x över F 125

33 2P = O y R Q P x R Figur 4.4: Gruppopperatorn för en elliptisk kurva y P R Q P Q R x Q R P Q Figur 4.5: Assosiativitet för en elliptisk kurva

34 Kapitel 4. Elliptiska kurvor Exempel 4.2. Betrakta den elliptiska kurvan E : y 2 = x 3 4x + 1 över R och P = ( 2, 1) som ovan. Vi söker P P = R. Lutningen vid P fås genom att implicit derivera E, så 2y dy dx = 3x2 4, som borde vara bekant från en kurs i flervariabel analys. Så dy. I punkten P har vi således λ = 3 ( 2)2 4 8 2 dx = 3x2 4 2y 2 1 = = 4. Vi får då linjen y = 4x + 9 som P uppfyller 1 = 4( 2) + 9. Insättning i kurvans ekvation ger (4x + 9) 2 = x 3 4x+1 0 = x 3 4x+1 (4x+9) 2 = (x 20)(x + 2) 2. På linjen får vi y = 89 = 4 20 + 9. Spegling i x-axeln ger R = (20, 89). Följande sats ger en algoritm för gruppoperatorn, som definieras i Sats 4.1. Det är denna metod som används i kommande beräknar. Sats 4.2. [2] Låt E vara en elliptisk kurva på normalform och låt P, Q E. 1. Om P = Q = O, då P Q = O, 2. Om P = O, då P Q = Q, 3. Om Q = O, då P Q = P, 4. Annars låt P = (x 1, y 1 ), Q = (x 2, y 2 ), 5. Om x 1 = x 2 och y 1 y 2, då P Q = O, 6. Annars låt och låt Då är P Q = (x 3, y 3 ). Bevis. Använd koordinater. λ = { y2 y 1 x 2 x 1 3x 2 1 +a 2y 1 P Q P = Q x 3 = λ 2 x 1 x 2 och y 3 = λ(x 1 x 3 ) y 1. Följande sats generaliserar gruppoperatorn till alla elliptiska kurvor. Den är snarlik den för normalform med den största skillnanden att speglingen ges av (x, y) (x, y a 1 a 3 ). Sats 4.3. [2] Låt E vara en elliptiska kurva över kroppen F på formen y 2 + a 1 xy + a 3 y = x 3 + a 2 x 2 + a 4 x + a 6. Låt P 1 = (x 1, y 1 ) och P 2 = (x 2, y 2 ) vara punkter på E.