本次升级主要是添加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时,明文=!密文
*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。