http://www.ednchina.com/blog/hotpower/21746/message.aspx#17064
谢谢panic关注此类问题!!!
这些道理我很明白.不过我是利用了CRC的多值特性来实现加密强度的.
在基本CRC中,它的本意是作为数据校验,肯定加密强度不高.
根据标准的CRC算法即CRC函数来分析,它的初值和权是不变的.如CRC8一般初值取0,权为0x18,采用右移.
本次CRC的计算结果(也可认为是密文)实际是下次CRC函数的初值.权不变(也可认为是密钥)
由于CRC的8位计算结果(可认为是8位密文)是由初值(可认为是8位密钥),权(可认为是8位密钥),源值(也可认为是8位明文)及左右移动算法(可认为是1位密钥)得出的,即17位密钥对8位明文计算得出了8位密文.
这样就产生了CRC多值不可逆的问题.
即1个密钥对1个明文计算得出很多相同的密文.
那么1个密文必对应很多相同的明文.
但只有1组正确的密钥,明文及密文.
所以8位CRC用256次攻击是不够的~~~这里我只说了"基本CRC"~~~
故对"变种的CRC"及CRC64的攻击次数肯定不是常人所想的那么简单~~~
文章评论(0条评论)
登录后参与讨论