ELIPTICKÉ KRYPTOGRAFIE S VYBRANÝMI ALGORITMY,

Podobné dokumenty
Miroslav Kureš. Aplikovaná matematika Ostravice workshop A-Math-Net Sít pro transfer znalostí v aplikované matematice

Věta o dělení polynomů se zbytkem

1 Polynomiální interpolace

1 Mnohočleny a algebraické rovnice

z = a bi. z + v = (a + bi) + (c + di) = (a + c) + (b + d)i. z v = (a + bi) (c + di) = (a c) + (b d)i. z v = (a + bi) (c + di) = (ac bd) + (bc + ad)i.

Polynomy. Mgr. Veronika Švandová a Mgr. Zdeněk Kříž, Ph. D. 1.1 Teorie Zavedení polynomů Operace s polynomy...

Těleso racionálních funkcí

1 Báze a dimenze vektorového prostoru 1

1 Mnohočleny a algebraické rovnice

Polynomy nad Z p Konstrukce faktorových okruhů modulo polynom. Alena Gollová, TIK Počítání modulo polynom 1/30

Necht tedy máme přirozená čísla n, k pod pojmem systém lineárních rovnic rozumíme rovnice ve tvaru

[1] x (y z) = (x y) z... (asociativní zákon), x y = y x... (komutativní zákon).

Charakteristika tělesa

ANALYTICKÁ GEOMETRIE V ROVINĚ

)(x 2 + 3x + 4),

ALGEBRA. Téma 4: Grupy, okruhy a pole

1 Řešení soustav lineárních rovnic

0.1 Úvod do lineární algebry

[1] Definice 1: Polynom je komplexní funkce p : C C, pro kterou. pro všechna x C. Čísla a 0, a 1,..., a n nazýváme koeficienty polynomu.

Matematika IV - 3. přednáška Rozklady grup

ALGEBRA. 1. Pomocí Eukleidova algoritmu najděte největší společný dělitel čísel a a b. a) a = 204, b = 54, b) a = , b =

Pomocný text. Polynomy

15. Moduly. a platí (p + q)(x) = p(x) + q(x), 1(X) = id. Vzniká tak struktura P [x]-modulu na V.

Báze a dimenze vektorových prostorů

4 Počítání modulo polynom

5. Lokální, vázané a globální extrémy

6. Vektorový počet Studijní text. 6. Vektorový počet

8 Kořeny cyklických kódů, BCH-kódy

Cyklické kódy. Definujeme-li na F [x] n sčítání a násobení jako. a + b = π n (a + b) a b = π n (a b)

Matematika IV - 3. přednáška Rozklady grup

Lineární algebra : Polynomy

ANALYTICKÁ GEOMETRIE LINEÁRNÍCH ÚTVARŮ V ROVINĚ

Co je to univerzální algebra?

Texty k přednáškám z MMAN3: 4. Funkce a zobrazení v euklidovských prostorech

Lineární algebra Kapitola 1 - Základní matematické pojmy

Generující kořeny cyklických kódů. Generující kořeny. Alena Gollová, TIK Generující kořeny 1/30

Základy teorie grupoidů a grup

PŘEDNÁŠKA 2 POSLOUPNOSTI

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

1 Lineární prostory a podprostory

MPI - 7. přednáška. Hledání inverzí v Z n. Rychlé mocnění modulo n. Lineární rovnice v Z + n. Soustavy lineárních rovnic v Z + n.

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

0.1 Úvod do lineární algebry

Pavel Horák LINEÁRNÍ ALGEBRA A GEOMETRIE 1 UČEBNÍ TEXT

1 Vektorové prostory.

Matematika (CŽV Kadaň) aneb Úvod do lineární algebry Matice a soustavy rovnic

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

grupa těleso podgrupa konečné těleso polynomy komutativní generovaná prvkem, cyklická, řád prvku charakteristika tělesa

1 Zobrazení 1 ZOBRAZENÍ 1. Zobrazení a algebraické struktury. (a) Ukažte, že zobrazení f : x

Lineární algebra : Lineární prostor

1 Linearní prostory nad komplexními čísly

Maticí typu (m, n), kde m, n jsou přirozená čísla, se rozumí soubor mn veličin a jk zapsaných do m řádků a n sloupců tvaru:

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

Matematika I (KMI/5MAT1)

označme j = (0, 1) a nazvěme tuto dvojici imaginární jednotkou. Potom libovolnou (x, y) = (x, 0) + (0, y) = (x, 0) + (0, 1)(y, 0) = x + jy,

6 Lineární geometrie. 6.1 Lineární variety

Předmluva k šestému číslu časopisu Kvaternion

Historie matematiky a informatiky Cvičení 2

1 Extrémy funkcí - slovní úlohy

Matematická analýza ve Vesmíru. Jiří Bouchala

HL Academy - Chata Lopata Emu (Brkos 2012) Řetězové zlomky / 27

α β ) právě tehdy, když pro jednotlivé hodnoty platí β1 αn βn. Danou relaci nazýváme relace

1. Několik základních pojmů ze středoškolské matematiky. Na začátku si připomeneme následující pojmy:

Lineární algebra : Polynomy

Příklad. Řešte v : takže rovnice v zadání má v tomto případě jedno řešení. Pro má rovnice tvar

4C. Polynomy a racionální lomené funkce. Patří mezi tzv. algebraické funkce, ke kterým patří také funkce s odmocninami. Polynomy

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

příkladů do cvičení. V textu se objeví i pár detailů, které jsem nestihl (na které jsem zapomněl) a(b u) = (ab) u, u + ( u) = 0 = ( u) + u.

2.6. VLASTNÍ ČÍSLA A VEKTORY MATIC

