• No results found

Simuleringar av elliptiska kurvor för elliptisk kryptografi

N/A
N/A
Protected

Academic year: 2021

Share "Simuleringar av elliptiska kurvor för elliptisk kryptografi"

Copied!
73
0
0

Loading.... (view fulltext now)

Full text

(1)

kryptografi

Matematiska institutionen, Linköpings universitet Eric Felding

LiTH - MAT - EX - - 2019/02 - - SE

Högskolepoäng: 16 Nivå: G2

Handledare: Milagros Izquierdo,

Matematiska institutionen, Linköpings universitet Examinator: Göran Bergqvist,

Matematiska institutionen, Linköpings universitet Linköping: Juni 2019

(2)
(3)

This thesis describes the theory behind elliptic-curve Diffie-Hellman key ex-changes. 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 elliptic-curve Diffie-Hellman key exchanges. No clear connection is found. Since elliptic curves over extension fields have more computational heavy operations, it is con-cluded 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:

(4)
(5)

Denna rapport går igenom teorin bakom Diffie-Hellmans nyckelutbyte över el-liptiska 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 kon-struktiva 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äk-ningstunga 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:

(6)
(7)

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.

(8)
(9)

N De naturliga heltalen Z Heltalen Z+ De positiva heltalen Zn 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[x1, . . . , xn] Polynomring i n variabler

I Ideal

hAi Ideal genererat av mängden A

F, K Kroppar

Fn Ändlig kropp med n element

Fn Affina rummet av dimension n över F F P2 Det projektiva planet över F

C Kurva

E Elliptisk kurva

(10)
(11)

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

(12)
(13)

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 endast ett lösenord per dag som användes. Lösenorden var tryckta i böcker som aldrig fick komma i fiendes händer.

Hur skickas ett hemligt medelande utan att skicka lösenordet, nyckeln, i van-lig 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

(ga)b≡ (gb)a6≡ gagb 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.

(14)

Neal Koblitz och Victor Miller kom oberoende av varandra på hur elliptis-ka kurvor skulle kunna användas inom kryptografi 1985 [2]. En elliptisk kur-va är ingen ellips! Namnet kommer ifrån att ekkur-vationen för en elliptisk kurkur-va är kopplat till bågländen av ellipser som studeras med integraler i det kom-plexa 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.

(15)

Algebraiska strukturer

Algebraiska strukturer är mängder tillsammans med en eller flera slutna ope-ratorer. 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) ∃ Id∈ Gså att ∀a ∈ G gäller att a • Id= Id• 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,*.

(16)

3. Heltalen mod n, Zn = {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. Transforma-tionerna ä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. Associati-vitet 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 as-sociativitet finns i [4].

Det gäller även för grupper att [3] 1. Identiteten är unik,

2. ∀a ∈ G så är a−1∈ Gunikt 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) = ea. Då gäller att f(a + b) = ea+b= eaeb= 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 xn= I

d där xn betecknar gruppoperationen upprepad ngånger. Om det inte finns något sådant n sägs ordningen vara oändlig. Exempel 2.3. 1. Kleins fyrgrupp, V4, är gruppen

• 1 a b c

1 1 a b c

a a 1 c b

b b c 1 a

(17)

där 1 = Id 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 V4 har ordning 4. 2. Ordningen av Zn ä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 = {xn : n ∈ Z}. Vi skriver gruppen G som genereras av x som G = hxi.

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 Cn. 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, zn= 1}, ∗)är en cyklisk grupp, C

n. Det är lätt att se att z = e2π

ni är en generator och att e0= 1 = Id.

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å kom-mer 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 upp-fyller följande:

(18)

(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, 1R ∈ R, som ∀a ∈ R ⇒ a ∗ 1R= 1R∗ 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 {0R}alltid ideal. Dessa är gans-ka tråkiga ideal men i vissa fall de enda 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 hAi beteckna de minsta idealet till R innehållande A, kallat idealet genererat av A. Om R är kommutativ så gäller att

hAi =    X 1≤i≤|A| airi: ai ∈ A, ri∈ R    .

(19)

2. Ett ideal genererat av ett enda 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, +, ∗) = h2i som är idealet generat av 2. Det är även ett primideal.

Exempel 2.10. Ett ideal till Z är h2, 3i = {2a + 3b : a, b ∈ Z}. Det gäller att 1 = (−2) + 3 ∈ h2, 3ivilket ger att h2, 3i ∼= Z.

Definition 2.9. Låt R vara en ring. Ett ideal M till R kallas maximala idealet om M 6= R och de enda ideal som innehåller M är M och R.

