返回信息流密码学讲的没明白,尤其是那个列混合,还涉及到群环域什么的了好像……希望有大牛能帮我讲下……站内哈`
这是一条镜像帖。来源:北邮人论坛 / security / #16698同步于 2008/4/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Security机器人发帖
征个人给我讲讲AES。。。
hardy616
2008/4/3镜像同步11 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
讲。。。这个有难度阿,我们学得是des,AES都是自己看的,很多东西也不是很明白,给你一个flash,应该有助于理解。。。。群环域,这个就看近世代数吧。。。就世代数定义,不是很难的
【 在 hardy616 的大作中提到: 】
: 密码学讲的没明白,尤其是那个列混合,还涉及到群环域什么的了好像……希望有大牛能帮我讲下……站内哈`
附件(138.1KB)
赞
【 在 atheism 的大作中提到: 】
: 讲。。。这个有难度阿,我们学得是des,AES都是自己看的,很多东西也不是很明白,给你一个flash,应该有助于理解。。。。群环域,这个就看近世代数吧。。。就世代数定义,不是很难的
:
原来还真没有认真看.-_-b
http://blog.sina.com.cn/s/blog_5921f9ae01000c9l.html
这里面这样写道:
MixColumns 是一个代替操作,它是理解 AES 算法时最具技巧(或者说是最需要动脑筋的部分)的部分。它用 State 字节列的值进行数学域加和域乘的结果代替每个字节。我将在下一节中详细解释专门的域加和域乘细节。
假设 State[0,1] 的值是0x09,并且列1上的其它值分别为 0x60,0xe1 和 0x04,那么State[0,1]的新值计算如下:
State[0,1] = (State[0,1] * 0x01) + (State[1,1] * 0x02) +(State[2,1] * 0x03) +(State[3,1] * 0x01)
= (0x09 * 0x01) + (0x60 * 0x02) + (0xe1 * 0x03) +(0x04 * 0x01)
= 0x57
此处加法和乘法是专门的数学域操作,而不是平常整数的加法和乘法。
这样理解的话应该是把两个向量转置....
现在也不是很明白,继续看看.....
【 在 littlele0 的大作中提到: 】
:
: 就是不明白这一步
: 这个矩阵怎么乘啊。。。。
下午去图书馆找书看了 当时会了 回来用flash里的数据一算 又不对了。。。
【 在 atheism (atheism) 的大作中提到: 】
: 原来还真没有认真看.-_-b
: http://blog.sina.com.cn/s/blog_5921f9ae01000c9l.html
: 这里面这样写道:
: ...................
又去查了资料总算弄明白了
那个矩阵相乘应该(按照中国人的矩阵乘习惯)是3楼的图里面黑点右边乘以左边
乘法应该用2进制来算
b7b6b5b4 b3b2b1b0 * 01 结果不变
b7b6b5b4 b3b2b1b0 * 02 = b6b5b4b3 b2b1b00 与 000b7 b70b7b7 异或
b7b6b5b4 b3b2b1b0 *03 =
(b7b6b5b4 b3b2b1b0 *01) 异或 (b7b6b5b4 b3b2b1b * 02)
其实很简单 我太笨了 都不了解这个
图书馆
胡向东 编著的 应用密码学 电子工业出版
是写得最清楚的
其他的书都不清楚
有个书完全是错误的 汗死。
还有这个flash有个缺点
就是这张图里面红线里面的第一次异或没有很明显地说出来
我开始完全忽略了
【 在 redliu (Gluttony & Caution) 的大作中提到: 】
: 没有课本
你在做AES的实现么??? 我同学也有做这个的 呵呵
那个圈+不就是异或么...
【 在 redliu 的大作中提到: 】
: 又去查了资料总算弄明白了
: 那个矩阵相乘应该(按照中国人的矩阵乘习惯)是3楼的图里面黑点右边乘以左边
: 乘法应该用2进制来算
: ...................