小朋友都能看懂的 HTTPS 之加密算法
說出來你可能不信,密鑰這兩個字的規(guī)范讀音竟然是【mì yuè】,聽起來像蜜月,哈哈。不過,在密碼學的語境下,讀作【 mì yào】的應該更多吧。扯遠了,這集我們聊聊 HTTPS 里的重要組成部分,就是密鑰和加密算法。
加密算法有兩類:對稱加密和非對稱加密。
顧名思義,對稱加密算法里,加密和解密用的是同一個密鑰。
狗子這次學聰明了,發(fā)消息前先加密了。
你可以把這個加密過程理解成把消息放進一個上了鎖的盒子里。
有鑰匙(密鑰)的人就能打開這個盒子。
這樣就能保證,沒有這把鑰匙的人就打不開。
菜鳥收到這個盒子后,用他們約定的鑰匙(密鑰)打開盒子閱讀消息。
需要注意的是,密鑰必須保密,不能以明文形式共享。
實際上,沒有密鑰解密的話,看到的是一堆毫無意義的字符:
某個加密算法生成的密文可能是這樣的:
經(jīng)過多次轉(zhuǎn)換,文本變得越來越難以識別。
解密也要經(jīng)過這些步驟,只不過是反過來的:
加密使用的密鑰混入了消息中,因此即使你知道加密算法,沒有密鑰也無法解開密文。
密鑰可能長這樣:
對稱密鑰雖好,但是有個問題:怎么安全地分享給別人?
傳送密鑰的時候需要特別小心,一不留神就會被偷窺。
因此,出現(xiàn)了另一種加密算法:非對稱加密。
跟對稱加密的區(qū)別是,非對稱加密需要兩個成對的密鑰。
公鑰就有意思了,你可以隨便共享,發(fā)在網(wǎng)上、寫在紙上、紋在身上……隨你便,反正是公開的!
于是狗子就把自己的公鑰發(fā)給了菜鳥小姐姐。
也就是說,菜鳥把消息裝進了盒子,用狗子的公鑰鎖上了。
敲黑板劃重點:只有跟公鑰配對的私鑰才能解密。
本文轉(zhuǎn)載自微信公眾號「1024譯站」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系1024譯站公眾號。