DSTU 4145-2002

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 12. september 2018; checks kræver 16 redigeringer .

DSTU 4145-2002 (fulde navn: " DSTU 4145-2002. Informationsteknologier. Kryptografisk informationsbeskyttelse. Digital signatur baseret på elliptiske kurver. Dannelse og verifikation ") er en ukrainsk standard, der beskriver algoritmer til generering og verifikation af en elektronisk digital signatur baseret på egenskaber grupper af punkter med elliptiske kurver over felter og regler for anvendelse af disse regler på meddelelser, der sendes over kommunikationskanaler og/eller behandles i edb-systemer til generelle formål.

Vedtaget og sat i kraft efter ordre fra Ukraines statskomité om teknisk regulering og forbrugerpolitik dateret 28. december 2002 nr. 31 [1] . Teksten til standarden er offentlig ejendom [2] .

Standardstandarden bruger GOST 34.311-95 hash-funktionen og en tilfældig sekvensgenerator, der bruger DSTU GOST 28147:2009 algoritmen .

I henhold til ordre fra Ukraines Ministerium for Digital Udvikling af 30. september 2020 nr. 140/614, fra 1. januar 2021 , skal standarden bruges sammen med DSTU 7564:2014 ( Kupina hashfunktion ), men brugen af standarden i forbindelse med GOST 34.311-95 er tilladt indtil 1. januar 2022 [ 3] .

Grundlæggende algoritme

De vigtigste procedurer for den digitale signaturalgoritme etableret af DSTU 4145-2002 er præ -signaturberegning, signaturberegning og digital signaturverifikation [2] .

Generelle indstillinger for digital signatur

Yderligere betingelser for parametre
  • rækkefølgen af ​​en cyklisk undergruppe skal opfylde betingelsen
  • MOV betingelse skal være opfyldt (Menezes-Okamoto-Wenstone betingelse): for

Dannelse af en digital signatur

Den digitale signatur beregnes ud fra beskeden og præsignaturen .

Input data
  • generelle muligheder for digital signatur
  • digital signatur privat nøgle
  • længde besked
  • hash funktion med hash kode længde og id
  • digital signatur længde , som er valgt for en gruppe brugere:
Computer digital signatur

Beregningen af ​​signaturen består i at vælge den første koordinat af et hemmeligt, tilfældigt valgt punkt fra punktets bane . Efter brug af den digitale signatur bliver den straks ødelagt sammen med den tilsvarende randomizer.

Input data
  • generelle muligheder for digital signatur
Algoritme til beregning af pre-signaturen
  1. valg af en randomizer baseret på en kryptografisk pseudo-tilfældig talgenerator
  2. elliptisk kurvepunktberegning
  3. kontrol af værdien af ​​koordinaten (hvis , gentag derefter proceduren for at vælge en randomizer)
  4. ellers acceptere . (anden betegnelse: )
Resultat
  • digital signatur
Signaturberegningsalgoritme
  1. verifikation af rigtigheden af ​​de generelle parametre, nøgler og opfyldelse af betingelser og begrænsninger vedrørende værdierne af mellemværdier i overensstemmelse med procedurerne defineret af standarden
  2. beregning af en hash-kode baseret på en besked
  3. opnåelse af et element af hovedfeltet fra hash-koden i henhold til proceduren fastsat af standarden. Hvis dette viser sig , så accepter
  4. valg af randomizer
  5. digital signaturberegning
  6. beregning af elementet i hovedfeltet  (produktet er et element af ) (faktisk, )
  7. opnåelse af et heltal fra elementet i hovedfeltet i overensstemmelse med proceduren fastsat af standarden (i tilfælde af at en ny randomizer er valgt)
  8. heltalsberegning (hvis , en ny randomizer er valgt)
  9. baseret på et par heltal skrives den digitale signatur som en binær række af længde : værdien placeres i de mindst signifikante bits af venstre halvdel af bits, værdien placeres i de mindst signifikante bits af højre halvdel af bits , de resterende bits er fyldt med nuller
Resultat
  • underskrevet besked i formen ( , , ), hvor er en digital signatur

Verifikation af digital signatur

Input data
  • generelle muligheder for digital signatur
  • digital signatur offentlig nøgle ,
  • underskrevet besked ( , , ) af længde
  • hash funktion
Signaturberegningsalgoritme
  1. verifikation af rigtigheden af ​​de generelle parametre, nøgler og opfyldelse af betingelser og begrænsninger vedrørende værdierne af mellemværdier i overensstemmelse med procedurerne defineret af standarden
  2. verifikation af hash-funktionsidentifikatoren : hvis den givne identifikator ikke bruges i en given gruppe af brugere, træffes beslutningen "signaturen er ugyldig", og verifikationen er fuldført
  3. baseret på længden af ​​hashkoden
  4. tilstandskontrol . Hvis mindst en af ​​dem ikke er opfyldt, træffes beslutningen "signaturen er ugyldig", og verifikationen er afsluttet.
  5. kontrollere tilstedeværelsen af ​​beskedteksten og dens længde . Hvis der ikke er nogen tekst, eller hvis beslutningen "signaturen er ugyldig" træffes, og verifikationen er afsluttet
  6. beregning af en hash-kode baseret på en besked
  7. opnåelse af et element af hovedfeltet fra hash-koden i henhold til proceduren fastsat af standarden. Hvis dette viser sig , så accepter
  8. udtrækning af et talpar fra en binær notation af en digital signatur
  9. kontrol af betingelser og . Hvis mindst en af ​​dem ikke er opfyldt, træffes beslutningen "signaturen er ugyldig", og verifikationen er afsluttet.
  10. elliptisk kurvepunktberegning
  11. hovedfeltelementberegning
  12. opnåelse af et heltal fra et element i hovedfeltet i henhold til proceduren fastsat af standarden
  13. hvis , så træffes beslutningen "signaturen er gyldig", ellers - "signaturen er ugyldig"
Resultat
  • truffet beslutning: "signaturen er gyldig" eller "signaturen er ugyldig"

Sikkerhed

Den kryptografiske styrke af en digital signatur er baseret på kompleksiteten af ​​den diskrete logaritme i den cykliske undergruppe af en gruppe punkter på en elliptisk kurve .

Hjælpealgoritmer brugt

Hentning af et heltal fra et element i hovedfeltet

Input data
  • hovedfeltelement
  • rækkefølgen af ​​basispunktet for en elliptisk kurve
Resultat
  • et heltal , der opfylder betingelsen
Beregningsalgoritme
  1. hvis elementet i hovedfeltet er lig med 0, så , slutningen af ​​algoritmen
  2. at finde et heltal
  3. er accepteret og fundet svarende til det største indeks for hvilket . Hvis der ikke er et sådant indeks, accepteres og afsluttes algoritmen.
  4. den binære længdeserie er den binære repræsentation af algoritmens outputnummer

Links

Software implementeringer

Noter

  1. ↑ 1 2 Informationsteknologier. Kryptografisk beskyttelse af information. Digital signatur, der kører på elliptiske kurver. Støbning og pereviryannya . shop.uas.org.ua. Hentet 13. december 2019. Arkiveret fra originalen 5. maj 2019.
  2. ↑ 1 2 Nationale standarder for yakі є sylannya i lovgivningsmæssige retsakter | DP "UkrNDNC" . www.org.ua. Hentet 13. december 2019. Arkiveret fra originalen 14. maj 2019.
  3. Bekendtgørelse fra Ukraines Ministerium for Digital Udvikling af 30. september 2020 nr. 140/614 . Dato for adgang: 11. januar 2020.