Skręcona krzywa Edwardsa

Skręcona krzywa Edwardsa równania

W geometrii algebraicznej skręcone krzywe Edwardsa to płaskie modele krzywych eliptycznych , uogólnienie krzywych Edwardsa wprowadzone przez Bernsteina , Birknera, Joye, Lange i Petersa w 2008 roku. Zestaw krzywych nosi imię matematyka Harolda M. Edwardsa . Krzywe eliptyczne są ważne w kryptografii klucza publicznego, a skręcone krzywe Edwardsa są sercem schematu podpisu elektronicznego o nazwie EdDSA który oferuje wysoką wydajność przy jednoczesnym uniknięciu problemów z bezpieczeństwem, które pojawiły się w innych schematach podpisu cyfrowego.

Definicja

Każda skręcona krzywa Edwardsa jest skrętem krzywej Edwardsa . Skręcona krzywa Edwardsa mi mi nad polem z jest płaską krzywą afiniczną określoną równaniem:

gdzie są odrębnymi niezerowymi elementami . Szczególny przypadek nieskręcony się do zwykłej krzywej .

Każda skręcona krzywa Edwardsa jest dwuracjonalnie równoważna krzywej eliptycznej w postaci Montgomery'ego i odwrotnie.

Prawo grupowe

Jak dla wszystkich krzywych eliptycznych, także dla skręconej krzywej Edwardsa, pomiędzy jej punktami można wykonać pewne operacje, takie jak dodanie dwóch z nich lub podwojenie (lub potrojenie) jednego. Wynikiem tych operacji są zawsze punkty należące do samej krzywej. W kolejnych podrozdziałach podane są wzory pozwalające uzyskać współrzędne punktu powstałe w wyniku dodania dwóch innych punktów (dodania) lub współrzędne punktu wynikające z podwojenia pojedynczego punktu na krzywej.

Dodatek na skręconych krzywych Edwardsa

Niech będzie polem o charakterystyce różnej od 2. Niech K. i na skręconej krzywej Edwardsa. Równanie skręconej krzywej Edwardsa jest zapisane jako;

mi mi , za , re : za .

) , a , d } na mi jest:

Element neutralny to (0,1), a ujemna z to

Formuły te działają również w przypadku podwojenia. Jeśli a jest kwadratem w i d nie jest kwadratem w , te formuły są kompletne : oznacza to, że można ich używać dla wszystkich par punktów bez wyjątków; więc działają również w przypadku podwojenia, a elementy neutralne i ujemne są akceptowane jako dane wejściowe. [ nieudana weryfikacja ]

Przykład dodawania

Biorąc pod uwagę następującą skręconą krzywą Edwardsa z a = 3 i d = 2:

możliwe jest dodanie punktów i korzystając ze wzoru podanego powyżej. Wynikiem jest punkt P 3 , który ma współrzędne:

Podwojenie na skręconych krzywych Edwardsa

Podwojenie można wykonać za pomocą dokładnie tego samego wzoru co dodawanie. Podwojenie punktu na krzywej E a, d wynosi:

Gdzie

re . Zmniejsza to moc z 4 do 2 i pozwala na bardziej wydajne obliczenia.

Przykład podwojenia

Biorąc pod uwagę tę samą skręconą krzywą Edwardsa podaną w poprzednim przykładzie, przy a = 3 i d = 2, możliwe jest podwojenie punktu . Punkt 2P 1 otrzymany za pomocą powyższego wzoru ma następujące współrzędne:

Łatwo zauważyć, przy pewnych małych obliczeniach, że punkt należy do krzywej .

Rozszerzone współrzędne

Istnieje inny rodzaj układu współrzędnych, za pomocą którego można przedstawić punkt na skręconych krzywych Edwardsa. punkt na jest reprezentowane jako X , Y , Z , T spełniające następujące równania x = X / Z , y = Y / Z , xy = T / Z .

Współrzędne punktu ( X : Y : Z : T ) nazywane są rozszerzonymi skręconymi współrzędnymi Edwardsa . Element tożsamości jest reprezentowany przez (0:1:1:0). Minusem punktu jest (− X : Y : Z :− T ).

Odwrócone skręcone współrzędne Edwardsa

Współrzędne współrzędnymi krzywej _ z ; ten punkt do afinicznego jeden na mi mi , za , re . Bernstein i Lange wprowadzili te odwrócone współrzędne dla przypadku a=1 i zauważyli, że współrzędne te dodatkowo oszczędzają czas.

Rzutowe skręcone współrzędne Edwardsa

Równanie rzutowej skręconej krzywej Edwardsa jest podane jako: Dla Z 1 ≠ 0 punkt (X 1 :Y 1 :Z 1 ) reprezentuje punkt afiniczny ( x 1 = X 1 / Z 1 , y 1 = Y 1 / Z 1 ) na mi mi , za , re .

Wyrażanie krzywej eliptycznej w skręconej postaci Edwardsa oszczędza czas w arytmetyce, nawet jeśli tę samą krzywą można wyrazić w postaci Edwardsa.

Dodatek w rzutowych krzywych skręconych

Dodatek na rzutowej skręconej krzywej Edwardsa jest określony przez

(X 3 : Y 3 : Z 3 ) = ( X 1 : Y 1 : Z 1 ) + (X 2 : Y 2 : Z 2 )

i kosztuje 10 mnożeń + 1 podniesienie do kwadratu + 2 D + 7 dodat ków, gdzie 2 D to jedno pomnożenie przez a i jedno przez d .

Algorytm
A = Z 1 · Z 2 ,
B = A 2
C = X 1 · X 2
D = Y 1 · Y 2
E = dC · D
F = B - mi
G = B + mi
X 3 = A · F((( X 1 + Y 1 ) · (X 2 + Y 2 ) - do - re)
Y 3 = ZA · G · (D - aC)
Z 3 = fa · G

Podwojenie na projekcyjnych skręconych krzywych

Podwojenie rzutowej krzywej skręconej jest podane przez

(X3 : Y3 : Z3 ) = 2(X1 : Y1 : Z1 ) .

Kosztuje to 3 mnożenia + 4 kwadraty + 1 D + 7 dodat ków, gdzie 1 D to mnożenie przez a .

Algorytm
B = (X 1 + Y 1 ) 2
do = X 1 2
re = Y 1 2
mi = aC
fa = mi + re
H = Z 1 2
jot = fa - 2H
x 3 = (b - do - re). jot
Y 3 = fa · (mi - re)
Z 3 = fa · jot

Zobacz też

Notatki

Linki zewnętrzne