DSTU 4145-2002

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2018. szeptember 12-én felülvizsgált verziótól ; az ellenőrzések 16 szerkesztést igényelnek .

A DSTU 4145-2002 (teljes nevén: " DSTU 4145-2002. Információs technológiák. Kriptográfiai információvédelem. Elliptikus görbéken alapuló digitális aláírás. Képzés és ellenőrzés ") egy ukrán szabvány, amely algoritmusokat ír le az elektronikus digitális aláírás generálására és ellenőrzésére , amelyek a következőkön alapulnak: mezők feletti elliptikus görbék pontjainak tulajdonságcsoportjai és szabályok e szabályok alkalmazására a kommunikációs csatornákon keresztül küldött és/vagy általános célú számítógépes rendszerekben feldolgozott üzenetekre.

Ukrajna műszaki szabályozással és fogyasztóvédelmi politikával foglalkozó állami bizottsága 2002. december 28- i, 31. számú végzésével fogadták el és léptették hatályba [1] . A szabvány szövege nyilvános [2] .

Az alapértelmezett szabvány a GOST 34.311-95 hash függvényt és a DSTU GOST 28147:2009 algoritmust használó véletlen sorozat generátort használja .

Az Ukrajna Digitális Fejlesztési Minisztériumának 2020. szeptember 30-án kelt , 140/614 számú rendelete szerint 2021. január 1-től a szabványt a DSTU 7564:2014- el ( Kupina hash függvény ) együtt kell használni , de a használat A szabvány GOST 34.311-95 -tel együtt 2022. január 1-jéig megengedett [ 3] .

Alap algoritmus

A DSTU 4145-2002 által létrehozott digitális aláírási algoritmus fő eljárásai az aláírás előtti számítás, az aláírás számítása és a digitális aláírás ellenőrzése [2] .

Általános digitális aláírási lehetőségek

További feltételek a paraméterekhez
  • ciklikus részcsoport sorrendjének meg kell felelnie a feltételnek
  • MOV feltételnek teljesülnie kell (Menezes-Okamoto-Wenstone feltétel): for

Digitális aláírás kialakítása

A digitális aláírás kiszámítása az üzenet és az előzetes aláírás alapján történik .

Bemeneti adatok
  • általános digitális aláírási lehetőségek
  • digitális aláírás privát kulcs
  • hosszúságú üzenet
  • hash függvény hash kód hosszával és azonosítójával
  • digitális aláírás hossza , amely a felhasználók egy csoportjához van kiválasztva:
Számítógépes digitális aláírás

Az aláírás kiszámítása abból áll, hogy kiválasztjuk egy titkos, véletlenszerűen kiválasztott pont első koordinátáját a pont pályájáról . A digitális aláírás felhasználása után azonnal megsemmisül a megfelelő véletlenszerűsítővel együtt.

Bemeneti adatok
  • általános digitális aláírási lehetőségek
Algoritmus az előzetes aláírás kiszámításához
  1. kriptográfiai pszeudo-véletlenszám-generátoron alapuló randomizáló kiválasztása
  2. elliptikus görbe pont számítás
  3. a koordináta értékének ellenőrzése (ha , akkor ismételje meg a véletlenszerű kiválasztási eljárást)
  4. egyébként fogadd el . (más megnevezés: )
Eredmény
  • digitális aláírás
Aláírás számítási algoritmus
  1. az általános paraméterek, kulcsok helyességének, valamint a köztes értékek értékére vonatkozó feltételek és korlátozások teljesülésének ellenőrzése a szabványban meghatározott eljárások szerint
  2. hash kód kiszámítása üzenet alapján
  3. a főmező elemének kinyerése a hash kódból a szabvány által meghatározott eljárás szerint. Ha ez kiderül , akkor fogadd el
  4. véletlenszerű kiválasztást
  5. digitális aláírás számítás
  6. a fő mező elemének kiszámítása  (a szorzat eleme ) (valójában )
  7. egész szám kinyerése a főmező eleméből a szabvány által meghatározott eljárás szerint ( új randomizáló kiválasztása esetén)
  8. egész szám számítása (ha , új véletlenszerűsítő kerül kiválasztásra)
  9. egész számpár alapján a digitális aláírás bináris hosszúságú sorozatként kerül felírásra : az érték a bitek bal felének legkisebb jelentőségű bitjeibe kerül, az érték a jobb felének legkevésbé jelentős bitjeibe kerül. a bitek , a fennmaradó bitek nullákkal vannak feltöltve
