01對稱加密算法
對稱密碼體制,又稱為單密鑰密碼機制,其基本特征為加密密鑰和解密密鑰相同,模型如下:
這種方式,攻擊者可以通過不安全的公開通信通道獲取密文,但無法接觸到明文或者密鑰;如果該攻擊者知道加密算法和解密算法,且只對當前獲取的密文感興趣,可以產生一個明文的估計值來恢復明文;如果對未來消息感興趣,可以來產生一個密鑰來恢復密鑰。
對稱加密算法是基于分組密碼機制產生,將一組明文劃分為m長度的n組明文,分別使用密鑰K=(k0,....,kx)進行加密或者解密,m長度通常為64、128、256、512。
02AES加密算法工作模式
分組密碼算法是提供數據安全的一個基本固件,典型的如DES(Data Encryption Standard)以64位為一組,AES(Advanced Encryption Standard)以128位(舉例)為一個分組;但實際上保密傳輸的消息不一定剛好是一個分組,根據國標GB/T 17964-2008《信息安全技術 分組密碼算法的工作模式》,為了各種應用能使用這些基本固件,因此有7種常用的工作模式;下面來解釋一下:
2.1 ECB(Electronic Code Book Mode)
ECB,叫做電子密碼本模式,例如AES128-ECB這種模式下,明文以128bit為一組,每次被處理128bit,每個明文都用同一個密鑰加密;
解密過程使用同樣的密鑰進行解密。
這種模式操作簡單,不同分組可以并行處理;但是明文中重復的內容同樣也會在密文中體現出來,因此對于長報文可能不是很安全。
2.2 CBC(Cipher Block Chaining Mode)
CBC,密碼分組鏈模式;加密函數的輸入是當前明文分組和前一個密文分組的異或,對每個分組處理時也使用相同的密鑰,如下
這種模式下,一個消息中的兩個相同明文組會被加密成不同的密文,這樣就避免了ECB出現的重復密文的問題。在最初加密時,需要使用初始向量(Initial Vector),這個IV需要發送方和接收方都知道,不用加密,但必須保證該IV的完整性。
該種模式不能并行處理,因為當前明文需要和上一組密文進行異或處理。
2.3 CTR(ConterMode)
計數器模式使用與明文分組長度相同的計數器長度,計數器從某一初值開始,按某種算法遞增,計數器值經過加密算法得到的結果再和明文進行異或,這樣就可以得到當前明文組的密文。
可以看到,計數器模式下的加密和解密相對獨立,且已知加密函數,和計數器值,就可以通過異或的方式得到明文,不需要解密函數。實現起來簡單易懂。
2.4 OFB(Output Feedback Mode)
輸出反饋模式,該模式和CBC有點相像,但是區別在于OFB是將IV去進行加密后得到一個輸出OBi 與明文塊進行異或,同時OBi作為下一個加密對象的IV。如下圖:
2.5 CFB(Chiper Feedback Mode)
密碼反饋模式,與輸出反饋模式結構類似。但是這種模式的密文是按bit來處理的,如下:
在該模式下,首先IV作為第一個block進行加密,生成第一個輸出block;該block的s bit高位與明文的s bit高位作異或得到密文塊,b(block size)-s不參與加密;b-s低位的數據 | 該密文塊作為下一個block的輸入。
2.6 XTS(XEXTweakableBlockCipherwithCiphertextStealing)
XTS引入了tweak key和AES key互相配合,每個明文塊用同樣的AES key但tweak key不相同。比如設置與區塊的index成對應關系,這樣各個塊的加解密就相互獨立了,如下:
相當于就在ECB上形式上增加了一層加擾系數。
2.7 GCM(Galois/Counter Mode)
它在 CTR 加密的基礎上增加 GMAC 的特性,解決了 CTR 不能對加密消息進行完整性校驗的問題。
03總結
上面描述了對稱加密算法的工作模式,那么我們在設計時主要考慮以下幾個方面:
(1)抵抗攻擊的能力、密文的隨機性、安全防護等級
(2)調用分組加密的次數、并行處理能力、初始化向量時間等
(3)明文分組數量可配、消息長度等要求
審核編輯:湯梓紅
-
算法
+關注
關注
23文章
4630瀏覽量
93355 -
計數器
+關注
關注
32文章
2261瀏覽量
94983 -
AES
+關注
關注
0文章
104瀏覽量
33272 -
加密算法
+關注
關注
0文章
216瀏覽量
25580
原文標題:汽車信息安全--對稱加密算法工作模式簡析
文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論