AES_128密钥扩展Python
(2018-05-26 22:02:31)
标签:
python |
分类: 算法实现 |
#导入模块
import numpy as np
#AES_128加密密钥
real_key = 'b964463b0db05c46f25042f5fd728a82'
real_key = [i for i in bytes.fromhex(real_key)]
print('\033[1;31m', end="")
print("Real Key : ", end="")
print('\033[1;30m', end="")
print(real_key)
print('\033[0m', end="")
AES_Sbox = np.array([
AES_Rcon = np.array([0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40,
0x80, 0x1b, 0x36])
round_key = np.array(range(176),dtype=np.uint8)
#密钥扩展,计算最后一轮的轮密钥
for i in range(16):
round = 0
for i in range(16,176,16):
print('\033[1;31m', end="")
print("Last Round Key : ",end='')
print('\033[1;30m', end="")
print(round_key[160:176])
print('\033[0m', end="")
#由最后一轮的轮密钥,就算AES_128的加密密钥
round = 9
for i in range(159,0,-16):
print('\033[1;31m', end="")
print("Attack Key : ",end='')
print('\033[1;30m', end="")
print(round_key[0:16])
print('\033[0m', end="")
前一篇:AES_128密钥扩展C语言