首页
社区
课程
招聘
[原创]有趣的CRC位域9碰撞及CRC非对称密码体系碰撞准则
2009-11-22 00:24 7792

[原创]有趣的CRC位域9碰撞及CRC非对称密码体系碰撞准则

2009-11-22 00:24
7792
有趣的CRC位域9碰撞及CRC非对称密码体系碰撞准则(雁塔菜农)

本文推导工具: 最新版的HotWC3网上在线CRC运算器V4.18



CRC四点攻击操作方法
1. 先选择一个方向的权值,初值及出值(一般取0)
2. 选择“基本运算”中的“CRC算法逆向
3. 点击“运算”自动得到四点的明文和密文。
4. 再根据3的结果选择另一个方向的权值,初值及出值。
5. 重复3,4
不相信CRC位域8表内元素不差分毫,可:
6. 选择一个方向的权值,初值及出值(表格此时与它们无关,只是文件名字有关)
7. 选择“基本运算”中的“CRC位域表及算法
8. 选择文件类型为“.TXT”,这样只生成表格不生成算法,好比较。
特别注意“结果”编辑框内应该为空!!!(keil C51可为code, pic或avr可能为其他)
9. 点击“运算”自动得到该权值及方向的CRC位域8表格(数组为256个元素)。
10.点击“保存”即可得到该权值及方向的CRC位域8表格文件
11.重复6到9得到另一权值的CRC位域8表格文件。
此时您可以借助于带文件比较的软件自行比较,如UE等优秀的软件。
菜农以后会考虑自动比较。

例一:
选择右移CRC可逆,保留最右端7位为0x80, 找到相对的可逆的左移CRC发生CRC位域9碰撞
CRC多项式:右移CRC16=X16+X8+X7+X6+X5+X4+X3+X2+X+1(可逆)
CRC简 写:CRCR16_FF80_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 01FF FF80 CCCC

CRC多项式:左移CRC16=X16+X8+X7+X6+X5+X4+X3+X2+X+1(可逆)
CRC简 写:CRCL16_01FF_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 01FF FF80 3333

三点采样逆向碰撞: 0000 01FF FF80

例二:
选择右移CRC可逆,保留最右端7位为0x80, 找到相对的可逆的左移CRC发生CRC位域9碰撞
CRC多项式:右移CRC16=X16+X8+X7+X6+1(可逆)
CRC简 写:CRCR16_8380_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0107 8380 02F3

CRC多项式:左移CRC16=X16+X8+X2+X+1(可逆)
CRC简 写:CRCL16_0107_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0107 8380 FF0E

三点采样逆向碰撞: 0000 0107 8380

例三:
选择左移CRC可逆,保留最左端7位为0x01, 找到相对的可逆的右移CRC发生CRC位域9碰撞
CRC多项式:左移CRC16=X16+X8+X4+1(可逆)
CRC简 写:CRCL16_0111_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0111 8880 00FF

CRC多项式:右移CRC16=X16+X8+X4+1(可逆)
CRC简 写:CRCR16_8880_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0111 8880 FF00

三点采样逆向碰撞: 0000 0111 8880

例四:
选择左移CRC可逆,保留最左端7位为0x01, 找到相对的可逆的右移CRC发生CRC位域9碰撞
CRC多项式:左移CRC16=X16+X8+X7+X4+X3+1(可逆)
CRC简 写:CRCL16_0199_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0199 CC80 3F3F

CRC多项式:右移CRC16=X16+X8+X5+X4+X+1(可逆)
CRC简 写:CRCR16_CC80_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0199 CC80 C0C0

三点采样逆向碰撞: 0000 0199 CC80

下面将发生所希望的事情:

例1:
选择右移CRC不可逆,保留最右端7位为0x80, 找到相对的可逆的左移CRC发生CRC位域9碰撞
CRC多项式:右移CRC16=X16+X8+X4+X3(不可逆)
CRC简 写:CRCR16_1880_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0031 1880 0300

CRC多项式:左移CRC16=X16+X5+X4+1(可逆)
CRC简 写:CRCL16_0031_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0031 1880 FCFF

三点采样逆向碰撞: 0000 0031 1880

例2:
选择左移CRC不可逆,保留最左端7位为0x01, 找到相对的可逆的右移CRC发生CRC位域9碰撞
CRC多项式:左移CRC16=X16+X8+X7+X4+X3(不可逆)
CRC简 写:CRCL16_0198_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0198 CC00 C048

CRC多项式:右移CRC16=X16+X5+X4+X+1(可逆)
CRC简 写:CRCR16_CC00_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0198 CC00 48C0

三点采样逆向碰撞: 0000 0198 CC00

例3:
选择右移CRC不可逆,保留最右端8位为0x00, 找到相对的不可逆的左移CRC也发生CRC位域8碰撞
CRC多项式:右移CRC16=X16+X4+X3(不可逆)
CRC简 写:CRCR16_1800_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0030 1800 1300

CRC多项式:左移CRC16=X16+X5+X4(不可逆)
CRC简 写:CRCL16_0030_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0030 1800 0310

三点采样逆向碰撞: 0000 0030 1800

例4:
选择左移CRC不可逆,保留最左端8位为0x00, 找到相对的不可逆的右移CRC也发生CRC位域8碰撞
CRC多项式:左移CRC16=X16+X7+X4+X3(不可逆)
CRC简 写:CRCL16_0098_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0098 4C00 C0C0

