天天看點

關于秘鑰的一個故事

對稱密碼:用一套密碼進行加密解密

非對稱密碼:分為兩個密碼,一個叫“公鑰”,一個叫“私鑰”,公鑰公開釋出。私鑰,僅使用者知道;這兩個密鑰有數學相關性,就是說用公鑰加密的信件,可以用私鑰解開,但是用公鑰卻解不開。

對稱,非對稱一起使用:發送使用者用公鑰對對稱密碼進行加密。終端使用者用私鑰解密,獲得對稱密碼。然後用對稱密碼解密資訊。

公鑰與私鑰的作用是:用公鑰加密的内容隻能用私鑰解密,用私鑰加密的内容隻能 用公鑰解密

數字證書:是由證書認證機構(CA)對證書申請者真實身份驗證之後,用CA的根證書對申請人的一些基本資訊以及申請人的公鑰進行簽名(相當于加蓋發證書機構的公章)後形成的一個數字檔案。

CA完成簽發證書後,會将證書釋出在CA的證書庫(目錄伺服器)中,任何人都可以查詢和下載下傳,是以數字證書和公鑰一樣是公開的。    

可以這樣說,數字證書就是經過CA認證過的公鑰,而私鑰一般情況都是由證書持有者在自己本地生成的,由證書持有者自己負責保管。

具體使用時,簽名操作是發送方用私鑰進行簽名,接受方用發送方證書來驗證簽名;加密操作則是用接受方的證書進行加密,接受方用自己的私鑰進行解密。 是以,如果說數字證書是電子商務應用者的網上數字身份證話,那麼證書相應的私鑰則可以說是使用者的私章或公章

好故事開始了~~~~

從前山上有座廟,廟裡有個和尚......,别胡鬧了,老和尚來了。

小和尚問老和尚:ssl為什麼會讓http安全?

老和尚答道:譬如你我都有一個同樣的密碼,我發信給你時用這個密碼加密,你收到我發的信,用這個密碼解密,就能知道我信的内容,其他的閑雜人等,就算偷偷拿到了信,由于不知道這個密碼,也隻能望信興歎,這個密碼就叫做對稱密碼。ssl使用對稱密碼對http内容進行加解密,是以讓http安全了,常用的加解密算法主要有3DES和AES等。

小和尚摸摸腦袋問老和尚:師傅,如果我們兩人選擇“和尚”作為密碼,再創造一個和尚算法,我們倆之間的通信不就高枕無憂了?

老和尚當頭給了小和尚一戒尺:那我要給山下的小花寫情書,還得用“和尚”這個密碼不成?想了想又給了小和尚一戒尺:雖然我們是和尚,不是碼農,也不能自己造輪子,當初一堆牛人碼農造出了Wifi的安全算法WEP,後來發現是一繡花枕頭,在安全界傳為笑談;況且小花隻知道3DES和AES,哪知道和尚算法?

小和尚問到:那師傅何解?

老和尚:我和小花隻要知道每封信的密碼,就可以讀到對方加密的信件,關鍵是我們互相之間怎麼知道這個對稱密碼。你說,我要是将密碼寫封信給她,信被别人偷了,那大家不都知道我們的密碼了,也就能夠讀懂我們情書了。不過還是有解的,這裡我用到了江湖中秘傳的非對稱密碼。我現在手頭有兩個密碼,一個叫“公鑰”,一個叫“私鑰”,公鑰釋出到了江湖上,好多人都知道,私鑰嘛,江湖上隻有我一個人知道;這兩個密鑰有數學相關性,就是說用公鑰加密的信件,可以用私鑰解開,但是用公鑰卻解不開。公鑰小花是知道的,她每次給我寫信,都要我的公鑰加密她的對稱密碼,單獨寫一張密碼紙,然後用她的對稱密碼加密她的信件,這樣我用我的私鑰可以解出這個對稱密碼,再用這個對稱密碼來解密她的信件。