(4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74,

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Matice. a m1 a m2... a mn

1.3. Číselné množiny. Cíle. Průvodce studiem. Výklad

a počtem sloupců druhé matice. Spočítejme součin A.B. Označme matici A.B = M, pro její prvky platí:

Operace s maticemi. 19. února 2018

Učební texty k státní bakalářské zkoušce Matematika Algebra. študenti MFF 15. augusta 2008

Státní závěrečná zkouška z oboru Matematika a její použití v přírodních vědách

LDF MENDELU. Simona Fišnarová (MENDELU) LDR druhého řádu VMAT, IMT 1 / 22

Nejdřív spočítáme jeden příklad na variaci konstant pro lineární diferenciální rovnici 2. řádu s kostantními koeficienty. y + y = 4 sin t.

Pavel Horák, Josef Janyška LINEÁRNÍ ALGEBRA UČEBNÍ TEXT

Lineární algebra : Lineární zobrazení

15. KubickÈ rovnice a rovnice vyööìho stupnï

Matematický ústav Slezské univerzity v Opavě Učební texty k přednášce ALGEBRA I, zimní semestr 2000/2001 Michal Marvan. 2.

NAIVNÍ TEORIE MNOŽIN, okruh č. 5

MATICE. a 11 a 12 a 1n a 21 a 22 a 2n A = = [a ij]

pochopení celé kapitoly je myšlenka, že těleso S lze považovat za vektorový prostor

Lineární algebra : Metrická geometrie

(Cramerovo pravidlo, determinanty, inverzní matice)

Algebra 2 KMI/ALG2. Zpracováno podle přednášek prof. Jiřího Rachůnka a podle přednášek prof. Ivana Chajdy. slidy k přednáškám

Algebraické struktury s jednou binární operací

Obsah. Euler-Fermatova věta. Reziduální aritmetika. 3. a 4. přednáška z kryptografie

Arnoldiho a Lanczosova metoda

14. přednáška. Přímka

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Učební texty k státní bakalářské zkoušce Matematika Vlastní čísla a vlastní hodnoty. študenti MFF 15. augusta 2008

1 Analytická geometrie

Funkce a lineární funkce pro studijní obory

Dosud jsme se zabývali pouze soustavami lineárních rovnic s reálnými koeficienty.

Poznámka. Je-li f zobrazení, ve kterém potřebujeme zdůraznit proměnnou, píšeme f(x) (resp. f(y), resp. f(t)) je zobrazení místo f je zobrazení.

Jak funguje asymetrické šifrování?

Transkript:

Kvaternion /014, 63 78 63 ALGEBRAICKÉ A ČÍSELNĚ TEORETICKÉ POZADÍ ELIPTICKÉ KRYPTOGRAFIE S VYBRANÝMI ALGORITMY, ZEJMÉNA PRO URČENÍ ŘÁDU ELIPTICKÉ KŘIVKY MIROSLAV KUREŠ Abstrakt. Článek přináší především přehled vybraných výsledků z algebry (a částečně i z teorie čísel), které jsou nezbytné pro studium eliptických křivek nad konečnými poli. Motivací pro takové studium je kryptografie založená na eliptických křivkách (stručněji eliptická kryptografie nebo jen ECC), která se v posledních letech bouřlivě rozvíjí. Obsah článku vychází z autorových přednášek na Semináři z aplikované geometrie Ústavu matematiky FSI VUT v Brně v prvním pololetí roku 007, které pak byly dále upraveny a znovu předneseny studentům navštěvující nepovinný předmět Aplikovaná algebra pro inženýry (opět na FSI VUT v Brně). Článek obsahuje i vybrané algoritmy, zejména pro určení řádu eliptické křivky. Úvod Základními pojmy teorie eliptických křivek a jejich aplikací v kryptografii s veřejným klíčem se zabýval již autorův článek []; proto je zde připomeneme jen stručně. Eliptickou křivkou E nad polem F rozumíme algebraickou křivku třetího stupně s rovnicí y + a 1 xy + a 3 y = x 3 + a x + a 4 x + a 6, kde a 1, a, a 3, a 4, a 6 F a kde tzv. diskriminant eliptické křivky E je nenulový. Přitom = d d 8 8d 3 4 7d 6 + 9d d 4 d 6, kde d = a 1 + 4a, d 4 = a 4 + a 1 a 3, d 6 = a 3 + 4a 6, d 8 = a 1a 6 + 4a a 6 a 1 a 3 a 4 + a a 3 + a 4. Je-li F q = F p n (p prvočíslo, n N konečné pole s charakteristikou různou od a 3), pak vhodnou změnou souřadnic lze Weierstrassovu rovnici transformovat na rovnici y = x 3 + ax + b, podobných zjednodušení lze dosáhnout i pro charakteristiky a 3. Bodem eliptické křivky E rozumíme každý bod [x, y] se souřadnicemi x, y F splňujícími její rovnici a dále bod. Nad body eliptické křivky (nadále již bereme E) lze zavést binární operaci značenou + (podrobněji v []), s touto operací pak křivka tvoří grupu. Řádem eliptické křivky E pak rozumíme řád této grupy čili počet bodů E; značíme ho #E. Je-li E eliptická křivka nad konečným polem F q, pro její řád #E(F q ) platí q +1 q #E(F q ) q +1+ q, tzn. řád je prvkem intervalu zvaného Hasseho interval. Řád bodu P eliptické křivky pak je obvyklý řád prvku z teorie grup čili nejmenší n N takové, že np =. Budeme ho značit P. U čtenáře předpokládáme jen znalosti základů teorie grup (opakovaně mj. využíváme Lagrangeův teorém, tedy že řád prvku dělí řád grupy). Uvádíme zde tedy 010 MSC. Primární 94A60, 11T71; Sekundární 14H5. Klíčová slova. Kryptografie založená na eliptických křivkách, algoritmy pro určení řádu eliptické křivky.

64 M. KUREŠ i některé dobře známé výsledky, jako Malou Fermatovu větu a Čínskou zbytkovou věty v kontextu, v jakém je potřebujeme. Článku je ponechána původní struktura přednášky s členěním na číslované odstavce. Text je doplněn řadou ilustrativních příkladů. 1. Vybraná tvrzení z algebry a teorie čísel z pohledu ECC 1 Pokud jde o generování náhodného bodu eliptické křivky E, můžeme vzít náhodný prvek F q, dosadit ho za x nebo za y a druhou souřadnici dopočítat z rovnice eliptické křivky. 1 Pokud neexistuje řešení pro druhou souřadnici, vezmeme jiný prvek F q. Toto se pokusíme zefektivnit (pro prvočíselná pole), a to i s ohledem na nalezení řádu E. Je-li n N a existuje-li pro 0 m < n řešení rovnice y m ( mod n) (pro neznámou y), řekneme, že m je kvadratickým reziduem (modulo n). Pro eliptickou křivku E(F p ) s rovnicí y = x 3 + ax + b musí pro každou nenulovou x-ovou souřadnici jejího bodu být výraz x 3 + ax + b kvadratickým reziduem (modulo p). 3 Kvadratická rezidua se pro přirozená n tabelují. Uvádíme přehled kvadratických reziduí modulo n =,..., 0 (a zvýrazňujeme prvočísla): n = : 1 n = 3 : 1 n = 4 : 1 n = 5 : 1, 4 n = 6 : 1, 3, 4 n = 7 : 1,, 4 n = 8 : 1, 4 n = 9 : 1, 4, 7 n = 10 : 1, 4, 5, 6, 9 n = 11 : 1, 3, 4, 5, 9 n = 1 : 1, 4, 9 n = 13 : 1, 3, 4, 9, 10, 1 n = 14 : 1,, 4, 7, 8, 9, 11 n = 15 : 1, 4, 6, 9, 10 n = 16 : 1, 4, 9 n = 17 : 1,, 4, 8, 9, 13, 15, 16 n = 18 : 1, 4, 7, 9, 10, 13, 16 1 pochopitelně je výhodnější dosazování za x, neboť dosazení za y vede na kubickou rovnici

ALGORITMY PRO URČENÍ ŘÁDU ELIPTICKÉ KŘIVKY 65 n = 19 : 1, 4, 5, 6, 7, 9, 11, 16, 17 n = 0 : 1, 4, 5, 9, 16 a dále máme např. n = 357 : 1, 4, 6, 9,... 346, 347, 348, 351, 353, 356 (celkem 1178 reziduí můžeme najít např. pomocí [3]). 4 Je-li m kvadratickým reziduem, pak vyhovující y, pro něž nazýváme odmocninou m (modulo n). y m ( mod n), 5 Pro eliptickou křivku E(F p ) s rovnicí y = x 3 + ax + b náhodně vybereme x a ověříme, zda x 3 + ax + b je kvadratickým reziduem. Pokud ano, spočteme y jako odmocninu x 3 +ax+b. Najdeme-li vyhovující y, je také y odmocninou x 3 +ax+b. (Pro p > a pro y 0 je y prvek různý od y.) Dále, předpokládejme, že také z je odmocninou x 3 + ax + b. To znamená z čehož y z ( mod p), y z = (y + z)(y z) 0 ( mod p) a vidíme, že z = y nebo z = y. Z uvedeného plyne, že je-li x 3 + ax + b kvadratickým reziduem a y jeho odmocninou, je jedinou další odmocninou téhož rezidua y. 6 Pro p > dávají nenulové prvky y a y totéž kvadratické reziduum y (a žádný jiný prvek již toto reziduum nedává). Takových dvojic (y, y) v F p ovšem je p 1, tedy také počet kvadratických reziduí v F p je roven p 1. Při náhodné volbě prvku F p máme tedy téměř padesátiprocentní pravděpodobnost, že jde o kvadratické reziduum. 7 Eulerovo kritérium. Pro prvočíselné pole s p > platí: m je nenulovým kvadratickým reziduem (modulo p) právě tehdy, když m p 1 1 ( mod p) a m je kvadratickým nereziduem 3 (modulo p) právě tehdy, když (Důkaz bude později.) m p 1 1 ( mod p). ovšem totéž kvadratické reziduum může vyjít pro různá x, některá kvadratická rezidua nemusíme obdržet a také x 3 +ax+b kvadratickým reziduem být nemusí proto z počtu kvadratických reziduí řád eliptické křivky jednoduše odhadnout nelze 3 tzn. je nenulové a není kvadratickým reziduem

66 M. KUREŠ 8 Nyní z Eulerova kritéria plyne, že součin dvou kvadratických reziduí je kvadratické reziduum, součin dvou nereziduí je reziduum, avšak součin rezidua a nerezidua je nereziduum. 9 Legendrův symbol ( ) m n se zavede následovně: ( m ) 1 je-li m kvadratickým reziduem (modulo n), = 0 je-li m nula (modulo n), n 1 je-li m kvadratickým nereziduem (modulo n). Potom řád eliptické křivky pomocí t a Legendrova symbolu vyjádříme takto: t = ( x 3 ) + ax + b. p x F p Přímé užití tohoto vztahu se někdy nazývá naivní algoritmus pro určení řádu eliptické křivky. 10 Malá Fermatova věta. Pro libovolné 0 y F p platí y p 1 1 ( mod p). Důkaz. F p {0} spolu s operací násobení tvoří grupu. Tato grupa má p 1 prvků čili řád p 1. Ovšem řád prvku m dělí řád grupy; tedy existuje k N takové, že y k 1 ( mod p), k p 1. Pak ovšem také y p 1 1 ( mod p). 11 Wilsonova věta. V F p platí (p 1)! 1 ( mod p). Důkaz. Nejdříve zjistíme, která y F p splňují y 1 ( mod p). Převedeme-li jedničku na levou stranu a provedeme-li rozklad rozdílu čtverců, máme (y + 1)(y 1) 0 ( mod p) a z toho máme y = 1 nebo y = 1 p 1. Tedy 1 a p 1 jsou jediné dva prvky rovné své multiplikativní inverzi. Všechny ostatní prvky sdružíme do dvojic tak, aby v dvojici byly právě k sobě inverzní prvky (pro násobení). Těchto dvojic je p 3 a součin každé z nich je 1. Stačí tedy přeměnit pořadí činitelů v (p 1)! takto (p 1)! = (p 1) 1 (součin první dvojice) (součin p 3 -té dvojice), }{{}} {{} 1 1 abychom viděli, že 4 (p 1)! p 1 1 ( mod p). 4 například pro F7 máme 6! = 6 5 4 3 1 = 6 1 ( 4) (3 5) = 6 1 1 1 = 6 1 (mod 7)

ALGORITMY PRO URČENÍ ŘÁDU ELIPTICKÉ KŘIVKY 67 1 Důkaz Eulerova kritéria. Především si uvědomme, že pro dané m F p existuje pro každé 0 y F p takové z F p, že yz m ( mod p). (Skutečně, z = y 1 m.) Předpokládejme nejprve, že m není kvadratickým reziduem, tedy rovnice y m ( mod p) nemá řešení pro žádné y F p. To znamená, že všech p 1 prvků F p je sdruženo do dvojic a součin každé takové dvojice je roven m. Současně součin všech součinů těchto p 1 dvojic je roven (p 1)!, tzn. (p 1)! = m p 1 a levá strana je rovna 1 (modulo p) podle Wilsonovy věty. Je-li m kvadratickým reziduem, pak m = y pro nějaké y F p, máme potom m p 1 = (y ) p 1 = y p 1 a tento výraz je roven 1 (modulo p) podle Malé Fermatovy věty. 13 Výpočet odmocniny v F q = F p n, p >, provedeme pomocí tzv. Smartova algoritmu 5. Vstup: Kvadratické reziduum x F q. 1. krok: Vyjádříme q 1 ve tvaru q 1 = T s, kde T je nezáporné celé číslo a s je liché přirozené číslo.. krok: Vezmeme libovolné kvadratické nereziduum y F q a spočteme A = y s. 3. krok: Spočteme B = x s 1 a položíme t 0 = 0, k = 0. 4. krok: Nyní pro k = 0,..., T 1 počítáme kde t k+1 = t k + k C k, 0 jestliže ( (A t k B) x ) T 1 k = 1, C k = 1 jestliže ( (A t k B) x ) T 1 k = 1. 5. krok: Položíme x = (A t T B)x. Výstup: Odmocnina x F q. (Poznamenejme, že čísla s, T a A mohou být připravena již při inicializaci pole F q.) 14 Příklad. V prvočíselném poli F 357 je x = 55 kvadratickým reziduem a y = nereziduem. (Dále počítáme samozřejmě modulo 357). Pak q 1 357 1 = p 1 = = 1178 = 1 589. Máme s = 589, T = 1 a A = 589 = 633. Spočteme B = 55 589 1 = 55 94 = 188. Nyní t 0 = 0 a protože (633 0 188) 55) 1 1 0 = 1, 5 efektivnější algoritmus než Smartův je anoncován např. v [6]