Exempel 2.11. Ringarna h2i och h3i är två maximala ideal till (Z, +, ∗). h4i är inte ett maximalt ideal till (Z, +, ∗) ty h4i ⊂ h2i. h4i är inte heller ett primideal ty 2 ∗ 2 ∈ h4i men 2 /∈ h4i.

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 abklassen {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 Ex-empel 2.1 då vi definierade Zn på ett liknande vis.

Definition 2.11. Låt R vara en kommutativ ring med etta.

1. Ett element a ∈ R, a 6= 0R kallas nolldelare om ∃ b 6= 0R, b ∈ R så att ab = 0R.

2. En enhet är ett element a ∈ R så att ∃ b ∈ R, ab = ba = 1R.Mängden av enheter till R betecknas R×, kallas den multiplikativa gruppen till R. Exempel 2.12. I Z8 = {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 V4, som sågs i Exempel 2.3.

(20)

Exempel 2.13. För Zp gäller där p är ett primtal att Z×p = Zp\ {0}. I Zn så gäller det att elementen u för vilka u och n är relativt prima är enheter. I Zp är alla element förutom 0 relativt prima n. I annat fall om, a 6= 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 6= 0. Men konstruktionen gör att n delar ab, ab = 0. Alltså a är en nolldelare. Således är alla element i Zn nolldelare eller enheter. Speciellt gäller då n är ett primtal att Z×

p = Zp\ {0}. Definition 2.12. Låt R vara en kommutativ ring med etta så att 1R6= 0R, 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 hel-talen {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) = ∞ X i=0 aixi: ai∈ R, ai= 0 ∀i > i0} tillsammans med additionen

∞ X i=0 aixi+ ∞ X i=0 bixi= ∞ X i=0 (ai+ bi)xi samt multiplikationen ( ∞ X i=0 aixi)( ∞ X i=0 bixi) = ∞ X i=0 cixi där ck = X i+j=k aibj.

Polynomringen i variablerna x1, x2, . . . , xn med koefficienter i R, betecknad R[x1, x2, . . . , xn], definieras rekursivt som

R[x1, x2, . . . , xn] = R[x1, x2, . . . , xn−1][xn].

Läsaren har säkerligen arbetat i exempelvis R[x] och C[x, y] utan att ha funderat på ringteorin.

Exempel 2.15. 1. x3+ 2x +

34 ∈ R[x] 2. x3+ 3x2+ y2+ 4xy3

∈ Z[x, y]

Exempel 2.16. 1. Betrakta R[x] och polynomet x2+ 10. Det gäller då att hx2+ 10iär ett ideal till R[x].

(21)

2. Ett ideal till R[x, y] är h(x + 1), (y + 1)i vilket är ett maximalt och således primideal enligt Sats 2.2. Idealet I = hxy + x + y + 1i ä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 ∈ Roch 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 = x2− 2 ∈ Q[x]. Då är r irreducibelt i Q[x] ty x2− 2 = (x −2)(x +2)men ±2 /∈ Q. Exempel på värden till a och b är: a = x22 − 1 samt b = 2, en enhet.

Exempel 2.19. Integritetsområdet Z2 = {0, 1} ger att ett irreducibelt poly-nom, p(x) ∈ Z2[x], av grad två är på formen p(x) = x2+ αx + βdär α, β ∈ Z2. Skulle p(x) kunna skrivas på formen p(x) = r = ab så skulle a och b vara irre-ducibla polynom av grad 1 alltså x + γ, γ ∈ Z2[x]det vill säga antingen rötter i x eller x − 1 = x + 1 i Z2[x], så vi söker



p(0) = 1

p(1) = 1 , vilket ger den unika lösningen r = p(x) = x2+ x + 1som är irreducibelt i Z

2[x].

Exempel 2.20. För att finna ett irreducibelt polynom av grad tre i Z2[x]det vill säga p(x) = x3+ αx2

+ βx + γ ∈ Z2[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 x3+ x2+ 1samt x3+ x + 1är irreducibla.

Exempel 2.21. För att finna ett irreducibelt polynom av grad fyra i Z2[x]det vill säga p(x) = x4+ αx3+ βx2

+ γx + δ ∈ Z2[x]så ska alla faktorer av grad ett samt faktorer av grad 2 kontrolleras.

Inga faktorer av grad 1 ger α + β + γ = 0δ = 1

Inga faktorer av grad 2 ger att (x2+x+1)2= x4+2x3+3x2+2x+1 = x4+x2+1 även kan uteslutas. De irredubibla polynomen av grad 4 i Z2[x]är:

x4+ x + 1, x4+ x3+ 1,

(22)

Detta argument kan generaliseras för att hitta irreducibla polynom. Alla irredu-cibla 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 bn

2c.

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) = xn+an−1xn−1+ · · ·+a1x+a0vara ett polynom av grad ≥ 1 i R[x]. Antag att an−1, . . . , a1, a0∈ P och antag att a0∈ P/ 2. Då är f (x) irreducibel i R[x].

Exempel 2.22. x4+ 10x + 5 ∈ Z[x] irreducibelt, följer då P = h5i 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 : rk∈ 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 xk = (6y)k ∈ I så är x = 6y ∈ I. Så 6Z är ett radikalt ideal.

2. Idealet I = hx2itill R[x] är inte radikalt ty x /∈ I men x2∈ I. Sats 2.5. [3] Prim och således maximala ideal är radikala.

Definition 2.16. Låt F vara en ring med etta, 1F 6= 0F. Om ∀a ∈ F, a 6= 0F, ∃ b ∈ F så att ab = ba = 1F så kallas F för en divisionsring.

Med andra ord gäller att (F \ {0F}) = F× är en grupp med multiplikation. Exempel 2.24. 1. Q, R och C med vanlig addition och multiplikation är

di-visionsringar.

2. Låt H = {a + bi + cj + dk : a, b, c, d ∈ R} vara kvarterionerna. Addition definieras

(23)

Multiplikation definieras genom att expandera (a + bi + cj + dk)(a0+ b0i + c0j + d0k)med den distrubutiva lagen och använda relationerna

i2= j2= k2= −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 0F och 1F för att istället använda 0 och 1.

Exempel 2.25. Zp där p är ett primtal är en kropp. Vi identifierar Zp med Fp, kroppen med p stycken element. Vi noterar även att följande sats är applicerar-bar på Zp.

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 6= 0. Med kancellering så har vi att avbildningen x 7→ 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ående 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 endast 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, I1⊆ I2⊆ I3⊆ . . . finns m ∈ Z, Ik = Im∀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

(24)

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 = hq(x)i är maximalt. Det är inte säkert att exempelvis integri-tetsområdet Z[x]/hq(x)i ä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= xp+ ypoch (xy)p= xpyp, 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 krop-par av karakteristik 6. Antag att (F, +, ∗) är en kropp med 6 element. Då är (F, +)en abelsk grupp. Eftersom Z6är den enda abelska gruppen med 6 element så måste (F, +) vara Z6. 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 opera-torer 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 Fp.

(25)

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 x2− 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 alge-braiskt 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]/hp(x)i. Låt θ = x + hp(x)i ∈ K. Då är elementen

