关于摘要、数字签名与数字证书的学习笔记

摘要

  • 一段信息,经过摘要算法得到一串哈希值,即为摘要(digest);
  • 信息是任意长度,而摘要是定长的;
  • 常见的摘要算法有MD5、SHA1、SHA256、SHA512等,算法把无限的映射成有限,因此可能产生碰撞(两个不同的信息,算出的摘要相同)

非对称加密算法

算法重要的概念是公钥和私钥

先有私钥,再用函数生成公钥,公钥包含了私钥的信息,但也掺杂了其他随机变量,因此不能反推。

具体的两种情形:

  1. 对方用你的公钥加密信息,你收到后用私钥解开(只有你有私钥,只有你能解开,保证安全)
  2. 私钥加密的信息对方能用你提供的公钥解开

数字签名(不可抵赖+无法仿冒)

摘要经过加密,就得到数字签名

数字签名在发送方分为两步:

  1. 从内容算摘要(哈希算法)
  2. 从摘要明文到摘要密文,也称数字签名(发送方私钥+加密算法)

数字签名验证在接收方,分两步:

  1. 从摘要密文(数字签名)到摘要明文(发送方公钥+解密算法)
  2. 从接收到的内容当场计算摘要(哈希算法),比对结果是否一致

数字证书

为了保证“公钥”是可信的,数字证书应运而生

数字证书的处理流程:

发送方先把自己的公钥发给CA,CA用自己的私钥和加密算法对发送方的公钥进行加密,得到的就是CA的数字证书

注意:这里的两个不同的非对称算法(对应的两个公私钥对),一个算法是发送方加密摘要的,生成数字签名;另一个算法是CA加密发送方公钥的,用于生成数字证书。两个算法相互独立,没有必然联系。

在这里CA是第三方机构,CA公钥是公开的,接收方是可以查到的,不可能伪造,但是发送方公钥,接收方是通过通信得到的,收到后无法验证。

参考文献

https://zhuanlan.zhihu.com/p/32754315

你可能感兴趣的:(物联网)