非對稱解密
前面我們知道對稱加密是對一份文件進行加密,且對應(yīng)的只有一個密碼?例如:A有一份文件,她使用對稱加密算法加密后希望發(fā)給B,那么密碼肯定也要一起交給B!這中間就會出現(xiàn)安全隱患,如果密碼被第三方L嗅探到并截取,那么加密的文件就赤裸裸的出現(xiàn)在L的面前。
如果A有很多文件需要加密并發(fā)送給很多人!那么就會生成很多的密鑰,這么多的密鑰保管就成了一個很棘手的問題,況且還要把密鑰發(fā)給不同的人!這無疑增添了很多的風險!
如何能改善這種安全性不高的加密算法,數(shù)學家們發(fā)現(xiàn)了另一種加密方式。稱之為《非對稱加密》asymmetric encryption。非對稱加密算法需要兩個密鑰【公開密鑰】(publickey)和【私有密鑰】(privatekey)。下面簡稱【公匙】、【私匙】
【公鑰】與【私鑰】是一對,如果使用公開密匙對數(shù)據(jù)進行加密,那么只有對應(yīng)的私有密匙才能解密;相反,如果使用私有密匙對數(shù)據(jù)進行加密,那么只有對應(yīng)的公開密匙進行解密。因加密解密使用的是兩種不同的密匙,所以這種算法稱之為【非對稱加密算法】。
在使用非對稱加密前,A和B先各自生成一對公匙和私匙,然后把各自的公匙交給對方,并把自己的私匙妥善保管!如圖所示:
1.png
在A給B發(fā)送信息之前,首先使用B發(fā)給A的公匙對信息進行加密處理,然后發(fā)送給B,B在收到密文之后,使用自己的私匙解密;B在給A回復(fù)信息時,先使用A發(fā)來的公匙對回復(fù)信息加密,然后發(fā)出,A收到密文后使用自己的私匙解密即可!如圖所示:
2.png