原创 为了革命群众的通讯安危,再举CRC密码大旗保护自己的良田

2008-6-30 00:14 3381 3 3 分类: MCU/ 嵌入式

讨论在: http://bbs.21ic.com/club/bbs/list.asp?boardid=11&page=1&t=3016838


hotpower 发表于 2008-6-29 22:59 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖


楼主: 为了革命群众的通讯安危,再举CRC密码大旗保护自己的良田


今天农忙有朋友说有一通讯协议很难整,让俺看看~~~
首先是桌面数据库access被加密...网上有很好的解密的软件~~~所以无密~~~
再PC到主机有一串口,主机到从机再有N个串口...
协议应该采用的是应答机制,因为无PC软件不能工作...

现在网上的串口拦截/监视软件很多,所以PC到主机的数据流被看的很清晰,很规范~~~
不得不赞叹~~~太规范了~~~一点"袈裟"也不穿~~~真是"范文"也~~~
但是主机到从机用串口拦截/监视软件无果...但用串口RXD搭上漏出了原形~~~
不黄不暴力~~~作者真是个规矩人,熟通电传协议...

半小时的归类分析,完整甚至没拦截到的协议,通过串口调试软件都调试通过...

可能有人说菜农"卑鄙无耻下下流"~~~整天揣者"技巧"游天下...

我晕~~~俺不想PK谁~~~也不想总让人说俺玩得是什么"技巧"~~~

俺这是28年的积累~~~

为向此作者表示"哀悼"和"同情",俺忏悔之中再献CRC密码赎罪~~~

当然在这里俺首先声明CRC密码也不是万能的~~~因为俺此生就破译过2个高难度
的CRC密码...

不过很难~~~俺不过是通过一些"卑鄙"手段侧翼获取~~~

言归正传,俺先浅谈CRC及CRC密码之用途,虽然俺03年开始在网上推销HotCRC,
但估计俺没讲其应用,故很难推广...

这次小朋友给菜农搞了个"老顽童的乐园",见:http://www.hotpage.net.cn/hotpower/HotPower三角及冗余校验密码技术.htm

再通过今天"扒光别人裤头"的产生"喜悦的快感",故感觉CRC密码在MCU的应用应该
得到推广~~~因为它比其他密码更容易嵌入到通讯协议之中~~~

先给几个成功的"案例"吧~~~(和其他软件结果比较)

1.SMBus中的PEC校验

先给个老外网站上的PEC计数器的帖图,可惜后来不知为什么不能网上直接运算了.

注意老外的CRC8实际为PEC
点击看大图

现在用HotCRC(PEC)通用网上验算器计算:
1.设置左移8位CRC.
2.权取0x03---PEC=X8+X2+X1+1

点击看大图

可以从下图中看出两个结果完全一样.
armok01125054.gif

armok01125055.gif

再举个PEC的示例:

点击看大图

点击看大图

再加个例子~~~

armok01136407.jpg

下面用菜农的算法得到同样的答案~~~
点击看大图

几个DS1990A的图示样例(单总线上的CRC8)

点击看大图

CRC8"国际算法"
点击看大图

armok0182868.jpg

晕到~~~,厂家图中的序列码竟然是错的~~~
哈哈,要打假呀...晕~~~堂堂DALLAS的文档也有假货,还"全球唯一码"???怪不得被人收购.

正确的序列码校验操作过程图示:

1. 序列码 01 2BC5FB000000 66
点击看大图

2. 序列码 01 B3D8FB000000 E6
点击看大图

以上主要是讲CRC正常校验部分.

实际CRC是可逆的~~~到现在俺还没从数学教授那里得到证实~~~不过长期的应用

菜农是不会毒害劳苦大众的~~~

点击看大图




http://www.hotpage.net.cn/hotpower/HotPower三角及冗余校验密码技术.htm


hotpower 发表于 2008-6-29 23:00 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

2楼: 占座谈CRC密码对通讯协议的保护作用


MCU/ARM/DSP工程师很多在设计初期就想到自己即将完成的作品

