顧名思義,對稱加密與非對稱加密都是用來對內(nèi)容進行加密的算法,而所謂的秘鑰就是進行加密和解密的鑰匙。
以前一把鎖頭只有一把鑰匙,盡管你可以去配鑰匙師傅那里再配出100把,但是它們的形狀都是一樣的。形狀稍微有點不一樣的鑰匙就無法打開這把鎖頭。同理,想鎖上這把鎖頭也不可以。這個過程就是對稱加密的最形象的表現(xiàn),鎖鎖頭是加密過程,打開鎖頭是解密過程,這把鑰匙就是對稱加密的私鑰。
在網(wǎng)絡(luò)中,加密的實質(zhì)目的就是為了保護傳輸文本內(nèi)容的隱私性。因為被加密后的內(nèi)容都是一團不可讀的亂碼,即使黑客截獲了通過網(wǎng)絡(luò)傳輸?shù)膬?nèi)容,他沒有秘鑰自然是看不懂這些內(nèi)容的實際含義。
那么解密的秘鑰也是要通過網(wǎng)絡(luò)傳輸給對方的,這樣對稱加密的秘鑰在傳輸?shù)倪^程中同樣有幾率被黑客截獲。所以對稱加密看起來也不是那么萬無一失。
非對稱加密中一共產(chǎn)生兩把“鑰匙”,最核心最隱秘的鑰匙是私鑰,通過這個私鑰可以生成對應(yīng)公鑰。假設(shè)我生成的私鑰為A,對應(yīng)生成的公鑰為B,我只用私鑰A在本地對內(nèi)容進行加密,然后持有公鑰B的人就可以解出來我加密的內(nèi)容。如果他要繼續(xù)回饋給我消息,就再用公鑰B對消息加密,我再用私鑰A解密。
非對稱加密的主要用途并不是去保護大內(nèi)容的隱私性,而是防止身份冒充,即數(shù)字簽名。
如果有壞人想要冒充我向我朋友Alice借錢,即使他掌握了我的一切身份信息,但是由于不具有我的私鑰,所以Alice拿我曾經(jīng)給她的公鑰驗證不了這個壞人發(fā)過來的信息,那么Alice就可以判定這個發(fā)消息的人不是我本人。反之,Alice收到了我的還款,然后她用我的公鑰加密了已收到還款的認證信息。但是Alice將這個消息發(fā)給了我和Bob兩個人,我們分別用自己的私鑰來解密。由于Alice是用我的公鑰加密的,所以只有我能驗證收到消息的合法性,Bob則認為這個消息為非法消息。