(26)

en bas för K som ett vektorrum över F , så graden av utvidgningen är n, [K : F ] = n. Således är

K = {a0+ a1θ + a2θ2+ · · · + an−1θn−1: a0, a1, . . . , an−1∈ F } som består av alla polynom i θ av grad < n.

Exempel 2.29. [3] Det irreducibla polynomet x2

+ 1 ∈ R[x] ger upphov till kroppen R[x]/hx2+ 1i. Detta är en utvidgning av grad 2 i R i vilken x2+ 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 = 0alltså 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]/hx2

+ 1i = {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) c2+d2 = ac+db c2+d2 + i bc−ad c2+d2 = e + f i, e, f ∈ Q. Vi

ser alltså att på samma sätt som Q är en fraktionskropp till Z, Q = {a b : a, b ∈ Z, b 6= 0} så är Q[x]/hx2+ 1i = {ab : a, b ∈ G, b 6= 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 (α) = hαi beteckna underkroppen till K genererad över F av α. Då är

F (α) ∼= F [x]/hp(x)i. Det gäller även att

F (α) = {a0+ a1α + a2α2+ · · · + an−1αn−1: a0, a1, . . . , an−1∈ F } ⊆ K. Det följer att om Fputvidgas så får vi Fpn.

Exempel 2.31. Kvotringen F2[x]/hx2+ x + 1i = F4är en kropp ty x2+ x + 1är irreducibelt i F2[x]. Låt α vara en rot till x2+ x + 1, α1= α, α2= −(α + 1) = α + 1ty α2+ α + 1 = 0 och addition och subtraktion är desamma i en kropp av karakteristik 2, α3 = 1 ty α(α + 1) = α2+ α = 2α + 1 = 1så elementen i F2[x]/(x2+ x + 1) är 0, 1, α, α + 1.

Nedan följer additions- och multiplikationstabell för F4. Vi känner igen ad-ditionen som V4från Exempel 2.3. Vi ser även att F×4 ∼= C3.

(27)

+ 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 Fp 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 krop-pen F8genererad med det irreducibla polynomet p(x) = x3+ x + 1. Additions-matrisen är samma oavsett genererande polynom. MultiplikationsAdditions-matrisen blir dock olika för olika polynom. Det gäller att den ena är en permutation av den andra.

(28)

+ 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

(29)

Exempel 2.33. Nedan följer additions- och multiplikationsmatriserna för F9= F3[x]/hx2+ x + 2i. + 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 = C8= {α0, . . . , α8} = {1, α, 2α + 1, 2α + 2, 2, 2α, α + 2, 1 + α}.

(30)
(31)

Geometri

Följande kapitel kommer att behandla affin och projektiv geometri. Affin geo-metri ä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. Den-na sats är nödvändig för gruppoperatorn som vi seDen-nare 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

Fn= {(a1, . . . , an) : a1, a2, . . . , an∈ F }. Vi kallar F1= F den affina linjen och F2det affina planet. Läsaren har arbetat i Rn samt Cn inom linjära algebra.

Exempel 3.1. Hörnen på en hyperkub i n dimensioner är Fn

2. Det kan ses som grafen med hörn i (x1, . . . , xn), xi ∈ F2 och det är en kant mellan hörnen (x1, . . . , xn)och (y1, . . . , yn)om givet i0så gäller xi= yi och xi0 6= yi0, ∀ i, 1 ≤

i ≤ n, i 6= i0.

Vi kommer att arbeta mest i planen F2

q, q = pm, pprimtal , m ∈ Z+.

(32)

Definition 3.2. Låt F vara en kropp, och låt f1, . . . , fsvara polynom i F [x1, . . . , xn]. Då definieras mängden

V(f1, . . . , fs) = {(a1, . . . , an) ∈ Fn: fi(a1, . . . , an) = 0, ∀1 ≤ i ≤ s}. Vi kallar V(f1, . . . , fs)den affina varieteten definierad av f1, . . . , fs.

Så om I är ett ideal till F [x1, . . . , xn]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(h0i) är det hela affina rummet Fn. Detta då h0i endast består av nollpolynom, f ∈ Fn[x

1, . . . , xn] så f(a1, . . . , an) = 0 ∀(a1, . . . , an) ∈ Fn.

Definition 3.3. Låt V ⊆ Fn vara en affin varietet. Då sätter vi I(V ) = {f ∈ F [x1, . . . , xn] : f (a1, . . . , an) = 0, ∀(a1, . . . , an) ∈ V }. Sats 3.1. [5] Om V ⊆ Fn är en affin varietet, då är I(V ) ⊆ F [x

1, . . . , xn] 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(hfi) en affin kurva. Vi definierar alltså en kurva som en varietet bestående av nollställen till ett principal ideal i F [x, y].

Exempel 3.2. Låt f = x2 − y ∈ F

3/hα2+ α + 2i. Vi finner att V(hfi) = {(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 = h(x + 1), (y + 1)i ⊂ 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 = h1(x + 1) + h2(y + 1) + r där h1, h2 ∈ R[x, y] och r ∈ R. Detta då om f är ett monomial, ett polynom med endast 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 h1(x + 1) + h2(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(f1, . . . , fs))behöver inte vara samma som hf1, . . . , fni. Ett exempel är J = hx2, y2i. Det gäller att V(J) = {(0, 0)} = V(hxn, yni), speciellt så är {(0, 0)} = V(hx, yi). Det gäller att I({0, 0)}) = hx, yi. Det gäller även att J ⊂ hx, yiså I(V(J)) 6= J. En naturlig fråga som uppkommer är när de är desamma.

(33)

x y 1 2 3 4 (8) −1 (7) −2 (6) −3 (5) −4 1 2 3 4 (8) −1 (7) −2 (6) −3 (5) −4 Figur 3.1: x2= y över F 3[x]/hx2+ x + 2i = F9

(34)

(−1, −1)

x y

Figur 3.2: V = V(h(x + 1), (y + 1)i) = {(−1, −1)}, i blått V1 = V(hx + 1i), i rött V2= V(hy + 1i), V1∩ V2= V, V1∪ V2= V3= V(hxy + x + y + 1i) Definition 3.5. Låt V vara en affin varietet. V säges vara reducibel om V = V1∪ V2, där V1, V2 är affina varieter och V16= V, V26= V. Annars säges V vara irreducibel.

Exempel 3.4. Betrakta f1 = x + 1, f2 = y + 1 ∈ R[x, y] som genererar V1 = V(hf1i) = {(−1, a) : a ∈ R} och V2 = V(hf2i) = {(a, −1) : a ∈ R}. Låt V3 = V(h(x + 1)(y + 1)i) = {(a, b) : a, b ∈ R, a = −1 eller b = −1}. Det är tämligen enkelt att se att V3= V1∪ V2 så V3 är reducibel. Se Figur 3.2. Sats 3.2. [5] Låt V vara en affin varietet. Då är V irreducibel om och endast 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 [x1, . . . , xn]. Dessutom så definierar avbildningarna I och V inversa bijektioner

{affina algebraiska mänder}I V

{radikala ideal}.

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 = x2+ x + x2y + xy2+ 1 ∈ F2[x, y]och I = hfi. 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 ) = F2[x, y]. Det

(35)

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 6= F2[x, y]noterar vi att x /∈ I. Ytterligare ett exempel på varför kroppen måste vara sluten är hx2

+ 1i ⊂ R[x]. Definition 3.6. Låt V ⊆ Fn vara en affin varietet. Då kallas kvotringen Fn/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 + hfi, y = y + hf i så gäller det att x, y : C 7→ 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) ∈ F3. Det projektiva planet F P2= {ekvivalensklasser [X : Y : Z]} = (F3\ {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 P2en linje i F3genom origo.

Definition 3.8. En linje i F P2ä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 P2 med Z = 0 motsvarar kvoter [X : Y : 0], dessa punkter bildar linjen som är F P1 ∼= F ∪ {∞}kallat ideella linjenalternativt 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 F2. 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 Ux, Uy, Uz betecknar mängderna där Uz = {[X : Y : Z] : Z 6= 0} = {(X Z, Y Z, 1)}så Uz ∼= F 2och på liknande sätt för U x, Uy. Vi har att F P2=

(36)

Figur 3.3: F3P2

Ux∪ Uy∪ Uz = Uz∪ {Z = 0}. Beroende på vilken mängd Ui 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 6= 0 att [X : Y : Z] = [X/Z : Y /Z : 1]som kan identifieras med (x = XZ, y = YZ) ∈ F2. 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) = λdg(X, Y, Z), ∀λ ∈ F×.

Definition 3.10. Låt F vara en kropp och låt f1, . . . , fs ∈ F [x, y, z]vara ho-mogena polynom. Då definieras mängden

V(f1, . . . , fs) = {(x, y, z) ∈ F P2: fi(x, y, z) = 0 ∀1 ≤ i ≤ s}.

Vi kallar V(f1, . . . , fs)den projektiva varieteten i F P2 definierad av f1, . . . , fs. Sats 3.4. [5] Låt V = V(f1, . . . , fs) vara en projektiv varietet. Då kan W = V ∩ Uz identifieras med den affina varieteten V (g1, . . . , gs) ⊂ Fn, där gi(x, y, z) = fi(x, y, z) ∀1 ≤ i ≤ s.

(37)

x z

y

Figur 3.4: RP2 = U

z∪ {Z = 0}. Punkten [1 : 1 : 2] är markerad ⇐⇒ linje x + y + 2z = 0 ∈ R3 . Skärningen med det affina planet R2 ä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) = x3+ 3x3y2+ y4+ 2 ∈ F [x, y]. Vi kan notera att f = 15(x3+ 3x3y2+ y4+ 2). För att homogenisera f kan vi se det som att f ∈ F [x, y, 1] som ger med insättning av Z: Z5((X

Z) 3+ 3(X Z) 3(Y Z) 2+ (Y Z) 4+ (Z2)5) = X3Z2+ 3X3Y2+ Y4Z + Z5= g(X, Y, Z).

