任何人都有一个关于如何计算R、S和验证V==R的简单值的DSA工作示例,因为这个标准已经有一段时间了,并且在LabelARYS(例如Java加密扩展)中实现,我发现很难找到算法如何工作的一个例子。
Compute r=(gk mod p) mod q Compute s=(k-1 * (x * r + i)) mod q Verifying a signature; again i is the input, and (r,s) is the signature. u1 = (s-1 * i) mod q u2 = (s-1 * r) mod q v = ((gu1 * yu2) mod p) mod q If v equals r, the signature is valid.
谢谢,
在定义DSA的标准末尾有一个工作示例, FIPS 186 .