关于STM32加密

2019-12-19 18:10发布

请问各位TX,你们的STM32都是选择怎样的加密方式?效果如何?
谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
26条回答
wwt3100_凸
1楼-- · 2019-12-20 21:05
马克         
yuangt
2楼-- · 2019-12-21 01:44
redroof 发表于 2012-10-18 22:01
这一招好用!比在PC上计算要省事...
我目前的做法是在PC上根据唯一ID计算密码,然后ISP写入板子,缺点是 ...

你后,你能举个例子, 写几句代码看看吗?
redroof
3楼-- · 2019-12-21 04:28
 精彩回答 2  元偷偷看……
mhw
4楼-- · 2019-12-21 08:40
不要用if else这种简单的分支……应该用hotpower提出的那样把计算结果悄悄隐藏到一个全局变量,然后满世界的到处去异或……连设计者都不知道到底会有什么后果……
redroof
5楼-- · 2019-12-21 11:21
mhw 发表于 2013-3-31 16:34
不要用if else这种简单的分支……应该用hotpower提出的那样把计算结果悄悄隐藏到一个全局变量,然后满世界 ...

没错。
例如你的某个校验计算应该等于0,你把这个结果当常数0在代码中用,某个校验计算应该等于1,你把它当常数1在代码中用,就行了。
这样几乎可以100%安全,除了别人改唯一ID以外。。

另外,校验的时候读芯片ID不要直接读,用个指针做运算再读
例如
#define MY_PTR (char*)(芯片ID的地址减0x1234)
这样,*(MY_PTR+0x1234)就得到唯一ID的位置,而且对静态反汇编免疫。
想对付这个,唯一的办法只能在芯片ID的地址下个读写断点来动态调试了。
但如果你的代码足够多,而且很多代码是只有满足某个条件才执行的,别人动态调试足够累个半死。除非他确定把你所有代码都执行到了一次,否则没办法。。。
至于改STM32的唯一ID,好像能做这个的人很少
jcyao
6楼-- · 2019-12-21 11:54
mhw 发表于 2013-3-31 16:34
不要用if else这种简单的分支……应该用hotpower提出的那样把计算结果悄悄隐藏到一个全局变量,然后满世界 ...

if else 當然要用,放幾個明顯好抓的點,讓破的人以為簡單破了
真正後面還要放看不到的點,如何放就看個人的想法

一周热门 更多>