68 M. KUREŠ což je kvadratické reziduum, máme C 0 = 0. Odtud t 1 = 0. V závěrečném kroku vypočteme x = 6330 188 55 = 401. Dalším řešením je 401 = 1956.. Řád eliptických křivek nad prvočíselnými poli 15 Známe-li některé body na křivce a jejich řády, může to postačit k určení řádu křivky. Najdeme-li totiž nejmenší společný násobek L řádů jednotlivých bodů, je řád křivky určitě jeho násobkem. Podaří-li se, aby pouze jediný násobek L ležel v Hasseho intervalu, je řád křivky nalezen. (Musíme ovšem mít efektivní metodu pro zjištění řádu bodu.) 16 Uvedeme Shanksův algoritmus, který vychází z 15 a řeší problém hledání řádu bodů eliptické křivky. Vstup: L = q + 1 q, H = q + 1 + q, d = H L. 1. krok: Náhodně vybereme bod P (F q ).. krok: Spočteme P, P,..., (d 1)P. Je-li ip = pro nějaké i d, jdeme na 1. krok. Jinak vytvoříme posloupnost BS = {, P, P,..., (d 1)P }. (Prohledali jsme několik nejmenších násobků bodu P, udělali jsme tzv. baby step.) 3. krok: Položíme Q = dp a počítáme H j = LP + jq pro j = 1,,..., d. Z bodů H j vytvoříme posloupnost HS. (Nyní hledáme velké násobky bodu P s krokem d, to je tzv. giant step.) 4. krok: Je-li jediné H j prvkem BS 6, vezmeme odpovídající dvojici indexů 7 i, j, položíme #E(F q ) = L + jd i a jdeme na Výstup. Je-li více (řekněme M) prvků HS prvkem BS, uspořádáme dvojice indexů (i k, j k ), k = 1,..., M tak, aby j 1 > > j M ; potom vezmeme dvojici (i 1, j 1 ), (i, j ) a položíme P = (j 1 j )d (i 1 i ). 5. krok: Je-li P < q 1, jdeme zpět na 1. krok. 6. krok: Náhodně vybereme bod R E(F q ). 7. krok: Opakujeme. krok, 3. krok a 4. krok (pro bod R), spočte-li se #E(F q ), jdeme na Výstup, jinak jdeme na 8. krok. 8. krok: Stejně jako ve 4. kroku pro bod P, určíme nyní řád R. Dále určíme nejmenšího dělitele s řádu R tak, že sr je násobkem P. Je-li s P < 4 q, jdeme zpět na 5. krok. 9. krok: Určíme n takové, že ns P leží v Hasseho intervalu 8. Položíme #E(F q ) = ns P. Výstup: #E(F q ). 17 Příklad. Pro prvočíselné pole F 357 uvažujme eliptickou křivku E : y = x 3 + 006x + 1. 6 alespoň jedno Hj prvkem BS být musí, plyne to z Lagrangeova teorému: povšimněme si totiž, že pomocí BS a HS efektivně hledáme, jaký násobek bodu P je roven 7 v BS je index i = 0, 1,..., d 1, v HS index j = 1,,..., d 8 takové n je jediné

