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
Låt vara ett fält och betrakta en elliptisk kurva i följande specialfall av Weierstrass-form över :
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
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
- 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
- Vridna hessiska kurvor
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 .