三、RSA-PSS 签名方案 3.1 RSA-PSS 介绍 在数字签名的过程中,特别是在使用如 RSA PSS 这样的高级签名方案时,各个参数的选择和配置对于确保签名的安全性和有效性至关重要。 RSA-PSS 是一种公钥加密技术中的签名方案,它提供了比传统的 PKCS#1 v1.5 签名方案更高的安全性。 3.2 RSA-PSS 签名运算过程 Java中可以使用 PSSParameterSpec 类用于配置 RSA-PSS 签名方案的参数。 这个类定义了 RSA-PSS 签名方案的参数规范,该方案在 PKCS#1 v2.1 标准中有定义,我们可以通过以下链接查看详细信息:PKCS#1 v2.1。
1.1、两种签名方式之一RSA-PSS PSS (Probabilistic Signature Scheme)私钥签名流程的一种填充模式。 目前主流的RSA签名包括RSA-PSS和RSA-PKCS#1 v1.5。
为了应对人们改进成了RSA-PSS签名算法。 数字签名可以识别出篡改和伪装还可以防止否认,然而,这一切是在一个大前提下的,那就是用于验证签名的公钥必须属于真正的发送者。
256 256 2009~ 256 15424 512 512 表 5.6-3 CRYPTREC(Japan) CRYPTREC 加密算法列表 技术族 名称 公钥加密 签名 DSA,ECDSA,RSA-PSS
fips=yes,input=der,structure=ec Decoder pointer: 0x5555555add70[20] Provider: default, Decoder: RSA-PSS input=der,structure=PrivateKeyInfo Decoder pointer: 0x5555555aff80[21] Provider: default, Decoder: RSA-PSS Input structure: ec (set: 0) Decoder context: 0x5555555b3e30[14] Provider: default, Decoder: RSA-PSS
在10+年做付费软件安全评估的工作经历中,我只有屈指可数的几次,遇到使用RSA-PSS的用户,RSA-PSS是一个学术界的推荐算法。
crypto/x509CreateCertificateRequest现在正确支持RSA-PSS签名算法。
RSA-PSS:RSA 的另一个应用,用于签名和验证消息。 PSS(Probabilistic Signature Scheme),表示生成签名时会加盐以得到随机签名。 与 RSASSA-PKCS1-v1_5 不同,RSA-PSS 有可能约简到 RSA 分解难题的难度。 通常,虽然 RSASSA-PKCS1-v1_5 仍被认为是安全的,但 RSA-PSS 应该用于代替RSASSA-PKCS1-v1_5。
添加了对导入 RSA-PSS 密钥和证书的支持。为安全起见,AES-XTS 密钥的两个密钥部分不应相同。此更新增加了对密钥生成和导入过程的检查,以确保这一点。实施了各种 bug 修复。
被认可和支持的广泛程度 优先选择国际标准算法 长期安全性 抵抗未来计算能力增长的能力 考虑后量子密码学 实现复杂度 正确实现的难度 选择实现简单且有成熟库的算法 7.2.2 算法推荐 RSA: 推荐:使用RSA-PSS