Hessisk form av en elliptisk kurva

Inom geometrin är den hessiska kurvan en plan kurva som liknar Descartes folium . Den är uppkallad efter den tyske matematikern Otto Hesse . Denna kurva föreslogs för tillämpning i elliptisk kurvkryptografi , eftersom aritmetik i denna kurvrepresentation är snabbare och kräver mindre minne än aritmetik i standard Weierstrass-form .

Definition

En hessisk kurva med ekvation

Låt vara ett fält och betrakta en elliptisk kurva i följande specialfall av Weierstrass-form över :

där kurvan har diskriminant Då har punkten ordning 3.

För att bevisa att har ordning 3, notera att tangenten till vid är linjen som skär med multiplicitet 3 vid .

Omvänt, givet en punkt av ordningen 3 på en elliptisk kurva båda definierade över ett fält kan man sätta kurvan i Weierstrass-form med så att tangenten vid är linjen . Då är ekvationen för kurvan med .

För att få den hessiska kurvan är det nödvändigt att göra följande transformation :

Låt först beteckna en rot av polynomet

Sedan

Observera att om har ett ändligt ordningsfält så har varje element i en unik kubrot ; i allmänhet i ett förlängningsfält av K .

Genom att nu definiera följande värde erhålls en annan kurva, C, som är birationellt ekvivalent med E:

som kallas kubisk hessisk form (i projektiva koordinater )