ALGORITMY PRO URČENÍ ŘÁDU ELIPTICKÉ KŘIVKY 69 Hasseho interval zde je 358 357 #E(F 357 ) 358 + 357, což prakticky znamená 61 #E(F 357 ) 455. 18 Příklad. Vezmeme-li bod P = [0, 1] s řádem 100, s přihlédnutím k Hasseho intervalu máme okamžitě spočten řád eliptické křivky; pouze jediný násobek 100, a sice 400, leží v Hasseho intervalu. Vezměme si proto nyní o něco méně pohodlnou situaci: předpokládejme, že známe bod P = [1471, 41], jehož řád je roven 50 a bod R = [36, 48] s řádem 30. Nejmenší společný násobek L řádů bodů Q a R je 150 a tedy řád eliptické křivky je nějaký násobek 150; v Hasseho intervalu je toto číslo opět jediné: 400. 19 Příklad. Vstupem pro Shanksův algoritmus v tomoto příkladě jsou čísla L = 60, H = 456, d = 14. Vybereme bod P = [0, 1]. Pak dostaneme a BS = {, [0, 1], [197, 315], [595, 1118], [161, 171], [171, 983], [1046, 08], [175, 61], [1601, 1419], [589, 1110], [171, 11], [35, 153], [651, 1950], [19, 300]} HS = {[565, 33], [154, 1835], [1595, 65], [1574, 58], [380, 75], [1753, 547], [833, 376], [966, 174], [1, 481],, [1, 1876], [966, 1083], [833, 1981], [1753, 1810]}. Zde je i = 0, j = 10 a odtud #E(F 357 ) = 60 + 10 14 0 = 400. 0 Příklad. Pro další prověření Shanksova algoritmu se nabízí zvolit jiný počáteční bod P. Zkusme například P = [1471, 41]. Pak dostaneme a BS = {, [1471, 41], [590, 67], [1309, 169], [1844, 1753], [310, 915], [1633, 1835], [989, 670], [353, 1659], [19, 56], [003, 177], [856, 17], [110, 177], [19, 1958]} HS = {[1974, 1093], [110, 630], [590, 67], [1697, 1458], [1363, 916], [1633, 5], [353, 1659], [601, 630], [1530, 086],, [1530, 71], [601, 177], [353, 698], [1633, 1835]}. Máme i 1 = 6, j 1 = 14, dále i = 0, j = 10; i 3 = 8, j 3 = 7; i 4 =, j 4 = 3. Potom řád P = (14 10) 14 (6 0) = 50. Volíme náhodně další bod E, vezměme tedy R = [36, 48]. Pro tento bod dostaneme BS = {, [36, 48], [175, 360], [1453, 1391], [1535, 191], [1395, 48], [1363, 1441],

