趣图了解Linux中公钥和私钥的区别以及关系
Linux系统上非对称性加密需要用到公钥、私钥。也常涉及到数字签名、数字证书、CA证书等概念。本文通过有趣的海绵宝宝和它小伙伴故事搭配有趣的图片形式来阐述这些概念,希望能帮助读者更简单易懂地理解这些概念及知识点。 片段1. 海绵宝宝有两把钥匙,一把是海绵宝宝的公钥,另一把是海绵宝宝的私钥。 片段2. 海绵宝宝去钥匙铺通过打造复制了多把相同的公钥并送给他好朋友派大星和章鱼哥每人一把。 片段3. 派大星要给海绵宝宝写一封秘密的信。为了防止信件被别人截取并看到内容信息。它决定写完信后用海绵宝宝给的公钥对信的内容进行加密,加密后的信内容只有通过海绵宝宝的私钥才能解开。通过这种方式就可以达到保密的效果。 片段4. 海绵宝宝收到信后,用它自己的私钥对信进行解密,就能看到了信件内容。这封信就是安全的,即使落在别人手里如果没有海绵宝宝的私钥是无法对信内容进行解密的。 片段5. 海绵宝宝给派大星回信,决定采用”数字签名”。它写完后的信息内容采用单向Hash函数,生成信件的摘要。
片段6. 然后,海绵宝宝使用它自己的私钥对这个摘要进行加密,生成”数字签名”。 片段7. 海绵宝宝将这个签名,附在信件下面,一起发给派大星。 片段8. 派大星收到信件后,取下数字签名,用海绵宝宝的公钥进行解密,得到信件的摘要。由此证明,这封信确实是海绵宝宝发出的。 片段9. 派大星再对信件本身使用相同的单向Hash函数,将得到的结果与刚才解密得到的摘要进行比较。如果两者一致,就证明这封内容没有被别人修改过。 片段10. 特殊情况出现了,章鱼哥想欺骗派大星,他偷偷自己生成的“章鱼哥公钥”换走了派大星的“海绵宝宝公钥”。此时,被调包后的派大星实际拥有的是“章鱼哥的公钥,但是它并未察觉。因此,章鱼哥就可以冒充海绵宝宝,用自己的私钥做成”数字签名”,写信给派大星,让派大星用假的海绵宝宝公钥进行解密,派大星由于解密很顺利所以就以为信是由海绵宝宝所写。 片段11. 后来,派大星越来越觉得不对劲,发现自己无法确定自己在使用的公钥是否真的属于海绵宝宝的。于是它想到了一个办法:要求海绵宝宝去找”证书中心”(certificate authority,简称CA),为公钥做认证。证书中心用自己的私钥,对海绵宝宝的公钥和一些相关信息一起加密,生成”数字证书”。 片段12. 海绵宝宝拿到数字证书以后,就可以放心了。以后再给派大星写信,只要在签名的同时,再附上数字证书就行了。 片段13. 派大星收信后,用CA的公钥解开数字证书就可以拿到海绵宝宝真实的公钥了,然后使用海绵宝宝的公钥重复第9步操作对数字签名进行验证,就能证明信是否真的是海绵宝宝亲笔所写。 故事的总结:
(编辑:ASP站长网) |