Skręcona krzywa Edwardsa
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ż
- EdDSA
- Aby uzyskać więcej informacji na temat czasu pracy wymaganego w konkretnym przypadku, zobacz Tabela kosztów operacji na krzywych eliptycznych .
Notatki
- Daniela J. Bernsteina; Marca Joye'a; Tanja Lange; Petera Birknera; Christiane Peters, Twisted Edwards Curves (PDF)
-
Huseyin Hisil, Kenneth Wong, Gary Carter, Ed Dawson. (2008), „Twisted Edwards Curves revisited” , Cryptology ePrint Archive
{{ cytat }}
: CS1 maint: wiele nazwisk: lista autorów ( link )
- Daniel J. Bernstein; Tanja Lange; Petera Birknera; Christiane Peters, ECM przy użyciu krzywych Edwardsa (PDF)