演算法 AES演算法優化

2021-06-12 14:19:47 字數 949 閱讀 6200

演算法優化主要就是在矩陣相乘中,優化的方式也很簡單,就是空間換時間。

aes演算法的矩陣是有特點的,矩陣如下:

02  03  01  01

01  02  03  01

01  01  02  03

03  01  01  02

每一豎行都是02 01 01 03 組成。

分析矩陣相乘

02  03  01  01         a1      02*a1 + 03*a2 + 01*a3 + 01*a4     b1

01  02  03  01   *    a2  =  01*a1 + 02*a2 + 03*a3 + 01*a4  = b2

01  01  02  03         a3      01*a1 + 01*a2 + 02*a3 + 03*a4     b3

03  01  01  02         a4      03*a1 + 01*a2 + 01*a3 + 02*a4     b4

可以發現a總是只會和01 02 03 相乘,並且非常重要的個a是有限個為16*16=256個

所以乘法的實現就不用像以前一樣每次都去算,可以直接存起來,節約算得時間。

還有乙個小技巧是存得時候可以存成4長度向量,比如a1=0x23,向量為 a3 23 23 e3=(02 01 01 03)

存得時候就是256個這種向量

算矩陣乘法就很簡單了先找到a1 a2 a3 a4 的向量

a2右移乙個位,其實就是(02 01 01 03)=》(03 02 01 01)

a3右移兩個位,其實就是(02 01 01 03)=》(01 03 02 01)

a4右移三個位,其實就是(02 01 01 03)=》(01 01 03 02)

由於+演算法就是^

把剛才得到的4個向量做一下^,就直接得到向量b=(b1 b2 b3 b4)

到此我們要得結果一下就出來了。

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

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

aes演算法小結

aes 一 是針對每個位元組進行調整,位元組的高四位對應行,低四位對應列。故定義的s盒是乙個16 16個位元組組成的矩陣。構成方法 1.在第i行,第j列存放的位元組是0xij 2.對矩陣中的每個位元組求其補 00的補是00 在gf 2 8,2的8次方 即係數在域mod2的8次多項式的域。如果將多項式...

AES密碼演算法

此演算法,是以金鑰128位為例,輸入輸出都是十六進製制。測試資料 明文 32 43 f6 a8 88 5a 30 8d 31 31 98 a2 e0 37 07 34 金鑰 2b 7e 15 16 28 ae d2 a6 ab f7 15 88 09 cf 4f 3c 密文 39 25 84 1d ...