R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 1 / 21 Kompresja punktów na krzywych eliptycznych Robert Dryªo IMPAN II Konferencja Naukowo Przemysªowa KBBS Zielona Góra, 17-18 marzec 2015
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 2 / 21 E : y 2 = x 3 + ax + b krzywa eliptyczna dana równaniem Weierstrassa nad ciaªem F q. E(F q ) grupa punktów F q -wymiernych. element neutralny O = (0 : 1 : 0) (jedyny punkt w niesko«czono±ci na E ) element przeciwny (x, y) = (x, y), dodawanie punktów metod siecznych i stycznych
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 3 / 21 Dodawanie na E : y 2 = x 3 + ax + b. Dla niezerowych punktów P 1 = (x 1, y 1 ), P 2 = (x 2, y 2 ) na E, gdzie P 1 P 2, niech λ = { y2 y1 x 2 x 1, je±li P 1 P 2, 3x1 2 +a 2y 1, je±li P 1 = P 2, Suma P 1 + P 2 ma wspóªrz dne { x 3 = λ 2 x 1 x 2, y 3 = λ(x 1 x 3 ) y 1
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 4 / 21 Na krzywej E : y 2 = x 3 + ax + b mamy (x, y) = (x, y), wi c tak sam wspóªrz dn x maj dokªadnie punkty P i P. Zatem, je±li jest relacj równowa»no±ci na E P Q Q = ±P, to wspóªrz dne x reprezentuj klasy abstrakcji {P, P} wgl dem.
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 4 / 21 Na krzywej E : y 2 = x 3 + ax + b mamy (x, y) = (x, y), wi c tak sam wspóªrz dn x maj dokªadnie punkty P i P. Zatem, je±li jest relacj równowa»no±ci na E P Q Q = ±P, to wspóªrz dne x reprezentuj klasy abstrakcji {P, P} wgl dem. Wówczas mamy indukowane z krzywej E mno»enie na osi x przez liczby caªkowite: dla n Z [n]x = x [n]p, gdzie P = (x, y) jest punktem na E le» cym nad x. Wspóªrz dn x punktu P = (x, y) E traktujemy jako jego kompresj.
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 5 / 21 Algorytm Montgomery ladder pozwala efektywnie obliczy [n]x u»ywaj c tylko wspóªrz dnych x. Wspóªrz dne x wystarcz w pewnych protokoªach; np. w protokole Diego-Hellmana: Wspólnym tajnym kluczem jest [ab]x. A A [a]x [b]x B B
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 6 / 21 Algorytm Montgomery ladder w dowolnej grupie abelowej G. Input: Punkt P G i liczba caªkowita n = (n l,..., n 0 ) 2. Output: [n]p. 1. set P 1 P, P 2 [2]P, 2. for i l 1, l 2,..., 0 do 3. if n i = 1, set P 1 P 1 + P 2, P 2 [2]P 2, 4. if n i = 0, set P 2 P 1 + P 2, P 1 [2]P 1, 5. end for 6. return P 1. W ka»dym kroku powy»szego algorytmu ró»nica P 2 P 1 = P jest staªa.
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 7 / 21 Algorytm Montgomerego stosujemy, aby obliczy [n]x. Niech P 1, P 2 E, P 0 = P 2 P 1 i P 4 = P 1 + P 2. Niech P i = (x i, y i ). Montgomery podaª funkcje wymierne A F q (x, y, z) i D F q (x), takie»e x 4 = A(x 0, x 1, x 2 ), [2]x 1 = D(x 1 )
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 7 / 21 Algorytm Montgomerego stosujemy, aby obliczy [n]x. Niech P 1, P 2 E, P 0 = P 2 P 1 i P 4 = P 1 + P 2. Niech P i = (x i, y i ). Montgomery podaª funkcje wymierne A F q (x, y, z) i D F q (x), takie»e Algorytm Montgomery ladder x 4 = A(x 0, x 1, x 2 ), [2]x 1 = D(x 1 ) Input: x 0 := x P i liczba caªkowita n = (n l,..., n 0 ) 2. Output: [n]x 0. 1. set x 1 x 0, x 2 D(x 1 ), 2. for i l 1, l 2,..., 0 do 3. if n i = 1, set x 1 A(x 0, x 1, x 2 ), x 2 D(x 2 ), 4. if n i = 0, set x 2 A(x 0, x 1, x 2 ), x 1 D(x 1 ), 5. end for 6. return x 1.
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 8 / 21 Krzywe Montgomerego E : by 2 = x 3 + ax 2 + x Niech P 1, P 2 E, P 0 = P 2 P 1, P 3 = P 1 + P 2. We wspóªrz dnych rzutowych P i = (x i : y i : z i ) mamy Je±li P 2 = [2]P 1, to x 4 = z 0 ( (x2 z 2 )(x 1 + z 1 ) + (x 2 + z 2 )(x 1 z 1 ) ) 2 z 4 = x 0 ( (x2 z 2 )(x 1 + z 1 ) (x 2 + z 2 )(x 1 z 1 ) ) 2 x 2 = (x 1 + z 1 ) 2 (x 1 z 1 ) 2 z 2 = 4x 1 z 1 ( (x1 z 1 ) 2 + (a + 2)x 1 z 1 ) Dodawanie i podwajanie wymagaj odpowiednio 4M + 2S i 3M + 2S operacji w F q.
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 8 / 21 Krzywe Montgomerego E : by 2 = x 3 + ax 2 + x Niech P 1, P 2 E, P 0 = P 2 P 1, P 3 = P 1 + P 2. We wspóªrz dnych rzutowych P i = (x i : y i : z i ) mamy Je±li P 2 = [2]P 1, to x 4 = z 0 ( (x2 z 2 )(x 1 + z 1 ) + (x 2 + z 2 )(x 1 z 1 ) ) 2 z 4 = x 0 ( (x2 z 2 )(x 1 + z 1 ) (x 2 + z 2 )(x 1 z 1 ) ) 2 x 2 = (x 1 + z 1 ) 2 (x 1 z 1 ) 2 z 2 = 4x 1 z 1 ( (x1 z 1 ) 2 + (a + 2)x 1 z 1 ) Dodawanie i podwajanie wymagaj odpowiednio 4M + 2S i 3M + 2S operacji w F q. Dodawanie i podwajanie na dowolnej krzywej y 2 = x 2 + ax + b wymagaj 12M + 2S i 7M + 5S.
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 9 / 21 Niech (G 1, +), (G 2, +), (G 3, ) b d grupami. Odwzorowanie e : G 1 G 2 G 3 jest dwuliniowe, je±li jest homomorzmem ze wzgl du na ka»d zmienn, tzn. e(p 1 + P 2, Q) = e(p 1, Q)e(P 2, Q) e(p, Q 1 + Q 2 ) = e(p, Q 1 )e(p, Q 2 ) Iloczyny dwuliniowe pozwalaj otrzyma specyczne protokoªy, m.in., krótkie podpisy i zrealizowa kryptogra opart na to»samo±ci.
Iloczyn dwuliniowy Tate na krzywych eliptycznych E : y 2 = x 3 + ax + b krzywa eliptyczna nad F q, r du»a liczba pierwsza r #E(F q ) E[r] = {P E(F q ) : [r]p = 0} grupa punktów r-torsyjnych na E. Istnieje iloczyn dwuliniowy Tate o warto±ciach w pewnym wi kszym ciele F q k e : E[r] E[r] F, q k gdzie ciaªo F q k = F q (µ r ) jest generowane nad F q przez grup r-tych pierwiastków z jedynki µ r = {ζ F q : ζ r = 1}. Stopie«k nazywamy stopniem zanurzeniowym E wzgl dem r. R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 10 / 21
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 11 / 21 Denicja Iloczynu Tate e r : E[r] E[r] F q k, e r (P, Q) = f r,p (Q) (qk 1)/r, gdzie f r,p jest funkcj wymiern na E, tak»e div(f r,p ) = r(p) r(o).
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 11 / 21 Denicja Iloczynu Tate e r : E[r] E[r] F q k, e r (P, Q) = f r,p (Q) (qk 1)/r, gdzie f r,p jest funkcj wymiern na E, tak»e div(f r,p ) = r(p) r(o). Algortym Millera pozwala wyznaczy funkcj f r,p, wyznaczaj c kolejno funkcje f i,p, takie»e (dla i = r mamy f r,p ). Zachodzi zwi zek div(f i,p ) = i(p) ([i]p) (i 1)(O) f i+j = f i f j g [i]p,[j]p g [i+j]p gdzie g [i]p,[j]p jest prost ª cz c [i]p i [j]p, a g [i+j]p jest prost pionow przechodz c przez [i + j]p. St d iloczyn Tate mo»na obliczy podobnie jak w algorytmie podwajania i dodawania.
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 12 / 21 Algorytm Millera Input: P, Q E[r], r = (r l,..., r 0 ) 2. Output: Iloczyn Tate e(p, Q). 1. f 1, T P 2. for i l 1, l 2,..., 0 do 3. f f 2 g T,T (Q)/g [2]T (Q) and T [2]T 4. if r i = 1 then f f g T,P (Q)/g T +P (Q) and T T + P 5. end if 6. end for 7. return f (qk 1)/r
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 12 / 21 Algorytm Millera Input: P, Q E[r], r = (r l,..., r 0 ) 2. Output: Iloczyn Tate e(p, Q). 1. f 1, T P 2. for i l 1, l 2,..., 0 do 3. f f 2 g T,T (Q)/g [2]T (Q) and T [2]T 4. if r i = 1 then f f g T,P (Q)/g T +P (Q) and T T + P 5. end if 6. end for 7. return f (qk 1)/r Dla pewnych s < r mo»na równie» otrzyma iloczyn dwuliniowy przyjmuj c e s (P, Q) = f s,p (Q) (qk 1)/r. Hess, Smart i Vercauteren wprowadzili iloczyn ate e t 1 (P, Q), gdzie t = q + 1 #E(F q ) jest ±ladem krzywej E. Mamy t 2 q, wi c dla iloczynu ate p tla gªówna w powy»szym algorytmie mo»e by do dwóch razy krótsza ni» dla iloczynu Tate.
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 13 / 21 Je±li znamy tylko wspóªrz dne x P, x Q punktów P, Q E[r], to jako iloczyn dwuliniowy przyjmujemy ē(x P, x Q ) = e(p, Q) + e(p, Q) 1. (nie zale»y od wyboru ±P, ±Q.) Galbraith i Lin podali pierwsz metod obliczenia ē(x P, x Q ) u»ywaj c tylko wspóªrz dnych x. Opiszemy alternatywn podej±cie oparte na krzywych eliptycznych nad pier±cieniami.
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 14 / 21 Dla wspóªrz dnej x P punktu P E(F q ). rozwa»my pier±cie«r = F q [y]/(y 2 (x 2 P + ax P + b)). Niech E(R) b dzie zbiorem punktów nad R speªniej cych równanie E : y 2 = x 3 + ax + b. Wówczas E(R) jest grup izomorczn z (poniewa» R = F q F q ). E(R) = E(F q ) E(F q )
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 14 / 21 Dla wspóªrz dnej x P punktu P E(F q ). rozwa»my pier±cie«r = F q [y]/(y 2 (x 2 P + ax P + b)). Niech E(R) b dzie zbiorem punktów nad R speªniej cych równanie E : y 2 = x 3 + ax + b. Wówczas E(R) jest grup izomorczn z (poniewa» R = F q F q ). E(R) = E(F q ) E(F q ) Punkt P = (x P, ȳ) E(R), gdzie ȳ oznacza klas y w R. Punkty w podgrupie generowanej przez P s postaci [i] P = (x i, y i ȳ), gdzie x i, y i F q. Wówczas punkty [i] P oraz [i]p maj takie same wspóªrz dne x.
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 15 / 21 Mamy nast puj ce wzory na dodawanie i podwajanie w podgrupie < P >: dla (x i, y i y), (x j, y j y) mamy gdzie c = x 3 P + ax P + b. ( yj y x i+j = i ) 2 c x j x i xi x j, y i+j = y j y i x j x i (x i x i+j ) y i. x 2i = ( 3x 2 ) i +a 2 ( 2xi = 1 2 3xi ) +a 2 c 2xi y 2i = ( 1 c 2y i y 2y i 3x 2 i +a 2y i (x i x 2i ) y i ). Dodawanie i podwajanie wymagaj odpowiednio I + 3M + S i I + 4M + S operacji w F q.
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 16 / 21 Niech x P, x Q b d wspóªrz dnymi x punktów P, Q E[r]. Iloczyn Tate ē(x P, y P ) mo»emy obliczy nast puj co. Niech R b dzie pier±cieniem R = F q k [y 1, y 2 ]/(y 2 1 (x 3 P + ax P + b), y 2 2 (x 3 Q + ax Q + b))) Niech P = (x P, ȳ 1 ) i Q = (x Q, ȳ 2 ), gdzie ȳ 1, ȳ 2 s warstwami y 1, y 2 w R. Wówczas P, Q E(R)[n].
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 16 / 21 Niech x P, x Q b d wspóªrz dnymi x punktów P, Q E[r]. Iloczyn Tate ē(x P, y P ) mo»emy obliczy nast puj co. Niech R b dzie pier±cieniem R = F q k [y 1, y 2 ]/(y 2 1 (x 3 P + ax P + b), y 2 2 (x 3 Q + ax Q + b))) Niech P = (x P, ȳ 1 ) i Q = (x Q, ȳ 2 ), gdzie ȳ 1, ȳ 2 s warstwami y 1, y 2 w R. Wówczas P, Q E(R)[n]. Przenosz c algorytm Millera z ciaª na R otrzymujemy funkcje f r, P(x, y) R(x, y), które zadaj iloczyn dwuliniowy nad pier±cieniem R ē :< P > < Q > R, gdzie e([i] P, [j] Q) = f r,[i] P([j] Q) (qk 1)/r. Wówczas ē(x P, x Q ) = e( P, Q) + e( P, Q) 1 Powy»sza metoda jest najbardziej efektywna w sytuacji gdy stopie«zanurzeniowy k jest parzysty. Wówczas mo»emy wykona pot gowanie f r, P( Q) (qk 1)/r w podciele F q k/2.
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 17 / 21 Krzywe eliptyczne Edwardsa E : ax 2 + y 2 = 1 + dx 2 y 2 (wprowadzone do kryptograi przez Bernsteina i Lange). Dodawanie na E dane jest wzorem ( ) x1 y 2 + y 1 x 2 (x 1, y 1 ) + (x 2, y 2 ), y 1y 2 ax 1 x 2. 1 + dx 1 x 2 y 1 y 2 1 dx 1 x 2 y 1 y 2 Element neutralny O = (0, 1), punkt przeciwny (x, y) = ( x, y).
Krzywa Edwardsa ma dwa punkty osobliwe zwykªe krotno±ci 2 w niesko«czono±ci Ω 1 = R. (1 Dryªo : 0 :(IMPAN) 0) i Ω 2 = (0 : 1 Kompresja : 0). na krzywych eliptycznych KBBS 2015 17 / 21 Krzywe eliptyczne Edwardsa E : ax 2 + y 2 = 1 + dx 2 y 2 (wprowadzone do kryptograi przez Bernsteina i Lange). Dodawanie na E dane jest wzorem ( ) x1 y 2 + y 1 x 2 (x 1, y 1 ) + (x 2, y 2 ), y 1y 2 ax 1 x 2. 1 + dx 1 x 2 y 1 y 2 1 dx 1 x 2 y 1 y 2 Element neutralny O = (0, 1), punkt przeciwny (x, y) = ( x, y).
Dodawanie na krzywych Edwardsa jest ujednolicone (ten sam wzór stosujemy do podwajania punktu). Zatem krzywe Edwardsa maj naturaln odporno± przeciwko atakowi poboru mocy. Je±li d, a/d / F q, to punkty aniczne na krzywej Edwardsa tworz grup i powy»sze dziaªanie jest zupeªne (stosuj c ten wzór mo»na doda dowolne dwa punkty). R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 18 / 21
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 18 / 21 Dodawanie na krzywych Edwardsa jest ujednolicone (ten sam wzór stosujemy do podwajania punktu). Zatem krzywe Edwardsa maj naturaln odporno± przeciwko atakowi poboru mocy. Je±li d, a/d / F q, to punkty aniczne na krzywej Edwardsa tworz grup i powy»sze dziaªanie jest zupeªne (stosuj c ten wzór mo»na doda dowolne dwa punkty). We wspóªrz dnych rzutowych dodawanie ma posta X 3 = Z 1 Z 2 (X 1 Y 2 + Y 1 X 2 )(Z1 2 Z 2 2 dx 1X 2 Y 1 Y 2 ), Y 3 = Z 1 Z 2 (Y 1 Y 2 ax 1 X 2 )(Z1 2 Z 2 2 + dx 1X 2 Y 1 Y 2 ), Z 3 = (Z1 2 Z 2 2 dx 1X 2 Y 1 Y 2 )(Z1 2 Z 2 2 + dx 1X 2 Y 1 Y 2 ). Dodawanie na E wymaga 10M+1S+2D w ciele F q je±li jest wykonane nast puj co A = Z 1 Z 2 ; B = A 2 ; C = X 1 X 2 ; D = Y 1 Y 2 ; E = dcd; X 3 = A(B E)((X 1 + Y 1 )(X 2 + Y 2 ) C D); Y 3 = A(B + E)(D ac); Z 3 = (B E)(B + E). Bernstein i Lange wprowadzili tzw. odwrócone wspóªrz dne na krzywych Edwardsa, w których dodawanie wymaga 9M+1S+2D w F q.
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 19 / 21 Krzywe eliptyczne Hessa E : x 3 + y 3 + c = dxy, gdzie c, d F q, c 0 i d 3 27c zostaªy wprowadzone do kryptograi przez Farashahi i Joye. Dodawanie i podwajanie punktów na E jest dane przez wzory Sylvestera ( ) y 2 (x 1, y 1 ) + (x 2, y 2 ) = 1 x 2 y2 2 x 1, x 2 1 y 2 x2 2 y 1 x 2 y 2 x 1 y 1 ( y1 (c x1 3 [2](x 1, x 2 ) = ) x 2 y 2 x 1 y 1 x1 3, x 1(c y1 3) y 1 3 x1 3 y 1 3 Elementem neutralnym jest (1 : 1 : 0), element przeciwny (x, y) = (y, x). ).
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 20 / 21 Krzywe eliptyczne Hua E : ax(y 2 1) = by(x 2 1), gdzie a 2 b 2 i a, b 0, wprowadzili do kryptograi Joye, Tibouchi i Vergnaud. Dodawanie na E jest dane metod siecznych i stycznych, elementem neutralnym jest O = (0, 0), element przeciwny (x, y) = ( x, y). Joye i inni podali nast puj ce ujednolicone wzory na dadawanie ( ) (x1 + x 2 )(1 + y 1 y 2 ) (x 1, y 1 ) + (x 2, y 2 ) = (1 + x 1 x 2 )(1 y 1 y 2 ), (y 1 + y 2 )(1 + x 1 x 2 ). (1 x 1 x 2 )(1 + y 1 y 2 )
R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 20 / 21 Krzywe eliptyczne Hua E : ax(y 2 1) = by(x 2 1), gdzie a 2 b 2 i a, b 0, wprowadzili do kryptograi Joye, Tibouchi i Vergnaud. Dodawanie na E jest dane metod siecznych i stycznych, elementem neutralnym jest O = (0, 0), element przeciwny (x, y) = ( x, y). Joye i inni podali nast puj ce ujednolicone wzory na dadawanie ( ) (x1 + x 2 )(1 + y 1 y 2 ) (x 1, y 1 ) + (x 2, y 2 ) = (1 + x 1 x 2 )(1 y 1 y 2 ), (y 1 + y 2 )(1 + x 1 x 2 ). (1 x 1 x 2 )(1 + y 1 y 2 ) Dodawanie we wspóªrz dnych rzutowych X 3 = (X 1 Z 2 + X 2 Z 1 )(Y 1 Y 2 + Z 1 Z 2 ) 2 (Z 1 Z 2 X 1 X 2 ) Y 3 = (Y 1 Z 2 + Y 2 Z 1 )(X 1 X 2 + Z 1 Z 2 ) 2 (Z 1 Z 2 Y 1 Y 2 ) Z 3 = (Z1 2 Z 2 2 X 1 2 X 2 2)(Z 1 2 Z 2 2 Y 1 2 Y 2 2) Dodawanie wymaga 12 M nad F q i jest zupeªne w cyklicznych podgrupach nieparzystego rz du.
Dzi kuj! R. Dryªo (IMPAN) Kompresja na krzywych eliptycznych KBBS 2015 21 / 21