Exempel 3.8. Betrakta den projektiva varieteten V = V(X2− Y Z) ⊂ RP2. Vi betraktar skärningen mellan V och Uz som ger den affina V(x2− y) ⊂ R2. Vi kan även betrakta den affina varieteten som ges av V ∩ UX, (y = YX, z = XZ), som är V(1 − yz) ⊂ R2.

För att gå från en affin varietet till en projektiv räcker det ibland att homo-genisera 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(hgi) = {p ∈ F P2 : 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 F3 så det kan vara svårt att visualisera sig kurvan. Det som görs är att vi betraktar Uzoch sedan vid behov punkterna vid oändligheten.

(38)

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 fi ∈ I, där fi är de homogena komponeterna till f.

Exempel 3.9. Låt I = hy − x2i. De homogena komponenterna till f = y − x2 är f1= ysamt f2= −x2. Det gäller att f1, f2∈ I/ då ingen av de är en multipel av y − x2och 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 = hf1, . . . , fsi där fi ä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) 6= ∅ är en projektiv varietet i F P2 så gäller det att

I(V(I)) = rad I. För att sammanfatta: af f int projektivt f (x, y) g(X, Y, Z) homogent C = {p : f (p) = 0, p ∈ F2} C = {p : g(p) = 0, p ∈ F P2} V(f ) V(g)

