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  .