公鑰、私鑰觀念:
公鑰、私鑰
非對稱式金鑰的加密機制是:
1.公鑰加密,私鑰解密:
A要把重要私密文件交給B,就拿B公開的公鑰把文件加密。結果,只有有B私鑰的B自己能解密,看到A傳來的重要文件,其他人不行。2.私鑰簽章,公鑰驗證:
B要[b]向全世界不特定的多數人, 發布自己寫的一個了不起的程式作品,就把自己的私鑰"sign"了自己的程式,然後任何人,可以透過CA的信任圈取得B的公鑰來核對下載來的程式是不是真的B寫的。
文章來源:apexlj的博客
公鑰私鑰
1.公鑰和私鑰一定是成對出現
2.公開的密鑰叫公鑰,只有自己知道的叫私鑰
3.用「公鑰」加密的數據,只有對應的「私鑰」可以解密
4.用「私鑰」加密的數據,只有對應的「公鑰」可以解密
5.如果可以用「公鑰」解密,則必然是對應的「私鑰」加的密
6.如果可以用「私鑰」解密,則必然是對應的「公鑰」加的密
假設我有一對公鑰X,私鑰Y
- 我的好朋友Alex用我的公鑰X加密了字符1234,加密後成了BBB,放在網上。
- 別人偷到了這個文件,但是別人解不開,因為別人不知道私鑰Y,所以只有我才能解密,解密後就得到1234。
現在我們知道用公鑰加密,然後用私鑰來解密,就可以解決安全傳輸的問題了。 如果我用私鑰加密一段數據(當然只有我可以用私鑰加密,因為只有我知道Y是我的私鑰),結果所有的人都看到我的內容了,因為他們都知道我的公鑰是X,那麼這種加密有什麼用處呢?
但是我的好朋友Alex說有人冒充我 給他發信,怎麼辦呢?
我把我要發的信,內容是ccc,用我的私鑰Y加密,加密後的內容是DDD,發給Alex,再告訴他解密看是不是ccc。 他用我的公鑰x解密,發現果然 是ccc。 這個時候,他會想到,能夠用我的公鑰解密的數據,必然是用我的私鑰加的密。 只有我知道我得私鑰,因此他就可以確認確實是我發的東西;這樣我們就能確 認發送方身份了。 這個過程叫做數字簽名。當然具體的過程要稍微複雜一些。 用私鑰來加密數據,用途就是數字簽名。
好,我們複習一下:
1.公鑰私鑰成對出現
2.私鑰只有我知道
3.大家可以用我的公鑰給我發加密的信了
4.大家用我的公鑰解密信的內容,看看能不能解開, 能解開說明是經過我的私鑰加密了,就可以確認確實是我發的了。
總結一下結論:
1.用公鑰加密數據,用私鑰來解密數據
2.用私鑰加密數據(數字簽名),用公鑰來驗證數字簽名。
在實際的使用中,公鑰不會單獨出現,總是以數字證書的方式出現,這樣是為了公鑰的安全性和有效性。