對(duì)于加密,必須區(qū)分對(duì)稱(chēng)加密和公鑰/私鑰加密。
在對(duì)稱(chēng)加密時(shí),可以使用同一個(gè)密鑰進(jìn)行加密和解密。但公鑰/私鑰不是這樣的。如果使用一個(gè)公鑰進(jìn)行加密,就應(yīng)使用相應(yīng)的私鑰進(jìn)行解密,而不是公鑰進(jìn)行解密。同樣,如果使用一個(gè)私鑰進(jìn)行加密,就應(yīng)使用對(duì)應(yīng)的公鑰進(jìn)行解密,而是不私鑰進(jìn)行解密。
公鑰/私鑰總是成對(duì)的創(chuàng)建的。公鑰可以由任何人使用,但私鑰必須安全的加鎖。
如果Alice給Bob發(fā)送了一封電子郵件,Alice希望保證除Bob外,其它人都不能閱讀該郵件,所以使用Bob的公鑰進(jìn)行加密。信息是使用Bob的公鑰進(jìn)行加密的,Bob打開(kāi)該郵件,并使用他儲(chǔ)存的私有密鑰進(jìn)行解密。這種方式保證除Bob外,其它人都不能閱讀Alice的郵件。
但這還有一個(gè)問(wèn)題:Bob不能確保郵件是Alice發(fā)送過(guò)來(lái)的。任何人都可以使用Bob的公鑰給他發(fā)送郵件。我們把這個(gè)順序擴(kuò)展一下。下面再次從Alice給Bob發(fā)送郵件。在Alice給Bob發(fā)送郵件用公鑰進(jìn)行加密之前,他添加自己的簽名,使用自己的密鑰加密該簽名。這樣就保證出Bob外,其它人都不能閱讀該郵件。在Bob解密郵件時(shí),檢測(cè)到一個(gè)加密的簽名。這個(gè)簽名可以使用Alice的公鑰來(lái)解密。而Bob可以訪問(wèn)Alice的公鑰,在解密簽名之后,Bob就可以確認(rèn)是Alice發(fā)送的郵件了。
聯(lián)系客服