AES五種加密模式

分組密碼在加密時明文分組的長度是固定的,而實用中待加密消息的數據量是不定的,數據格式多是多種多樣的。爲了能在各類應用場合安全地使用分組密碼,一般對不一樣的使用目的運用不一樣的工做模式。 
算法

1、電碼本模式(ECB)安全

 

將整個明文分紅若干段相同的小段,而後對每一小段進行加密。函數

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

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

 

 

 

 

2、密碼分組鏈模式(CBC)it

 

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

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

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

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

3、輸出反饋模式(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時便會發生碰撞。

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

相關文章
相關標籤/搜索