Jacobian kurva

Inom matematiken är Jacobi -kurvan en representation av en elliptisk kurva som skiljer sig från den vanliga som definieras av Weierstrass-ekvationen . Ibland används den i kryptografi istället för Weierstrass-formen eftersom den kan ge ett försvar mot enkla och SPA-attacker. det är faktiskt möjligt att använda den allmänna additionsformeln också för att fördubbla en punkt på en elliptisk kurva av denna form: på detta sätt blir de två operationerna omöjliga att skilja från viss sidokanalinformation. Jacobi-kurvan erbjuder också snabbare aritmetik jämfört med Weierstrass-kurvan.

Jacobi-kurvan kan vara av två typer: Jacobi-skärningen , som ges av en skärning av två ytor, och Jacobi-kvartiken .

Elliptiska kurvor: Grunderna

Givet en elliptisk kurva är det möjligt att göra några "operationer" mellan dess punkter: till exempel kan man lägga till två punkter P och Q för att erhålla punkten P + Q som hör till kurvan ; givet en punkt P på den elliptiska kurvan är det möjligt att "dubbla" P, det vill säga hitta [2] P = P + P (hakparenteserna används för att indikera [n]P , punkten P läggs till n gånger), och även hitta negationen av P , det betyder hitta – P . På detta sätt bildar punkterna i en elliptisk kurva en grupp . Observera att gruppoperationens identitetselement inte är en punkt på det affina planet, det visas bara i de projektiva koordinaterna: då O = (0: 1: 0) "punkten i oändligheten", det vill säga det neutrala elementet i grupplagen . _ Att lägga till och dubbla formler är också användbara för att beräkna [n]P , den n :e multipeln av en punkt P på en elliptisk kurva: denna operation anses vara den mest i elliptisk kurvkryptografi .

En elliptisk kurva E , över ett fält K kan sättas i Weierstrassformen y 2 = x 3 + ax + b , med a , b i K . Vad som kommer att vara av betydelse senare är ordningspunkt 2 , det vill säga P E så att [2] P = O och P ≠ O . Om P = ( p , 0) är en punkt på E , så har den ordning 2; mer generellt motsvarar ordningspunkterna 2 rötterna av polynomet f(x) = x 3 + ax + b .

Från och med nu kommer vi att använda E a,b för att beteckna den elliptiska kurvan med Weierstrass form y 2 = x 3 + ax + b .

Om E a,b är sådant att det kubiska polynomet x 3 + ax + b har tre distinkta rötter i K och b = 0 kan vi skriva E a,b i Legendre normalform :

E a,b : y2 = x(x + 1)(x + j )

I det här fallet har vi tre ordningspunkter två: (0, 0), (–1, 0), (– j , 0). I det här fallet använder vi notationen E[j] . Observera att j kan uttryckas i termer av a , b .

Definition: Jacobi korsning

En elliptisk kurva i P 3 ( K ) kan representeras som skärningspunkten mellan två kvadratiska ytor :

Det är möjligt att definiera Jacobi-formen av en elliptisk kurva som skärningspunkten mellan två kvadriker. Låt E a,b vara en elliptisk kurva i Weierstrass-formen, vi tillämpar följande karta på den:

Vi ser att följande ekvationssystem gäller:

Kurvan E[j] motsvarar följande skärningspunkt mellan ytor i P 3 ( K ):

.

Det "speciella fallet", E[0] , den elliptiska kurvan har en dubbelpunkt och är därför singularis .

S1 erhålls genom att tillämpa transformationen på E [j ] :

ψ: E[j] S1

Grupprätt

För S1 är det neutrala elementet i gruppen punkten (0, 1, 1, 1), det vill säga bilden av O = (0: 1: 0) under ψ.

Tillägg och fördubbling

Givet P 1 = ( X 1 , Y 1 , Z 1 , T 1 ) och P 2 = ( X 2 , Y 2 , Z 2 , T 2 ), två punkter på S1 , koordinaterna för punkten P 3 = P 1 + P 2 är:

