首页
社区
课程
招聘
[原创]根据“CRC编解码矩阵”扩充一些“CRC性质”
发表于: 2009-7-23 21:52 4778

[原创]根据“CRC编解码矩阵”扩充一些“CRC性质”

2009-7-23 21:52
4778
点击直接运行: 112位HotWC3/CRC通用网上演算器V2.20

运行后点击“CRC表”皆可看到“CRC编解码矩阵”,只给出了CRC4的,其他CRC我都验证过。

“CRC性质”:
CRCN=4,8,12,16,32,64,...
CRC4时:2^(N-1)=0x8 2^N-1=0xF
CRC8时:2^(N-1)=0x80 2^N-1=0xFF
CRCN时:...
注意右移时的2^(N-1),这可能是大多的CRC选择左移方式(0x01简单和位数无关)的原因所在。
特别注意:CRC内部运算时,右移时,权最高位恒为1。左移时,权最低位恒为1.

1.当明文=上次密文即明文=初值时, 本次密文(结果)=0
2.右移时
初值=0x00,明文=2^(N-1)时,本次密文=权
初值=2^(N-1),明文=0x00时,本次密文=权
故有初值在明文的位置和权在明文的位置互为相反数2^(N-1)

在初值和权确定且未知时,穷举明文:
穷举明文对应的密文为0x00时的穷举位置=初值,穷举结束。
穷举位置^(2^(N-1))做为明文对应的密文=权。
初值=0x00时,权必对应明文2^(N-1)。
初值=2^N-1时,权必对应明文0.
3.左移时
初值=0x00,明文=0x01时,本次密文=权
初值=0x01,明文=0x00时,本次密文=权
故有初值在明文的位置和权在明文的位置互为相反数0x01

在初值和权确定且未知时,穷举明文:
穷举明文对应的密文为0x00时的穷举位置=初值,穷举结束。
穷举位置^0x01做为明文对应的密文=权。
初值=0x00时,权必对应明文0x01。
初值=2^N-1时,权必对应明文(2^N-1)^0x01.
4.初值=权=0时,明文=密文
5.初值=2^N-1,权=0时,明文=~密文。即明文=密文^(2^N-1)

根据“CRC编解码矩阵”扩充一些“CRC性质”
6. 一个CRC权值确定一对唯一的CRC编解码矩阵。
   CRC编码矩阵的行列对应CRC初值和明文,矩阵行列内的元素即为密文。
   CRC解码矩阵的行列对应CRC初值和密文,矩阵行列内的元素即为明文。
7. CRC编码矩阵是一个对称矩阵,初值和明文满足交换率。
8. CRC解码矩阵是一个非对称矩阵。有两种CRC解码矩阵除外。
8.1 右移时,由于权最高位恒为1,当权=2^(N-1)时,
CRC解码矩阵=CRC编码矩阵。明文和密文满足交换率。
8.2 左移时,由于权最低位恒为1,当权=1时,
CRC解码矩阵=CRC编码矩阵。明文和密文满足交换率。

从“性质”7,8可以看出一个很有意思的事情:
当CRC解码矩阵=CRC编码矩阵时,初值、明文和密文可以互相交换。




[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回
//