AES五種加密模式


什么是AES

AES 是 Advanced Encryption Standard(高級加密標准)的縮寫,是密碼學中最常用的加密算法之一。這個標准用來替代原先的 DES(Data Encryption Standard),已經被多方分析且廣為世界所使用。

 

分組密碼在加密時明文分組的長度是固定的,而實用中待加密消息的數據量是不定的,數據格式可能是多種多樣的。為了能在各種應用場合安全地使用分組密碼,通常對不同的使用目的運用不同的工作模式。 

一、電碼本模式(ECB)

 

將整個明文分成若干段相同的小段,然后對每一小段進行加密。

優:操作簡單,易於實現;分組獨立,易於並行;誤差不會被傳送。——簡單,可並行,不傳送誤差。

缺:掩蓋不了明文結構信息,難以抵抗統計分析攻擊。——可對明文進行主動攻擊。

 

 

 

 

二、密碼分組鏈模式(CBC)

 

先將明文切分成若干小段,然后每一小段與初始塊或者上一段的密文段進行異或運算后,再與密鑰進行加密。

優點:能掩蓋明文結構信息,保證相同密文可得不同明文,所以不容易主動攻擊,安全性好於ECB,適合傳輸長度長的報文,是SSL和IPSec的標准。

缺點:(1)不利於並行計算;(2)傳遞誤差——前一個出錯則后續全錯;(3)第一個明文塊需要與一個初始化向量IV進行抑或,初始化向量IV的選取比較復雜。

初始化IV的選取方式:固定IV,計數器IV,隨機IV(只能得到偽隨機數,用的最多),瞬時IV(難以得到瞬時值)

三、輸出反饋模式(OFB)

密碼算法的輸出(指密碼key而不是密文)會反饋到密碼算法的輸入中,OFB模式並不是通過密碼算法對明文直接加密,而是通過將明文分組和密碼算法的輸出進行XOR來產生密文分組。

優點:隱藏了明文模式;結合了分組加密和流密碼(分組密碼轉化為流模式);可以及時加密傳送小於分組的數據。

缺點:不利於並行計算;需要生成秘鑰流;對明文的主動攻擊是可能的。

四 計數器模式(CTR)

完全的流模式。將瞬時值與計數器連接起來,然后對此進行加密產生密鑰流的一個密鑰塊,再進行XOR操作 。

優點:不泄露明文;僅需實現加密函數;無需填充;可並行計算。

缺點:需要瞬時值IV,難以保證IV的唯一性。

五 對比CBC和CTR

(1)CBC需要填充;CTR不用填充。

(2)CBC不可並行;CTR可並行速度快。

(3)CBC需要實現加密和解密函數;CTR實現簡單,僅需實現加密函數。

(4)魯棒性:CBC強於CTR——使用重復瞬時值,CBC會泄露初始明文塊,CTR會泄露所有信息。

如果有好的瞬時值選擇策略,采用CTR,否則采用CBC。

如加密成績單,可選用CTR,因為學號唯一。可作為瞬時值。

六 分組密碼填充

目的:將明文填充到滿足分組大小,解密后再把填充去掉。

如何填充:缺幾個字節填充幾個自己的幾(如缺5個字節,填充5個字節的5);如果不需要填充,則添加一個分組,分組中填充分組大小(如分組大小為64,填充16個字節的16)

七 分組密碼模式的安全性

任何分組密碼模式都存在信息的泄露,沒有一個是完美的,任何分組模式都可能會泄露信息,這只是一個概率的問題。

碰撞概率計算:

M個明文塊,塊長為N,以兩個塊組成一對,

不同塊的對數為:M(M-1)/2

兩個塊相等的概率為:1/2的n次方

密文塊相等的數量期望為:M(M-1)/2的n+1次方。

則當M(M-1)=2的n+1次方時候,即M約等於2的n/2次方時發生碰撞的概率約等於1。

例如:分組長度為64,則當塊數為2的32次方時,即加密數據2的32次方*64bit=256G時便會發生碰撞。

結論:分組密碼的安全不僅和秘鑰長度有關還和分組長度有關。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM