如何向非極客解釋非對稱加密

2021-09-11 13:13:13 字數 2570 閱讀 9480

||廢話不多說,今天萬雲就先教你三分鐘get非對稱加密的獨家方法。

非對稱加密其實並不如它聽起來的那麼複雜,我們只需要換個方式解釋它,就能讓不是極客的你也秒懂。

為什麼我想用一種通俗易懂的方式來解釋深奧的非對稱加密?是因為我正在研究一種會大量使用加密的產品,我自己最近不止一次向朋友解釋非對稱加密,而令我驚訝的是,網上所搜尋到的任何相關資訊都讓它看起來更加複雜,但事實並非如此。

下面進入正題。

首先,讓我們先了解下「對稱」加密是如何工作的

老王有乙個帶鎖的盒子,同時老王也有一把屬於自己的鑰匙可以開關這個盒子。當老王想要儲存某些重要物品在盒子中,他會將其上鎖;只有他或其擁有備份鑰匙的人才能開啟盒子。

這就是對稱加密:你有一把鑰匙,你用它來關鎖(加密)和開鎖(解密)你的盒子(資料)。

對稱加密很好懂對不對,現在讓我們在此基礎上來看看非對稱密碼學是如何工作的

小明也有乙個盒子,這個盒子比老王的更高階一點,因為這是乙個帶有特殊鎖的盒子。

它特殊在何處呢?

直接看圖▼

從上圖可以看出小明的盒子上的鎖有三種狀態:a(鎖定),b(解鎖)和c(鎖定),一定要記住這三個字母分別代表的狀態。

同時,小明的盒子配有兩把不同的鑰匙。

第乙個把鑰匙只能順時針轉動,從a轉到b轉到c,第二把鑰匙只能逆時針轉動,從c轉到b轉到a。

小明從這兩把鑰匙中挑選第一把鑰匙歸自己所有,這就是小明的私鑰,只有小明配擁有它,為了保護好盒子,小明一般都把私鑰藏到別人找不到的地方。

現在,我們整理一下思路,小明的私鑰,可以從a轉到b到c,只歸他個人所有;小明的公鑰,可以從c轉到b到a,其他人只要想要都可以獲得。(不明白的老鐵可以再看下上文的圖)

小明的盒子特殊之處我們搞清楚了,那小明可以利用這個盒子做什麼羞羞的(正經的)的事情呢?

直接來舉個例子!

你想傳送乙個鏈圈大佬的大八卦給小明,但是又不想讓別人知道。如何是好呢?

你想起小明有個特殊的盒子!

於是你將這個八卦放在小明的盒子中,並用小明的公鑰副本將盒子上的鎖從c轉到b轉到a,這時候檔案就被鎖在了盒子裡(a的狀態是鎖定)。是的,你清楚地記得:小明的公鑰只能逆時針旋轉,所以你把它轉到位置a,現在這個八卦就被鎖定了。

然後??????

小明回來了,他用他的私鑰把盒子上的鎖從a轉到b,b的狀態是解鎖,盒子開啟了!小明看到了八卦,沒想到他崇拜的鏈圈大佬居然做出這種事???

所以到底是什麼大八卦???通過這個盒子來傳遞資訊,只有小明和你知道。

因為,這個盒子唯一可以順時針從a轉到b的鑰匙是小明的私鑰

是不是豁然開朗! 這就是我們所說的公鑰加密,也就是非對稱加密:每個擁有小明公鑰的人(很容易找到它的乙個副本,他到處都放了,記得嗎?)可以將文件放在他的盒子中,從c轉到b轉到a,形成鎖定狀態;而最終能解鎖的人只有小明,因為小明的私鑰是從a開始轉,轉到b就解鎖了。所以就算有人想知道你到底發了什麼八卦給小明,也無法獲取哦!

知道這個原理的你,八卦之心碎了一地。

那,小明這個特殊的盒子還能做什麼呢?

再來舉個例子!

假設小明在盒子中放置了乙個檔案並用他的私人鑰匙將鎖轉到位置c來鎖定。

可是小明為什麼要這樣做?????畢竟,任何擁有公鑰的人都可以從c轉到b,然後解鎖它!

等等!一定有什麼我沒發現的重要線索!

果然,有人送給我乙個盒子,他說這是小明的,但是我並不能確認這個盒子就是小明的,為了驗證它,我從儲存各種好朋友公鑰的抽屜裡挑選小明的公鑰,然後嘗試我右轉,盒子一動不動;然後我嘗試左轉,砰!箱子開啟!於是我驗證了這個盒子確實是屬於小明的。

小明通過私鑰加密這個方式證明是他自己而不是其他任何人把檔案放在箱子裡。我們把這個證明方式稱之為「數字簽名」

好了,今天的例子就到這裡,我們言歸正傳。

在數字世界中,「鑰匙(keys)」其實就是數字,有長有短。您可以將您的私鑰,其實就是一串數字儲存在文字檔案或特殊應用程式中。 你可以把你的公鑰,也是乙個很長的數字,放在你的電子郵件簽名中,你的**等等公開的地方。而且不需要特殊的盒子,你只需用乙個應用程式和你的鑰匙來「鎖定」和「解鎖」檔案(或資料)。

如果任何人,即使是你,用你的公鑰加密(鎖定),也就逆時針轉到鎖定狀態a,只有你可以用你的私鑰解密(解鎖),因此別人通過公鑰傳送給你的加密檔案,只有你能夠解密,相信第乙個例子已經解釋得很清楚了。

如果你用你的私鑰加密(鎖定),也就是轉到鎖定狀態c,任何人都可以解密(解鎖),這可以作為你對它加密的證據:它就是你的「數字簽名」。

還有許多更為複雜的場景:我們可以使用我們的私鑰來簽名檔案,然後使用其他人的公鑰對其進行加密,以便只有他可以讀取它。 乙個使用者或乙個組織可以對其他使用者的金鑰進行數字簽名,以驗證其真實性等等。但是,所有這些實際上都是使用乙個或另乙個金鑰並將其放入其他盒子中,不屬於這篇文章的討論範圍。

以上翻譯自: panayotis vryonis《explaining public-key cryptography to non-geeks》

同步非同步 阻塞非阻塞(NIO) 極簡解釋

廢話不說,老張愛喝茶,煮開水,有兩個水壺,普通水壺,響水壺 水開會提示 同步就是普通水壺燒開水,要沒事兒自己過來來看開沒開 非同步就是響水壺燒開水,水開了水壺響了通知你。阻塞是燒開水的過程中,你不能幹其他事情 即你被阻塞住了 只能站那等水開 非阻塞是燒開水的過程裡可以幹其他事情。比如去客廳看看電視 ...

關於《極客應如何創業》的小結

這個系列幾乎是一口氣寫完的,因為感覺到有極客正在創業的道路上,可能會需要這些東西。paul是美國社會極力推崇的一位成功創業者,他現在做的孵化器顛覆了網際網路投資模式。他之前也是寫了很長時間的部落格,逐步獲得人們的認同。我自認沒他的水平,就把他作為榜樣,也來分享一下中國it創業的經驗而已。我認為極客就...

如何向普通人解釋機器學習 資料探勘

如何向普通人解釋機器學習 資料探勘 隨著資料科學在人工智慧發展中大放異彩,資料探勘 機器學習進入了越來越多人的視野。而對於很多人來說,諸如機器學習之類的名次聽起來是神乎其技,但其真正的內涵卻不為一般人所知。特別是對於從事資料科學領域的人來說,如何向外行人解釋自己所從事的工作幾乎是乙個超級難題。那麼到...