AES 列混淆 GF(2^8) 有限域上的乘法 原理与python实现

本文介绍了AES加密中列混淆的GF(2^8)有限域乘法原理,重点解析了xtime函数的实现,包括左移和异或操作。并纠正了网络上关于矩阵乘法错误的常见解释,提供了正确的矩阵乘法步骤。
摘要由CSDN通过智能技术生成

参考自
AES加解密创作团队写的算法的pdf:
https://csrc.nist.gov/csrc/media/projects/cryptographic-standards-and-guidelines/documents/aes-development/rijndael-ammended.pdf

在这里插入图片描述
xtime函数就是左移一位并且如果结果大于8位就要舍弃第九位,并且异或上0x1b 这个别问为啥 这是规定…

此图中0x57*0x02=0xAE这个好理解
xtime(0xAE)=0x47 这个就用到刚才说的结果大于8位就用到了刚才说的结果大于8位的情况
(0xAE<<1)^0x1B=0x47

跟据图中表示的运算规则 我写出了代码

def xtime(a,count): #这里的xtime我做了修改,可以循环计算
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值