查看: 12936|回复: 11

菜农友情为STM32设计一种通用加密方法之原理

[复制链接]
发表于 2010-8-20 02:29:34 | 显示全部楼层 |阅读模式
关键词: 菜农 , 设计 , 友情 , 原理
今天连续看了两篇关于加密方面的帖子,感觉自己应该友情奉献一回了~~~

设想一种加密办法,大家看看可行吗?
关于STM32F器件电子签名以及加密问题-请指点

今日方知STM32的UID为96位即12个字节,以前知道STM32内嵌CRC32.
网上在线CRC演算工具http://www.hotpower.org/HotAjax/HotPower_HotAjax.html




HotAjax(曾用名HotWC3)早已支持STM32的CRC32,点击crc32_stm32可选择之。
其权值=0x04C11DB7,初值=0xFFFFFFFF,出值=0x00000000

1.STM32F器件电子签名 发现没有规则 不是我们想像的 96位 从0 一直加到96位的
那么这个STM32F器件电子签名 不规则我觉得是不可能的,一个批次应该有规则的。
还请懂ST的指点。
2.有规则就没第二个问题了,没规则 如何加密呢? 比如我只想要某些ID能用这套程序。或是其它加密算法,如何应用?

道理很简单,它一定是ST内部连续的序列码(肯定小于96位)经过一定校验算法得到(固定)96位的不连续的唯一ID.此ID通过逆运算可证实为ST合法产品。
这个校验算法肯定不是单向散列函数,这和数字签名有很大区别。

本友情算法是利用96位ID和CRC32对芯片加密,这就要求有相应的ISP软件的支持或每个ID对应一个HEX文件。

1.利用96位ID和辅助ID 32位共128位经过CRC32运算后得到校验和为32位数0。
2.将此0“满世界”的相异或、或、加、减等不变的运算实现“无缝隙加密”。

要实现这两个基本原理,首先STM32应该具备IAP函数能够在ISP和IAP过程中都能读出此唯一ID.(这个需要香主解释)
ISP软件在读出ID后再向某4个字节即32位写入辅助ID,程序运行后即可实现2个基本原理。

例如UID=0x0123456789ABCDEF12345678
经过CRC32运算后,得到校验和=0x30F4B6E6
将此校验和作为辅助ID写入HEX文件的某个位置(每个Hex文件的不同处,即4个字节不同,若想更深层次的可多层次CRC即多组辅助ID)。


运行时将动态读入的UID()函数+辅助ID共128位进行CRC32的运算,结果必为0
即CRC32(0x0123456789ABCDEF1234567830F4B6E6)=0x00000000



假使UID和辅助ID不配对,即非法拷贝,那么CRC32的结果几乎不可能为0(CRC32有碰撞的威胁)

试想用一个非零的数到处异或等运算将会发生什么???天才知道其后果。
假若将其对GPIO的输出异或会发生些什么???切记加密绝不能用分支比较判断,应该用其运算结果到处乱搞。
而多层次的CRC加密就是要防止解密者恶意修改源程序中的关键CRC运算,防止将其结果强行设置为0。

这就是菜农友情奉献的加密原理。

同理可进行多层次的加密,试想有26层的CRC32运算的嵌套又会发生些什么???
这是俺92年成功破解美国福禄克加密狗后为美国人留下的感慨~~~

如果你能让反汇编止步在这26层CRC32嵌套之间,那麽他就别想把此UID对应的HEX克隆到其他机子上玩~~~

菜农通讯工具:

新浪网页版: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/


发表于 2010-8-20 09:29:07 | 显示全部楼层
好文。
发表于 2010-8-20 10:33:33 | 显示全部楼层
mark
发表于 2010-8-20 14:37:52 | 显示全部楼层
看不懂,但友情支持一把,呵呵   
发表于 2010-8-20 19:42:02 | 显示全部楼层
这种方法我以前想过,不过要先有程序把UID读出来,然后再根据算法把得到辅助ID,再把他写进去。
有两种方法可以实现:
1。写两遍hex,第一遍写计算出辅助ID的hex,让他运行后把辅助ID写进去,第2遍写真正的应用程序写进去,应用程序上电或运行过程中校验UID和辅助ID是否匹配。
2。自己开发程序下载软件,在下程序之前读出芯片的UID,计算得到辅助ID,然后把辅助ID和应用程序写进去。可是如果不知道芯片的下载协议,就很难搞了,比如STC芯片的。
 楼主| 发表于 2010-8-20 22:09:43 | 显示全部楼层
和香水城斑竹及网友的讨论见:http://bbs.21ic.com/icview-190954-1-1.html
发表于 2010-8-24 18:34:14 | 显示全部楼层
xiexie分享!!
 楼主| 发表于 2010-8-24 20:04:15 | 显示全部楼层
stc的isp很好破解,网上下载个串口拦截软件即可。
俺不玩stc这种垃圾芯片了,所以俺不破解它。
发表于 2010-8-24 20:44:28 | 显示全部楼层
谢谢楼主!!!好文。
发表于 2010-8-24 20:44:55 | 显示全部楼层
谢谢楼主!!!好文。
发表于 2010-8-24 21:46:41 | 显示全部楼层
谢谢分享。
发表于 2010-9-4 09:17:03 | 显示全部楼层
mark
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表