趣图了解Linux中公钥和私钥的区别以及关系
创始人
2025-03-18 22:21:11
0次

Linux系统上非对称性加密需要用到公钥、私钥。也常涉及到数字签名、数字证书、CA证书等概念。本文通过有趣的海绵宝宝和它小伙伴故事搭配有趣的图片形式来阐述这些概念,希望能帮助读者更简单易懂地理解这些概念及知识点。

片段1. 海绵宝宝有两把钥匙,一把是海绵宝宝的公钥,另一把是海绵宝宝的私钥。

趣图了解Linux中公钥和私钥的区别以及关系

片段2. 海绵宝宝去钥匙铺通过打造复制了多把相同的公钥并送给他好朋友派大星和章鱼哥每人一把。

趣图了解Linux中公钥和私钥的区别以及关系

片段3. 派大星要给海绵宝宝写一封秘密的信。为了防止信件被别人截取并看到内容信息。它决定写完信后用海绵宝宝给的公钥对信的内容进行加密,加密后的信内容只有通过海绵宝宝的私钥才能解开。通过这种方式就可以达到保密的效果。

趣图了解Linux中公钥和私钥的区别以及关系

片段4. 海绵宝宝收到信后,用它自己的私钥对信进行解密,就能看到了信件内容。这封信就是安全的,即使落在别人手里如果没有海绵宝宝的私钥是无法对信内容进行解密的。

趣图了解Linux中公钥和私钥的区别以及关系

片段5. 海绵宝宝给派大星回信,决定采用”数字签名”。它写完后的信息内容采用单向Hash函数,生成信件的摘要。

  • 数字签名:又称“公钥数字签名“,是一种类似写在纸上的普通的物理签名但是使用了公钥加密领域的技术实现,用于鉴别数字信息的方法。数字签名是非对称密钥加密技术与数字摘要技术的应用
  • 数字摘要:指将任意长度的消息变成固定长度的短消息,它类似于一个自变量是消息的函数,也就是Hash函数。数字摘要就是采用单向Hash函数将需要加密的明文“摘要”成一串固定长度(128位)的密文这一串密文又称为数字指纹,它有固定的长度,而且不同的明文摘要成密文,其结果总是不同的,而同样的明文其摘要必定一致。

趣图了解Linux中公钥和私钥的区别以及关系

片段6. 然后,海绵宝宝使用它自己的私钥对这个摘要进行加密,生成”数字签名”。

趣图了解Linux中公钥和私钥的区别以及关系

片段7. 海绵宝宝将这个签名,附在信件下面,一起发给派大星。

趣图了解Linux中公钥和私钥的区别以及关系

片段8. 派大星收到信件后,取下数字签名,用海绵宝宝的公钥进行解密,得到信件的摘要。由此证明,这封信确实是海绵宝宝发出的。

趣图了解Linux中公钥和私钥的区别以及关系

片段9. 派大星再对信件本身使用相同的单向Hash函数,将得到的结果与刚才解密得到的摘要进行比较。如果两者一致,就证明这封内容没有被别人修改过。

趣图了解Linux中公钥和私钥的区别以及关系

片段10. 特殊情况出现了,章鱼哥想欺骗派大星,他偷偷自己生成的“章鱼哥公钥”换走了派大星的“海绵宝宝公钥”。此时,被调包后的派大星实际拥有的是“章鱼哥的公钥,但是它并未察觉。因此,章鱼哥就可以冒充海绵宝宝,用自己的私钥做成”数字签名”,写信给派大星,让派大星用假的海绵宝宝公钥进行解密,派大星由于解密很顺利所以就以为信是由海绵宝宝所写。

趣图了解Linux中公钥和私钥的区别以及关系

片段11. 后来,派大星越来越觉得不对劲,发现自己无法确定自己在使用的公钥是否真的属于海绵宝宝的。于是它想到了一个办法:要求海绵宝宝去找”证书中心”(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对海绵宝宝的公钥和一些相关信息一起加密,生成”数字证书”。

趣图了解Linux中公钥和私钥的区别以及关系

片段12. 海绵宝宝拿到数字证书以后,就可以放心了。以后再给派大星写信,只要在签名的同时,再附上数字证书就行了。

[[278644]]

片段13. 派大星收信后,用CA的公钥解开数字证书就可以拿到海绵宝宝真实的公钥了,然后使用海绵宝宝的公钥重复第9步操作对数字签名进行验证,就能证明信是否真的是海绵宝宝亲笔所写。

趣图了解Linux中公钥和私钥的区别以及关系

故事的总结:

  • 首先生成公钥和私钥,私钥自己保存。公钥给需要向你发送加密信息文件的接受方。
  • 接受方通过公钥对发送给你的信息进行加密,这样可以保证信息的安全性(在密文暴露的情况下,如果你的私钥不被他人取得,加密的信息还是无法被解密泄露的)
  • 你也可以通过生成“数字证书”来证明信是由你写的。数字证书是用单向Hash函数对新的内容生成一段加密摘要,再通过私钥对该端摘要进行加密而成。
  • 在发送信件的时候将数字证书信件内容一起发送给接受方,接受方即可通过公钥对数字证书进行解密取得摘要,并再用单向Hash函数对信内容进行生成摘要。将两段摘要进行匹配则可知道信的内容是否被修改过。
  • 但是有一种特殊的情况,既是对象根本不能确定其手上的公钥是否就是你给的公钥。这个时候就需要你到证书中心做一件特殊的事情,证书中心会用其私钥将你自己的信息、公钥等进行加密生成一个数字证书。
  • 这样当你写信的时候在附上自己数字签名的同时也将证书中心颁发的数字证书一起带上。对方可以先通过CA公开的公钥对数字证书进行解密,得到你的公钥。再使用公钥对你的数字签名进行解密得到数字摘要。再通过与单向Hash信件内容的数字摘要对比就可确保公钥是你的公钥,信是你写的且内容未被修改!

 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
只需三步,让你掌握阿尔法路由器... 请参照以下阿尔法路由器设置方法,通过浏览器进入及设置宽带路由器。经过这三个步骤的设置,基本上能够熟悉...
如何更省钱? 近期特价热门硒鼓... 如今激光打印设备已经成为商务或企业的绝对主力办公设备,但采购者往往忽视了激光打印设备所用的耗材,相对...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...