加密方式壹***分為兩種 對稱加密 和 非對稱加密
加密和解密使用的是同壹種密鑰。
這類加密算法的優點是 計算量小,加密速度快,加密效率高
缺點也明顯,在傳輸數據前,雙方必須商定並且保存好密鑰,任何壹方泄露了密鑰,加密信息就不再安全了。另外,每次使用對稱加密算法時,都需要使用其他人不知道的唯壹密鑰,這樣會使得雙方會擁有大量的密鑰,讓管理密鑰稱為壹種負擔
非對稱加密需要兩個密鑰來進行加密和解密,這兩個密鑰分別稱為 公有密鑰 和 私有密鑰
這兩份鑰匙的使用是相互對應的。如果使用了公有密鑰加密文件,那麽解密就只能用對應的私密鑰匙才能解密,同理,如果用私密鑰匙加密了文件,那麽解密也只能使用對應的公有。
這裏有壹個缺點:因為乙的公鑰是公開的,所以有被人冒充甲方使用乙的公鑰發送請求。
解決方案:首先甲用自己的私鑰對消息進行加密,生成另壹個密文,然後將密文發送給乙,乙收到消息之後,如果能用乙的公鑰解密,就說明這個消息確實是甲方發送的。
雖然上面的方法解決了身份認證的問題,但是由於所有人都有甲的公鑰,所以只要消息發送中途被截獲就壹定能被解密;而且對文件加密可能是個耗時的過程,比如文件足夠大,那麽用私鑰加密整個文件以及拿到文件後解密的開銷無疑是巨大的。為了解決這兩個問題,於是有了數字簽名。
數字簽名的發送流程如下:
有了數字簽名,我們就可以驗證來源和消息的完整性。但是仍然還存在缺陷。假如存在第三人丙,偷偷在乙的電腦用自己的公鑰替換了甲的公鑰,然後用自己的私鑰給乙發送信息,這時乙收到的消息會以為是甲發送的。
為了解決這個問題,於是有了 數字證書
數字證書,就是為了解決,無法區分電腦中的密鑰歸屬的問題,其實就是給公鑰做個身份證,以便讓別人搞清楚公鑰到底是誰的.。
但仍然存在問題:假設有壹萬個人,他們每個人都有CA的證書,那麽乙就要報關壹萬份不同的CA公鑰來驗證這些人的身份。這是不可能的。
所以就有了"根證書"。根證書裏面存儲著CA公鑰來驗證所有CA頒發的數字證書,乙只需要保管壹份根證書就可以驗證所有人的身份了。
以上
原文連接: /kswkly/article/details/83617944