DSA (Digital Signature Algorithm), skaitmeninio parašo algoritmas yra Jungtinių Valstijų federalinės valdžios (angl. United States Federal Government) standartinis skaitmeninis parašas. Jis buvo patvirtintas Nacionalinės standartų ir technologijų instituto (NIST, National Institute of Standards and Technology) 1991 metais.

Raktų generavimas

redaguoti
  • Pasirenkamas 160-bitų pirminis skaičius  .
  • Pasirenkamas  -bitų ilgio pirminis skaičius  , toks kad tenkintu sąlygą   kur   yra sveikas skaičius ir kad   tenkintu sąlygą   ir   dalintusi iš 64.
  • Pasirenkamas  , kuris   toks kad tenkinama lygybė  
  • Pasirenkamas atsitiktinai sugeneruota skaičių x kuris tenkintu sąlyga  
  • Suskaičiuojamas  
  • Viešas raktas yra  . Privatus raktas yra  .

Pasirašymas

redaguoti
  • Generuojama atsitiktinė žinutė, kurios reikšmė k būtų  
  • Suskaičiuojama  
  • Suskaičiuojama   , kur   yra SHA-1 santraukos funkcija taikoma žinutei  .
  • Perskaičiuojam parašą mažai tikėtinu atveju kai   arba  
  • Parašas yra  .

Patvirtinimas

redaguoti
  • Atmesti parašą jei netenkinama bent viena iš sąlygų   arba  
  • Suskaičiuojama  
  • Suskaičiuojama  
  • Suskaičiuojama  
  • Suskaičiuojama  
  • Parašas galioja jeigu tenkinama lygybe  .
  NODES