我們已經(jīng)看到了現(xiàn)代對(duì)稱加密算法如何將明文數(shù)據(jù)塊轉(zhuǎn)換為密文的一般概念。當(dāng)然,我們要加密的明文很少小于這些算法處理的 64 位或 128 位塊。這些算法如何將大于塊大小的輸入處理成密文的不同可能方法稱為操作模式。 設(shè)計(jì)人員選擇的操作模式具有嚴(yán)重的安全隱患。我們將從最“明顯”的方法開始:簡(jiǎn)單地將各個(gè)密文塊連接在一起。
電子密碼本 (ECB) 模式
到目前為止,加密長(zhǎng)度超過加密算法塊大小的明文的最自然方法是逐塊加密明文,并連接生成的密文塊:
不幸的是,這基本上總是一個(gè)不安全的設(shè)計(jì)選擇。
要了解原因,請(qǐng)檢查右側(cè)的圖像。左側(cè)是明文圖像,右側(cè)是使用 ECB 模式加密的圖像。顯然,即使圖像已被加密,也會(huì)顯示有關(guān)明文的相當(dāng)多的信息。這是因?yàn)?ECB 模式將相同的明文塊加密為相同的密文塊。
計(jì)數(shù)器 (CTR) 模式
計(jì)數(shù)器操作模式與 ECB 模式非常相似,保留了其所有不錯(cuò)的屬性(例如,您可以并行化加密和解密),但提供更好的安全屬性。
有趣的是,明文根本沒有輸入到分組密碼中!相反,計(jì)數(shù)器值將輸入到塊密碼,并隨著每次連續(xù)調(diào)用而遞增。明文本身通過獨(dú)占-OR與分組密碼的輸出相結(jié)合,以產(chǎn)生最終的密文塊。
回到圖像示例,我們可以看到,使用計(jì)數(shù)器模式加密明文不再產(chǎn)生明顯泄漏信息的密文。
還有許多其他操作模式,每種模式都有適合不同用例的優(yōu)點(diǎn)和缺點(diǎn)。永遠(yuǎn)記住,選擇操作模式是一個(gè)具有重要安全影響的關(guān)鍵決定。
非對(duì)稱加密算法
在我們之前的例子中,Alice 和 Bob 都共享同一個(gè)密鑰——他們?cè)谙到y(tǒng)中的信息是對(duì)稱的。相比之下,非對(duì)稱加密算法使用兩個(gè)數(shù)學(xué)上相關(guān)的密鑰:只有所有者知道的私鑰,以及所有者向所有人透露的相應(yīng)公鑰。要加密純文本消息,請(qǐng)使用其公鑰。只有所有者才能解密密文,因?yàn)橹挥兴麄儞碛信c其公鑰相對(duì)應(yīng)的私鑰。
與依賴于非線性替換盒的對(duì)稱加密算法不同,RSA 和橢圓曲線加密 (ECC) 等非對(duì)稱加密算法的安全性依賴于數(shù)論假設(shè)。非對(duì)稱加密算法往往比對(duì)稱加密算法的計(jì)算成本高得多,這使得它們不適合加密大量數(shù)據(jù)。然而,非對(duì)稱算法簡(jiǎn)化了密鑰分發(fā)問題,因?yàn)樵诘谝淮闻c新人通信時(shí),共享公鑰比共享敏感的私鑰容易得多。
為了結(jié)合兩者的優(yōu)勢(shì),采取了混合方法。為了讓 Bob 與 Alice 通信,他使用她的公鑰進(jìn)行非對(duì)稱加密算法,以加密對(duì)稱加密算法的共享密鑰,并將其發(fā)送給她。盡管非對(duì)稱加密算法的計(jì)算成本更高,但只需調(diào)用一次即可加密短值:共享密鑰。在通信之前安全地共享對(duì)稱密鑰是不切實(shí)際的(想象一下必須安全地將密鑰傳輸?shù)侥L問的每個(gè)網(wǎng)站!),因此調(diào)用非對(duì)稱加密算法可以解決密鑰分發(fā)問題。Alice 收到加密消息后,她使用非對(duì)稱加密算法的相應(yīng)私鑰來解密共享密鑰。現(xiàn)在 Alice 和 Bob 都有相同的共享密鑰,他們可以切換到更快的對(duì)稱加密算法。這使他們能夠快速加密和交換大量數(shù)據(jù),因?yàn)閷?duì)稱加密算法比非對(duì)稱加密算法快大約兩個(gè)數(shù)量級(jí)。
所需資源
由于對(duì)稱和非對(duì)稱加密算法依賴于不同類型的難題來提供安全性,因此它們?nèi)菀资艿结槍?duì)其底層數(shù)學(xué)框架的不同攻擊。因此,它們需要不同的密鑰長(zhǎng)度來提供相同的等效安全級(jí)別。此表總結(jié)了各種構(gòu)造所需的密鑰位數(shù),以提供等效的暴力安全強(qiáng)度。請(qǐng)注意,DES 無法提供最低 128 位暴力破解安全性,因此不應(yīng)使用它。
結(jié)論
與歷史加密算法不同,現(xiàn)代加密算法是圍繞經(jīng)過充分研究的難題構(gòu)建的,這些問題只有在了解私鑰的情況下才容易反轉(zhuǎn)。重要的是,算法的設(shè)計(jì)始終是公開的,只有私鑰是保密的。盡管 DES 在推出時(shí)被認(rèn)為是安全的,但它的 56 位密鑰在今天是不安全的,應(yīng)該避免使用 AES 及其最小的 128 位密鑰長(zhǎng)度。將密文塊鏈接在一起的對(duì)稱加密算法的操作模式在構(gòu)造的安全性中起著至關(guān)重要的作用,絕不應(yīng)使用簡(jiǎn)單的電子密碼本 (ECB) 模式。非對(duì)稱加密算法通過消除事先私下共享密鑰的需要來幫助簡(jiǎn)化密鑰分發(fā)問題:任何人都可以使用個(gè)人的公鑰加密消息,因?yàn)橹挥袀€(gè)人才能使用只有他們自己知道的相應(yīng)私鑰解密消息。盡管非對(duì)稱加密算法的計(jì)算成本更高,但它們可以短暫地用于安全地交換共享密鑰,以換取更快的對(duì)稱加密算法。最后,由于對(duì)稱和非對(duì)稱加密算法的安全性基礎(chǔ)存在不同的數(shù)學(xué)問題,為了提供等效的安全性,它們必須使用不同的密鑰長(zhǎng)度。
審核編輯:郭婷
-
半導(dǎo)體
+關(guān)注
關(guān)注
334文章
27432瀏覽量
219277 -
計(jì)數(shù)器
+關(guān)注
關(guān)注
32文章
2256瀏覽量
94640
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論