RSA 加解密 Java

RSA Encryption and Decryption Java

我在我的代码中遇到解密问题,我从加密和解密中获得的值不匹配,解密的值始终为 1。我已附上我的所有代码,希望得到一些帮助为什么会这样,因为它让我有点眼花缭乱。

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

不正确,我相信 Nick 会确认。您需要计算 modular inverse of e mod phi. In Java this is available as BigInteger.modInverse(..),因此正确的行是

d = e.modInverse(phi);