数字签名
主要用于验证信息的完整性;
原理
数字签名简述为:私钥加密摘要
![]()
相关概念说明:
- 散列函数:就是常规的
数字摘要算法,如MD5、SHA-1等,是单向的Hash算法; - 使用
非对称算法进行加解密:私钥对摘要进行加密,生成数字签名; - 比对:接收者使用相同的
数字摘要算法对原文进行摘要,然后和数字签名对应的摘要进行比对,进行完整性校验
数字证书
- 非对称加密时,会产生
公钥和私钥,私钥是自己保管,而公钥需要发布出去,如何保证别人拿到的公钥就是自己发布的公钥? - 数字签名时,使用
私钥加密摘要,而接受者需要使用公钥解密,如何保证发布的公钥不被第三方篡改?
回答:
- 使用
数字证书,将公钥信息注册到CA认证机构,由第三方可信任机构来保证公钥的正确性,不被篡改; - 简言之:
数字证书用于保证公钥的安全性; 私钥:保存在自己的密钥库中;公钥:使用数字证书输出;
原理
![]()
- 证书中,一定要包含
公钥信息:这个公钥就是希望保护的信息,通过CA认证机构来保证公钥的可信任,不被篡改; - CA的
数字签名(私钥加密摘要):用于验证认证机构的正确性以及证书的完整性; - 使用CA的公钥解密证书,可得到证书中的
公钥: 此时可以根据该公钥进行加解密;