【发布时间】:2014-04-20 03:08:30
【问题描述】:
我正在尝试使用块来实现 RSA 加密,以减少使用大比特长度进行解密的运行时间。我的程序现在的方式,它可以工作,但会读取单个字符并对其进行解密。正如您可能想象的那样,大位长度的运行时间很长。
有没有一种方法可以使用块轻松实现解密,以便在这些大位长度下更快地工作。如果简单可行,带有实现的代码示例会很好。谢谢。
【问题讨论】:
标签: java encryption block rsa
我正在尝试使用块来实现 RSA 加密,以减少使用大比特长度进行解密的运行时间。我的程序现在的方式,它可以工作,但会读取单个字符并对其进行解密。正如您可能想象的那样,大位长度的运行时间很长。
有没有一种方法可以使用块轻松实现解密,以便在这些大位长度下更快地工作。如果简单可行,带有实现的代码示例会很好。谢谢。
【问题讨论】:
标签: java encryption block rsa
根据您的描述,您似乎使用了以下加密方案:
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。不要尝试自己实现它,因为你可能会弄错。相反,请使用信誉良好的密码库。
永远记住加密规则:
【讨论】:
Never design your own crypto 和 Never implement your own crypto。谢谢。