我需要完全使用PKCS#1 V2.0加密方法(在the PKCS#1V2 specification的项目7.2.1中定义)加密数据。

它已经为Java实现了吗?

我在想类似将参数传递给javax.crypto.Cipher并指定“PKCS#1V2”的问题,我想知道是否存在这样的事情?

最佳答案

PKCS#1 v2.0加密通常称为OAEP加密。所以:

Cipher.getInstance("RSA/ECB/OAEPWithSHA1AndMGF1Padding");

查找的地方是Java密码体系结构文档:Standard Algorithm Name DocumentationSun Providers Documentation

如您所见,SunJCE提供程序支持OAEP的以下变体:
  • OAEPWITHMD5ANDMGF1PADDING
  • OAEPWITHSHA1ANDMGF1PADDING
  • (OAEPWITHSHA-1ANDMGF1PADDING)
  • OAEPWITHSHA-256ANDMGF1PADDING
  • OAEPWITHSHA-384ANDMGF1PADDING
  • OAEPWITHSHA-512ANDMGF1PADDING
  • 10-08 15:08