1.1 生成数字签名
1 利用RSA算法生成公钥、私钥。私钥由密钥持有者自主保存,公钥可对外发布。
2 准备好待签名的文档。
3 利用哈希算法(HASH),生成待签名文档
的摘要
。(文档摘要)
4 利用签名者的私钥,加密文档摘要。
5 将签名者的公钥
、数字签名
、文档
,传递给验签者。
1.2 验证数字签名
1 验签者获得签名者发过来的数字签名
、公钥
、文档
。
2 验签者利用签名者的公钥
解密数字签名
,得到解密后的文档摘要
。
3 验签者利用哈希算法生成文档的摘要
。
4 比对解密后的文档摘要
与利用哈希算法生成的摘要
。
5 若两个摘要完全一致,则验签成功;否者验签失败。
1.3 签名者身份验证
上述两节,已清晰地讲解了数字签名与验签。
若需验证签名者的身份,那么需要通过CA机构颁发的数字证书进行验证。首先,CA机构应该是可信任的。
签名者将自己的公钥提交至CA机构进行备案,生成数字证书。