对aes加密算法的理解
1.aes加密算法的输入通常是128位的数据,即16字节的数据。
2.加密的循环次数与密钥的位数有关。16字节密钥对应10轮,24字节密钥对应12轮,32字节对应14轮。
3.列混合运算伪代码
def f(a) if a&0x80: result=(2*a^0x1b)&0xff; else: result=(2*a) return result for i in range(4): t0=a[3+i*4]^a[2+i*4]^a[1+i*4]^f(a[1+i*4])^f(a[0+i*4]) t1=a[3+i*4]^a[0+i*4]^a[2+i*4]^f(a[1+i*4])^f(a[2+i*4]) t2=a[3+i*4]^a[0+i*4]^a[1+i*4]^f(a[2+i*4])^f(a[3+i*4]) t3=a[0+i*4]^a[2+i*4]^a[1+i*4]^f(a[3+i*4])^f(a[0+i*4]) a[0+i*4]=t0 a[1+i*4]=t1 a[2+i*4]=t2 a[3+i*4]=t3

浙公网安备 33010602011771号