Dessa formler är också giltiga för dubblering: det räcker med att ha P 1 = P 2 . Så att addera eller dubbla poäng i S1 är operationer som båda kräver 16 multiplikationer plus en multiplikation med en konstant ( k ).

Det är också möjligt att använda följande formler för att dubbla punkten P 1 och hitta P 3 = [2] P 1 :

Med dessa formler behövs 8 multiplikationer för att dubbla en poäng. Det finns dock ännu mer effektiva "strategier" för dubblering som bara kräver 7 multiplikationer. På så sätt är det möjligt att tredubbla en punkt med 23 multiplikationer; faktiskt [3] P 1 kan erhållas genom att addera P 1 med [2] P 1 med en kostnad av 7 multiplikationer för [2] P 1 och 16 för P 1 + [2] P 1

Exempel på addition och fördubbling

Låt K = R eller C och betrakta fallet:

Betrakta punkterna och : det är lätt att verifiera att P 1 och P 2 tillhör S1 (det räcker att se att dessa punkter uppfyller båda ekvationerna i systemet S1 ).

Med hjälp av formlerna ovan för att addera två punkter, koordinaterna för P 3 , där P 3 = P 1 + P 2 är:

Den resulterande punkten är .

Med formlerna ovan för fördubbling är det möjligt att hitta punkten P 3 = [2] P 1 :

Så i det här fallet P 3 = [2] P 1 = (0, 12, –12, 12).

Negation

Givet punkten P 1 = ( X 1 , Y 1 , Z 1 , T 1 ) i S1 är dess negation − P 1 = (− X 1 , Y 1 , Z 1 , T 1 )

Addition och dubblering i affina koordinater

Givet två affinpunkter P 1 = ( x 1 , y 1 , z 1 ) och P 2 = ( x 2 , y 2 , z 2 ), är deras summa en punkt P 3 med koordinater:

Dessa formler är giltiga även för dubblering med villkoret P 1 = P 2 .

Utökade koordinater

Det finns ett annat slags koordinatsystem med vilket en punkt i Jacobi-korsningen kan representeras. Med tanke på följande elliptiska kurva i Jacobi-korsningsformen:

de utökade koordinaterna beskriver en punkt P = (x, y, z) med variablerna X, Y, Z, T, XY, ZT , där:

Ibland används dessa koordinater, eftersom de är mer praktiska (i termer av tidskostnad) i vissa specifika situationer. För mer information om operationerna baserade på användningen av dessa koordinater, se http://hyperelliptic.org/EFD/g1p/auto-jintersect-extended.html

Definition: Jacobi quartic

En Jacobi-kvartal av ekvation

En elliptisk kurva i Jacobi-kvartform kan erhållas från kurvan E a,b i Weierstrass-formen med minst en ordningspunkt 2. Följande transformation f skickar varje punkt i E a,b till en punkt i Jacobi-koordinaterna, där (X: Y: Z) = (sX: s2 Y : sZ) .

f: E a,b J

Genom att applicera f E a,b får man en kurva i J av följande form:

var:

.

är element i K . C representerar en elliptisk kurva i Jacobi- kvartformen, i Jacobi-koordinater.

Jacobi-kvartal i affina koordinater

Den allmänna formen av en Jacobi-kvartskurva i affina koordinater är:

,

där ofta e = 1 antas.

Grupprätt

Det neutrala elementet i grupplagen för C är den projektiva punkten (0: 1: 1).

Addition och dubblering i affina koordinater

Givet två affinpunkter och , deras summa är en punkt , så att:

Liksom i Jacobi-korsningarna är det även i detta fall möjligt att använda denna formel för fördubbling också.

Addition och dubblering i projektiva koordinater

Givet två punkter P 1 = ( X 1 : Y 1 : Z 1 ) och P 2 = ( X 2 : Y 2 : Z 2 ) i C′ , koordinaterna för punkten P 3 = ( X 3 : Y 3 : Z ) 3 ), där P 3 = P 1 + P 2 , ges i termer av P 1 och P 2 av formlerna:

