新闻  |   论坛  |   博客  |   在线研讨会
升级HotWC3/CRC网上演算器
0750long | 2009-07-09 12:15:47    阅读:1615   发布文章

 

 

本次升级主要是添加CRC表格查询及CRC可逆运算验证功能。

大家从本版本可以清晰地看到CRC实际有很多表,

例如常用的CRC8实际多达2*32*1024张表格。

而我们常用的实际只是其中的一张表格。

大家可以自己验证在CRC密钥(初值、权及方向)不变时(一张表),

明文和密文是一对一的关系。

点击直接在网上运行: http://www.hotc51.com/HotPower_HotWC3.html

点击看大图

 

点击开大图

点击开大图

点击开大图

点击开大图

点击开大图

 

玩熟这个演算器后,就会发现CRC查表法实际是围绕在某个多项式(权)和初值为0时得到的“初表”。
随后初值以某规律移动和异或后得到的“新表”,不过一般只取一值。

再我们可以看到CRC如此的“勤劳”,在CRC密钥(初值和权及方向)一定时,CRC表内值是不重复的,
即一对一的关系。故我们可以“查表”求CRC.

当CRC密钥的初值非0或权非0时,表内看似“伪随机”。

故我们可以用来做“摇奖程序”~~~在此处绝对比随机函数好用~~~
某些时候真可以替代随机函数~~~

注意CRC的“半可逆性”(菜农做过手脚后发生的现象):

右移CRC8  权8C和0C是一张表
左移CRC8  权07和06是一张表

故CRC8有2*32*1024张表(左右移算法各有32K张表)。
并且在“弱密钥”权=0时,左右移算法表是一样的。
故CRC8有2*32*1024-256张表。

这里给出一些“性质”(以CRC8为例,其他一样):

1.当明文=上次密文时, 本次密文(结果)=0
2.右移时
  初值=0x00,明文=0x80时,本次密文=权
  初值=0x80,明文=0x00时,本次密文=权
3.左移时
  初值=0x00,明文=0x01时,本次密文=权
  初值=0x01,明文=0x00时,本次密文=权
4.初值=权=0时,明文=密文
5.初值=0xff,权=0时,明文=!密文

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客