【问题标题】:Is PKCS#1 V2.0 implemented for Java?PKCS#1 V2.0 是为 Java 实现的吗?
【发布时间】:2011-02-26 12:59:27
【问题描述】:

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

它已经为 Java 实现了吗?

我正在考虑只是将参数传递给 javax.crypto.Cipher 指定“PKCS#1V2”,我想知道是否有这样的事情?

【问题讨论】:

    标签: java encryption rsa pkcs#1


    【解决方案1】:

    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

    【讨论】:

    • Sun Providers Documentation,是的,Standard Algorithm Name Docs,不是。 Sun 不承诺实施他们保留名称的所有内容。例如,“ECIES”算法名称是保留的,但没有 Sun 提供商实现它。
    • 标准算法名称文档可帮助您找到正确的名称,而不是“PKCS#1V2”。 Sun 提供者文档可帮助您了解 Sun 提供者是否实现了它,或者您是否应该尝试寻找其他提供者。
    • @RasmusFaber 看起来像 OAEP(最优非对称加密填充),它只是填充定义。 PKCS1V2 只是关于填充吗?
    • @Tom Brito:为什么不自己阅读规范? rfc-editor.org/cgi-bin/…
    • 我没有找到这个名字,但是在apache commons中找到了XMLCipher.RSA_OAEP,是一样的。无论如何,谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 2014-09-23
    相关资源
    最近更新 更多