12
返回列表 发新帖
楼主: hotpower

HotWC3与DES加密算法之比较

[复制链接]
 楼主| 发表于 2009-7-26 10:56:42 | 显示全部楼层
本帖最后由 hotpower 于 2009-7-26 10:59 编辑

拜托了,CRC8密钥为65536个,CRC4密钥为256个

HotWC3弱密钥的解决方案

根据CRC可逆性质,CRC权值必须满足:
右移CRC时,最高位为1,左移CRC时,最低位为1.
这在CRC的(本原)多项式中肯定是满足的,但要作为CRC密钥的一部分可能不会满足。
因为CRC密钥流是伪随机在发生变化的,不能保证其可逆之条件。

列出CRC4权值及变换后的结果:
权值:0 1 2 3 4 5 6 7 8 9 A B C D E F(未变换前)
右移:8 9 A B C D E F 8 9 A B C D E F
左移:1 1 3 3 5 5 7 7 9 9 B B D D F F

可以看出:
0, 2, 4, 6从未用过,即最高位和最低位全为0的4个数据从未使用过。
而与之对应的最高位和最低位全为1的4个数据:
0+9=9,2+9=B,4+9=D,6+9=F在运算中替代了它们的作用。
其他数据在每个方向只用2次,而9,B,D,F却用了4次。且同时出现在两个矩阵中。

CRC权变换类似于DES的S盒入口前的扩展变换,但是在CRC运算前做压缩置换。
压缩置换是单向不可逆的,即权只使用了12个数,无法方向推出原先的数。

从CRC4编解码矩阵中可以看出:
CRC编码矩阵(权和方向已确定)为对称矩阵,即行(初值)列(明文)可以交换。
其主对角线上的元素为0,即矩阵行列相等时元素为0,
也就是CRC最常用的一个特性---初值=明文时,密文=0.

再有一个很有趣的现象:
当右移CRC4,权值=0或8,或左移CRC4,权值=0或1时,CRC4编解码矩阵相等。
即都是对称矩阵。

在CRC编码中,行=初值,列=明文,元素=密文,行列可以交换
在CRC解码中,行=初值,列=密文,元素=明文,行列可以交换

此时初值、明文、密文的关系可以随意转换,即:

初值=[明文,密文]=[密文,明文]
明文=[初值,密文]=[密文,初值]
密文=[初值,明文]=[明文,初值]

故HotWC3有三个弱密钥0x00,0x01,0x80,它们公用一个CRC编解码矩阵。
初值、明文、密文的关系很清晰,但无法知道哪个矩阵是真的矩阵。
所以CRC编解码矩阵是单向不可逆的,即:
一对CRC编解码矩阵对应唯一的阵内元素初值、明文、密文,
反之,给定初值、明文、密文,无法对应唯一的编解码矩阵。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表