【问题标题】:DSA verification calculationDSA 验证计算
【发布时间】:2011-05-28 11:04:42
【问题描述】:

我错过了什么吗?来自FIPS180-2,第 25 页,它给出了 u1、u2、g^u1 mod p、y^u2 mod p 和 v 的值。我已经计算了除 v 之外的所有值。但是,当我进行数学运算时,我的计算拒绝为 v = 0x8bac1ab66410435cb7181f95b16ab97c92b341c0。相反,我从以前得到 v = 0xc5a54698ae8e5b94661134260594ff4e3f488e26,它不等于 r。我在做(pow(g, u1, p) * pow(y, u2, p)) % q 进行计算,其中pow 是内置函数,而不是数学模块函数

【问题讨论】:

  • pow(g, u1, p)pow(y, u2, p) 的值是多少?
  • 我得到与 pdf 相同的值

标签: python math cryptography dsa


【解决方案1】:

您正在跳过一个 mod p 计算。你应该计算:

(((pow(g, u1, p) * pow(y, u2, p))) % p ) % q

【讨论】:

    猜你喜欢
    • 2011-03-28
    • 2018-09-17
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 2012-12-17
    • 2016-07-16
    • 1970-01-01
    相关资源
    最近更新 更多