修改rsa加密密文

时间:2017-05-30 11:28:11

标签: encryption rsa private-key

我遇到以下问题:

我使用RSA私钥来加密给定的纯文本。我想通过不安全的渠道将其发送到另一个应用程序。另一个应用程序只知道公钥。

中间的人是否有可能更改密文的部分内容,以便解密导致修改后的文本?

我自己在我的Java应用程序中尝试过这个,但如果我这样做,我总是得到


javax.crypto.BadPaddingException: Decryption error
    at sun.security.rsa.RSAPadding.unpadV15(RSAPadding.java:380) ~[na:1.8.0_131]
    at sun.security.rsa.RSAPadding.unpad(RSAPadding.java:291) ~[na:1.8.0_131]
    at com.sun.crypto.provider.RSACipher.doFinal(RSACipher.java:356) ~[sunjce_provider.jar:1.8.0_112]
    at com.sun.crypto.provider.RSACipher.engineDoFinal(RSACipher.java:389) ~[sunjce_provider.jar:1.8.0_112]
    at javax.crypto.Cipher.doFinal(Cipher.java:2048) ~[na:1.8.0_121]

我使用算法" RSA / ECB / PKCS1Padding"在我的Java应用程序中进行加密和解密。

此致

1 个答案:

答案 0 :(得分:0)

Maarten Bodewes给出了问题的正确答案:

  

"我使用RSA私钥来加密给定的纯文本。"。你应该在那里停下来。使用RSA私钥进行加密不是签名生成,也不提供消息的机密性;它不是一个安全的密码。您使用公钥加密并使用私钥解密。 -

相关问题