公钥和私钥的简单通俗说明
私鑰加密公鑰可以解密
公鑰加密私鑰可以解密
?
?
小明想秘密給小英發(fā)送消息 小英手里有一個(gè)盒子(public key),
這個(gè)盒子只有小英手里的鑰匙(private key)才打得開(kāi)
小英把盒子送給小明(分發(fā)公鑰) 小明寫(xiě)好消息放進(jìn)盒子里,鎖上盒子(公鑰加密)
小明把盒子寄給小英(密文傳輸) 小英用手里的鑰匙打開(kāi)盒子,得到小明的消息(私鑰解密)
假設(shè)小剛劫持了盒子,因?yàn)闆](méi)有小英的鑰匙,他也打不開(kāi)
其實(shí)公鑰和私鑰都可以用來(lái)加密或解密---只要能保證用A加密,就用B解密就行。至于A是公鑰還是私鑰,其實(shí)可以根據(jù)不同的用途而定。
例如說(shuō),如果你想把某個(gè)消息秘密的發(fā)給某人,那你就可以用他的公鑰加密。因?yàn)橹挥兴浪乃借€,所以這消息也就只有他本人能解開(kāi),于是你就達(dá)到了你的目的。
但是如果你想發(fā)布一個(gè)公告,需要一個(gè)手段來(lái)證明這確實(shí)是你本人發(fā)的,而不是其他人冒名頂替的。那你可以在你的公告開(kāi)頭或者結(jié)尾附上一段用你的私鑰加密的內(nèi)容(例如說(shuō)就是你公告正文的一段話),那所有其他人都可以用你的公鑰來(lái)解密,看看解出來(lái)的內(nèi)容是不是相符的。如果是的話,那就說(shuō)明這公告確實(shí)是你發(fā)的---因?yàn)橹挥心愕墓€才能解開(kāi)你的私鑰加密的內(nèi)容,而其他人是拿不到你的私鑰的。
最后再說(shuō)一下數(shù)字簽名。
數(shù)字簽名無(wú)非就兩個(gè)目的:
證明這消息是你發(fā)的;
證明這消息內(nèi)容確實(shí)是完整的---也就是沒(méi)有經(jīng)過(guò)任何形式的篡改(包括替換、缺少、新增)。
那么要做到第二點(diǎn),也很簡(jiǎn)單,就是把你公告的原文做一次哈希(md5或者sha1都行),然后用你的私鑰加密這段哈希作為簽名,并一起公布出去。當(dāng)別人收到你的公告時(shí),他可以用你的公鑰解密你的簽名,如果解密成功,并且解密出來(lái)的哈希值確實(shí)和你的公告原文一致,那么他就證明了兩點(diǎn):這消息確實(shí)是你發(fā)的,而且內(nèi)容是完整的。(轉(zhuǎn)載知乎用戶) 作者:知乎用戶
鏈接:https://www.zhihu.com/question/25912483/answer/31656330
來(lái)源:知乎
轉(zhuǎn)載于:https://www.cnblogs.com/suanshun/p/7363694.html
總結(jié)
以上是生活随笔為你收集整理的公钥和私钥的简单通俗说明的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (19)C++项目练习二--------
- 下一篇: go语言切片切片与指针