我們已經看到了現代對稱加密算法如何將明文數據塊轉換為密文的一般概念。當然,我們要加密的明文很少小于這些算法處理的 64 位或 128 位塊。這些算法如何將大于塊大小的輸入處理成密文的不同可能方法稱為操作模式。 設計人員選擇的操作模式具有嚴重的安全隱患。我們將從最“明顯”的方法開始:簡單地將各個密文塊連接在一起。
電子密碼本 (ECB) 模式
到目前為止,加密長度超過加密算法塊大小的明文的最自然方法是逐塊加密明文,并連接生成的密文塊:
不幸的是,這基本上總是一個不安全的設計選擇。
要了解原因,請檢查右側的圖像。左側是明文圖像,右側是使用 ECB 模式加密的圖像。顯然,即使圖像已被加密,也會顯示有關明文的相當多的信息。這是因為 ECB 模式將相同的明文塊加密為相同的密文塊。
計數器 (CTR) 模式
計數器操作模式與 ECB 模式非常相似,保留了其所有不錯的屬性(例如,您可以并行化加密和解密),但提供更好的安全屬性。
有趣的是,明文根本沒有輸入到分組密碼中!相反,計數器值將輸入到塊密碼,并隨著每次連續調用而遞增。明文本身通過獨占-OR與分組密碼的輸出相結合,以產生最終的密文塊。
回到圖像示例,我們可以看到,使用計數器模式加密明文不再產生明顯泄漏信息的密文。
還有許多其他操作模式,每種模式都有適合不同用例的優點和缺點。永遠記住,選擇操作模式是一個具有重要安全影響的關鍵決定。
非對稱加密算法
在我們之前的例子中,Alice 和 Bob 都共享同一個密鑰——他們在系統中的信息是對稱的。相比之下,非對稱加密算法使用兩個數學上相關的密鑰:只有所有者知道的私鑰,以及所有者向所有人透露的相應公鑰。要加密純文本消息,請使用其公鑰。只有所有者才能解密密文,因為只有他們擁有與其公鑰相對應的私鑰。
與依賴于非線性替換盒的對稱加密算法不同,RSA 和橢圓曲線加密 (ECC) 等非對稱加密算法的安全性依賴于數論假設。非對稱加密算法往往比對稱加密算法的計算成本高得多,這使得它們不適合加密大量數據。然而,非對稱算法簡化了密鑰分發問題,因為在第一次與新人通信時,共享公鑰比共享敏感的私鑰容易得多。
為了結合兩者的優勢,采取了混合方法。為了讓 Bob 與 Alice 通信,他使用她的公鑰進行非對稱加密算法,以加密對稱加密算法的共享密鑰,并將其發送給她。盡管非對稱加密算法的計算成本更高,但只需調用一次即可加密短值:共享密鑰。在通信之前安全地共享對稱密鑰是不切實際的(想象一下必須安全地將密鑰傳輸到您訪問的每個網站!),因此調用非對稱加密算法可以解決密鑰分發問題。Alice 收到加密消息后,她使用非對稱加密算法的相應私鑰來解密共享密鑰。現在 Alice 和 Bob 都有相同的共享密鑰,他們可以切換到更快的對稱加密算法。這使他們能夠快速加密和交換大量數據,因為對稱加密算法比非對稱加密算法快大約兩個數量級。
所需資源
由于對稱和非對稱加密算法依賴于不同類型的難題來提供安全性,因此它們容易受到針對其底層數學框架的不同攻擊。因此,它們需要不同的密鑰長度來提供相同的等效安全級別。此表總結了各種構造所需的密鑰位數,以提供等效的暴力安全強度。請注意,DES 無法提供最低 128 位暴力破解安全性,因此不應使用它。
結論
與歷史加密算法不同,現代加密算法是圍繞經過充分研究的難題構建的,這些問題只有在了解私鑰的情況下才容易反轉。重要的是,算法的設計始終是公開的,只有私鑰是保密的。盡管 DES 在推出時被認為是安全的,但它的 56 位密鑰在今天是不安全的,應該避免使用 AES 及其最小的 128 位密鑰長度。將密文塊鏈接在一起的對稱加密算法的操作模式在構造的安全性中起著至關重要的作用,絕不應使用簡單的電子密碼本 (ECB) 模式。非對稱加密算法通過消除事先私下共享密鑰的需要來幫助簡化密鑰分發問題:任何人都可以使用個人的公鑰加密消息,因為只有個人才能使用只有他們自己知道的相應私鑰解密消息。盡管非對稱加密算法的計算成本更高,但它們可以短暫地用于安全地交換共享密鑰,以換取更快的對稱加密算法。最后,由于對稱和非對稱加密算法的安全性基礎存在不同的數學問題,為了提供等效的安全性,它們必須使用不同的密鑰長度。
審核編輯:郭婷
-
半導體
+關注
關注
335文章
28302瀏覽量
229637 -
計數器
+關注
關注
32文章
2282瀏覽量
95798
發布評論請先 登錄
相關推薦
SPIM 以 ICP 或 ISP 的加密操作說明
STM32操作加密芯片源代碼 精選資料推薦
啟動Debug加密后可否更新Adkp的值?應該如何操作?
用ICP Tool設置脫機燒寫的設定,使能對脫機模式數據加密和配置位的安全加密有什么差別?
透明加密軟件的特點及原理
什么是加密貨幣經濟服務模式
DES加密原理和作用是什么
Akira解密工具的加密模式

評論