Tabulka nákladů na operace v eliptických křivkách - Table of costs of operations in elliptic curves
![]() | Tento článek má několik problémů. Prosím pomozte vylepši to nebo diskutovat o těchto problémech na internetu diskusní stránka. (Zjistěte, jak a kdy tyto zprávy ze šablony odebrat) (Zjistěte, jak a kdy odstranit tuto zprávu šablony)
|
Kryptografie eliptické křivky je populární forma veřejný klíč šifrování, které je založeno na matematické teorii eliptické křivky. Body na eliptické křivce lze sčítat a tvořit a skupina v rámci této operace přidání. Tento článek popisuje výpočetní náklady na přidání této skupiny a určité související operace, které se používají v algoritmech kryptografie eliptické křivky.
Zkratky pro operace
V další části je uvedena tabulka všech časových nákladů některých možných operací v eliptických křivkách. Sloupce tabulky jsou označeny různými výpočetními operacemi. Řádky tabulky jsou pro různé modely eliptických křivek. Jedná se o zvažované operace:
DBL - zdvojnásobení
PŘIDAT - přidání
mADD - Smíšené přidání: přidání vstupu, jehož velikost byla změněna Z-koordinovaný 1.
mDBL - smíšené zdvojnásobení: zdvojnásobení vstupu, jehož velikost byla změněna Z souřadnice 1.
TPL - ztrojnásobení.
DBL + PŘIDAT - kombinovaný dvojitý a přidat krok
Informace o tom, jak jsou definovány přidávání (ADD) a zdvojnásobení (DBL) bodů na eliptických křivkách, viz Zákon o skupině. O důležitosti zdvojnásobení pro násobení rychlosti scaleru pojednává tabulka. Informace o dalších možných operacích na eliptických křivkách viz http://hyperelliptic.org/EFD/g1p/index.html.
Tabulka
Za různých předpokladů pro násobení, sčítání, inverze pro prvky v některých pevné pole se časová náročnost těchto operací liší. V této tabulce se předpokládá, že:
- I = 100M, S = 1M, * param = 0M, add = 0M, * const = 0M
To znamená, že k invertování (I) prvku je zapotřebí 100 násobení (M); pro výpočet čtverce (S) prvku je nutné jedno násobení; k násobení prvku parametrem (* param), konstantou (* const) nebo k přidání dvou prvků není potřeba žádné násobení.
Další informace o dalších výsledcích získaných s různými předpoklady viz http://hyperelliptic.org/EFD/g1p/index.html
Tvar křivky, reprezentace | DBL | PŘIDAT | mADD | mDBL | TPL | DBL + PŘIDAT |
---|---|---|---|---|---|---|
Krátký projekt Weierstrass | 11 | 14 | 11 | 8 | ||
Krátký Weierstrassův projektiv s a4 = -1 | 11 | 14 | 11 | 8 | ||
Krátký Weierstrassův projektiv s a4 = -3 | 10 | 14 | 11 | 8 | ||
Krátký Weierstrass relativní Jacobian[1] | 10 | 11 | (7) | (7) | 18 | |
Trojnásobně orientovaná křivka Doche – Icart – Kohel | 9 | 17 | 11 | 6 | 12 | |
Hessianova křivka prodloužena | 9 | 12 | 11 | 9 | ||
Hesenská křivka projektivní | 8 | 12 | 10 | 6 | 14 | |
Jacobi Quartic XYZ | 8 | 13 | 11 | 5 | ||
Jacobiho kvartální zdvojnásobení XYZ | 8 | 13 | 11 | 5 | ||
Zkroucená pytlovitá křivka projektivní | 8 | 12 | 12 | 8 | 14 | |
Zdvojnásobení Doche – Icart – Kohelova křivka | 7 | 17 | 12 | 6 | ||
Jacobi křižovatka projektivní | 7 | 14 | 12 | 6 | 14 | |
Jacobiho křižovatka prodloužena | 7 | 12 | 11 | 7 | 16 | |
Twisted Edwards projektivní | 7 | 11 | 10 | 6 | ||
Twisted Edwards Inverted | 7 | 10 | 9 | 6 | ||
Twisted Edwards Extended | 8 | 9 | 8 | 7 | ||
Edwards projektivní | 7 | 11 | 9 | 6 | 13 | |
Jacobiho kvartální zdvojnásobení XXYZZ | 7 | 11 | 9 | 6 | 14 | |
Jacobi quartic XXYZZ | 7 | 11 | 9 | 6 | 14 | |
Jacobi quartic XXYZZR | 7 | 10 | 9 | 7 | 15 | |
Edwardsova křivka obrácená | 7 | 10 | 9 | 6 | ||
Montgomeryho křivka | 4 | 3 |
Význam zdvojnásobení
V některých aplikacích kryptografie eliptické křivky a metoda faktorizace eliptické křivky (ECM ) je nutné vzít v úvahu skalární násobení [n]P. Jedním ze způsobů, jak toho dosáhnout, je postupný výpočet:
Používání je ale rychlejší metoda dvojitého přidání, např. [5]P = [2] ([2] P) + PObecně vypočítat [k]P, psát si
s ki v {0,1} a , kl = 1, pak:
.
Všimněte si, že tento jednoduchý algoritmus trvá nanejvýš 2 l kroky a každý krok se skládá ze zdvojnásobení a (pokud ki ≠ 0) přidání dvou bodů. Toto je tedy jeden z důvodů, proč jsou definovány vzorce pro sčítání a zdvojnásobení. Navíc je tato metoda použitelná pro jakoukoli skupinu a pokud je zákon o skupině napsán multiplikativně, místo toho se nazývá algoritmus dvojitého a přidání. algoritmus čtverce a násobení.
Reference
- ^ Fay, Björn (2014-12-20). „Double-and-Add with Relative Jacobian Coordinates“. Archiv kryptologie ePrint.