Man kan använda denna formel även för dubblering, med villkoret att P 2 = P 1 : på detta sätt erhålls punkten P 3 = P 1 + P 1 = [2] P 1 .

Antalet multiplikationer som krävs för att addera två punkter är 13 plus 3 multiplikationer med konstanter: i synnerhet finns det två multiplikationer med konstanten e och en med konstanten a .

Det finns några "strategier" för att minska de operationer som krävs för att addera och dubbla poäng: antalet multiplikationer kan minskas till 11 plus 3 multiplikationer med konstanter (se avsnitt 3 för mer information).

Antalet multiplikationer kan reduceras genom att arbeta med konstanterna e och d : den elliptiska kurvan i Jacobi-formen kan modifieras för att få ett mindre antal operationer för addering och dubblering. Så, till exempel, om konstanten d i C är signifikant liten, kan multiplikationen med d avbrytas; det bästa alternativet är dock att reducera e : om det är litet försummas inte bara en utan två multiplikationer.

Exempel på addition och fördubbling

Betrakta den elliptiska kurvan E 4,0 , den har en punkt P av ordningen 2: P = ( p , 0) = (0, 0). Därför är a = 4, b = p = 0 så vi har e = 1 och d = 1 och den associerade Jacobi-kvartformen är:

Att välja två punkter och det är möjligt att hitta deras summa P 3 = P 1 + P 2 med hjälp av formlerna för addering ovan:

.

.

erhålls punkten P 4 = [2] P 1 :

.

Negation

Negationen av en punkt P 1 = ( X 1 : Y 1 : Z 1 ) är: − P 1 = (− X 1 : Y 1 : Z 1 )

Alternativa koordinater för Jacobi-kvartalet

Det finns andra koordinatsystem som kan användas för att representera en punkt i en Jacobi-kvartik: de används för att få snabba beräkningar i vissa fall. För mer information om den tidskostnad som krävs i operationerna med dessa koordinater, se http://hyperelliptic.org/EFD/g1p/auto-jquartic.html

Givet en affin Jacobi-kvartik

de fördubblingsorienterade XXYZZ - koordinaterna introducerar en ytterligare kurvparameter c som uppfyller a 2 + c 2 = 1 och de representerar en punkt (x, y) som (X, XX, Y, Z, ZZ, R) , så att:

de fördubblingsorienterade XYZ - koordinaterna , med samma ytterligare antagande ( a 2 + c 2 = 1), representerar en punkt (x, y) med (X, Y, Z) som uppfyller följande ekvationer:

Genom att använda XXYZZ- koordinaterna finns det inget ytterligare antagande, och de representerar en punkt (x, y) som (X, XX, Y, Z, ZZ) så att:

medan XXYZZR-koordinaterna representerar (x, y) som (X, XX, Y, Z, ZZ, R) så att:

med XYZ-koordinaterna ges punkten (x, y) av (X, Y, Z) , med:

.

Se även

För mer information om den löptid som krävs i ett specifikt fall, se Tabell över kostnader för operationer i elliptiska kurvor .

Anteckningar

  •   Olivier Billet, Marc Joye (2003). "Jacobi-modellen av en elliptisk kurva och sidokanalanalys". Jacobi-modellen av en elliptisk kurva och sidokanalanalys . Föreläsningsanteckningar i datavetenskap. Vol. 2643. Springer-Verlag Berlin Heidelberg 2003. s. 34–42. doi : 10.1007/3-540-44828-4_5 . ISBN 978-3-540-40111-7 .
  •   PY Liardet, NP Smart (2001). "Förhindra SPA/DPA i ECC-system med hjälp av Jacobi-formuläret". Kryptografisk hårdvara och inbyggda system — CHES 2001 . Föreläsningsanteckningar i datavetenskap. Vol. 2162. Springer-Verlag Berlin Heidelberg 2001. s. 391–401. doi : 10.1007/3-540-44709-1_32 . ISBN 978-3-540-42521-2 .
  • http://hyperelliptic.org/EFD/index.html

externa länkar