前言
本文对最近接触到的公钥私钥概念进行汇总,以及签名生成,其与数字证书区别。
1、对称加密
众所周知,对称加密,即加解密双方使用同一密钥;
缺点:与非对称加密相比,要求双方获取相同的密钥是对称密钥加密的主要缺点之一。在某些特殊的场景下,这种加密技术就会有局限性,比如它无法用于身份验证,因为你不能将密钥提供给其他人。
由此,引出非对称加密概念。
2、非对称加密
非对称加密,即加解密双方持有不同密钥,学名上称为“公开密钥加密”,既有公私钥概念,公钥为通信双方所知,私钥发送方自己持有。
具体使用:
(1)和他人进行加密通信,比如:发送方A 接收方B,在双方进行通信之前,由B将自己公钥发送给A用于通信消息的加密传输,在B收到A发来消息时候,使用对应私钥解密。
(2)用作数字签名,见“签名”标题栏。
3、签名
签名验证:
对“数据”哈希,生成消息摘要;摘要使用发送方私钥加密,生成签名;
接收方使用发送方公钥对签名解密,解密出摘要,,确认是发送方签名的,,接收方又将接收到文档数据(原文)使用散列哈希成“摘要”,,若此摘要与“使用发送方解密出摘要”一致,证明 发送方签名的数据就是接收方接收到的数据。
不足:
要是有人伪造发送方的公私钥,将伪造的公钥发给接收方,将会造成巨大损失,这时候需要数字证书解决。
4、数字证书
数字证书就是为了证明发送者身份,证明接收方的公钥确实是发送方的。
具体产生:
1、证书机构使用私钥对发送者公钥加密,生成数字证书;
2、发送方将需发给对方的信息、签名、数字证书发给接受者;
3、接受者收到消息后,拿到证书机构的公钥,对发送方的数字证书作解密,得到发送者的公钥。
5、https
https就是使用数字证书的一个案例。