Krzywa Jakobianu
W matematyce krzywa Jacobiego jest reprezentacją krzywej eliptycznej różniącej się od zwykłej krzywej zdefiniowanej przez równanie Weierstrassa . Czasami jest używany w kryptografii zamiast formy Weierstrassa, ponieważ może zapewnić obronę przed prostą i różnicową analizą mocy ataki stylistyczne (SPA); rzeczywiście możliwe jest użycie ogólnego wzoru dodawania również do podwojenia punktu na krzywej eliptycznej tej postaci: w ten sposób te dwie operacje stają się nie do odróżnienia od niektórych informacji z kanału bocznego. Krzywa Jacobiego oferuje również szybsze działania arytmetyczne w porównaniu z krzywą Weierstrassa.
Krzywa Jacobiego może być dwojakiego rodzaju: przecięcie Jacobiego , które jest określone przez przecięcie dwóch powierzchni, oraz quartic Jacobiego .
Krzywe eliptyczne: podstawy
Biorąc pod uwagę krzywą eliptyczną, można wykonać pewne „operacje” między jej punktami: na przykład można dodać dwa punkty P i Q , uzyskując punkt P + Q należący do krzywej; mając punkt P na krzywej eliptycznej, można „podwoić” P, czyli znaleźć [2] P = P + P (nawiasy kwadratowe oznaczają [n]P , punkt P dodany n razy), a także znaleźć zaprzeczenie P , to znaczy znaleźć – P . W ten sposób punkty krzywej eliptycznej tworzą grupę . Zauważ, że element tożsamości operacji grupowej nie jest punktem na płaszczyźnie afinicznej, pojawia się tylko we współrzędnych rzutowych: wtedy O = (0: 1: 0) jest „punktem w nieskończoności”, czyli elementem neutralnym w prawo grupowe . Formuły dodawania i podwajania są również przydatne do obliczania [n]P , n -tej wielokrotności punktu P na krzywej eliptycznej: ta operacja jest uważana za najbardziej kryptografia krzywych eliptycznych .
Krzywą eliptyczną E na polu K można zapisać w postaci Weierstrassa y 2 = x 3 + ax + b , gdzie a , b w K . Ważny będzie później punkt rzędu 2 , czyli P na E taki, że [2] P = O i P ≠ O . Jeśli P = ( p , 0) jest punktem na E , to ma rząd 2; bardziej ogólnie punkty rzędu 2 odpowiadają pierwiastkom wielomianu f (x) = x 3 + ax + b .
Od teraz będziemy używać E a,b do oznaczania krzywej eliptycznej z postacią Weierstrassa y 2 = x 3 + ax + b .
Jeśli E a,b jest takie, że wielomian sześcienny x 3 + ax + b ma trzy różne pierwiastki w K i b = 0 , możemy zapisać E a, b w postaci normalnej Legendre'a :
- mi a, b : y 2 = x(x + 1)(x + j)
W tym przypadku mamy trzy punkty rzędu drugiego: (0, 0), (–1, 0), (– j , 0). W tym przypadku używamy notacji E[j] . Zauważ, że j można wyrazić za pomocą a , b .
Definicja: Skrzyżowanie Jacobiego
Krzywą eliptyczną w P 3 ( K ) można przedstawić jako przecięcie dwóch powierzchni czworobocznych :
Możliwe jest zdefiniowanie postaci Jacobiego krzywej eliptycznej jako przecięcia dwóch kwadratów. Niech E a,b będzie krzywą eliptyczną w postaci Weierstrassa, zastosujemy do niej następującą mapę :
zachodzi następujący układ równań :
Krzywa E[j] odpowiada następującemu przecięciu powierzchni w P 3 ( K ):
- .
„Specjalny przypadek”, E[0] , krzywa eliptyczna ma podwójny punkt, a zatem jest pojedyncza .
S1 otrzymujemy stosując do E [j] transformację :
- ψ: E[j] → S1
Prawo grupowe
Dla S1 neutralnym elementem grupy jest punkt (0, 1, 1, 1), czyli obraz O = (0: 1: 0) pod ψ.
Dodawanie i podwajanie
Biorąc pod uwagę P 1 = ( X 1 , Y 1 , Z 1 , T 1 ) i P 2 = ( X 2 , Y 2 , Z 2 , T 2 ), dwa punkty na S1 , współrzędne punktu P 3 = P 1 + P 2 to:
Formuły te są również ważne dla podwojenia: wystarczy mieć P 1 = P 2 . Tak więc dodawanie lub podwajanie punktów w S1 to operacje, które wymagają 16 mnożeń plus jedno pomnożenie przez stałą ( k ).
Możliwe jest również użycie następujących wzorów do podwojenia punktu P 1 i znalezienia P 3 = [2] P 1 :
Korzystając z tych wzorów, aby podwoić punkt, potrzeba 8 mnożeń. Istnieją jednak jeszcze skuteczniejsze „strategie” podwajania, które wymagają tylko 7 mnożeń. W ten sposób możliwe jest potrojenie punktu za pomocą 23 mnożeń; rzeczywiście [3] P 1 można otrzymać dodając P 1 z [2] P 1 kosztem 7 mnożeń dla [2] P 1 i 16 dla P 1 + [2] P 1
Przykład dodawania i podwajania
Niech K = R lub C i rozważ przypadek:
Rozważ punkty i : łatwo sprawdzić, czy P 1 i P 2 należą do S1 (wystarczy zobaczyć, że punkty te spełniają oba równania układ S1 ).
Korzystając z podanych powyżej wzorów dodawania dwóch punktów, współrzędne dla P 3 , gdzie P 3 = P 1 + P 2 są następujące:
Otrzymany punkt to .
Za pomocą podanych powyżej wzorów na podwojenie możliwe jest znalezienie punktu P 3 = [2] P 1 :
Zatem w tym przypadku P 3 = [2] P 1 = (0, 12, –12, 12).
Negacja
Biorąc pod uwagę punkt P 1 = ( X 1 , Y 1 , Z 1 , T 1 ) w S1 , jego negacją jest − P 1 = (− X 1 , Y 1 , Z 1 , T 1 )
Dodawanie i podwajanie we współrzędnych afinicznych
Mając dane dwa punkty afiniczne P 1 = ( x 1 , y 1 , z 1 ) i P 2 = ( x 2 , y 2 , z 2 ), ich suma jest punktem P 3 o współrzędnych:
Wzory te są ważne również dla podwojenia z warunkiem P 1 = P 2 .
Rozszerzone współrzędne
Istnieje inny rodzaj układu współrzędnych, za pomocą którego można przedstawić punkt na przecięciu Jacobiego. Biorąc pod uwagę następującą krzywą eliptyczną w postaci przecięcia Jacobiego:
współrzędne rozszerzone opisują punkt P = (x, y, z) ze zmiennymi X, Y, Z, T, XY, ZT , gdzie:
Czasami te współrzędne są używane, ponieważ są wygodniejsze (pod względem czasu i kosztów) w niektórych określonych sytuacjach. Aby uzyskać więcej informacji na temat operacji opartych na wykorzystaniu tych współrzędnych, zobacz http://hyperelliptic.org/EFD/g1p/auto-jintersect-extended.html
Definicja: kwarc Jacobiego
Krzywą eliptyczną w postaci kwartalnej Jacobiego można otrzymać z krzywej E a, b w postaci Weierstrassa z co najmniej jednym punktem rzędu 2. Następująca transformacja f wysyła każdy punkt E a, b do punktu we współrzędnych Jacobiego, gdzie (X: Y: Z) = (sX: s 2 Y: sZ) .
- fa: mi za, b → jot
Stosując f do E a,b otrzymujemy krzywą w J o postaci:
Gdzie:
- .
są elementami w K . C reprezentuje krzywą eliptyczną w formie kwartalnej Jacobiego we współrzędnych Jacobiego.
Kwartyk Jacobiego we współrzędnych afinicznych
Ogólna postać krzywej kwartalnej Jacobiego we współrzędnych afinicznych to:
- ,
gdzie często zakłada się e = 1.
Prawo grupowe
Neutralnym elementem prawa grupowego C jest punkt rzutowy (0: 1: 1).
Dodawanie i podwajanie we współrzędnych afinicznych
Biorąc pod uwagę dwa punkty afiniczne Displaystyle , ich suma to punkt , takie, że:
Podobnie jak w przypadku przecięć Jacobiego, również w tym przypadku możliwe jest zastosowanie tego wzoru do podwojenia.
Dodawanie i podwajanie we współrzędnych rzutowych
Biorąc pod uwagę dwa punkty P 1 = ( X 1 : Y 1 : Z 1 ) i P 2 = ( X 2 : Y 2 : Z 2 ) w C′ , współrzędne punktu P 3 = ( X 3 : Y 3 : Z 3 ), gdzie P 3 = P 1 + P 2 , są podane w kategoriach P 1 i P 2 wzorami:
Można użyć tego wzoru również do podwojenia, pod warunkiem, że P 2 = P 1 : w ten sposób otrzymuje się punkt P 3 = P 1 + P 1 = [2] P 1 .
Liczba mnożeń wymaganych do dodania dwóch punktów wynosi 13 plus 3 mnożenia przez stałe: w szczególności są dwa mnożenia przez stałą e i jedno przez stałą a .
Istnieją pewne „strategie” zmniejszające liczbę operacji wymaganych do dodawania i podwajania punktów: liczbę mnożeń można zmniejszyć do 11 plus 3 mnożenia przez stałe (więcej szczegółów w rozdziale 3).
Liczbę mnożeń można zmniejszyć, pracując nad stałymi e i d : krzywą eliptyczną w postaci Jacobiego można zmodyfikować, aby mieć mniejszą liczbę operacji dodawania i podwajania. Na przykład, jeśli stała d w C jest znacznie mała, mnożenie przez d można anulować; jednak najlepszą opcją jest zmniejszenie e : jeśli jest małe, pomija się nie tylko jedno, ale dwa mnożenia.
Przykład dodawania i podwajania
Rozważmy krzywą eliptyczną E 4,0 , ma ona punkt P rzędu 2: P = ( p , 0) = (0, 0). Dlatego a = 4, b = p = 0, więc mamy e = 1 i d = 1, a powiązana forma kwartalna Jacobiego to:
Wybór dwóch punktów i , można znaleźć ich sumę P 3 = P 1 + P 2 korzystając z podanych powyżej wzorów na dodawanie:
- .
Więc
- .
otrzymuje się punkt P 4 = [2] P 1 :
Więc
- .
Negacja
Negacją punktu P 1 = ( X 1 : Y 1 : Z 1 ) jest: − P 1 = (− X 1 : Y 1 : Z 1 )
Alternatywne współrzędne kwartyku Jacobiego
Istnieją inne układy współrzędnych, których można użyć do przedstawienia punktu w kwarcu Jacobiego: w niektórych przypadkach są one używane do uzyskiwania szybkich obliczeń. Aby uzyskać więcej informacji na temat kosztu czasu wymaganego w operacjach z tymi współrzędnymi, zobacz http://hyperelliptic.org/EFD/g1p/auto-jquartic.html
Biorąc pod uwagę afiniczny kwartyk Jacobiego
współrzędne XXYZZ zorientowane na podwojenie taki wprowadzają dodatkowy parametr krzywej c spełniający a 2 + c 2 = 1 i reprezentują punkt (x, y) jako (X, XX, Y, Z, ZZ, R) , że:
podwojone spełniającymi współrzędne XYZ , przy tym samym dodatkowym założeniu ( a 2 + c 2 = 1), reprezentują punkt (x, y) z (X, Y, Z) następujące równania:
Używając współrzędnych XXYZZ nie ma dodatkowego założenia i reprezentują one punkt (x, y) jako (X, XX, Y, Z, ZZ) takie, że:
podczas gdy współrzędne XXYZZR reprezentują (x, y) jako (X, XX, Y, Z, ZZ, R) takie, że:
ze współrzędnymi XYZ punkt (x, y) jest określony wzorem (X, Y, Z) , przy czym:
- .
Zobacz też
Aby uzyskać więcej informacji na temat czasu pracy wymaganego w konkretnym przypadku, zobacz Tabela kosztów operacji na krzywych eliptycznych .
Notatki
- Olivier Billet, Marc Joye (2003). „Model Jacobiego krzywej eliptycznej i analizy kanałów bocznych”. Model Jacobiego krzywej eliptycznej i analiza kanału bocznego . Notatki z wykładów z informatyki. Tom. 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). „Zapobieganie SPA / DPA w systemach ECC przy użyciu formularza Jacobi”. Sprzęt kryptograficzny i systemy wbudowane — CHES 2001 . Notatki z wykładów z informatyki. Tom. 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