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

Kwartał Jacobiego równania

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

Linki zewnętrzne