公鑰和私鑰的簡單通俗說明

私鑰加密公鑰能夠解密加密

公鑰加密私鑰能夠解密md5


 

 

小明想祕密給小英發送消息 小英手裏有一個盒子(public key),io

這個盒子只有小英手裏的鑰匙(private key)纔打得開劫持

小英把盒子送給小明(分發公鑰) 小明寫好消息放進盒子裏,鎖上盒子(公鑰加密)di

小明把盒子寄給小英(密文傳輸) 小英用手裏的鑰匙打開盒子,獲得小明的消息(私鑰解密)sha1

假設小剛劫持了盒子,由於沒有小英的鑰匙,他也打不開co



其實公鑰和私鑰均可以用來加密或解密---只要能保證用A加密,就用B解密就行。至於A是公鑰仍是私鑰,其實能夠根據不一樣的用途而定。解密

例如說,若是你想把某個消息祕密的發給某人,那你就能夠用他的公鑰加密。由於只有他知道他的私鑰,因此這消息也就只有他本人能解開,因而你就達到了你的目的。數字

可是若是你想發佈一個公告,須要一個手段來證實這確實是你本人發的,而不是其餘人冒名頂替的。那你能夠在你的公告開頭或者結尾附上一段用你的私鑰加密的內容(例如說就是你公告正文的一段話),那全部其餘人均可以用你的公鑰來解密,看看解出來的內容是否是相符的。若是是的話,那就說明這公告確實是你發的---由於只有你的公鑰才能解開你的私鑰加密的內容,而其餘人是拿不到你的私鑰的。消息

最後再說一下數字簽名。
數字簽名無非就兩個目的:
證實這消息是你發的
證實這消息內容確實是完整的---也就是沒有通過任何形式的篡改(包括替換、缺乏、新增)。

其實,上面關於「公告」那段內容,已經證實了第一點:證實這消息是你發的。
那麼要作到第二點,也很簡單,就是把你公告的原文作一次哈希(md5或者sha1都行),而後用你的 私鑰加密這段哈希做爲 簽名,並一塊兒公佈出去。當別人收到你的公告時,他能夠用你的 公鑰解密你的簽名,若是解密成功,而且解密出來的哈希值確實和你的公告原文一致,那麼他就證實了兩點:這消息確實是你發的,並且內容是完整的。(轉載知乎用戶)
 
做者:知乎用戶 連接:https://www.zhihu.com/question/25912483/answer/31656330 來源:知乎
相關文章
相關標籤/搜索