70 M. KUREŠ a [6, 858], [985, 1447], [10, 79], [73, 187], [647, 179], [003, 630], [1477, 1363]} HS = {[1363, 916], [985, 1447], [985, 910], [1363, 1441], [73, 530], [1535, 191], [003, 177], [175, 360], [1458, 579],, [1458, 1778], [175, 1997], [003, 630], [1535, 166]}. Máme i 1 = 1, j 1 = 13, dále i = 0, j = 10; i 3 =, j 3 = 8; i 4 = 4, j 4 = 6; i 5 = 6, j 5 = 4; i 6 = 8, j 6 = ; řád R = (13 10) 14 (1 0) = 30. Dělitelé R jsou 1,, 3, 5, 6, 10, 15 a 30. Zatímco R, R, 3R a 5R nejsou žádným násobkem P, 6R = 0P a tedy s = 6; s P > 4 q a určíme n = 8. Jako výsledek obdržíme #E(F q ) = ns P = 8 6 50 = 400. Množina {0, 1,..., n 1} s operací sčítání modulo n představuje grupu, kterou značíme Z n. Dále, kartézský součin {0, 1,..., n 1 1} {0, 1,..., n 1} s operací indukovanou sčítáním modulo n 1 v první a modulo n v druhé složce je grupou, kterou značíme Z n1 Z n. Grupa E(F q ) je vždy izomorfní grupě Z n1 Z n, přičemž n dělí jak n 1, tak q 1 (a n 1, n jsou takto určeny jednoznačně). Pak ovšem #E(F q ) = n 1 n. V grupě E(F q ) musí také existovat bod řádu n 1. 3 Je-li n = 1 (v předchozím vyjádření #E(F q ) = n 1 n ), je grupa E(F q ) cyklická. Je-li n > 1 malé přirozené číslo (, 3, 4,... ), říkáme, že grupa E(F q ) je téměř cyklická. V cyklické grupě existuje bod, jehož řád je roven již přímo #E(F q ). Výhodné ale už také je, je-li grupa téměř cyklická, neboť v ní existují body dostatečně vysokého řádu, jejichž (patrně) jediný násobek patří do Hasseho intervalu. 4 Pro dané a, b uvažujme všechny eliptické křivky y = x 3 + ad x + bd 3, 0 d F p. ( ) d Platí: všechny křivky s p = 1 jsou vzájemně izomorfní (a tudíž mají týž řád) 9 ; ( ) d také ale všechny křivky s p = 1 jsou vzájemně izomorfní (a s tímž řádem). Tohoto výsledku užil dále Mestre a odvodil následující tvrzení. 5 Předpokládejme, že máme dvě eliptické křivky E, Ē vyjádřené pro nějaká d, d ve tvaru E : y = x 3 + ad x + bd 3 Ē : y = x 3 + a d x + b d 3, ( ) ( ) d přičemž p = 1 a d p = 1. Předpokládejme dále, že grupa E je izomorfní grupě Z n1 Z n a n dělí n 1 a grupa Ē je izomorfní grupě Z n 1 Z n a n dělí n 1. Pak pro p > 457 platí max{n 1, n 1 } > 4 p. Tento výsledek znamená, že alespoň jedna z křivek E, Ē má bod řádu většího než 4 p. 9 a protože vždy ( 1 p ) = 1, jsou především izomorfní s křivkou s d = 1

