Kryptografia na báze eliptických kriviek

Kryptografia na báze eliptických kriviek (iné názvy: kryptografia pomocou eliptických kriviek, kryptografia eliptických kriviek, angl. "elliptic curve cryptography", skr. ECC) je systém asymetrickej kryptografie (kryptografie s verejným kľúčom), ktorý je založený na algebrickej štruktúre eliptických kriviek nad konečnými poľami. Použitie eliptických kriviek v kryptografii navrhli nezávisle Neal Koblitz a Victor S. Miller v roku 1985.
Systém je založený na veľmi ťažkej riešiteľnosti niektorých matematických problémov. Pre protokoly založené na eliptických krivkách sa predpokladá, že nájdenie diskrétneho logaritmu prvku eliptickej krivky je nemožné. Veľkosť eliptických kriviek určuje obťažnosť problému. Predpokladá sa, že na získanie rovnakej úrovne zabezpečenia ako pri RSA systémoch možno použiť menšiu grupu. Použitie malých grúp redukuje požiadavky na ukladanie a prenos. 
Základná matematická definícia.
Konečné polia.
Abstraktne, konečné pole sa skladá z konečnej množiny objektov tzv. prvkov poľa, spolu s opisom dvoch operácií, sčítanie a násobenie, to možno vykonať v pároch z jednotlivých prvkov poľa. Tieto operácie musia mať určité vlastnosti. Prvky poľa charakterizuje q, ktoré predstavuje veľkosť poľa.
Ukazuje sa, že toto je konečné pole obsahujúce q prvky vtedy a len vtedy, keď qi su prvočísla. Konečné pole s q prvkami je označované ako Fq.
U eliptyckych kriviek sú použité dva druhy konečných polí "Fq" :
Je potrebné veľmi presne opísať konkrétne túto oblasť, aby sa presne špecifikovali šifrovacie systémy na základe ECC na úplnom začiatku tvorby krivky a samotných kľúcov.
Eliptické krivky.
Eliptická krivka nad konečným poľom Fq je definovaná z hľadiska riešenia rovnice v "Fq". Forma rovnice definujúca eliptickú krivku nad "Fq" sa líši v závislosti na tom, či konečné pole je hlavné konečné pole Fp alebo charakteristické binárne konečné pole F2m.
Formálna definícia eliptických kriviek je veľmi technicky zložitá a vyžaduje určité zázemie vysokoškolskej algebrickej geometrie.
Eliptické krivky nad F2m aj Fp sú "non-supersingularne" eliptické krivky:
Eliptické krivky nad Fp.
Nech Fp je hlavné konečné pole tak, že p je nepárne prvočíslo a nech koeficienty a,bєFp a vyhovujú pre "4a3 +27b2 ≠ 0 (mod p)". Potom eliptická krivka E(Fp) cez "Fp" definovaná parametrami "a, b є Fp" zložená zo súboru riešení alebo bodov P = (x, y) pre "x, y є Fp" má rovnicu:
 y2 = x3 + ax + b (mod p)
spolu s extra bodom "Ό" nazývaným bod v nekonečne v projektivní rovine.
Rovnica y2 = x3 + ax + b (mod p) je vymedzenie rovnice E(Fp).
Pre daný bod P = (xp, yp):
Eliptické krivky nad F2m.
Nech F2m je charakteristické binárne konečné pole, a nech koeficienty a, b є F2m a vyhovujú "b≠0" v "F2m" . Potom eliptická krivka E(F2m) cez "F2m" definovaná parametrami "a, b є F2m" zložená zo súboru riešení alebo bodov P=(x, y) pre "x, y є F2m" má rovnicu:
 y2 + xy = x3 + ax2 + b in F2m
spolu s extra bodom Ό nazývaným bod v nekonečne v projektívnej rovine.
Doménové parametre eliptických kriviek.
Táto sekcia sa zaoberá adresovaním parametrov eliptickej krivky. Opisuje parametre potrebné pre eliptické krivky, ako by mali byť generované, a ako by mali byť schvaľované.
Doménové parametre Eliptických kriviek môžu byť generované náhodne, čo znamená, že parametre sú získané z časti ako výstup z bezpečnej hašovacej funkcie. Preukázateľne použité náhodné parametre eliptický kriviek sa iba odporúčajú, pretože môžu byť používané pre rôzne dôvody.
Doménové parametre Eliptických kriviek nad Fp.
Doménové parametre eliptickej krivky nad poľom "Fp":
 T = (p, a, b, G, n, h)
Doménové parametre Eliptických kriviek nad F2m.
Doménové parametre eliptickej krivky nad poľom "F2m":
 T = (m, f(x), a, b, G, n, h)
Všeobecne.
Generovanie doménových parametrov si zvyčajne vykonáva každý účastník sám, pretože ide o počítanie počtu bodov na krivke, čo je časovo náročné a problematické realizovať. 
Špecifikácia "FIPS 186-3" má desať odporúčaných dĺžok konečných polí, na základe ktorých sa potom generujú aj rôzne dĺžky kľúčov:
Tieto hodnoty pre Krivky boli vybrané pre optimálnu bezpečnosť a účinnosť vykonávania.
Kľúčový pár eliptických kriviek.
Všetky kryptografické systémy verejným kľúčom opísané v tomto dokumente používajú kľúčovú dvojicu známu ako kľúčové páry eliptickej krivky.
Kľúčové páry eliptickej krivky by mali byť tvorené nasledujúcim spôsobom:
Kryptografické systémy.
Momentálne používané kryptografické systémy s využitím eliptických kriviek: