RSA加密和解密Java

时间:2018-04-17 14:10:28

标签: java encryption rsa

我在我的代码中遇到解密问题,我从加密和解密得到的值不匹配,解密的值总是1的值。我已经附上了我的所有代码,并希望得到一些帮助,为什么这个正在发生,因为它让我眼花缭乱。

1 个答案:

答案 0 :(得分:1)

该行

d = (BigInteger.valueOf(1).mod(phi).divide(e));  //check with nick

不正确,因为我确信尼克会证实。你需要计算e mod phi的modular inverse。在Java中,这可用BigInteger.modInverse(..),因此正确的行将是

d = e.modInverse(phi);