老和尚頓了頓:可惜她用的對稱密碼老是“和尚為什麼寫情書”這一類,是以我每次解開密碼紙時總是怅然若失,其實我鐘意的對稱密碼是諸如“風花”“雪月”什麼的,最頭痛的是,我還不得不用“和尚為什麼寫情書”這個密碼來加密我給小花回的情書,人世間最痛苦的事莫過于如此。可我哪裡知道,其實有人比我更痛苦。山下的張屠夫,暗戀小花很多年,看着我們鴻雁傳書,心中很不是滋味,主動毛遂自薦代替香客給我們送信。在他第一次給小花送信時,就給了小花他自己的公鑰,謊稱是我公鑰剛剛更新了,小花信以為真,之後的信件對稱密碼都用張屠夫的這個公鑰加密了,張屠夫拿到回信後,用他自己的私鑰解開了小花的對稱密碼,然後用這個對稱密碼,不僅能夠看到了小花信件的所有内容,還能使用這個密碼僞造小花給我寫信,同時還能用他的私鑰加密給小花的信件。漸漸我發現信件變味了,盡管心生疑惑,但是沒有确切的證據,一次我寫信問小花第一次使用的對稱密碼,回信中“和尚為什麼寫情書”赫然在列,于是我的疑惑稍稍減輕。直到有一次去拜會嵩山少林寺老方丈才頓悟,原來由于我的公鑰沒有火印,任何人都可以僞造一份公鑰宣稱是我的,這樣這個人即能讀到别人寫給我的信,也能僞造别人給我寫信,同樣也能讀到我的回信,也能僞造我給别人的回信,這種邪門武功江湖上稱之“Man-in-the-middle attack”。唯一的破解就是使用嵩山少林寺的火印,這個火印可有講究了,需要将我的公鑰及個人在江湖地位送出給18羅漢委員會,他們會根據我的這些資訊使用委員會私鑰進行數字簽名,簽名的資訊凸現在火印上,有火印的公鑰真實性在江湖上無人質疑,要知道18羅漢可是無人敢得罪的。

小和尚問:那然後呢?

老和尚:從嵩山少林寺回山上寺廟時,我将有火印的公鑰親自給小花送去,可是之後再也沒有收到小花的來信。過了一年才知道,其實小花還是給我寫過信的,當時信确實是用有火印的公鑰加密,張屠夫拿到信後,由于不知道我的私鑰,解不開小花的密碼信,是以一怒之下将信件全部燒毀了。也由于張屠夫無法知道小花的對稱密碼而無法回信,小花發出幾封信後石沉大海,也心生疑惑,到處打聽我的近況。這下張屠夫急了,他使用我釋出的公鑰,仿照小花的語氣,給我發來一封信。拿到信時我就覺得奇怪,信紙上怎麼有一股豬油的味道,結尾竟然還關切的詢問我的私鑰。情知有詐,我思量無論如何要找到辦法讓我知道來的信是否真是小花所寫。後來竟然讓我想到了辦法....

老和尚摸着光頭說:這頭發可不是白掉的,我托香客給小花帶話,我一切安好,希望她也擁有屬于自己的一段幸福,不對,是一對非對稱密鑰。小花委托小鎮美女協會給小花公鑰打上火印後,托香客給我送來,這樣小花在每次給我寫信時,都會在密碼紙上貼上一朵小牡丹,牡丹上寫上用她自己的私鑰加密過的給我的留言,這樣我收到自稱是小花的信後,我會先抽出密碼紙,取下小牡丹,使用小花的公鑰解密這段留言,如果解不出來,我會直接将整封信連同密碼紙一起扔掉,因為這封信一定不是小花寫的,如果能夠解出來,這封信才能确信來之于小花,我才仔細的解碼閱讀。

小和尚:難怪聽說張屠夫是被活活氣死的。您這情書整的,我頭都大了,我長大後,有想法直接扯着嗓子對山下喊,也省的這麼些麻煩。不過我倒是明白了樓上的話,ssl 握手階段,就是要解決什麼看火印,讀牡丹,解密碼紙,确實夠麻煩的,是以性能瓶頸在這裡,一旦雙方都知道了對稱密碼,之後就是行雲流水的解碼讀信階段了,相對輕松很多。

繼續閱讀