ALGORITMY PRO URČENÍ ŘÁDU ELIPTICKÉ KŘIVKY 71 6 Další důležitý Mestreho výsledek o řádu křivek E(F p ) a Ē(F p) je #E(F p ) + #Ē(F p) = p +. 7 Nabízí se tedy hledat bod (za předpokladu p > 457) dostatečně vysokého řádu dle 4 na jedné z křivek E, Ē a pomocí první části Shanksova algoritmu spočítat jeho řád. Provedeme tzv. Mestreho smyčku. Vstup: p, E(F p ), Ē(F p). 1. krok: Vybereme náhodně x F p.. krok: Spočteme σ = ( ). Je-li σ = 0, jdeme zpět na 1. krok. Je-li σ = 1, budeme pracovat s křivkou E w = E a souřadnicí x w = x, jinak E w = Ē a x w = dx. 3. krok: Dopočteme bod P = [x w, y w ] na E w (tedy najdeme y w ). Pro tento bod provedeme. krok, 3. krok a 4. krok Shanksova algoritmu. Pokud se ale ve 4. kroku Shanksova algoritmu nespočte přímo #E w 10, jdeme na 1. krok této (Mestreho) smyčky. 4. krok: Je-li E w = E, klademe #E = #E w, jinak #E = p + #E w. Výstup: #E(F p ). 8 Poznamenejme, že podstata oprávněnosti případného přepnutí na křivku Ē a náhradu souřadnice x souřadnicí dx tkví v tom, že (dx) 3 + ad (dx) + bd 3 = d 3 (x 3 + ax + b) je kvadratickým reziduem z důvodu popsaného v 8. 9 Příklad. Pro F 357 a křivku E s rovnicí y = x 3 + 006x + 1 při volbě x = 14 spočteme x 3 + 006x + 1 = 188 a 188 je kvadratickým reziduem, protože podle Eulerova kritéria máme 188 1178 1 ( mod 357). Odmocninou 188 modulo 357 je 138, dále 138 19 ( mod 357), tedy [14, 138], [14, 19] E. Totéž kvadratické reziduum 188 dostaneme i při volbách x = 1040 a x = 1303. Proto také [1040, 138], [1040, 19], [1303, 138], [1303, 19] E. 30 Příklad. Protože 4 je kvadratickým reziduem modulo 357, je křivka s rovnicí y = x 3 + 006 4 x + 1 4 3 = x 3 + 1455x + 64 izomorfní s křivkou E : y = x 3 +006x+1. Naopak, není kvadratickým reziduem modulo 357 a tedy křivku s rovnicí y = x 3 + 006 x + 1 3 = x 3 + 953x + 8 bereme dále jako Ē. Náhodně vyberme x = ; potom 3 + 006 + 1 = 1664 není kvadratickým reziduem modulo 357 čili σ = ( 1664 357) = 1. Tudíž naši křivkou Ew je křivka E w = Ē : y = x 3 + 953x + 8 a x w = = 4 a vezmeme například P = [4, 79]. Pro tento bod dá Shanksův algoritmus #E w = 316 a odtud #E = 357 + 316 = 400. 10 tedy je-li více prvků HS prvkem BS

7 M. KUREŠ 3. Algebraický uzávěr konečného pole, Frobeniův endomorfismus a torzní grupy 31 Jsou-li F a G pole, pak každý okruhový homomorfismus h: F G je injektivní. Jsou-li F a G pole a existuje-li okruhový homomorfismus h: F G, pak G nazveme rozšířením pole F. Podpole h(f ) v G pak obvykle ztotožňujeme s F. 3 Rozšíření G pole F nazveme algebraické, jestliže G obsahuje pouze kořeny polynomů nad F. 11 33 Uvažujme algebru polynomů v jedné neurčité F [x] nad polem F. Jestliže nekonstantní polynom P F [x] jde vyjádřit jako součin (lineárních) kořenových součinitelů z F [x], tj. P = deg P i=1 (x r i ) (r i F jsou kořeny P ), řekneme, že P je úplně rozložitelný v F [x]. Jinými slovy, je-li polynom P stupně m N úplně rozložitelný v F [x], má m kořenů F (včetně násobnosti). 34 Steinitzova věta. Pro každé pole F existuje jediné jeho algebraické rozšíření G takové, že každý polynom P F [x] je úplně rozložitelný v G[x] a G je nejmenší pole s touto vlastností. Pole G se pak nazývá algebraický uzávěr F ; píšeme G = F. Pole, pro něž platí F = F se nazývá algebraicky uzavřené. 1 35 Algebraický uzávěr F q libovolného konečného pole F q má nekonečně mnoho prvků 13. Pole F q = F p n je pole charakteristiky p a kardinality ℵ 0. 36 Jako ilustraci si stačí uvědomit, že např. nad polem F je polynom x + x + 1 nerozložitelný. Označíme-li jeho kořen j, dostaneme rozšíření F o čtyřech prvcích: 0, 1, j, j+1. Toto pole je izomorfní 14 s F 4, s nímž ho dále ztotožníme. Nerozložitelný polynom je ovšem i nad F 4 a dostáváme nekonečnou posloupnost rozšíření F F 4 F 8 F 16..., přičemž žádné z konečných polí není algebraicky uzavřené. Tato konečná pole ovšem mají týž algebraický uzávěr, tedy F = F 4 = F 8 = F 16 =.... 11 je třeba dobře známo, že C je algebraickým rozšířením R, avšak R není algebraickým rozšířením Q, neboť R obsahuje i čísla, která nejsou kořeny polynomů nad Q (čísla transcedentní vzhledem k Q) 1 příkladem algebraicky uzavřeného pole je C 13 nad konečným polem vždy existují nerozložitelné polynomy 14 dle Galoisova teorému

ALGORITMY PRO URČENÍ ŘÁDU ELIPTICKÉ KŘIVKY 73 37 Nad polem F charakteristiky p (máme tedy na mysli buď F p n = F q nebo F q ) definujme jednoduchý Frobeniův endomorfismus předpisem φ: F F φ(x) = x p. 38 Vlastnosti jednoduchého Frobeniova endomorfismu: φ(xy) = φ(x)φ(y) (zřejmé); φ(x + y) = φ(x) + φ(y) (rozepíšeme φ(x + y) = (x + y) p = x p + ( ) p 1 x p 1 y =... ( p p 1) xy p 1 + y p, pro pole charakteristiky p ale máme ( ) ( p 1 = = p p 1) = 0). 39 Pro pole F p je přímým důsledkem malé Fermatovy věty vlastnost x p = x pro všechna x F p. To znamená, že F p s prvky 0, 1,..., p 1 představuje množinu pevných bodů jednoduchého Frobeniova endomorfismu φ: F F. Pevných bodů není více, protože polynom x p x může mít nejvýše p kořenů. 40 Aplikujeme-li dvakrát po sobě jednoduchý Frobeniův endomorfismus, dostaneme zobrazení φ = φ(φ): F F, pro něž φ (x) = x p. Pak množinou pevných bodů pro φ je F p. Obecně, iterací dostaneme φ n : F F, kde φ n (x) = x pn a množinou pevných bodů je F p n. Pro n z vyjádření q = p n pak zobrazení φ n označíme novým symbolem π a budeme ho nazývat Frobeniův endomorfismus. 41 Označme Ē eliptickou křivku na algebraickém uzávěru F q pole F q, která má stejnou rovnici y = x 3 +ax+b jako E. Na bod P = [x, y] Ē aplikujme Frobeniův endomorfismus takto: π(p ) = [π(x), π(y)] = [x q, y q ]. 4 Nyní platí: (i) je-li P Ē, pak také π(p ) Ē, (ii) pro P Ē nastane π(p ) = P právě tehdy, když P E, (iii) pro P, Q Ē je π(p + Q) = π(p ) + π(q).

