-
-
[原创]用HotWC3/CRC网上演算器任意制造CRC碰撞
-
发表于:
2009-7-9 19:26
11715
-
[原创]用HotWC3/CRC网上演算器任意制造CRC碰撞
CRC碰撞对菜农来说实际是个"CRC的逆运算"~~~没网上帖子搞得如此复杂。
以下计算工具皆来自
"HotWC3/CRC网上演算器"(采用小端模式)
假设选定CRC8=X8+X2+X1+1,即初值=0,权=0x07,左移
若明文即需要校验的数据为0x12,0x34
则CRC8和校验和为0xf1.
要制造“CRC碰撞”,即用另一明文流再做CRC8运算且校验和也为0xf1.
我们可以操作
"HotWC3/CRC网上演算器"的“计算钮”后发现:
“密文流”此时为“7EF1”,即0x7e,0xf1.注意它尾部的“密文”0xf1实际也是CRC校验和。
在CRC密钥即初值、权及方向一定时,我们可以改写密文流且尾部的“校验和”保留制造“碰撞”
这样,密文流只要改写0x7e为任意值即可,假如改写为0x88.即密文流为"88F1"
操作
"HotWC3/CRC网上演算器"“还原钮”后发现:
明文变为"59C2",即0x59,0xc2和0x12,0x34得到的CRC8的“校验和”都为0xf1~~~
不信可对明文"59C2"进行“计算”看看~~~
同理,还有其他254个“CRC碰撞”在等着你~~~
假若明文流长度加大,那麽“CRC碰撞”会迅速增加。
例如:明文流:“12345678”,CRC和为0x1c.
那么会产生2^56组“CRC碰撞”~~~
如:“12345363”,“12345476”,“12345571”,“1234577F”,“12345852”,...“06AD9D52”,“17CBFB25”....
所以,
"HotWC3/CRC网上演算器"是很好的“CRC碰撞”即"CRC逆向"工具~~~
“CRC碰撞”好像“选择密文攻击”吧~~~
可惜CRC运算不能作为CRC密码~~~
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)