i det affina planet (tillfredsställer och .

Dessutom, (annars skulle kurvan vara singular ).

Utgående från den hessiska kurvan ges en birationellt ekvivalent Weierstrass-ekvation av

under omvandlingarna:
och
var:
och

Grupprätt

Det är intressant att analysera grupplagen för den elliptiska kurvan, definiera additions- och dubbleringsformlerna (eftersom SPA- och DPA -attackerna är baserade på körtiden för dessa operationer). Dessutom, i det här fallet behöver vi bara använda samma procedur för att beräkna addition, dubblering eller subtraktion av poäng för att få effektiva resultat, som sagt ovan. I allmänhet definieras grupplagen på följande sätt: om tre punkter ligger på samma linje så summerar de till noll . Så med den här egenskapen är grupplagarna olika för varje kurva.

I det här fallet är det korrekta sättet att använda Cauchy-Desboves formler och erhåller punkten vid oändligheten θ = (1 : −1 : 0), det vill säga det neutrala elementet (inversen av θ är θ igen). Låt P = ( x 1 , y 1 ) vara en punkt på kurvan. Linjen innehåller punkten P och punkten i oändligheten θ . Därför P den tredje punkten i skärningspunkten mellan denna linje och kurvan. Genom att skära den elliptiska kurvan med linjen erhålls följande villkor

Eftersom inte är noll (eftersom D 3 är distinkt från 1), är x -koordinaten för P y 1 och y - koordinaten för P är x 1 , dvs. eller i projektiva koordinater .

I vissa tillämpningar av elliptisk kurvkryptografi och den elliptiska kurvan faktorisering ( ECM ) är det nödvändigt att beräkna skalära multiplikationer av P , säg [ n ] P för något heltal n , och de är baserade på dubbel-och-lägg-metoden ; dessa operationer kräver additions- och dubbleringsformler.

Fördubbling

Nu, om är en punkt på den elliptiska kurvan, är det möjligt att definiera en "dubblering" med Cauchy-Desboves formler:

Tillägg

På samma sätt, för två olika punkter, säg och det är möjligt att definiera additionsformeln. Låt R beteckna summan av dessa punkter, R = P + Q , då ges dess koordinater av:

Algoritmer och exempel

Det finns en algoritm som kan användas för att lägga till två olika punkter eller för att dubbla; den ges av Joye och Quisquater . Sedan ger följande resultat möjligheten att erhålla dubbleringsoperationen genom addition:

Proposition . Låt P = ( X,Y,Z ) vara en punkt på en hessisk elliptisk kurva E ( K ) . Sedan:

 

 

 

 

()

Dessutom har vi ( Z : X : Y ) ≠ ( Y : Z : X ) .

Slutligen, i motsats till andra parametreringar , finns det ingen subtraktion för att beräkna negationen av en punkt. Därför kan denna additionsalgoritm också användas för att subtrahera två punkter P = ( X 1 : Y 1 : Z 1 ) och Q = ( X 2 : Y 2 : Z 2 ) på en hessisk elliptisk kurva:

 

 

 

 

()

Sammanfattningsvis, genom att anpassa ordningen på inmatningarna enligt ekvation (2) eller (3), kan additionsalgoritmen som presenteras ovan användas likgiltigt för: Addera 2 (diff.) punkter, Fördubbla en punkt och subtrahera 2 punkter med endast 12 multiplikationer och 7 hjälpvariabler inklusive de 3 resultatvariablerna. Före uppfinningen av Edwards-kurvor representerar dessa resultat den snabbaste kända metoden för att implementera den elliptiska kurvan skalär multiplikation mot motstånd mot sidokanalattacker .

För vissa algoritmer är skydd mot sidokanalattacker inte nödvändigt. Så för dessa fördubblingar kan vara snabbare. Eftersom det finns många algoritmer ges bara det bästa för additions- och dubbleringsformlerna här, med ett exempel för var och en:

Tillägg

Låt P 1 = ( X 1 : Y 1 : Z 1 ) och P 2 = ( X 2 : Y 2 : Z 2 ) vara två punkter skilda från θ . Om vi ​​antar att Z 1 = Z 2 = 1 så ges algoritmen av:

A = X 1 Y 2

B = Y 1 X 2

X 3 = B Y 1 - Y 2 A
Y 3 = X 1 A - B X 2
Z 3 = Y 2 X 2 - X 1 Y 1

Kostnaden som behövs är 8 multiplikationer och 3 additioner läskostnad för 7 multiplikationer och 3 additioner, beroende på den första punkten.

Exempel

Givet följande punkter i kurvan för d = −1 P 1 = (1:0:−1) och P 2 = (0:−1:1) , så har vi om P 3 = P 1 + P 2 :

X 3 = 0 − 1 = −1
Y 3 = −1−0 = −1
Z 3 = 0 − 0 = 0

Sedan: P 3 = (−1:−1:0)

Fördubbling

Låt P = ( X 1 : Y 1 : Z 1 ) vara en punkt, då ges dubbleringsformeln av:

  • A = X 1 2
  • B = Y 1 2
  • D = A + B
  • G = ( X 1 + Y 1 ) 2 D
  • X 3 = (2 Y 1 G ) × ( X 1 + A + 1)
  • Y 3 = ( G − 2 X 1 ) × ( Y 1 + B + 1)
  • Z 3 = ( X 1 Y 1 ) × ( G + 2 D )

Kostnaden för denna algoritm är tre multiplikationer + tre kvadrater + 11 additioner + 3×2.

Exempel

Om är en punkt över den hessiska kurvan med parametern d = −1 , då är koordinaterna för ges av:

X = (2 . (−1) − 2) (−1 + 1 + 1) = −4

Y = (−4 − 2 . (−1)) ((−1) + 1 + 1) = −2

Z = (−1 − (−1)) ((−4) + 2 . 2) = 0

Det vill säga

Utökade koordinater

Det finns ett annat koordinatsystem med vilket en hessisk kurva kan representeras; dessa nya koordinater kallas utökade koordinater . De kan påskynda tillägget och fördubblingen. För mer information om operationer med de utökade koordinaterna, se:

http://hyperelliptic.org/EFD/g1p/auto-hessian-extended.html#addition-add-20080225-hwcd

och representeras av som uppfyller följande ekvationer:

Se även

externa länkar

Anteckningar

  • Otto Hesse (1844), "Über die Elimination der Variabeln aus drei algebraischen Gleichungen vom zweiten Grade mit zwei Variabeln", Journal für die reine und angewandte Mathematik , 10, s. 68–96
  •   Marc Joye, Jean-Jacques Quisquater (2001). "Hessiska elliptiska kurvor och sidokanalattacker". Kryptografisk hårdvara och inbyggda system — CHES 2001 . Föreläsningsanteckningar i datavetenskap. Vol. 2162. Springer-Verlag Berlin Heidelberg 2001. s. 402–410. doi : 10.1007/3-540-44709-1_33 . ISBN 978-3-540-42521-2 .
  •   NP Smart (2001). "Den hessiska formen av en elliptisk kurva". Kryptografisk hårdvara och inbyggda system — CHES 2001 . Föreläsningsanteckningar i datavetenskap. Vol. 2162. Springer-Verlag Berlin Heidelberg 2001. s. 118–125. doi : 10.1007/3-540-44709-1_11 . ISBN 978-3-540-42521-2 .