74 M. KUREŠ (Vlastnost (i) není samozřejmá a zasluhuje důkaz. Vlastnost (ii) již dokázána byla, jde o výše uvedený popis pevných bodů Frobeniova endomorfismu. Vlastnost (iii) plyne z příjemných vlastností Frobeniova endomorfismu, srv. 38.) 43 Na E je Frobeniův endomorfismus π identickým zobrazením, což vyjádříme jeho charakteristickou rovnicí π 1 = 0. Otázkou nyní je, jakou charakteristickou rovnici má Frobeniův endomorfismus π pro Ē. Odpoveď je tato: charakteristická rovnice π pro Ē je π tπ + q = 0, kde Přesněji, pro π platí tzn. t = q + 1 #E(F q ). π(π([x, y])) tπ([x, y]) + q[x, y] = 0, [x q, y q ] + q[x, y] = t[x q, y q ]. 44 Bod P křivky Ē splňující np = nazýváme n-tý torzní bod. Množina všech n-tých torzních bodů se značí Ē[n], je podgrupou grupy Ē, kterou nazýváme n-tá torzní grupa. (Evidentně Ē[1] je triviální grupa obsahující jen bod.) 45 Pro body druhé torzní grupy platí P + P =, což je možné jen pro nulovou y-ovou souřadnici bodu P. Tedy jde o to, zda existuje kořen rovnice x 3 +ax+b = 0 (v F q ). Pokud ano, potom je řád #E(F q ) sudý a tedy t je sudé čili t 0( mod ). Neexistuje-li kořen x 3 + ax + b = 0 (v F q ), je t 1( mod ). Proveďme výpočet gcd(x 3 + ax + b, x q x). Je-li tento největší společný dělitel roven 1, tedy x 3 +ax+b a x q x jsou nesoudělné polynomy, kořen rovnice x 3 + ax + b = 0 v F q ) neexistuje, v opačném případě pak ano. Zdůvodnění této skutečnosti je následující: rovnice x 3 + ax + b = 0 má samozřejmě kořen v F q (dle definice algebraického uzávěru): ovšem F q = {x F q ; x = x q }, 15 tedy splňuje-li kořen v F q také rovnici x q x = 0, je kořen prvkem F q. 46 Je zřejmé, že je-li n libovolným násobkem řádu bodu P, pak P Ē[n]. 47 Příklad. Pro popis všech torzních grup křivky Ē y = x 3 + 006x + 1 nad F 357 nyní můžeme využít spočteného řádu #E = 400. Číslo 400 má dělitele 1,, 3, 4, 5, 6, 8, 10, 1, 15, 16, 0, 4, 5, 30, 3, 40, 48, 50, 60, 75, 80, 96, 100, 10, 150, 160, 00, 40, 300, 400, 480, 600, 800, 100, 400. Například Ē[7] bude proto podobně jako Ē[1] triviální grupou. 15 viz 39, 40

ALGORITMY PRO URČENÍ ŘÁDU ELIPTICKÉ KŘIVKY 75 4. Schoofův algoritmus (využití Čínské zbytkové věty) 48 Schoofův algoritmus publikovaný v roce 1985 počítá řád eliptické křivky v polynomiálním čase. Nechť q = p n, p > 3. Protože je řád #E(F q ) číslo z (Hasseho) intervalu délky 4 q, stačí pro určení #E(F q ) znát číslo kde N > 4 q. # N E(F q ) = #E(F q ) mod N, 49 Nyní N vyjádřeme pomocí prvočíselného rozkladu r N = l 1 l r = l i > 4 q (l i prvočísla předpokládejme, že jsou malá, navzájem různá, různá od i od p 16 ); pokud známe všechna # li E(F q ), i = 1,..., r, můžeme toho využít k výpočtu # N E(F q ). Aplikujeme přitom následující větu. 50 Čínská zbytková věta. Jsou-li čísla l 1,..., l r po dvou nesoudělná, má soustava i=1 x c 1 ( mod l 1 ), x c ( mod l ),... x c r ( mod l r ) jediné řešení modulo N = l 1... l r. Toto řešení x můžeme spočíst jako r x = c i N i M i, kde N i = N l i a M i = N 1 i i=1 mod l i (tzv. Gaussův algoritmus). 51 Pro eliptickou křivku E s rovnicí y = x 3 +ax+b nad polem s charakteristikou různou od definujme rekurentně posloupnost polynomů dvou proměnných takto: ψ 0 = 0, ψ 1 = 1, ψ = y, ψ 3 = 3x 4 + 6ax + 1bx a, ψ 4 = 4y(x 6 + 5ax 4 + 0bx 3 5a x 4abx 8b a 3 ),... ψ m+1 = ψ m+ ψ 3 m ψ m 1 ψ 3 m+1 pro m, ψ m = ψ m y (ψ m+ψ m 1 ψ m ψ m+1) pro m >. Polynom ψ n se nazývá n-tý dělící polynom. Budeme počítat l r + dělících polynomů (l r je největší prvočíslo z rozkladu 49 ). 16 obvykle se začíná od a berou se postupně různá prvočísla, až součin překročí 4 q; případ l = jsme ale zmínili v 45 a pro zjednodušení ho v tuto chvíli zde vypouštíme

