提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
名词解释
公钥:
密钥对外公开的部分,所有人都可以持有。用于验签和加密。
私钥:
密钥非公开部分,由用户自行保管。用于签名和解密。
摘要:
通过哈希算法将一段内容转为一段固定长度的内容,该内容即是摘要。用于检测内容是否发生修改。
哈希算法就是散列算法。
数字签名:
用消息发送者的私钥加密摘要后生成的内容。
签名验证算法:
用来证明这个消息是自己发的,别人不可以冒充自己发送消息。
加密算法:
用来对发送的消息内容进行加密,不让别人看见你发送的消息内容。
使用过程
1、小明
提取原文
的摘要
,并使用自己的私钥
对摘要
进行加密
,生成了签名
2、小明
再次将签名
和原文
一起使用小红
的公钥
进行加密
,生成了密文
,发送给小红
。
3、小红
接收到密文
,使用自己的私钥
进行解密
,得到了签名
和原文
。
4、小红
使用小明
的公钥
,对签名
进行解密
,得到了摘要
。
5、小红
也使用同样方法对原文
进行摘要
提取,如果摘要
相同则验证成功。
总结
签名验证算法中,我们需要使用自己的私钥去对消息摘要数据(哈希值)进行加密,公钥是用来对签名进行验证的。因为只有你持有私钥,因此,别人是无法冒充你,去对消息摘要数据进行加密,进而无法冒充你去发信息,或者对消息进行篡改。因此,它保证了消息的不可抵赖性与不可篡改性。
在加密算法中,别人使用你给他的公钥对它要发生给你的消息进行加密,由于其他人没有你的私钥,是无法进行解密的。因此,他是保证消息的机密性的。
部分转载:https://blog.csdn.net/happen_if/article/details/85218927