CRC多项式:右移CRC16=X16+X5+X4+X(不可逆)
CRC简 写:CRCR16_4C00_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0098 4C00 3F3F

三点采样逆向碰撞: 0000 0098 4C00

例5:
选择右移CRC可逆,保留最右端8位为0x00, 找到相对的不可逆的左移CRC发生CRC位域8碰撞
CRC多项式:右移CRC16=X16+X4+X3+1(可逆)
CRC简 写:CRCR16_9800_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0130 9800 FCFF

CRC多项式:左移CRC16=X16+X8+X5+X4(不可逆)
CRC简 写:CRCL16_0130_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0130 9800 0300

三点采样逆向碰撞: 0000 0130 9800

例6:
选择左移CRC可逆,保留最左端8位为0x00, 找到相对的不可逆的右移CRC发生CRC位域8碰撞
CRC多项式:左移CRC16=X16+X7+X4+X3+1(可逆)
CRC简 写:CRCL16_0099_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0099 4C80 3F48

CRC多项式:右移CRC16=X16+X8+X5+X4+X(不可逆)
CRC简 写:CRCR16_4C80_0000_0000
第1采样点 第2采样点 第3采样点 第4采样点
四点采样逆向明文: 0000 0001 0080 FFFF
四点采样逆向密文: 0000 0099 4C80 483F

三点采样逆向碰撞: 0000 0099 4C80


根据以上推论,可得出“CRC非对称密码体系碰撞准则”

当某一CRC位域8权值满足某一CRC方向上的可逆条件时,不选择CRC位域9会得到
另一CRC方向不可逆的权值。并将发生CRC位域碰撞。
当某一CRC位域8权值不满足某一CRC方向上的可逆条件时,选择CRC位域9将会得到
另一CRC方向可逆的权值。并将发生CRC位域碰撞。

此推论符合CRC非对称密码体系的要求,即一方可逆另一方不可逆。
当然最好是加密方不可逆,解密方可逆。
这样就有希望公开加密密钥,使CRC非对称密码体系升级为CRC公开密钥密码体系。
菜农估计需要初值、出值碰撞的帮助,初步感觉应该如此,需等继续研究方可定论。

反之,可得:
当某一CRC位域8权值满足某一CRC方向上的可逆条件时,选择CRC位域9将会得到
另一CRC方向也可逆的权值。并将发生CRC位域碰撞。
当某一CRC位域8权值不满足某一CRC方向上的可逆条件时,不选择CRC位域9将会得到
另一CRC方向也不可逆的权值。并将发生CRC位域碰撞。

此推论不符合CRC非对称密码体系的要求,即双方都可逆或都不可逆。


注:CRC位域碰撞需要三点CRC攻击。

菜农HotPower@126.com 2009.11.19 构思于雁塔菜地


[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞7
打赏
分享
最新回复 (8)
雪    币: 16
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xiaojiuhk 2009-11-22 03:12
2
0
CRC本来就是可逆的, 还碰撞个屁啊
没看壳狼的帖子吗

真受不了你, 今晚随便看了下你以前的帖子, 最烦在自己帖子里面搞一堆外部链接的, 很NB?
严重怀疑你在推广你的所谓的xx密码, 真是好东西别人会抢着要的, 不用你做广告到处宣传
雪    币: 16
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
xiaojiuhk 2009-11-22 03:19
3
0
我偶像ccfer也算是权威了, 我另一偶像forgot的技术和为人大家也有目共睹, 还有sessiondiy

每次让你解释, 都不正面应答, 顾左右而言他, 闪烁其辞 .

相当无语ing...
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
HotPower 2009-11-22 07:36
4
0
在菜农眼里没什么“偶像”和“权威”,也不想看别人的“帖子”,更不想与任何人比“资历”,
俺信奉“网中是友,网下战斗”
现在是网络时代,“比拼”很简单,去问“百岁老人”和“古代的哥”好了。
http://www.baigoogledu.com/search.asp?q=ccfe&num=10
http://www.baigoogledu.com/search.asp?q=hotpower&num=10

菜农见惯了,俺不想“NB”,但可以让你永远记住一句话:
常有人问我:你和比尔盖茨相比如何???
菜农回答:金钱倒地,编程趴下!

结果“平局”
雪    币: 164
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
schlieffen 1 2009-11-22 13:34
5
0
想必你就只看了一下题目就发言了吧!
雪    币: 2096
活跃值: (100)
能力值: (RANK:420 )
在线值:
发帖
回帖
粉丝
rockinuk 8 2009-11-22 20:07
6
0
請注意用詞及網路禮節。
請不要那麼激動。
謝謝。
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
HotPower 2009-11-25 22:33
7
0
网络不必拘礼~~~菜农见得太多了~~~没几个人能逼菜农“轻易出剑”~~~
雪    币: 259
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
cykerr 2009-11-25 22:47
8
0
笔记不错,感谢分享,广告尽量不要上图!!!
雪    币: 232
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
isydg 2009-11-25 23:08
9
0
对于新手来说很不错,谢谢
雪    币: 129
活跃值: (1095)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
HotPower 2011-12-22 20:21
10
0
为何不让俺回帖!!!
游客
登录 | 注册 方可回帖
返回