公鑰加密 混合加密(對稱加密與非對稱加密)

2021-10-25 12:38:34 字數 2341 閱讀 5945

根據秘鑰的使用方式,將密碼分為兩種:

對稱加密(aes)

非對稱加密(rsa)

在對稱密碼中,加密、解密時使用的是同乙個金鑰:

如下圖所示流程:

對稱加密流程

在使用對稱加密時,我們不可避免的會遇到秘鑰的配送問題,假設我們alice要傳送乙個通過秘鑰加密過的訊息給到bob,那麼:

只有將金鑰傳送給bob,bob才能完成解密

在傳送金鑰過程中,可能會被eve竊取金鑰,最後eve也能完成解密

如下流程:

訊息傳送及可能被竊取流程

對於這種秘鑰可能會被第三方竊取的情況,我們可以通過下述幾種方案解決:

事先共享金鑰

金鑰分配中心

diffie-hellman金鑰交換

公鑰密碼

公鑰密碼

秘鑰分為加密秘鑰和解密秘鑰兩個,兩者不是同乙個秘鑰,也被稱為非對稱密碼(asymmetric cryptography)。

其中注意點:

加密金鑰,一般是公開的,因此該金鑰稱為公鑰(public key)

解密金鑰,由訊息接收者自己保管的,不能公開,因此也稱為私鑰(private key)

公鑰和私鑰是一 一對應的,是不能單獨生成的,一對公鑰和金鑰統稱為金鑰對(key pair)

由公鑰加密的密文,必須使用與該公鑰對應的私鑰才能解密

由私鑰加密的密文,必須使用與該私鑰對應的公鑰才能解密

公鑰密碼使用流程

公鑰密碼解決了秘鑰的配送問題:

由訊息的接收者,生成一對公鑰、私鑰

將公鑰發給訊息的傳送者

訊息的傳送者使用公鑰加密訊息

rsa加密的由來:

目前使用最廣泛的公鑰密碼演算法是rsa

rsa的名字,由它的3位開發者,即ron rivest、adi shamir、leonard adleman的姓氏首字母組成。

混合密碼系統

鑑於以上兩種加密方式都各有優缺點:

對稱加密缺點:無法很好的解決秘鑰配送的優缺點

公鑰密碼缺點:加密與解密速度比較慢

混合密碼系統,是將對稱密碼和公鑰密碼的優勢相結合的方法,解決了公鑰密碼速度慢的問題,並通過公鑰密碼解決了對稱密碼的金鑰配送問題。網路上的密碼通訊所用的ssl/tls都運用了混合密碼系統。

混合密碼的加密:

會話金鑰(session key)

為本次通訊隨機生成的臨時金鑰

作為對稱密碼的金鑰,用於加密訊息,提高速度

加密步驟(傳送訊息)

首先,訊息傳送者要擁有訊息接收者的公鑰

生成會話金鑰,作為對稱密碼的金鑰,加密訊息

用訊息接收者的公鑰,加密會話金鑰

將前2步生成的加密結果,一併發給訊息接收者

傳送出去的內容包括

用會話金鑰加密的訊息(加密方法:對稱密碼)

用公鑰加密的會話金鑰(加密方法:公鑰密碼)

混合密碼加密流程

解密步驟(收到訊息)

訊息接收者用自己的私鑰解密出會話金鑰

再用第1步解密出來的會話金鑰,解密訊息

混合密碼解密流程

混合密碼加解密流程小結:

alice >>>>> bob

傳送過程,加密過程

1.bob先生成一對公鑰、私鑰

2.bob把公鑰共享給alice

3.alice隨機生成乙個會話金鑰(臨時金鑰)

4.alice用會話金鑰加密需要傳送的訊息(使用的是對稱密碼加密)

5.alice用bob的公鑰加密會話金鑰(使用的是公鑰密碼加密,也就是非對稱密碼加密)

6.alice把第4、5步的加密結果,一併傳送給bob

接收過程,解密過程

1.bob利用自己的私鑰解密會話金鑰(使用的是公鑰密碼解密,也就是非對稱密碼解密)

2.bob利用會話金鑰解密傳送過來的訊息(使用的是對稱密碼解密)

總的來說,aes加密傳送者傳送訊息會將秘鑰與秘鑰加密過的明文一起傳送給接受者,這種情況下無法保證秘鑰傳輸過程中的安全配送問題;而rsa密碼則是生成一對不同的公鑰和私鑰,是成對的。事先接受者先將公鑰共享給傳送方,然後傳送方利用此公鑰對明文內容進行加密,隨後傳送給接受方,接收方收到訊息拿配對的私鑰進行解密,得到明文,過程複雜,效率較低。

而混合加密則採取兩家之長,即解決了秘鑰的安全配送問題,同時也提高了加密與解密效率。混合加密先是接收方將生成的公鑰共享給傳送方乙份,傳送方使用此公鑰將生成的會話秘鑰進行加密,同時傳送方使用會話秘鑰對明文內容進行加密,完成加密後,將兩份加密過的內容一起傳送給接收方,接收方接收到訊息,先通過配對的私鑰解密出會話秘鑰,然後使用會話秘鑰對密文進行解密,得到明文內容。到此乙個完成混合加密流程就算是完成了。

對稱加密與公鑰加密(中)

分組密碼 一 分組密碼的模式 分組密碼 是每次只能處理特定長度的一塊資料的一類演算法,這裡的 一塊 就稱為分組。此外,乙個分組的位元數就稱為位元長度 des和3des分組長度都是64位元,aes的分組長度是128位元。流密碼 對資料流進行連續處理的一類密碼演算法。流密碼中一般以1位元,8位元或32位...

對稱加密 非對稱加密 混合加密

對稱加密 symmetric cryptography 非對稱加密 asymmetric cryptography 混合加密 hybrid cryptography 總結參考文獻 ios中常在哪些場景應用到 寫乙個系列 本文概要 3des aes advanced encryption standa...

對稱加密 單向加密和公鑰加密的概念和聯絡

下文主要從加密演算法的特徵 常用加密演算法和加密工具等方面,梳理和比較對稱加密 單向加密和公鑰加密的概念及其之間的聯絡。對稱加密 採用單鑰密碼的加密方法,同乙個金鑰可以同時用來加密和解密,這種加密方法稱為對稱加密,也稱為單金鑰加密。常用的單向加密演算法 單向雜湊加密 單向加密又稱為不可逆加密演算法,...