DSA验证计算

3 投票
1 回答
611 浏览
提问于 2025-04-16 08:48

我是不是漏掉了什么?在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是内置函数,而不是数学模块的函数。

1 个回答

5

你漏掉了一个模 p 的计算。你应该计算:

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

撰写回答