使用块进行RSA加密

时间:2014-04-20 03:08:31

标签: java encryption block rsa

我正在尝试使用块来实现RSA加密,以减少大位长度的解密运行时间。我的程序现在的方式,它的工作原理,但读取单个字符并删除它们。正如您可能想象的那样,大位长度的运行时间很长。

有没有办法使用块轻松实现解密,以便它可以更快地处理这些大的比特长度。如果简单可行,那么带有实现的代码示例会很好。谢谢。

1 个答案:

答案 0 :(得分:1)

根据您的描述,您似乎正在使用以下加密方案:

for i=0 to length(input):
    output(RSA_encrypt(key, input[i]))

这不是安全的加密方案。您似乎在寻找一种方法来执行与

类似的操作
for i=0 to blocks(input):
    output(RSA_encrypt(key, block(i, input)))

这同样不安全。基于安全RSA的加密方案通常涉及用RSA加密唯一会话密钥,然后使用诸如AES的对称密码加密消息。例如,请参阅RSAES-OAEP。不要尝试自己实施,因为你可能会弄错。相反,请使用信誉良好的加密库。

永远记住加密规则:

  1. 永远不要设计自己的加密。
  2. 永远不要实施自己的加密。
  3. 任何人都可以设计一个他们无法自我破坏的加密。