76 M. KUREŠ 5 Základní vlastnost dělících polynomů je tato: Dělící polynom ψ n je polynom dvou neurčitých x, y nad F q, splňující pro každý bod P = [x, y] Ē[n] ψ n (x, y) = 0. 53 S využitím rovnice eliptické křivky y = x 3 + ax + b můžeme dělící polynomy upravit tak, aby pro liché n byl ψ n polynomem jediné proměnné x (tento polynom je stupně n 1 ) a pro sudé n měl ψ n tvar součinu y s polynomem proměnné x (tento polynom je stupně n 4 ). Pak lze ψn rovněž vyjádřit pro každé n jako polynom jedné proměnné x. Nakonec si uvědomme, že i ψ n 1 ψ n+1 je (opět s využitím rovnice eliptické křivky y = x 3 +ax+b) také pro každé n polynom proměnné x. 54 Je-li P = [x, y] bod Ē, lze jeho n-násobek a n-násobek (n kladné) vyjádřit pomocí dělících polynomů: [ np = x ψ n 1ψ n+1 ψn, ψ ] n ψn 4, [ np = x ψ n 1ψ n+1, ψ ] n. Nyní tedy vidíme, že pomocí uvedeného vztahu je první souřadnice np (resp. np ) vyjádřena jako racionální funkce souřadnice x a druhá souřadnice pak jako násobek souřadnice y a opět racionální funkce souřadnice x. 55 Uvažujme v 53 zmíněné polynomy proměnné x, tzn. pro liché n přímo f n = ψ n a pro sudé n f n = ψn y. Lze ukázat, že tyto polynomy nemají vícenásobné kořeny. Z toho pak plyne, že pro liché prvočíslo l má f l, který je stupně l 1, v F q právě l 1 kořenů, představujících x-ové souřadnice bodu torzní grupy Ē[l] a ke každé x-ové souřadnice lze najít dvě různé souřadnice y-ové (pracujeme nad algebraicky uzavřeným polem). Po započtení bodu, který rovněž patří do Ē[l], zjišťujeme, že počet bodů Ē[l] je l. ψ n 56 Pro prvočíslo l nyní vezměme číslo q takto: q q ( mod l), q < l ( q může být i záporné); podle předchozího nyní můžeme vyjádřit násobek qp = q[x, y]. 57 Nyní nepůjde o nic jiného než o aplikaci charakteristické rovnice Frobeniova endomorfismu uvedené v 43. Platí totiž: je-li P = [x, y] Ē[l], pak q[x, y] = q[x, y]. Označíme-li dále t = t mod l, potom také t[x q, y q ] = t[x q, y q ]. Charakteristickou rovnici máme pro [x, y] Ē[l] ve tvaru [x q, y q ] + q[x, y] = t[x q, y q ]. ψ 4 n

ALGORITMY PRO URČENÍ ŘÁDU ELIPTICKÉ KŘIVKY 77 58 Poté, co vyjádříme x-ovou souřadnici q[x, y] = qp pomocí dělících polynomů, provedeme součet: x-ovou souřadnici součtu [x q, y q ] + q[x, y] označíme x a spočteme ji pomocí vzorce pro součet dvou bodů (pro něj je více variant 17 ). 59 Nyní tedy máme rovnici x = tx q neboli x tx q = 0, kterou vyřešíme pro neznámou t. 18 Hledané t l může nabývat hodnoty t nebo t. Na všechna nalezená t l aplikujeme 50, abychom obdrželi t. 60 Pro určení #E(F 357 ) stačí tedy znát číslo # N E(F 357 ), kde N > 154. Nabízí se zvolit například N = 165 = 3 5 11 = l 1 l l 3. Budeme proto nejdříve počítat číslo # 3 E(F 357 ); l je tedy nejprve rovno 3. 61 Příklad. Pro prvočíselné pole F 357 uvažujme eliptickou křivku Dělící polynomy jsou ψ 1 = 1, ψ = y, ψ 3 = 3x 4 + 51x + 1x + 170, E : y = x 3 + 006x + 1. ψ 4 = 4x 6 y + 51x 4 y + 80x 3 y + 140x y + 90xy + 1013y, ψ 5 = 330x 1 + 94x 10 + 033x 9 + 178x 8 + 35x 7 + 3x 6 y 4 + 99x 6 +84x 5 + 408x 4 y 4 + 770x 4 + 640x 3 y 4 + 905x 3 + 1788x y 4 + 339x +145xy 4 + 100x + 1033y 4 + 1519. Pomocí rovnice y = x 3 +006x+1 jdou ψ 1, ψ 3 a ψ 5 vyjádřit jako funkce proměnné x, totéž platí pro ψ a ψ 4. ψ 1 = 1, ψ = 4x 4 + 953x + 4, ψ 3 = 3x 4 + 51x + 1x + 170, ψ 5 = 5x 1 + 1808x 10 + 380x 9 + 1468x 8 + 61x 7 + 354x 6 + 11x 5 + 1333x 4 + 444x 3 + 106x + 1937x + 195, t = q + 1 #E(F q ), t = 357 + 1 400 = 4. 17 zde se musíme rozhodovat, zda jde o obecný případ dvou různých bodů nebo o různé body se stejnou první souřadnicí nebo zda jde o týž bod 18 řešení této rovnice je ovšem třeba nějak efektivně (!) zvládnout; např. v [4] je uvedena metoda tzv. postupného umocňování

78 M. KUREŠ Reference [1] D. Hankerson, A. Menezes, S. Vanstone: Guide to Elliptic Curve Cryptography, Springer, 004. [] M. Kureš: Weilovo párování na eliptických křivkách v kryptosystémech založených na totožnosti a kryptograficky randomizované odpovídací techniky, Kvaternion 01, 103 111. [3] Výpočet kvadratických reziduí on-line, http://www.math.mtu.edu/mathlab/courses/holt/dnt/quadratic4.html [4] G. Musiker: Schoof s algorithm for counting points on E(F q), 005, http://math.ucsd.edu/~gmusiker/schoof.pdf [5] S. Sundriyal: Independent Study Report: Point Counting on Elliptic Curves over Finite Fields, http://www.cs.rit.edu/~scs7015/indepent study/ec.pdf [6] F. Wang, Y. Nogami, Y. Morikawa: A high-speed square root computation in finite fields with application to elliptic curve cryptosystem, Memoirs of the Faculty of Engineering, Okayama University 39 (005), 8 9. [7] E. V. York, Elliptic Curves Over Finite Fields, Thesis, George Mason University, 199, http://www.math.uiuc.edu/~handuong/crypto/york.pdf. Miroslav Kureš, Ústav matematiky, Fakulta strojního inženýrství, Vysoké učení technické v Brně, Technická, 61669 Brno, Česká republika, e-mail: kures@fme.vutbr.cz