RSAEngine.processBlock的不同byte []大小的原因

时间:2014-11-24 22:55:17

标签: java encryption rsa bouncycastle

对于RSAEngine(bcprovjdk16-1.45.jar)类中的processBlock方法返回的不同大小的byte [],可能是什么原因。 (在一种情况下为127,在另一台机器上为128,运行相同版本的java,[1.7,64位]并使用相同的公钥进行加密和私钥进行解密,并使用相同的数据进行解密。 / p>

1 个答案:

答案 0 :(得分:0)

基本上,如果我查看源代码,那么如果输入的大小不同,或者输入的字节在前面设置为零,那么最终可以得到更少的字节。但是,如果您使用原始/教科书RSA - 即RSA应用于明文的填充模式,则应该这样。教科书RSA不应直接用于加密消息(可能包含任何内容)。

要解决此问题,请使用填充模式,例如PSS或PKCS#1 v1.5,可能与AES结合用于混合密码系统。