hf iideal till F [x, y] hgihomogent 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 koordinatfunk-tionerna. Detta på grund av att ett icke-konstant element p är ju faktiskt en linje i F3, 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 = a0xl+ · · · + al, a06= 0,

(39)

Då är Sylvestermatrisen av f och g med avsende på x, betecknad Syl(f, g, x), följande matris Syl(f, g, x) =                    a0 a1 a0 a2 a1 ... ... ... a0 ... a1 al al ... ... al | {z } m kolumner b0 b1 b0 b2 b1 ... ... ... b0 ... b1 bm bm ... ... bm                    | {z } l kolumner .

Vi definierar även resultanten av f och g med avseende på x, betecknat Res(f, g, x) som:

Res(f, g, x) = det(Syl(f, g, x)).

Exempel 3.10. 1. Polynomen f = x2+ x och g = x + 2 ger upphov till Syl(f, g, x) =   1 1 0 1 2 1 0 0 2 

. Vi finner att Res(f, g, x) = 2.

2. Om vi låter f = xy−1, g = x2+y2−4och betraktar dem som polynom i x, alltså i kroppen F (y)[x], så finner vi Res(f, g, x) = det

  y 0 1 −1 y 0 0 −1 y2− 4  = y4− 4y2+ 1.

Hur många skärningspunkter har y = x2 och x = c? En vid (c, c2). Vad händer om vi går över till det projektiva planet och betraktar skärningspunk-terna mellan Y Z = X2 och X = cZ? Vi löser ut X och får då Y Z = c2Z2. Lösningarna blir då [X : Y : Z] = [0 : 1 : 0] eller [c : c2 : 1]. Detta är samma som innan samt en skärning vid oändligheten.

Vi har även att Res(Y Z − X2, cZ − X, Z) = det 

Y c

−X2 −X



