【问题标题】:RSA encrypt with Pycrypto OAEP and decrypt with plain old JavaRSA 使用 Pycrypto OAEP 加密并使用普通的旧 Java 解密
【发布时间】:2013-09-27 18:34:18
【问题描述】:

我使用 PyCrypto PKCS_OAEP 对 AES 密钥进行 RSA 加密。 OAEP 使用 SHA1 和 MGF1(默认)。

我正在尝试在 Java 中获取与我的 PyCrypto 加密参数规范匹配的 Cipher 实例。

我看到 SHA1/MGF1 填充很好,但完全不确定密码模式。我认为是欧洲央行,但有人可以在这里提供帮助。解密失败。我可以在开始工作时提供错误,但在此之前可能会有一个琐碎的答案可以节省更多讨论。

【问题讨论】:

  • RSA 只能在 ECB 模式下使用。您需要向我们展示您是如何尝试执行解密的。
  • 公钥密码不用于任何操作模式,因此技术上正确的术语是“NONE”,尽管出于遗留兼容性原因,JCE 确实接受“ECB”作为同义词。传递给Cipher.getInstance() 的字符串应该是"RSA/NONE/OAEPWithSHA1AndMGF1Padding"
  • @ntoskrnl 听起来像是对我的回答......不要成为 CodesInChaos 并使用回答按钮:P
  • 完成。都好。谢谢你的答案
  • @owlstead 发表评论作为答案。

标签: java encryption cryptography rsa pycrypto


【解决方案1】:

公钥密码不用于任何操作模式,因此技术上正确的术语是“NONE”,尽管出于遗留兼容性原因,JCE 确实接受“ECB”作为同义词。传递给Cipher.getInstance() 的字符串应该是"RSA/NONE/OAEPWithSHA1AndMGF1Padding"

【讨论】:

  • SunJCE (1.7.40) 似乎没有 None 作为选项。 RSA/ECB/OAEPWithSHA1AndMGF1Paddinng 工作正常
猜你喜欢
  • 2017-05-24
  • 2016-10-14
  • 2018-09-15
  • 1970-01-01
  • 1970-01-01
  • 2016-06-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多