【发布时间】:2012-05-10 10:43:34
【问题描述】:
我有一个客户提供的 RSA 签名验证 API 描述,它采用参数 - Modulus(N)、E、填充方案、盐、消息及其签名。我必须实现签名验证 API(我可以利用 openssl API)。
有了以上信息,我可以验证签名通过了吗?或者我需要额外的参数? 我想我可以从 N 和 E 导出公钥。但是盐和填充方案是什么?
【问题讨论】:
我有一个客户提供的 RSA 签名验证 API 描述,它采用参数 - Modulus(N)、E、填充方案、盐、消息及其签名。我必须实现签名验证 API(我可以利用 openssl API)。
有了以上信息,我可以验证签名通过了吗?或者我需要额外的参数? 我想我可以从 N 和 E 导出公钥。但是盐和填充方案是什么?
【问题讨论】:
RSA 的公钥是 N 和 E 作为一对。私钥由 p、q 和 d 组成——尽管知道 p、q 和 e 可以推导出 d。
所以,简而言之:你应该能够,是的。
附加参数(盐、填充方案)使您能够根据 PKCS #1 正确利用 RSA,并正确解码 RSA 签名。
如有疑问,请查找 PKCS#1 和相关标准的现有实现,并使用它来实现这些调用。
【讨论】: