一文带你读懂非对称加密与数字证书
作者:互联网
加密与数字证书
一、信息传递
事情是这样的,小明在青春懵懂的时候迷恋上了小红。
但得知小红和小华走的很近,并且每天都会发送短信聊天,小明很想知道小华和小红到底在聊些什么。
1.信息窃取
在一次偶然的机会,小明打开了小红的手机,并查看了小红和小华的聊天记录,于是小明窃取到了小红和小华的聊天信息。
2.信息加密
而同学小赖将看到的这一切告诉了小红,小红很生气,很害怕信息再次泄露,于是,他和小华决定对信息进行加密,就算信息被小明看到也无济于事。
二、对称加密
聪明的小华想到,只要和小红事先约定好使用一个密钥。这样,小红把要发送的信息加密后发送,小华对接收的密文再用密钥进行解密。
对称加密,除了你能确保密钥除了当事人和上帝以外没有人知道,才会使用该加密方式。
1.密钥泄露
很不凑巧的是,就在小华将密钥告诉小红的时候,被同学小赖给听到了。放学后,小赖以5根冰淇淋的代价告诉了小明。
密钥的传递过程避免不了密钥的泄露,除非该密钥不传递
小华知道后,很是懊恼,决定换一个密钥,但是聪明的小华想了想,有没有办法即使小明得到了密钥,小明也不能破译其中的信息呢?
三、非对称加密
小华一夜未眠,在天亮之时,灵机一闪。
他发明了两个密钥,称为私钥和公钥。
私钥可以解密公钥加密的信息,公钥也可以解密私钥加密的信息
他首先将公钥告诉了小红,自己保留着除了上帝以外没有人知道的私钥,小红得到公钥后,将信息加密后发送给小明,小明再用私钥进行解密。
即使小明能得到公钥,也不能对小红加密的信息进行破译。但是小华这时私钥加密的信息,就可能被拿到公钥的小明破解,于是,就需要小红再创建一对密钥,小红自己保留着私钥,将公钥告诉小华,小华再用小红的公钥加密信息后发送给小红,小红接受到后再用自己的私钥进行解密。
四、进阶选读
1.数字签名
小华为了确保原信息没有被更改过,而给小红造成误解,于是小华将原信息进行hash,得到唯一的hash值,称为信息摘要,再用自己的私钥对hash值进行加密。
小华将原信息用小红的公钥进行加密后,连同信息摘要一同发送给小红(密文+信息摘要)。
(上图中仅进行数字签名!)
小红收到小华发送的信息后,首先用私钥将密文解密,将解密后的信息进行hash得到hash值,再通过小华的公钥对加密的信息摘要解密,得到小华书写的原信息的hash值,将两个hash值进行对比。
如果hash值一致,表示原信息没有被修改,否则信息是被修改过的
小红便可舍弃这个修改过的信息。
2.数字证书
可是让小华没想到的是,狡猾的小明也自己创建了一对密钥对,在小华给小红传递公钥的过程中,公钥被换成了小明自己的公钥,小红实际收到的是小明的公钥。这样小明便可以偷天换日,顶替了小华,这一举动称为中间人攻击。
让接收方知情发送者,解决的办法有两个。
2.1公开公钥
小华公开自己的公钥,小红在验证数字签名前,就已经知道小华的公钥是什么。
2.2数字证书
公正的班长(证书中心)也有一对密钥对,并且在班上公开了自己的公钥。
小华再给小红发送信息时,只需要将小华自己的公钥、信息和数字签名一同交给班长。
班长用自己的私钥加密后,便得到真正可信的数字证书。
小华将其发送给小红,小红便用班长公开的公钥进行解密,真正得到了小华的公钥和相关信息。
小明知道班长公正无私,已经哭晕在了厕所。
五、总结
笔者的理解,只要密钥涉及传递,一定避免不了密钥泄露。最常用的方式便是非对称加密,如目前的RSA加密算法。
https也是采用数字证书的方式,笔者没有深入去了解,就不展开了。
文章写到最后,笔者能力有限,文章存在知识误区,还请不吝指出,若文章对你有帮助,不妨点个赞对笔者支持一下把(●’◡’●)
文章图片素材全部来源于网络,侵权请联系我删除。
标签:小华,公钥,加密,小明,小红,读懂,密钥,非对称,数字证书 来源: https://blog.csdn.net/qq_26007225/article/details/117845987