1,公鑰和私鑰成對出現
2,公開的金鑰叫公鑰,只有自己知道的叫私鑰
3,用公鑰加密的資料只有對應的私鑰可以解密
4,用私鑰加密的資料只有對應的公鑰可以解密
5,如果可以用公鑰解密,則必然是對應的私鑰加的密
6,如果可以用私鑰解密,則 必然是對應的公鑰加的密
明白了?
假設一下,我找了兩個數字,乙個是1,乙個是2。我喜歡2這個數字,就保留起來,不告訴你們,然後我告訴大家,1是我的公鑰。
我有乙個檔案,不能讓別人看,我就用1加密了。別人找到了這個檔案,但是他不知道2就是解密的私鑰啊,所以他解不開,只有我可以用數字2,就是我的私鑰,來解密。這樣我就可以保護資料了。
我的好朋友x用我的公鑰1加密了字元a,加密後成了b,放在網上。別人偷到了這個檔案,但是別人解不開,因為別人不知道2就是我的私鑰,只有我才能解密,解密後就得到a。這樣,我們就可以傳送加密的資料了。
現在我們知道用公鑰加密,然後用私鑰來解密,就可以解決安全傳輸的問題了。如果我用私鑰加密一段資料(當然只有我可以用私鑰加密,因為只有我知道 2是我的私鑰),結果所有的人都看到我的內容了,因為他們都知道我的公鑰是1,那麼這種加密有什麼用處呢?
但是我的好朋友x說有人冒充我 給他發信。怎麼辦呢?我把我要發的信,內容是c,用我的私鑰2,加密,加密後的內容是d,發給x,再告訴他解密看是不是c。他用我的公鑰1解密,發現果然 是c。這個時候,他會想到,能夠用我的公鑰解密的資料,必然是用我的私鑰加的密。只有我知道我得私鑰,因此他就可以確認確實是我發的東西。這樣我們就能確 認傳送方身份了。這個過程叫做數字簽名。當然具體的過程要稍微複雜一些。用私鑰來加密資料,用途就是數字簽名。
好,我們複習一下:
1, 公鑰私鑰成對出現
2,私鑰只有我知道
3,大家可以用我的公鑰給我發加密的信了
4,大家用我的公鑰解密信的內容,看看能不能解開, 能解開,說明是經過我的私鑰加密了,就可以確認確實是我發的了。
總結一下結論:
1,用公鑰加密資料,用私鑰來解密資料
2, 用私鑰加密資料(數字簽名),用公鈅來驗證數字簽名。
在實際的使用中,公鑰不會單獨出現,總是以數字證書的方式出現,這樣是為了公鑰的安 全性和有效性。
我和我得好朋友x,要進行安全的通訊。這種通訊可以是qq聊天,很頻繁的。用我的公鑰加密資料就不行了,因為:
1,我的好朋友x沒有公私鑰對,我怎麼給他發加密的訊息啊? (注:實際情況中,可以雙方都有公私鑰對)
2,用公私鑰加密運算 很費時間,很慢,影響qq效果。
好了,好朋友x,找了乙個數字3,用我的公鑰1,加密後發給我,說,我們以後就用這個數字來加密資訊吧。 我解開後,得到了數字3。這樣,只有我們兩個人知道這個秘密的數字3,別的人都不知道,因為他們既不知x挑了乙個什麼數字,加密後的內容他們也無法解開, 我們把這個秘密的數字叫做會話金鑰。
然後,我們選擇一種對稱金鑰演算法,比如des,(對稱演算法是說,加密過程和解密過程是對稱的,用乙個 金鑰加密,可以用同乙個金鑰解密。使用公私鑰的演算法是非對稱加密演算法),來加密我們之間的通訊內容。別人因為不知道3是我們的會話金鑰,因而無法解密。
好,複習一下:
1,ssl實現安全的通訊
2,通訊雙方使用一方或者雙方的公鑰來傳遞和約定會話金鑰 (這個過程叫做握手)
3,雙方使用會話金鑰,來加密雙方的通訊內容
上面說的是原理。大家可能覺得比較複雜了,實際使用中,比這還要複雜。不過慶幸的是,好心的先行 者們在作業系統或者相關的軟體中實現了這層(layer),並且起了乙個難聽的名字叫做ssl,(secure socket layer)。
轉 公鑰,私鑰,SSL(講的很生動)
1,公鑰和私鑰成對出現 2,公開的金鑰叫公鑰,只有自己知道的叫私鑰 3,用公鑰加密的資料只有對應的私鑰可以 解密 4,用私鑰加密的資料只有對應的公鑰可以解密 5,如果可以用公鑰解密,則必然是對應的私鑰加的密 6,如果可以用私鑰解密,則 必然是對應的公鑰加的密 明白了?假設一下,我找了兩個數字,乙個是...
公鑰,私鑰,SSL 描述的很生動,轉的
一,公鑰私鑰 1,公鑰和私鑰成對出現 2,公開的金鑰叫公鑰,只有自己知道的叫私鑰 3,用公鑰加密的資料只有對應的私鑰可以 解密 4,用私鑰加密的資料只有對應的公鑰可以解密 5,如果可以用公鑰解密,則必然是對應的私鑰加的密 6,如果可以用私鑰解密,則 必然是對應的公鑰加的密 明白了?假設一下,我找了兩...
公鑰,私鑰,SSL
一,公鑰私鑰 1,公鑰和私鑰成對出現 2,公開的金鑰叫公鑰,只有自己知道的叫私鑰 3,用公鑰加密的資料只有對應的私鑰可以 解密 4,用私鑰加密的資料只有對應的公鑰可以解密 5,如果可以用公鑰解密,則必然是對應的私鑰加的密 6,如果可以用私鑰解密,則 必然是對應的公鑰加的密 明白了?假設一下,我找了兩...