8.1 RSASSA-PSS签名验签方案
采用EMSA-PSS编码方案 + RSASP/RSAVP签名验签
整个签名/验签流程与加解密流程非常相似。
RSASSA-PSS-SIGN (K, M) (§8.1.1,见图6)
输入
- K RSA 私钥 (记k为模数n的字节长)
- M 消息,字节长度需满足杂凑函数的输出限制
输出
- S 签名,字节长度为k或者错误信息
RSASSA-PSS-VERIFY ((n, e), M, S) (§8.1.2,见图6)
输入
- (n, e) RSA 公钥 (记k为模数n的字节长)
- M 消息,字节长度需满足杂凑函数的输出限制
- S 签名,字节长度为k或者错误信息
输出
- “有效签名”或“无效签名”
图6 签名验签的流程
8.2 RSASSA-PKCS1-v1_5签名验签方案
采用EMSA-PKCS1-V1_5编码方案 + RSASP/RSAVP签名验签
整个签名/验签流程与加解密流程非常相似。
RSASSA-PKCS1-V1_5-SIGN (K, M) (§8.2.1,见图6)
整体流程同RSASSA-PSS-SIGN (K, M),仅有的差别在于:
- 编码方式不同,用EMSA-PKCS1-v1_5-encode代替EMSA-PSS-encode
RSASSA-PKCS1-V1_5-VERIFY ((n, e), M, S) (§8.2.1,见图6)
整体流程同RSASSA- PSS-VERIFY (K, M),仅有的差别在于:
- 编码方式不同,用EMSA-PKCS1-v1_5-encode代替EMSA-PSS-verify
输出比较有微小差异:RSASSA-PSS-VERIFY在EMSA-PSS-verify中输出比较结果;PKCS1-V1_5中EMSA-PKCS1-v1_5-encode输出的EM和I2OSP(m)得到的EM比较得出结果。