= (cX2− XY ) = X1(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:

(40)

Sats 3.7. [5], [6] Bezouts sats

Låt C = V(hgi) och D = V(hhi) vara två planprojektiva kurvor över F P2av 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−r2= 0som projektivt är (x − az)2+ (y − bz)2− r2z2. 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 RP2? Punkterna vid oändligheten finns inte och således skär cirklarna varandra i högst 2 punkter.

(41)

Elliptiska kurvor

Elliptiska kurvor är en typ av kurvor som redan innan deras bruk inom kryp-tografi 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 Y2Z + a

1XY Z + a3Y Z2= X3+ a2X2Z + a4XZ2+ a6Z3 betecknat E.

Affint är kurvan y2+ a

1xy + a3y = x3+ a2x2+ a4x + a6 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 ∆ 6= 0som kan skrivas som

b2= a214a2, b4= 2a4+ a1a3, b6= a23+ 4a6, b8= a21a6+ 4a2a6− a1a3a4+ a2a23− a 2 4, ∆ = −b22b8− 8b34− 27b 2 6+ 9b2b4b6.

Det gäller även att varje elliptisk kurva över en kropp av karakteristik > 3 eller 0 kan sättas i (Weierstrass) normalformen

E : Y2Z = X3+ aXZ2+ bZ3. Den affina formen är

y2= x3+ ax + b

(42)

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 = X3och således att X = 0 så Y är den enda fria koordinaten. Att den inte ska vara singulär kan även nu skrivas med diskriminanten

∆ = −16(4a3+ 27b2) 6= 0.

En elliptisk kurva över R har två huvudsakliga utseenden, se Figur 4.1 och 4.2. Utseendet beror på om determinanten är positiv eller negativ.

y2= x3− 4x + 1

x y

Figur 4.1: y2= x3− 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 Qsom 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= a2. I andra kroppar så är det lite svårare att hitta speglingen men från Exempel 2.33 så ser vi i F9 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 :

(43)

31

x y

Figur 4.2: y2= x3− x + 1över R 2. Identiteten är Id= 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 ⊕ Rger 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 : y2= x3−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 = 35x+115. Detta ger 35x + 1152 = x3−4x+1 ⇐⇒ 0 = x3 3 5x + 11 5 2 − 4x+1 = x39 25x 2166 25x− 96 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 

= (−1625,227125). Spegling i x-axeln ger R = (−1625, −227125).Vi kan se att det stämmer med resultanten och Bezouts sats Res(z3− 4xz2− y2z + x3, 11/5z + 3/5x − y, z) = (4x − 3y)(x + 2y)(−227

125x − 16 25y).

(44)

0 20 40 60 80 100 120 140 0 20 40 60 80 100 120 140 Figur 4.3: y2= x3+ 4xöver F 125

(45)

y2= x3− 4x + 1 P Q R ¯ R 2P = O x y

Figur 4.4: Gruppopperatorn för en elliptisk kurva

y2= x3− 4x + 1 P Q R P ⊕ Q Q ⊕ R P ⊕ Q ⊕ R x y

(46)

Exempel 4.2. Betrakta den elliptiska kurvan E : y2= x3− 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å 2ydy

dx = 3x

2− 4, som borde vara bekant från en kurs i flervariabel analys. Så dy

dx = 3x2−4

2y . I punkten P har vi således λ =

3∗(−2)2−4

2∗1 =

8

2 = 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

= x3− 4x + 1 ⇐⇒ 0 = x3− 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 = (x1, y1), Q = (x2, y2), 5. Om x1= x2 och y16= y2, då P ⊕ Q = O, 6. Annars låt λ = ( y2−y1 x2−x1 P 6= Q 3x2 1+a 2y1 P = Q och låt x3= λ2− x1− x2 och y3= λ(x1− x3) − y1. Då är P ⊕ Q = (x3, y3).

Bevis. Använd koordinater.

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) 7→ (x, −y − a1− a3).

Sats 4.3. [2] Låt E vara en elliptiska kurva över kroppen F på formen y2+ a1xy + a3y = x3+ a2x2+ a4x + a6.

(47)

1. Om x1= x2 och y1+ y2+ a1x2+ a3= 0, då är P1⊕ P2= O, 2. Om x16= x2 definiera λ = xy2−y1 2−x1 och ν = y1x2−y2x1 x2−x1 , 3. Om x1= x2 definiera λ = 3x2 1+2a2+a4−a1y1 2y1+a1x1+a3 och ν = −x3 1+a4x1+2a6−a3y1 2y1+a1x1+a3 , 4. P3= P1⊕ P2= (λ2+ a1λ − a2− x1− x2, −(λ + a1)x3− ν − a3).

Det kan vara intressant att veta hur många rationella punkter en elliptisk kurva har. Följande sats ger en undre och övre gräns.

Sats 4.4. [2] Hasse-Weil

Låt E vara en elliptisk kurva över Fq och låt #E beteckna antalet rationella punkter. Då gäller att

|#E − (q + 1)| ≤ 2√q.

Det gäller alltså att antalet punkter på kurvan växer i samma storleksordning som antalet punkter på kroppen. Det gör att om en kurva med många punkter söks så krävs en kropp med många punkter.

Exempel 4.3. Den elliptiska kurvan y2= x3+ x + 1över F25 är {(0, 1), (0, 4), (1, 19), (1, 11), (5, 19), (5, 11), (23, 18), (23, 12), (17, 23), (17, 7), (24, 19), (24, 11), (2, 1), (2, 4), (9, 10), (9, 15), (4, 2), (4, 3), (20, 2), (20, 3), (6, 2), (6, 3), (3, 1), (3, 4), (14, 9), (14, 21), O}. Vi ser även att |27 − 26| = 1 ≤ 10 = 2√25så vi har inte funnit ett motexempel till Hasse-Weils sats. Vi har att (5, 19) ⊕ (5, 19) ⊕ (5, 19) ⊕ (5, 19) ⊕ (5, 19) ⊕ (5, 19) ⊕ (5, 19) ⊕ (5, 19) ⊕ (5, 19) = O, så ordningen av (5,19) är 9. Då (5, 19) ⊕ (5, 19) ⊕ (5, 19) = (2, 4) så finner vi att ordningen av (2,4) är 3.

Definition 4.3. Låt C vara en kurva. P ∈ C säges vara en inflexionspunkt om P är en icke-singulär punkt där tangentlinjen har 3 eller fler skärningar med C. Sats 4.5. [7] Låt C = hf i vara en kurva. Inflexionspunkterna är dess icke-singulära punkter som skär kurvan

H = |C| = 0.

Där |C(x)| är determinaten av hessian matrisen ∂2C ∂Xi∂Xj



0≤i,j≤2

, X0= X, X1= Y, X2= Z. Denna kurva kallas Hessianen av C.

Exempel 4.4. I normalform så har vi E(X, Y, Z) = Y2Z − X3− aXZ2− bZ3= 0. Vi finner att H = det

  −6X 0 −2aZ 0 4Z 2y −2aZ 2Y −6bZ 

. Det följer att O samt de

punkter där Y

(48)

Definition 4.4. Låt E vara en elliptisk kurva och låt b2och b4vara som i Sats 4.1. Vi definierar då j-invarianten, j, som

j = (b22− 24b4)3/∆.

Det visar sig även att om E är en elliptisk kurva på normalform så gäller det att j = −1728(4a)2/∆.

Sats 4.6. [8] Låt E1 och E2 vara elliptiska kurvor över den slutna kroppen F . E1 och E2 har samma j-invariant ⇐⇒ det finns ett linjärt variabelbyte mellan dem på formen

(x, y) = (u2x0+ r, u3y0+ u2sx0+ t)

med u, r, s, t ∈ F, u 6= 0. Om kurvorna är på normalform är bytet av variabler på formen

(x, y) = (u2x0, u3y0).

Kurvorna säges vara ekvivalenta då de har samma j-invariant.

Exempel 4.5. Betrakta de elliptiska kurvorna E1 : y2 = x3 + 3x + 2, E2 : y2 = x3+ 3x + 3 över F

5. Vi har för de båda kurvorna att ∆ = 1. Då det är samma värde på a för de båda kurvorna finner vi att j1 = j2 = 3 då vi är i kroppen F5. Vi har att E1 = {(1, 1), (1, 4), (2, 1), (2, 4), O} och E2 = {(3, 3), (3, 2), (4, 3), (4, 2), O}. För att gå från E1 till E2 använder vi u = 3. För att gå åt andra hållet använder vi u−1= 2.

(49)

Diffie-Hellman för elliptiska

kurvor

Som nämnts i inledningen är Diffie-Hellman en metod för att bestämma en gemensam nyckel över en osäker kommunikationslinje. Detta kapitel kommer gå igenom hur ett nyckelutbyte sker samt undersöka om det går att säga vilka elliptiska kurvor som lämpar sig bra för tillämpningar beroende på vilken kropp kurvan är över. Beräkningar utförs i MATLAB medan information är hämtat från [2].

5.1

Diffie-Hellman

Diffie-Hellmans nyckelutbyte ger ett sätt att kunna bestämma en gemensam nyckel som sedan kan användas i ett symmetriskt krypteringssystem. Ett sym-metriskt krypteringssystem är ett system där det är samma nyckel som krypterar som låser upp. Det enklaste exemplet är ett Ceasarchiffer där alla bokstäver i alfabetet förskjuts n steg. För att avkryptera är det bara att skjuta tillbaka alla bokstäver n steg. Ett asymmetriskt krypteringsprotokoll går ut på att det är olika nycklar för att kryptera och avkryptera. En liknelse är ett hånglås. Det är allmänt känt hur ett hänglås låses men nyckeln som krävs för att låsa upp är hemlig. Det går även att ha flera lås till samma nyckel. Ett exempel är RSA-kryptering.

Fördelar med symmetriska protokoll är att nyckelstorleken är mindre än för ett asymmetriskt protokoll. Nackdelen är att det kan vara svårt att bestämma den gemensamma nyckeln över en osäker kommunikationslinje. Det är här Diffie-Hellman kommer in i bilden.

(50)

Säg att det är tre aktörer A,B och C. A och B vill kunna kommunicera även om C lyssnar. För att bestämma en nyckel med Diffie-Hellman så bestämmer A och B en elliptisk kurva E och en punkt P på kurvan. Detta sker så att C vet om vilken kurva och punkt det handlar om. I verkligheten är det svårt att veta vilka kurvor som är bra så det finns redan etablerade kurvor som används i standarder. Sedan bestämmer A och B varsitt hemligt tal nA samt nB. De beräknar sedan nAP = QA och nBP = QB. De skickar sedan QA och QB till varandra och det är här C kan avlyssna. A beräknar nAQB = nAnBP = H och B beräknar nBQA= nBnAP = H. Då operatorn är abelsk blir det samma punkt H som kan användas som nyckel i ett symmetriskt krypteringsprotokoll. Det räcker att använda x-koordinaten till H då y-koordinaten knappt ger någon ny information, det finns ju som mest 2 y-värden till varje x. Informationen som den lyssnande aktörer C är given är P, QA, QB och QA⊕ QB = (nA+ nB)P 6= nAnBP. A A,B och C B nA E, P nB nA, nAP = QA E, P nB, nBP = QB nA E, P, QA, QB nB nA, nAQB = H P, E , QA, QB nB, nBQA= H

Tabell 5.1: Vem som känner till vilken information i varje tidssteg.

Exempel 5.1. Med den elliptiska kurvan y2 = x3+ x + 1 över F125 och P = (25, 109)med ordning 54. Med nA= 10, nB = 16 fås QA= (34, 26) och QB = (57, 109). Vi finner även att H = 16QA = 10QB = 160P = 52P = (79, 82). Observera att varken A eller B känner till att H = 160P som då ordningen av Pär 54 är kongruent med 52P . Det gäller som tur att QA⊕QB = 26P = (39, 43). För att detta protokoll ska vara säkert måste nAoch nB förbli hemliga. För C att lista ut vad nA är givet att nAP = QA kallas för det diskreta problemet för elliptiska kurvor. Det krävs som mest nA stycken ⊕ operationer för att lösa problemet. Än så länge är det lika många operationer som det krävs för A att beräkna QA så därför inför vi:

Definition 5.1. Låt E vara en elliptisk kurva och P ∈ E. Givet n ≥ 1 så är dubbla och addera algoritmen:

(51)

2.Medan n > 0 :

3.Om n ≡ 1 mod 2, sätt R = R ⊕ P . 4.Sätt P = P ⊕ P och n = bn/2c. 5.Om n > 0 gå till 2.

6.Returnera R = nP .

Algoritmen använder att n ∈ Z+ kan skrivas på formen n = a

020+ a121+ · · · + am2m, ai = {0, 1}. Denna algoritm liknar kvadrera och multiplicera som används för att beräkna gn mod p som läsaren känner igen sedan innan. Vi har alltså nu en metod som kräver färre operationer än vad som krävs för att naivt knäcka det diskreta problemet. I värsta fall om n = 2k− 1så krävs det 2k operationer, k dubbleringar och k additioner. Men hur är det om någon smart försöker knäcka det diskreta problemet?

Den snabbaste kända algoritmen för att lösa det diskreta problemet för el-liptiska kurvor över Fpm tar O(

p) steg [2]. Det gäller alltså att om säkrare kryptering önskas så krävs en elliptisk kurva över en större kropp.

Kroppar över F2m har binära egenskaper som lämpar sig för beräkning med

datorer. Standardkurvor är ofta kurvor på formen y2= x3− 3x + böver F p, y2+ xy = x3+x2+böver F

2meller Koblitzkurvor på formen y2+xy = x3+ax2+1, a ∈

F2dessa också över F2m [9]. Det finns även kurvor som Curve25519 som är y2=

x3+486662x2+x, en Montgomerykurva över F

p2, p = 2255−19,med genererande

punkt x = 9 vars ordning är 2252+ 27742317777372353535851937790883648493 [10].

En nackdel med Diffie-Hellman är att protokollet kan utsättas för man-in-the-middleattacker. Alltså om QAoch QBinte kommer fram till B respektive A för att C utför en attack så kan C agera som motpart med nC. Det kommer då att skapas två nycklar, HAC och HBC, som används för att skicka meddelande via C som C antingen enbart lyssnar på eller manipulerar. Detta kan undvikas genom signering av meddelandena, QA och QB. Detta går enkelt att göra med RSA men det finns metoder som bygger på elliptiska kurvor kallat ECDSA.

Skulle läsaren vilja kolla upp vilket protokoll webläsaren eller mejlen

använ-der så står det ofta något i stil med TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384, där vi först har elliptisk Diffie-Hellman med RSA som verifiering. Sen är det

vilket kryperingssystem som används och sist är SHA en hash algoritm som trunkerar meddelanden för att verifiera att meddelandet inte ändrats.

5.2

Undersökning

Här undersöks om det finns något tydligt samband mellan en elliptisk kurvas antal punkter, största ordningen på ett element på den här kurvan och antalet element i den underliggande kroppen. Vi kommer undersöka kurvor på formen

(52)

y2 = x3+ ax + b då kurvan är över F

p, om karakteristiken är > 3 betraktas kurvan på normal form och a, b ∈ Fp, annars betraktas kurvan på Weierstrass form med ai ∈ Fp.Den minsta ordningen av en punkt är 1 för O men den räknar vi inte med.

pm kurva punkter medel största minsta

79 y2= x3+ x + 6 97 97 97 97 79 y2= x3+ x + 2 64 21,7 32 2 81 y2= x3+ x2+ 1 96 13,5 24 2 81 y2+ xy = x3+ 2x2+ 2x 63 6,9 8 2 83 y2= x3+ x + 23 100 58,9 100 2 83 y2= x3+ x + 33 68 44,8 68 2

Tabell 5.2: Kurvor med ungefär 80 element i den underliggande kroppen.

pm kurva punkter medel största minsta

121 y2= x3+ 2x 144 9,6 12 2 121 y2= x3+ x + 3 108 12,2 18 2 125 y2= x3+ x + 2 148 99,8 148 2 125 y2= x3+ 4x 104 35,0 52 2 127 y2= x3+ x + 33 150 73,4 150 2 127 y2= x3+ x + 12 106 78,8 106 2 128 y2+ y = x3+ x2+ x 145 118,6 145 5 128 y2+ y + x3+ x2+ x + 1 113 113 113 113 Tabell 5.3: Kurvor med ungefär 125 element i den underliggande kroppen.

pm kurva punkter medel största minsta

167 y2= x3+ x + 18 192 50,1 96 2 167 y2= x3+ x + 1 144 72,8 144 2 169 y2= x3+ x + 4 196 12,1 14 2 169 y2= x3+ x 160 24.2 40 2 173 y2= x3+ x 198 103.1 198 2 173 y2= x3+ x 148 63,5 74 2

(53)

pm kurva punkter medel största minsta

241 y2= x3+ x + 9 270 43,8 90 2

241 y2= x3+ x + 23 216 37,4 72 2

243 y2= x3+ 2x + 2 271 271 271 271

243 y2= x3+ 2x + 1 217 185,3 217 7

Tabell 5.5: Kurvor med ungefär 245 element i den underliggande kroppen. Vi ser inget tydligt samband mellan antalet punkter i den underliggande kroppen och ordningen av element på en elliptisk kurva. Det intressantaste är då antalet punkter på kurvan är ett primtal, då är ordningen av alla punkter lika vilket följer från Sats 2.1. Då finns det inget sämsta element, i bemärkelsen att en liten ordning skulle gör att det är färre punkter som nP kan anta och således lättare att gissa, om punkten P väljes slumpmässigt medan de flesta andra undersökta kurvor har ett affint element av ordning 2, som om det slumpmässigt skulle väljas vore dåligt att ha som punkt P . Vi ser även att vissa kurvor är i princip värdelösa för kryptering för att elementet med störst ordning är så låg, relativt sett, se Tabell 5.4, att det diskreta logaritm problemet för elliptiska kurvor går att lösa snabbt.

Slutsatsen som går att dra är att det inte spelar någon roll över vilken kurva den elliptiska kurvan är definierad över för praktiska tillämpningar. Då det beräkningar över en utvidgad kurva är tyngre än för den primära underkroppen så är alltså kurvor över kroppar på formen Fp att föredra. Kroppar på formen F2m är dock undantaget då de har vissa beräkningsmässiga fördelar. Det är inte

enbart enklare att utföra beräkningar i Fp utan ytterliggare en fördel är att behövet av att finna ett irreducibelt polynom elimineras.

Från tabellerna såg vi även att det är stor skillnad i ordningen av punkter, oavsett över vilken kropp kurvan är över. Det är alltså viktigt att testa att punkten P har stor ordning innan någon tillämpning.

5.3

Nästa steg

Vill läsaren förstsätta med elliptiska kurvor så kan andra elliptiska kryptosystem studeras som möjliggör andra saker än att bara byta nycklar, exempelvis digitala signaturer.

Elliptisk Diffie-Hellman som beskrivet i denna rapport är sårbart mot kvant-datorer och kommer att behöva ersättas i framtiden. Det finns metoder som inte är sårbara mot kvantdatorer. En av dessa metoder bygger på supersingulära el-liptiska kurvor. Hyperelliptisk kryptering är ett område som forskas på som verkar lovande men inget är ännu bevisat som skulle klara av en kvantdator.

References

Related documents

Konstruktion med grundvillkor samt 1 % inläckage utanför stomskydd, fukttillskott 4 g/m³, fuktkonvektion 65 g/m² per månad under oktober-mars och 60 % RF i befintlig stomme

Beskriva områden och

Bland både kvinnor och män kunde 2004 konstateras ett sänkt stöd för och ökat motstånd mot Sveriges medlemskap i EU, samt en ökad andel som inte anser sig ha en bestämd åsikt

I Tabell 4 och Tabell 8 visas differensen mellan den skattade minsta styrkan för en simulerad fördelning jämfört med den minsta styrkan för en normalfördelning för olika valda

Det blir även svårt att använda subventioner för att locka konsumenter när hållbarhet är den enda fördelen vilket som inte är en tillräcklig övertygelse för

När punkten P flyttas längs med linjen kommer rektangelns höjd och bredd att förändras.. Bestäm rektangelns

Ibland måste man bara lära sig hur man gör, för att förstå lite senare (när hjärnan fått mer att arbeta med).. Om plana kurvor och parametrisering

De flesta av övningarna har, om inte lösningar, så i varje fall anvisningar till hur uppgiften kan lösas. Ha dock inte för bråt- tom att titta på lösningarna – det är inte så