yxhxj2006

          導航

          <2016年6月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          留言簿(7)

          隨筆分類

          文章分類

          隨筆檔案

          閱讀排行榜

          評論排行榜

          常用鏈接

          統計

          最新評論

          公鑰與私鑰

          數字簽名是什么?

          作者:David Youd

          翻譯:阮一峰

          原文網址:http://www.youdzone.com/signature.html

          1.

          鮑勃有兩把鑰匙,一把是公鑰,另一把是私鑰。

          2.

          鮑勃把公鑰送給他的朋友們----帕蒂、道格、蘇珊----每人一把。

          3.

          蘇珊要給鮑勃寫一封保密的信。她寫完后用鮑勃的公鑰加密,就可以達到保密的效果。

          4.

          鮑勃收信后,用私鑰解密,就看到了信件內容。這里要強調的是,只要鮑勃的私鑰不泄露,這封信就是安全的,即使落在別人手里,也無法解密。

          5.

          鮑勃給蘇珊回信,決定采用"數字簽名"。他寫完后先用Hash函數,生成信件的摘要(digest)。

          6.

          然后,鮑勃使用私鑰,對這個摘要加密,生成"數字簽名"(signature)。

          7.

          鮑勃將這個簽名,附在信件下面,一起發給蘇珊。

          8.

          蘇珊收信后,取下數字簽名,用鮑勃的公鑰解密,得到信件的摘要。由此證明,這封信確實是鮑勃發出的。

          9.

          蘇珊再對信件本身使用Hash函數,將得到的結果,與上一步得到的摘要進行對比。如果兩者一致,就證明這封信未被修改過。

          10.

          復雜的情況出現了。道格想欺騙蘇珊,他偷偷使用了蘇珊的電腦,用自己的公鑰換走了鮑勃的公鑰。此時,蘇珊實際擁有的是道格的公鑰,但是還以為這是鮑勃的公鑰。因此,道格就可以冒充鮑勃,用自己的私鑰做成"數字簽名",寫信給蘇珊,讓蘇珊用假的鮑勃公鑰進行解密。

          11.

          后來,蘇珊感覺不對勁,發現自己無法確定公鑰是否真的屬于鮑勃。她想到了一個辦法,要求鮑勃去找"證書中心"(certificate authority,簡稱CA),為公鑰做認證。證書中心用自己的私鑰,對鮑勃的公鑰和一些相關信息一起加密,生成"數字證書"(Digital Certificate)。

          12.

          鮑勃拿到數字證書以后,就可以放心了。以后再給蘇珊寫信,只要在簽名的同時,再附上數字證書就行了。

          13.

          蘇珊收信后,用CA的公鑰解開數字證書,就可以拿到鮑勃真實的公鑰了,然后就能證明"數字簽名"是否真的是鮑勃簽的。

          14.

          下面,我們看一個應用"數字證書"的實例:https協議。這個協議主要用于網頁加密。

          15.

          首先,客戶端向服務器發出加密請求。

          16.

          服務器用自己的私鑰加密網頁以后,連同本身的數字證書,一起發送給客戶端。

          17.

          客戶端(瀏覽器)的"證書管理器",有"受信任的根證書頒發機構"列表。客戶端會根據這張列表,查看解開數字證書的公鑰是否在列表之內。

          18.

          如果數字證書記載的網址,與你正在瀏覽的網址不一致,就說明這張證書可能被冒用,瀏覽器會發出警告。

          19.

          如果這張數字證書不是由受信任的機構頒發的,瀏覽器會發出另一種警告。

          20.

          posted on 2012-10-15 02:37 奮斗成就男人 閱讀(42380) 評論(31)  編輯  收藏

          評論

          # re: 公鑰與私鑰 [未登錄] 2014-01-08 17:43 worker

          useful for me  回復  更多評論   

          # re: 公鑰與私鑰 2014-04-18 11:05 Eva

          特別棒! 謝謝!@worker
            回復  更多評論   

          # re: 公鑰與私鑰 [未登錄] 2014-06-11 17:10 mike

          很好,謝謝  回復  更多評論   

          # re: 公鑰與私鑰 2014-11-10 17:05 游客

          太有用了,謝謝  回復  更多評論   

          # re: 公鑰與私鑰 [未登錄] 2014-11-26 10:13 Wu

          那誰來保證ca的公鑰是真的來自ca呢?  回復  更多評論   

          # re: 公鑰與私鑰 2014-12-10 08:59 vistor

          @Wu
          有道理.  回復  更多評論   

          # re: 公鑰與私鑰 [未登錄] 2014-12-16 19:52 owen

          @Wu
          蘇珊可以每次都到CA的網站上(或者什么別的官方途徑)獲得CA的公鑰。除非道格把CA 和鮑勃全都冒充掉。。。  回復  更多評論   

          # re: 公鑰與私鑰 [未登錄] 2015-02-04 10:49 1

          11  回復  更多評論   

          # re: 公鑰與私鑰 2015-05-27 15:30 文哥

          寫的非常的OK,非常的哇塞。。。  回復  更多評論   

          # re: 公鑰與私鑰 2015-05-27 15:30 文哥

          @文哥
          111  回復  更多評論   

          # re: 公鑰與私鑰 2015-05-27 15:30 文哥

          2213  回復  更多評論   

          # re: 公鑰與私鑰 2015-06-23 17:04 路人

          翻譯人的原網址也要貼吧。。這樣不好吧,少年  回復  更多評論   

          # re: 公鑰與私鑰 2015-07-24 02:21 Chrisheng

          非常感謝 哈哈哈 終于弄懂了!! i get it !!  回復  更多評論   

          # re: 公鑰與私鑰 2015-08-15 15:20 jobsjia

          太好了  回復  更多評論   

          # re: 公鑰與私鑰 2015-10-12 15:05 小崔

          每個人都有bob公鑰,那豈不是,bob用私鑰加密的信息,他們之間都可以互相看到了嗎?  回復  更多評論   

          # re: 公鑰與私鑰 2015-10-17 16:52 小wu

          @小崔
          個人理解,bob用私鑰加密信息,并發送給其他人這個動作,其關注點不在是否每個人都能看到。真實目的是為了驗簽:1.確認該信息確實是bob所發;2.確認bob發出的信息是完整的。  回復  更多評論   

          # re: 公鑰與私鑰 2015-11-12 01:09 陸克信

          信任  回復  更多評論   

          # re: 公鑰與私鑰 2015-11-12 01:16 陸克信

          可以用嗎  回復  更多評論   

          # re: 公鑰與私鑰 2015-11-12 01:18 陸克信

          真實目的是為了驗簽  回復  更多評論   

          # re: 公鑰與私鑰 [未登錄] 2016-02-26 15:11 ray

          @小wu
          用公鑰加密是防篡改,
          用私鑰加密是防泄漏  回復  更多評論   

          # re: 公鑰與私鑰 [未登錄] 2016-02-26 15:12 ray

          @ray
          我說反了,sorry!  回復  更多評論   

          # re: 公鑰與私鑰 2016-02-27 11:53 小法

          如果道格用自己的公鑰和偽造的鮑勃的個人信息去證書中心認證,然后偽裝成鮑勃給蘇珊發信息怎么辦?還是說證書中心有義務驗證個人信息的正確性,確保加密的個人信息是正確的?希望大家能給解釋一下  回復  更多評論   

          # re: 公鑰與私鑰 2016-02-27 13:38 小法

          弱弱的問下,用公鑰解密,用正確的可以解開,用錯的公鑰解不開,到底什么叫解得開,什么叫解不開,解不開有什么提示嗎?是會報錯,還是得到一串沒有意義的字符?新手求指導!!  回復  更多評論   

          # re: 公鑰與私鑰 2016-03-11 15:01 萬濤

          @小崔
          其實是這樣的,在發出一個信息的時候,不是用自己的私鑰加密的,而是用對方的公鑰加密,這樣只有對方用自己的私鑰才能解開別人發來的由自己的公鑰加密的信息,確保了信息的安全性  回復  更多評論   

          # re: 公鑰與私鑰 2016-03-11 18:18 Six

          蘇珊長得真丑  回復  更多評論   

          # re: 公鑰與私鑰 [未登錄] 2016-03-28 13:39 zy

          @Six
          你的關注點蠻屌的  回復  更多評論   

          # re: 公鑰與私鑰 2016-03-31 15:06 ss

          帕帝表示你們竟然忽略了我,統統咔咔咔  回復  更多評論   

          # re: 公鑰與私鑰 2016-04-04 00:27 SilentGene

          所以,Bob給Susan的是明文,大家都可以看到的!而Susan給Bob的是密文!Bob如果想給Susan密文,那么Bob要用Susan的公鑰加密對吧!  回復  更多評論   

          # re: 公鑰與私鑰 2016-04-29 10:23 Divella

          真的寫的非常好,通俗易懂,但是不知道有demo沒有,要是有求一份。  回復  更多評論   

          # re: 公鑰與私鑰 2016-04-30 11:44 zhangsa

          343434  回復  更多評論   

          # re: 公鑰與私鑰 2016-06-02 19:37 chinaltang

          @小崔
          私鑰在這個過程中只用于簽名,也就是對摘要進行加密。作用是1確認信息來源2確認信息未被篡改。不會對原始數據進行加密,因此不承擔數據不被竊取的職責。實際場景運用中,最終雙方真正數據交互使用的是客戶端(這里是Susan)隨機生成的一把秘鑰進行對稱加密來完成。至于為什么使用對稱加密?主要原因是加解密過程成本低。而客戶端私鑰如何安全指定地送達給服務端(Bob),這個過程就是靠前面的CA+非對稱加密來完成。說簡單點,就是Susan先驗證并獲取Bob的公鑰,而后用公鑰加密自己的隨機秘鑰,Bob用私鑰獲取到這把隨機秘鑰,而后雙發就使用這把隨機密鑰進行加密通信了。  回復  更多評論   


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 繁峙县| 青冈县| 鄂托克前旗| 棋牌| 辉县市| 青岛市| 墨脱县| 宜州市| 嵊州市| 上杭县| 沙河市| 潮州市| 沈阳市| 永寿县| 合肥市| 临洮县| 太和县| 中西区| 六安市| 菏泽市| 永定县| 监利县| 三台县| 岑巩县| 永清县| 斗六市| 金溪县| 青浦区| 延寿县| 将乐县| 都兰县| 化隆| 白河县| 浪卡子县| 吉水县| 江孜县| 桦甸市| 商洛市| 太原市| 隆昌县| 合作市|