java - 使用 block 的 RSA 加密

标签 java encryption block rsa

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

有没有一种方法可以轻松地使用 block 实现解密,以便对于这些大位长度更快地工作。如果简单可行的话,带有实现的代码示例会很好。谢谢。

最佳答案

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

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 加密唯一的 session key ,然后使用对称密码(例如 AES)加密消息。例如,参见RSAES-OAEP 。不要尝试自己实现它,因为您很可能会出错。相反,请使用信誉良好的加密库。

永远记住加密规则:

  1. 永远不要设计自己的加密货币。
  2. 切勿实现自己的加密货币。
  3. 任何人都可以设计自己无法破解的加密货币。

关于java - 使用 block 的 RSA 加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23177996/

相关文章:

java - 添加java程序的分数无法正常工作

java - Android 设备中的帐户注册问题

java - 使用 BouncyCaSTLe 轻量级 API 的 AES-256 加密

java - 将 ArrayList<String> 转换为 byte[]

security - 选择安全 DBMS 以防止直接磁盘访问

ios - NSParagraphStyle iOS - 如何检测 block 和列表?

java - 如何在 android studio 中为图像附加描述?

javascript - 在 Selenium Webdriver 中滚动网页上的 div,而不滚动主页

iphone - ASIHTTPRequest completionBlock + ARC

java - 如何防止 Jetty 中列出目录?