Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何确保通过RSA算法创建的密码的消息完整性_Java_Algorithm_Encryption_Rsa_Integrity - Fatal编程技术网

Java 如何确保通过RSA算法创建的密码的消息完整性

Java 如何确保通过RSA算法创建的密码的消息完整性,java,algorithm,encryption,rsa,integrity,Java,Algorithm,Encryption,Rsa,Integrity,为了通过不安全的通道发送消息,我必须首先使用RSA算法对数据进行加密。我使用的实现是Java7中的javax.crypto.Cipher 我知道选择的密文攻击,如,因此希望添加消息完整性检查。在AES中,我只需将GCM模式与BouncyCastle JCE提供程序结合使用,但我会得到: Exception in thread "main" javax.crypto.BadPaddingException: mac check in GCM failed at org.bouncycast

为了通过不安全的通道发送消息,我必须首先使用RSA算法对数据进行加密。我使用的实现是Java7中的
javax.crypto.Cipher

我知道选择的密文攻击,如,因此希望添加消息完整性检查。在AES中,我只需将GCM模式与BouncyCastle JCE提供程序结合使用,但我会得到:

Exception in thread "main" javax.crypto.BadPaddingException: mac check in GCM failed
    at org.bouncycastle.jce.provider.JCEBlockCipher.engineDoFinal(Unknown Source)
    at javax.crypto.Cipher.doFinal(Cipher.java:2165)
    at skc.AES256_JavaCrypto.decrypt(AES256_JavaCrypto.java:93)
    at skc.AES256_JavaCrypto.main(AES256_JavaCrypto.java:130)

如何使用RSA密码实现消息完整性检查?

从未使用过它,但可能正是您需要的。欢迎使用Security SE。您的问题似乎只与软件编程有关,因此可能会找到更相关的答案,专门用于此主题。@WhiteWinterWolf Thx,请回答。我怎样才能把这个问题转移到stackoverflow上来?@Begueraj:是的,我知道,这就是为什么需要几张选票,有时需要在评论或评论中进行一些讨论。这种情况可能会导致不同的问题,或者是关于这里的主题(例如GCM和oracle padding之间的关系),或者是关于(例如GCM的内部工作)。然而,OP当前请求的答案很可能涉及一些基于所用类文档的代码(正确的方法参数、正确的对象初始化等)。顺便说一句,“BouncyCastle”匹配的帖子超过4000篇,而这里只有56篇……我不同意在这个问题上迁移到SO。例外情况是只为GCM提供一个示例结果,而问题是关于RSA的非编程问题。