Eredmény
  • aláírt üzenet ( , , ) formában, ahol egy digitális aláírás található

Digitális aláírás ellenőrzése

Bemeneti adatok
  • általános digitális aláírási lehetőségek
  • digitális aláírás nyilvános kulcs ,
  • hosszúságú aláírt üzenet ( , , ).
  • hash függvény
Aláírás számítási algoritmus
  1. az általános paraméterek, kulcsok helyességének, valamint a köztes értékek értékére vonatkozó feltételek és korlátozások teljesülésének ellenőrzése a szabványban meghatározott eljárások szerint
  2. a hash függvény azonosítójának ellenőrzése : ha az adott azonosító egy adott felhasználói csoportban nem használatos, akkor az "aláírás érvénytelen" döntés születik és az ellenőrzés befejeződik
  3. a hash kód hossza alapján
  4. állapotellenőrzés . Ha ezek közül legalább az egyik nem teljesül, akkor az „aláírás érvénytelen” határozatot hozzuk és az ellenőrzést befejezzük.
  5. az üzenet szövegének és hosszának ellenőrzése . Ha nincs szöveg, vagy az „aláírás érvénytelen” határozatot hoznak és az ellenőrzés befejeződött
  6. hash kód kiszámítása üzenet alapján
  7. a főmező elemének kinyerése a hash kódból a szabvány által meghatározott eljárás szerint. Ha ez kiderül , akkor fogadd el
  8. számpár kinyerése a digitális aláírás bináris jelöléséből
  9. feltételek ellenőrzése és . Ha ezek közül legalább az egyik nem teljesül, akkor az „aláírás érvénytelen” határozatot hozzuk és az ellenőrzést befejezzük.
  10. elliptikus görbe pont számítás
  11. főmezőelem számítás
  12. egész szám kinyerése a főmező valamely eleméből a szabvány által meghatározott eljárás szerint
  13. ha , akkor a döntés "érvényes az aláírás", egyébként - "az aláírás érvénytelen"
Eredmény
  • döntés született: "az aláírás érvényes" vagy "az aláírás érvénytelen"

Biztonság

A digitális aláírás kriptográfiai erőssége egy elliptikus görbe pontcsoportjának ciklikus alcsoportjában található diszkrét logaritmus összetettségén alapul .

Használt segédalgoritmusok

Egész szám lekérése a fő mező egyik eleméből

Bemeneti adatok
  • fő mező elem
  • egy elliptikus görbe alappontjának rendje
Eredmény
  • a feltételt kielégítő egész szám
Számítási algoritmus
  1. ha a főmező eleme egyenlő 0-val, akkor , az algoritmus vége
  2. egész szám megtalálása
  3. elfogadásra kerül , és annak a legnagyobb indexnek felel meg , amelyre . Ha nincs ilyen index, akkor az algoritmust elfogadja és leállítja.
  4. a bináris hosszúságú sorozat az algoritmus kimeneti számának bináris reprezentációja

Linkek

Szoftver implementációk

Jegyzetek

  1. ↑ 1 2 Információs technológiák. Az információk kriptográfiai védelme. Elliptikus íveken futó digitális aláírás. Formázás és pereviryannya . shop.uas.org.ua. Letöltve: 2019. december 13. Az eredetiből archiválva : 2019. május 5.
  2. ↑ 1 2 A yakі є sylannya nemzeti szabványai a szabályozási jogi aktusokban | DP "UkrNDNC" . www.org.ua. Letöltve: 2019. december 13. Az eredetiből archiválva : 2019. május 14.
  3. Ukrajna Digitális Fejlesztési Minisztériumának 2020. szeptember 30-i 140/614-es rendelete . Hozzáférés időpontja: 2020. január 11.