打印

应用HotAjax四点**任意CRC算法

[复制链接]
9224|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hotpower|  楼主 | 2010-9-5 09:15 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
http://www.hotpower.org/HotAjax/HotPower_HotAjax.html

HotAjax(原名HotWC3)可以破解任意CRC算法即CRC多项式.
它支持对CRC4、CRC8、CRC12、CRC24、CRC16、CRC32、CRC48、CRC64共8种的自动破解。

今在网上看到http://bbs.lcdhome.net/read-htm-tid-23328.html,感觉CRC的脆弱。

菜农感觉应该用“CRC安全密码”进行CRC校验。

破解步骤:
1. 根据“CRC四点攻击原理”选择:
CRC4   0,1,8,F
CRC8   00,01,80.FF
CRC12 000,001,008,FFF
CRC16 0000,0001,0080,FFFF
CRC24 000000,000001,000080,FFFFFF
CRC32 00000000,00000001,00000080,FFFFFFFF
CRC48 0000000000,0000000001,0000000080,FFFFFFFFFF
CRC64 0000000000000000,0000000000000001,0000000000000080,FFFFFFFFFFFFFFFF
2. 在某一CRC32算法软件中依次用上面的4点得到下面4个结果。
例stm32:
crc_stm32[0x00000000]=0xC704DD7B
crc_stm32[0x00000001]=0xC3C5C0CC
crc_stm32[0x00000080]=0xAE083D95
crc_stm32[0xFFFFFFFF]=0x00000000

3. 选择HotAjax功能“CRC算法逆向”
在crc处的明文框内输入:000000000000000100000080FFFFFFFF
在crc处的密文框内输入:C704DD7BC3C5C0CCAE083D9500000000
点击:“破解”
“结果”:“左移CRC32逆向成功”
“权值”:“04C11DB7”
“初值”:“FFFFFFFF”
“出值”:“00000000”
“多项式”:“左移CRC32=X32+X26+X23+X22+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1”

注:如果菜农的HotAjax给某些软件或CRC算法带来过伤害,菜农在此表示致歉!!!

菜农通讯工具:

新浪网页版:http://t.sina.com.cn/hotpower
新浪手机版:http://t.sina.cn/hotpower

网 易微 博:http://t.163.com/hotpower
腾讯QQ:    1270688699

菜农邮箱:     HotPower@163.com
菜农导航: http://www.hotpage.net.cn/


相关帖子

沙发
hotpower|  楼主 | 2010-9-5 09:34 | 只看该作者
http://bbs.lcdhome.net/read-htm-tid-16035-keyword-.html中,**者找到了0x04c11db7即CRC32的权值,也即CRC多项式,那么他已大功告成。

现在的CRC算法即权值或多项式都是固定的,即恒值如0x04c11db7,这是逆向者最终的目标。

假若权值是可变的,滚动的,那么逆向难度很增大的,总之在代码中留下权值的痕迹是不好的。

使用特权

评论回复
板凳
hotpower|  楼主 | 2010-9-5 09:57 | 只看该作者
CRC算法在串行数据通讯中应用广泛,一般作为一包数据的校验。
常用如PC与MCU的RS232通讯.
逆向者的第一任务就是用串口拦截即监视软件拦截通讯协议,从而**数据流之间的关系。
目前几乎都是采用双方事先约定好的CRC算法即CRC权值。
这种方法最大的缺点就是逆向者可以在PC或MCU的汇编码中找到CRC权值,因为它是固定和有特色的。
如CRC16一般要找0x1021,0xa001,0x8005,0x8408这几个特色数据。

所以,以CRC权值常数的方法编程的软件的CRC算法都将被**。

使用特权

评论回复
地板
hotpower|  楼主 | 2011-5-12 01:32 | 只看该作者

使用特权

评论回复
5
gouki_s| | 2011-5-12 09:44 | 只看该作者
crc**他干什么?数据又不是密文。
是否是要求出多项式,然后组自己的数据包?

使用特权

评论回复
6
hotpower|  楼主 | 2011-5-13 00:47 | 只看该作者
哈哈,有意义呀~~~

使用特权

评论回复
7
来与君| | 2011-5-13 09:46 | 只看该作者
应用CRC是为了检验数据包的合法性

比如汽车的里程,早期的做法是保存在外部串行E2PROM中。由于汽车转让时,里程可能会影响成交价格。有人便想办法破.解里程存储数据的校验算法,以达到任意修改的目的,这样就赚了不少。这只是个不大沾边的例子,不能说明CRC的用处。

反正在应用CRC时,我是不敢直接使用其运算结果了。

使用特权

评论回复
8
hotpower|  楼主 | 2011-5-21 11:05 | 只看该作者
CRC碰撞几率比较固定

使用特权

评论回复
9
hotpower|  楼主 | 2011-5-23 13:16 | 只看该作者
好好学习,用心动脑~~~

使用特权

评论回复
10
hotpower|  楼主 | 2011-12-26 12:58 | 只看该作者
顶起来,掀起密码安全教育风暴~~~

使用特权

评论回复
11
hotpower|  楼主 | 2012-10-23 19:00 | 只看该作者
挖墓为2012.10.25菜农个人版《HotWC3密码体系》开版搜索

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1460

主题

21619

帖子

506

粉丝