作者:種瓜得豆 / 來源:白話區塊鏈
小黑和大白剛剛看了《決戰中途島》,這會兒倆人正坐在影院休息區閑聊。
“你說中途島的勝利,除了隊員們的英勇無畏外,還有誰的功勞呢?”
大白想了會兒,“嗯,是那個情報部門嗎?”
“對呀,中途島海戰,是一場不折不扣的情報勝利。幸好發生在36年前,那會兒還沒有出現非對稱加密技術,不然就是另一種局面了。
聽了他們的聊天,小黑對非對稱加密產生了濃厚的興趣,今天我們就來聊聊非對稱加密是什么?
對稱加密也叫單密鑰加密,就是同一個密鑰對信息進行加密和解密。對稱加密的缺陷是密鑰配送困難、搞不好還被敵方截獲。就像咱們家鑰匙,上鎖和開鎖都是同一把,不小心被人偷了就遭殃了。”
非對稱加密有一對密鑰,分別是私鑰和公鑰,它們之間互為加解密,就是公鑰加密,私鑰解密,或者私鑰加密,公鑰解密。私鑰需要保密,要放在安全的地方,只有自己才知道,就像銀行密碼;而公鑰則是可以公開,就像咱們公開的銀行帳號。

比如,咱們現在手上都有一對密鑰:公鑰和私鑰,約好“下午三點在星巴克見面”,這條信息就是原文。我現在用你的公鑰加密,就得到了一串密文,然后把這條密文哈希一下,就得到了一串哈希值。
接下來我用私鑰把這串哈希值再次進行加密,就得到了數字簽名。對了,用私鑰加密也叫數字簽名,有別于我們在銀行柜臺的電子簽名。做完這一步后,把密文和數字簽名這兩條信息發給你。
那收到信息后怎么解密呢?
先看下圖中的數字簽名,你可以通過我的公鑰解密,如果能解開,就說明這則信息確實是由我的私鑰進行加密過的,是我本人而不是別人發的。”
即便別人知道哈希值也沒用,里邊的原文他不知道。用私鑰簽名的目的是表明我的身份,日常生活中我們經常會用簽名來表明自己本人同意某個合同,就是驗證身份。這一步如果沒了,就像別人隨便在文件上簽上我名字,那肯定亂套了。
“身份驗證好了,那解密原文呢?”
這條密文你說有沒人動過手腳呢,畢竟什么人都可以對我發信息的?你對它哈希一次,就得到了哈希值,再和剛才公鑰解密出來的哈希值對比下,一樣的話就是沒有被篡改過。
最后一步就用你的私鑰對密文解密,就得到了原文,大功告成。
你認為非對稱加密在生活的哪些方面會有應用呢?歡迎在留言區分享你的觀點。