DSA验证计算

时间:2010-12-20 20:01:00

标签: python math cryptography dsa

我错过了什么吗?从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 个答案:

答案 0 :(得分:5)

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

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