Elliptic Curve Digital Signature Algorithm
Vzhľad
Tento článok urgentne potrebuje úpravy a/alebo aspoň základné rozšírenie. Pomôž Wikipédii tým, že ho vhodne vylepšíš, alebo rozšíriš. Pozri si kritériá na minimálny článok, inšpiráciu môžeš nájsť aj v radách štylistickej príručky, prípadne v diskusii k článku. Neodstraňuj túto šablónu ak nedošlo k podstatnému vylepšeniu článku. Ak si článok založil, odstránenie šablóny prenechaj inému redaktorovi. Ak nebude tento článok do 14 dní prijateľne upravený, bude pravdepodobne zmazaný. Preto buďte pri úprave smelí! Dátum označenia je 30. 12. 2009, k zmazaniu dôjde 13. 1. 2010. Ak si umiestnil/a túto šablónu do článku, vyhľadaj autora v histórii článku a vlož na jeho diskusnú stránku oznam: {{Urgentne upraviť autor|Elliptic Curve Digital Signature Algorithm}} --~~~~ |
Elliptic Curve Digital Signature Algorithm (ECDSA) je variant podpisovej schémy DSA (Digital Signature Algorithm) s dodatkom na základe ECC. Je navrhnutý tak, aby bol existenčne nefalšovatelný.
Nastavenie systému
Zadefinujeme si subjekty:
- U – signer
- V – verifier
- M – message
- S - signature
V skutočnosti platí, že hneď po podpísaní správy M každý subjekt V s kópiou U verejného kľúča môže overiť daný podpis S.
Predpokladajme, že Alice (U) chce poslať podpísanú správu Bobovi (V).
Subjekty U a V musia vykonať nasledujúci postup pre prípravu využitia ECDSA:
- jednotka U by mala určiť, ktoré z podporovaných hašovacich funkcií je potrebné použiť pre generovanie podpisu.
- jednotka U by mala stanoviť domenové parametre eliptických kriviek T=(p, a, b, G, n, h) or (m, f(x), a, b,G, n, h) pre požadovanú úroveň zabezpečenia.
- subjekt V (Bob) by mal získať autentickým spôsobom hašovaciu funkciu a doménový parameter T, aby V mohol určiť, či doménové parametre sú platné pre krivku pomocou jednej z vybraných metód.
- jednotka U by mala vytvoriť kľúčový pár eliptických kriviek (d, Q) v spojení s T pre použitie v podpisovej schéme. Kľúčový pár tvorý verejný a privátny kľúč.
- subjekt V by mal získať autentickým spôsobom Alicin verejný kľúč QU.
Podpisová operácia
- Input: Vstupná správa M, ktorá je spáva určená pre podpis a Alicin privátny kľuč dU.
- Output: Podpis S=(r, s) sa skladá z dvoch celočíselných sekvencií r a s
Na vytvorenie podpisu S z M použije Alice (U) Signture Seneration Algorithm:
- 1. použijeme hašovaciu funkciu, ktorú sme zvolili na výpočet celočíselnej hash hodnoty: e=HASH(M)
- 2. vyberieme náhodné číslo k z intervalu [1, n – 1].
- 3. vypočítame r = x1 mod n, kde x1 = kG, ak r = 0 proces sa opakuje
- 4. vypočítame s = k^−1(e + rdU) mod n, ak s = 0 proces sa opakuje
- 5. výstupný podpis S = (r, s)