![]() |
可以用兩種不同的方式使用密鑰:保證信息的機密性以及確認發(fā)信人身份的真實(shí)性。在第一種情況下,發(fā)送者使用接收者的公開(kāi)密鑰來(lái)加密信息,這時(shí)只有接收方使用自己的私有密鑰才能夠解密信息。在第二種情況下,發(fā)送者使用私有密鑰對信息進(jìn)行加密。這個(gè)密鑰只有發(fā)送者才有。
接收方的公開(kāi)密鑰保證了機密性,而發(fā)送方的私有密鑰證明了發(fā)送方的身份
例如,為了產(chǎn)生一個(gè)機密的信息,Tim首先要得到Ann的公開(kāi)密鑰。然后他使用她的公開(kāi)密鑰對信息進(jìn)行加密并發(fā)送給她。因為信息是用Ann的公開(kāi)密鑰進(jìn)行加密的,只有擁有Ann的私有密鑰的人(假設只有Ann才有這個(gè)密鑰)才能夠對信息進(jìn)行解密。見(jiàn)圖4-3
雖然使用一個(gè)公開(kāi)密鑰對信息進(jìn)行加密和使用秘密密鑰進(jìn)行加密沒(méi)有什么不同,公共密鑰系統提供了一些優(yōu)點(diǎn)。例如,密鑰對中的公開(kāi)密鑰可以公開(kāi)地分發(fā)(比如放在服務(wù)器上)而不用擔心它會(huì )危及你私有密鑰的安全。你不需要把你的公開(kāi)密鑰發(fā)送給你所有的接收方,他們可以從你公司的密鑰服務(wù)器上或者一個(gè)服務(wù)供應商處得到你的公開(kāi)密鑰。
在網(wǎng)絡(luò )上放置一個(gè)公開(kāi)密鑰使它易于得到,并且不會(huì )危及相應的私有密鑰
公共密鑰加密系統的另一個(gè)優(yōu)勢是你可以驗證一個(gè)信息的發(fā)送者的身份?;驹硎牵阂驗橹挥心悴拍軌蚴褂媚愕乃接忻荑€對信息進(jìn)行加密,任何能夠使用你的公開(kāi)密鑰對信息解密的人都可以確定信息是從你這里發(fā)送出來(lái)的。這樣,你在你的電子文檔中使用你的私有密鑰就相當于你在份書(shū)面文檔上簽名。但是別忘了,雖然接收者可以確定信息是從你這里發(fā)送出來(lái)的,但是不能保證別的人不能讀出這份信息。
使用一個(gè)私有密鑰進(jìn)行加密就像在文檔上簽名
![]() |
使用公共密鑰加密算法對信息進(jìn)行加密是非常耗時(shí)的,因此加密人員想出了一種辦法來(lái)快速地生成一個(gè)代表你的消息的簡(jiǎn)短的、獨特的消息摘要,這個(gè)摘要可以被加密并作為你的數字簽名。
通常,產(chǎn)生消息摘要的快速加密算法被稱(chēng)為單向雜湊函數。一種單向雜湊函數不使用密鑰,它只是一個(gè)簡(jiǎn)單的公式,把任何長(cháng)度的一個(gè)消息轉化為一個(gè)叫做消息摘要的簡(jiǎn)單的字符串。當使用一個(gè)16位的雜湊函數時(shí),雜湊函數處理的文本將產(chǎn)生一個(gè)16位的輸出--例如,一個(gè)消息可能產(chǎn)生一個(gè)像 CBBV235ndsAG3D67 的字符串。每一個(gè)消息產(chǎn)生一個(gè)隨機的消息摘要,用你的私有密鑰對摘要進(jìn)行加密就生成了一個(gè)數字簽名。
一個(gè)單向的雜湊函數把任何消息轉化為一個(gè)單一的字符串叫做一個(gè)消息摘要
使用私有密鑰對一個(gè)摘要進(jìn)行加密產(chǎn)生一個(gè)數字簽名
作為一個(gè)例子,假設發(fā)送者Tim對他的消息計算一個(gè)消息摘要,然后用他的私有密鑰對消息摘要進(jìn)行加密,并把數字簽名和原文一起發(fā)送給Ann
![]() |
當Ann使用Tim的公開(kāi)密鑰解密數字簽名,她就得到了Tim計算的消息摘要的一個(gè)備份。因為她能夠用Tim的公開(kāi)密鑰對數字簽名進(jìn)行解密,她知道是Tim產(chǎn)生的,這樣就驗證了發(fā)送者的身份。Ann然后使用相同的雜湊函數(在先前就協(xié)商好的)來(lái)計算Tim發(fā)送來(lái)的明文的消息摘要。如果她計算出來(lái)的摘要和Tim發(fā)送給她的摘要是相同的,這樣她就可以確認數字簽名是正確的,這不僅意味著(zhù)是Tim發(fā)送的消息,而且消息在發(fā)送的過(guò)程中沒(méi)有發(fā)生改變。
一個(gè)相同的消息摘要意味著(zhù)消息沒(méi)有被改變
這種方法的一個(gè)問(wèn)題是消息本身是作為明文的形式發(fā)送的,因此沒(méi)有達到保密的要求。雖然更加復雜,但你可以采用一種使用秘密密鑰的對稱(chēng)加密算法來(lái)加密消息的明文部分。
聯(lián)系客服