C++ RSA算法--无法验证d
所以我正在测试我的RSA算法,我认为我做错了 如果我理解正确的话,要产生d-,我需要找到d*e或1 mod(p-1)(q-1)(因为它们应该是全等的) 像这样的C++ RSA算法--无法验证d,c++,encryption,cryptography,rsa,C++,Encryption,Cryptography,Rsa,所以我正在测试我的RSA算法,我认为我做错了 如果我理解正确的话,要产生d-,我需要找到d*e或1 mod(p-1)(q-1)(因为它们应该是全等的) 像这样的 d = e.modInverse(p_1.multiply(q_1)) 不幸的是,我不知道任何数字的1 mod怎么会不是1 例如:p=17,q=11,e=7,d=23 23*7=161,但1模(17-1)(11-1)=1非161 我做错了什么???你需要找到d这样 d*e = 1 mod ((p-1)(q-1)), 这和说 d
d = e.modInverse(p_1.multiply(q_1))
不幸的是,我不知道任何数字的1 mod怎么会不是1
例如:p=17,q=11,e=7,d=23
23*7=161,但1模(17-1)(11-1)=1非161
我做错了什么???你需要找到
d
这样
d*e = 1 mod ((p-1)(q-1)),
这和说
d = e^(-1) mod ((p-1)(q-1)).
仔细看看RSA算法是如何工作的。所以基本上你必须找到模的乘法逆
e
(p-1)(q-1)哇,非常感谢!7^-1 mod(17-1)(11-1)实际上是23(即d)!