Eliptická křivka je hladká spojitá křivka, která je definována rovnicí , což lze upravit na tzv. Weierstrassův tvar .
Pokud platí, že , kde a, b jsou koeficienty z Weierstrassova tvaru, pak není křivka nesingulární (má ostrý bod), a nejedná se tedy o eliptickou křivku. Na eliptické křivce můžeme definovat bod v nekonečnu, který se obvykle označuje jako bod O.
Eliptická křivka nad reálnými čísly
Eliptickou křivku nad reálnými čísly můžeme definovat jako skupinu souřadnic [x;y], které vyhovují rovnici , kde a, b, x, y ∈ .
Pokud je daná eliptická křivka nesingulární, může zformovat grupu.
Sčítání bodů na eliptické křivce
Graficky
Grupy eliptických křivek jsou aditivní grupy, to znamená, že základní operace je zde sčítání. Sčítání dvou bodů na eliptické křivce je definováno geometricky.
Opačný bod k bodu P[x;y] je bod −P[x;−y], je tedy zobrazen osovou souměrností podle osy x. Ke každému bodu P existuje bod −P.
Předpokládejme, že body P a Q jsou dva různé body na eliptické křivce a že −P ≠ Q. Abychom tyto dva body sečetli graficky, musíme jimi proložit přímku, která eliptickou křivku protne ještě v právě jednom bodě. Tento bod můžeme nazvat −R. Obraz tohoto bodu je hledaný bod R, kde platí .
Pokud by platilo, že , pak můžeme říct, že bod Q je opačný k bodu P, tedy že mají stejnou souřadnici x. Sečteme-li tyto dva body (proložíme-li jimi přímku), nezískáme další průsečík s eliptickou křivkou. Tato přímka však eliptickou křivku protne v nekonečnu v pomyslném bodu O, můžeme tedy říct, že .
Pokud by nastala situace, že , pak bychom mohli říct, že chceme bod P zdvojnásobit. Tuto operaci učiníme tak, že uděláme tečnu k eliptické křivce s bodem dotyku P. Tato tečna protne eliptickou křivku v právě jednom bodě, který můžeme nazvat −R, jeho obraz R je bod, který hledáme.
Pokud by nastala situace, kdy a , jeho zdvojením tečna protne eliptickou křivku v nekonečnu v pomyslném bodě O, řekneme tedy, že . Pokud bychom chtěli bod P ztrojnásobit, získáme opět bod P, neboť platí .
Algebraicky
Další možností, jak sčítat body na eliptické křivce, je použití algebraických výpočtů. Tento způsob je nutný například u kryptografie na bázi eliptických křivek.
V první řadě musíme určit směrnici přímky, na které leží body P a Q. Tuto směrnici s vypočítáme jako , .
Díky Viète-Newtonovým vztahům můžeme říct, že pokud Q ≠ −P, pak:
Pro zdvojnásobení bodu P, kde , platí, že:
Eliptická křivka nad tělesem
Počítání nad reálnými čísly je pomalé a nepřesné z důvodu zaokrouhlování. Kryptografické aplikace potřebují přesné a rychlé výpočty, proto se v praxi používají eliptické křivky nad tělesem.
Poznamenejme, že s tělesem pracujeme jako s množinou zbytkových tříd modulo p, počítáme tedy s čísly 0 až , a že končíme výpočet tehdy, když máme zbytek po dělení prvočíslem p v tomto rozmezí. Pro těleso tedy počítáme s přirozenými čísly 0 až 22 a výsledkem matematických operací bude opět číslo v rozmezí 0 až 22.
Eliptická křivka nad tělesem může být vytvořena z libovolných čísel a, b, která jsou však v tělese . Eliptická křivka obsahuje všechny body o souřadnicích [x;y], které vyhovují rovnici .
Pokud , pak eliptická křivka může zformovat grupu.
Sčítání bodů na eliptické křivce nad tělesem
Sčítání bodů na eliptické křivce nad tělesem již nelze provádět efektivně graficky, používá se pouze algebraický postup.
Algebraický postup se od sčítání na eliptické křivce nad reálnými čísly příliš neliší, veškeré rovnice pouze budeme uvažovat nad tělesem , tedy modulo p.
Pro :
Pro 2P:
Také opačné body se počítají modulo p, tedy pro P[x;y] máme −P[x;−y modulo p].
Eliptické křivky nad m-bitovými řetězci
Prvky eliptických křivek nad jsou m-bitové řetězce, tedy m je počet číslic, které můžeme použít, a 2 udává binární soustavu. Na této křivce je vždy konečný počet bodů.