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