是否被克隆,总想着用加密几率小的芯片,...在其程序中布满了

陷阱...但往往忽略了串行接口的通讯协议的明文传送的危险,

总认为和PC通讯可能被破解的概率很小,甚至不相信会被破解~~~

实际上裸露通讯线比芯片更危险...

因为大多数人会在你的PC软件下认输,也会在你的MCU/ARM/DSP/CPLD/FPGA下止步,但他们可以通过原硬件进行

技术解密~~~可能比你做的更好~~~因为他的技术水平和经验可能更高.

但是如果再将通讯协议明码交给了对方,恐怕"输得裤子都提不起来"~~~

所以在通讯协议中加密,芯片即使被技术解密也要再解密通讯协议才可~~~

在一般使用中,异或/求和/取反等很常见...这主要是算法简练不太浪费

空间和时间.但这很容易破解~~~

若用复杂的加密解密算法,空间和时间都是问题~~~

所以通过长期的应用,俺觉得CRC密码很实用~~~(算自己是HotCRC的托吧~~~)

CRC密码很简单,变种很多,五花八门~~~这正和MCU工程师的胃口~~~

所以俺别称它为"群魔乱舞的CRC密码"~~~

最基本的是CRC运算的结果的输出流即为CRC密码流.

在CRC计数器上点击"计算"(加密)后再点击"还原"(解密)即可.

CRC密码是可逆运算,它的密钥保护是个实际问题,这个我承认是它最大的弱点~~~

但结合"三角密码"的不可逆,难度为提高,不过乘方/开方对一般MCU不利~~~

若采用交换CRC的几个"关键部件"---移动方向,初值,权后,那么只有

知道原密钥才能攻破CRC密码,即只有用穷举法才能攻破,那么这种密码机制不可靠吗???



hotpower 发表于 2008-6-29 23:02 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

3楼: 再预定个座位好好赎罪~~~


谈到"赎罪",因为俺此生最得意的是攻克了2个中外著名厂家的CRC密码.

所以俺甚至其厉害和它在MCU中能得到简洁的代码序列,而且有的MCU

还支持SMBus的PEC,用硬件实现.这也为CRC提供了施展的舞台~~~

关于XWJ有关CRC密级及强度的问题,这应该是数学教授研究的话题,

我想XWJ还没资格下此定论~~~至少给个攻击序列和思路也好~~~

我无意强求任何人按俺的方法和思路行事,说不好听的,很少人能跟

上俺的节拍~~~

可以告诉大家,菜农工作在高度机密的"农科所"并承担国家机密的研究~~~

虽然俺没参与其中~~~

最近风声很紧~~~PK声不断~~~本想休眠...但感觉应该让大家了解一下CRC密码在MCU的应用.

虽然加密强度的密码很多,但能在MCU中实用的又有几种???

可怕的代码长度和运行时间,难道能实现"零耗时加密和解密"吗???

网上有个菜农和刀客斑竹搞笑的CRC汇编传送程序,可以看出CRC的加密和解密过程是可以嵌入到传送间隙之中的~~~~

下面的连接可以看到其代码之简洁...


单总线数据发送“零耗时CRC检测”算法的软件实现(灌水作)


xwj 发表于 2008-6-29 23:23 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

4楼: 说实话,老Hot这个所谓的“加密”根本就没啥强度


真对这个感兴趣的话建议研究研究“PGP”、“RSA”、“DES”什么的...

当年读书时有个同学就对PGP非常感兴趣:-)


john_light 发表于 2008-6-29 23:26 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

5楼: CRC简单而有效


占座看热闹

hotpower 发表于 2008-6-29 23:34 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

6楼: 哈哈~~~请XWJ破解HotCRC~~~(放心俺不会和你PK~~~)


hotpower 发表于 2008-6-30 00:11 侃单片机 ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖

9楼: 哈哈~~~最近PK风声很紧,看球前冒个泡~~~开始休眠~~~


哈哈~~~"千万不要忘记阶级斗争"~~~


点击看大图

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
3
关闭 站长推荐上一条 /3 下一条