DSTU 4145-2002
Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od
verze recenzované 12. září 2018; kontroly vyžadují
16 úprav .
DSTU 4145-2002 (celý název: " DSTU 4145-2002. Informační technologie. Kryptografická ochrana informací. Digitální podpis založený na eliptických křivkách. Formování a ověřování ") je ukrajinský standard, který popisuje algoritmy pro generování a ověřování elektronického digitálního podpisu založeného na skupiny vlastností bodů eliptických křivek nad poli a pravidla pro aplikaci těchto pravidel na zprávy, které jsou odesílány komunikačními kanály a/nebo zpracovávány v univerzálních počítačových systémech.
Přijato a uvedeno v platnost nařízením Státního výboru Ukrajiny pro technickou regulaci a spotřebitelskou politiku ze dne 28. prosince 2002 č. 31 [1] . Text normy je volným dílem [2] .
Výchozí standard používá hašovací funkci GOST 34.311-95 a generátor náhodných sekvencí využívající algoritmus DSTU GOST 28147:2009 .
Podle nařízení Ministerstva digitálního rozvoje Ukrajiny ze dne 30. září 2020 č. 140/614 musí být standard od 1. ledna 2021 používán ve spojení s DSTU 7564:2014 ( Kupina hash funkce ), ale použití normy ve spojení s GOST 34.311-95 je povoleno do 1. ledna 2022 [ 3] .
Základní algoritmus
Hlavní postupy algoritmu digitálního podpisu stanoveného DSTU 4145-2002 jsou výpočet před podpisem, výpočet podpisu a ověření digitálního podpisu [2] .
Obecné možnosti digitálního podpisu
Další podmínky pro parametry
- řád cyklické podskupiny musí splňovat podmínku
- Musí být splněna podmínka MOV (Menezes-Okamoto-Wenstone podmínka): pro
Vytvoření digitálního podpisu
Digitální podpis se vypočítá na základě zprávy a předběžného podpisu .
Vstupní data
- obecné možnosti digitálního podpisu
- soukromý klíč digitálního podpisu
- délka zprávy
- hashovací funkce s délkou hash kódu a id
- délka digitálního podpisu , která je vybrána pro skupinu uživatelů:
Počítačový digitální podpis
Výpočet signatury spočívá ve výběru první souřadnice tajného, náhodně zvoleného bodu z oběžné dráhy bodu . Po použití digitálního podpisu je okamžitě zničen spolu s odpovídajícím randomizérem.
Vstupní data
- obecné možnosti digitálního podpisu
Algoritmus pro výpočet předběžného podpisu
- výběr randomizéru na základě kryptografického generátoru pseudonáhodných čísel
- výpočet bodu eliptické křivky
- kontrola hodnoty souřadnice (pokud , pak opakujte postup pro výběr randomizéru)
- jinak přijmout . (jiné označení :)
Výsledek
- digitální podpis
Algoritmus výpočtu podpisu
- ověření správnosti obecných parametrů, klíčů a plnění podmínek a omezení ohledně hodnot mezihodnot v souladu s postupy stanovenými normou
- výpočet hash kódu na základě zprávy
- získání prvku hlavního pole z hash kódu podle postupu stanoveného normou. Pokud se to ukáže , přijměte
- výběr randomizátoru
- výpočet digitálního podpisu
- výpočet prvku hlavního pole (produkt je prvkem ) (ve skutečnosti )
- získání celého čísla z prvku hlavního pole podle postupu stanoveného standardem (v případě , že je vybrán nový randomizér)
- výpočet celého čísla (pokud je vybrán nový randomizér)
- na základě dvojice celých čísel je digitální podpis zapsán jako binární řada délky : hodnota je umístěna do nejméně významných bitů levé poloviny bitů, hodnota je umístěna do nejméně významných bitů pravé poloviny bity , zbývající bity jsou vyplněny nulami
Výsledek
- podepsanou zprávu ve tvaru ( , , ), kde je digitální podpis
Ověření digitálního podpisu
Vstupní data
- obecné možnosti digitálního podpisu
- veřejný klíč digitálního podpisu ,
- podepsaná zpráva ( , , ) o délce
- hashovací funkce
Algoritmus výpočtu podpisu
- ověření správnosti obecných parametrů, klíčů a plnění podmínek a omezení ohledně hodnot mezihodnot v souladu s postupy stanovenými normou
- ověření identifikátoru hashovací funkce : pokud daný identifikátor není v dané skupině uživatelů použit, dojde k rozhodnutí "podpis je neplatný" a ověření je dokončeno
- na základě délky hash kódu
- kontrola stavu . Pokud není splněna alespoň jedna z nich, pak se rozhodne „podpis je neplatný“ a ověření je ukončeno.
- kontrola přítomnosti textu zprávy a její délky . Není-li text nebo je- li učiněno rozhodnutí „podpis je neplatný“ a ověření je dokončeno
- výpočet hash kódu na základě zprávy
- získání prvku hlavního pole z hash kódu podle postupu stanoveného normou. Pokud se to ukáže , přijměte
- extrahování dvojice čísel z binárního zápisu digitálního podpisu
- kontrolní podmínky a . Pokud není splněna alespoň jedna z nich, pak se rozhodne „podpis je neplatný“ a ověření je ukončeno.
- výpočet bodu eliptické křivky
- výpočet prvku hlavního pole
- získání celého čísla z prvku hlavního pole podle postupu stanoveného normou
- pokud , pak se rozhodne "podpis je platný", jinak - "podpis je neplatný"
Výsledek
- učiněné rozhodnutí: „podpis je platný“ nebo „podpis je neplatný“
Zabezpečení
Kryptografická síla digitálního podpisu je založena na složitosti diskrétního logaritmu v cyklické podskupině skupiny bodů na eliptické křivce .
Použité pomocné algoritmy
Získání celého čísla z prvku hlavního pole
Vstupní data
- hlavní prvek pole
- řádu základního bodu eliptické křivky
Výsledek
- celé číslo , které splňuje podmínku
Algoritmus výpočtu
- pokud je prvek hlavního pole roven 0, pak , konec algoritmu
- nalezení celého čísla
- je přijat a nalezen odpovídající největšímu indexu, pro který . Pokud takový index neexistuje, algoritmus je přijat a ukončen.
- binární délková řada je binární reprezentace výstupního čísla algoritmu
Odkazy
Softwarové implementace
Poznámky
- ↑ 1 2 Informační technologie. Kryptografická ochrana informací. Digitální podpis, který běží na eliptických křivkách. Lisování a pereviryannya . shop.uas.org.ua. Staženo 13. prosince 2019. Archivováno z originálu 5. května 2019. (neurčitý)
- ↑ 1 2 Vnitrostátní normy pro jaky є sylannya v regulačních právních aktech | DP "UkrNDNC" . www.org.ua. Staženo 13. prosince 2019. Archivováno z originálu 14. května 2019. (neurčitý)
- ↑ Příkaz Ministerstva digitálního rozvoje Ukrajiny ze dne 30. září 2020 č. 140/614 . Datum přístupu: 11. ledna 2020. (neurčitý)