AES學習總結

2021-06-16 04:07:13 字數 1127 閱讀 6557

一、aes

aes

,即advanced encryption standard,

高階加密標準

, 它屬於對稱加密演算法,加密解密使用同一金鑰。

輸入

16b的分組

金鑰

128位

(16b)

、196

位(24b)或

256位

(32b)

不同位數的金鑰,決定後面加密

/解密的輪數。

16b的金鑰,將進行

10輪加密

/解密;

24b的金鑰,將進行

12輪加密

/解密;

32b的金鑰,將進行

14輪加密

/解密;

輸出

16b的分組

二、加密流程

1.金鑰的產生

(key schedule)

根據輸入的金鑰,進行金鑰擴充套件,生成輪加密中使用的子金鑰.

2.初始

明文和金鑰進行

addroundkey,

即明文位元組和金鑰位元組進行異或運算

3.輪加密

(1)subbytes 假設

state

表中當前位元組為

xy,

則在sbox

上查詢x行y

列的對應值,並進行替換。

(2)shiftrows 假設

state

表中當前行為i(

i[0,3]

),shiftrows

操作則為將

i行迴圈左移

i個位元組

(3)mixcolumns

rcon

為一常量矩陣,

mixcolumns

操作則為

rcon

矩陣與state

矩陣相乘

(4)addroundkey

state

矩陣中元素與子金鑰元素進行異或運算

4.最後一輪加密

(1)subbytes

(2)shiftrows

(3)addroundkey

AES加密學習筆記

aes對稱加密 aes ecb pkcs5padding aes簡介 pkcs5padding aes原始碼 做專案要用到aes加密,選擇這個開源aes包,其blocksize是16位元組 每16位元組資料進行加密 pkcs5padding 以八字節為處理單位,padding的值是 1 7,如果資料...

aes演算法的地位 AES演算法介紹

aes 演算法介紹 1.aes 演算法簡介 aes演算法是高階加密標準演算法的簡稱,其英文名稱為 advanced encryption standard 該加密標準的出現是因為隨著對稱密碼的發展 以前使用的 desdata encryption standard 資料加密標準 演算法由於金鑰長度較...

Tcp的AES加密和AES 解密

下面的引數str就是tcp需要傳輸的內容 金鑰就是加密和解密需要提供一組相同的字元 加密模式 填充方式 將目標字串進行aes加密 iv和key均為secretkey 被加密字串 秘鑰 加密模式 填充方式 public static string toencryptaes this string st...