Digital Signature Algorithm
メッセージ m {\displaystyle m} と署名 ( r , s ) {\displaystyle \left(r,s\right)} の検証は以下のように行われる。
0 < r < q {\displaystyle 0<r<q} かつ 0 < s < q {\displaystyle 0<s<q} を満たさない場合には拒否する。
w = s − 1 mod q {\displaystyle w=s^{-1}{\bmod {\,}}q} を計算する。
u 1 = H ( m ) ⋅ w mod q {\displaystyle u_{1}=H\left(m\right)\cdot w\,{\bmod {\,}}q} を計算する。
u 2 = r ⋅ w mod q {\displaystyle u_{2}=r\cdot w\,{\bmod {\,}}q} を計算する。
v = ( ( g u 1 y u 2 ) mod p ) mod q {\displaystyle v=\left(\left(g^{u_{1}}y^{u_{2}}\right){\bmod {\,}}p\right){\bmod {\,}}q} を計算する。
v = r {\displaystyle v=r} であれば署名は正当なものである。
DSAはElGamal署名の改良版であり、類似している。