代码之家  ›  专栏  ›  技术社区  ›  Robben_Ford_Fan_boy

数字签名算法的实例

  •  2
  • Robben_Ford_Fan_boy  · 技术社区  · 14 年前

    任何人都有一个关于如何计算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.
    

    谢谢,

    1 回复  |  直到 14 年前
        1
  •  6
  •   Andrew McGregor    14 年前

    在定义DSA的标准末尾有一个工作示例, FIPS 186 .