菜农没学过数学,故不知道CRC有些什么定理和性质。
http://bbs.pediy.com/showthread.php?t=93218
通过对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简单和位数无关)的原因所在。
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)
文章评论(0条评论)
登录后参与讨论