所以我正在测试我的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 mod(17-1)(11-1)= 1而不是161。
我在这里做错了什么?
答案 0 :(得分:2)
您需要找到d
d*e = 1 mod ((p-1)(q-1)),
与说
相同d = e^(-1) mod ((p-1)(q-1)).
更仔细地了解RSA算法的工作原理。所以基本上你必须找到e
modulo (p-1)(q-1)
的乘法逆。