AES加密學習筆記

AES是對稱加密算法

關鍵詞:

1、分組密碼體制:將明文拆分爲多段,每段爲128位的16字節,最後一段不足16字節使用padding填充;加密過程中對每一段分別進行加密後組裝;

 

2、padding:用來把不滿16個字節的分組數據填滿16個字節用的,它有三種模式PKCS5、PKCS7和NOPADDING。

PKCS5:缺少幾個字節就在末尾添加幾個字節的幾,例如最後一段有10個字節還缺少6個字節,那麼最後的六個字節都將填充上6;

PKCS7:缺少幾個字節就填充幾個字節的0;

NOPADDING:保證末尾一定是16個字節,不需要填充。

對於PKCS5和PKCS7最後一段剛好16字節不需要填充時,分別需要再在末尾添加16個字節的16(PKSE5)、16個字節的0(PKSE7).

 

3、初始向量IV:的作用是使加密更安全,初始向量IV是隨機生成的,在第一段明文加密過程中使用,從第二段開始的每一段的向量IV都是前一段明文加密得到的密文。

 

4、密鑰:AES要求密鑰的長度可以是128位16個字節、192位或者256位,位數越高,加密強度越大,效率越低。

 

5、四種加密模式:ECB(電子密碼本模式)、CBC(密碼分組鏈接模式)、CFB、OFB

(1)ECB:相同明文塊加密結果一致,導致容易被破解。

(2)CBC:使用初始向量IV,這樣可保證即使同樣的明文,加密後的密文也不見得一致。

這四種模式中ECB相對不夠安全,其餘幾種差別並不明顯。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章