色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

x
x
查看: 14059|回復(fù): 11
打印 上一主題 下一主題

菜農(nóng)友情為STM32設(shè)計(jì)一種通用加密方法之原理

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
發(fā)表于 2010-8-20 02:29:34 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
關(guān)鍵詞: 菜農(nóng) , 設(shè)計(jì) , 友情 , 原理
今天連續(xù)看了兩篇關(guān)于加密方面的帖子,感覺(jué)自己應(yīng)該友情奉獻(xiàn)一回了~~~

設(shè)想一種加密辦法,大家看看可行嗎?
關(guān)于STM32F器件電子簽名以及加密問(wèn)題-請(qǐng)指點(diǎn)

今日方知STM32的UID為96位即12個(gè)字節(jié),以前知道STM32內(nèi)嵌CRC32.
網(wǎng)上在線CRC演算工具http://www.hotpower.org/HotAjax/HotPower_HotAjax.html




HotAjax(曾用名HotWC3)早已支持STM32的CRC32,點(diǎn)擊crc32_stm32可選擇之。
其權(quán)值=0x04C11DB7,初值=0xFFFFFFFF,出值=0x00000000

1.STM32F器件電子簽名 發(fā)現(xiàn)沒(méi)有規(guī)則 不是我們想像的 96位 從0 一直加到96位的
那么這個(gè)STM32F器件電子簽名 不規(guī)則我覺(jué)得是不可能的,一個(gè)批次應(yīng)該有規(guī)則的。
還請(qǐng)懂ST的指點(diǎn)。
2.有規(guī)則就沒(méi)第二個(gè)問(wèn)題了,沒(méi)規(guī)則 如何加密呢? 比如我只想要某些ID能用這套程序;蚴瞧渌用芩惴,如何應(yīng)用?

道理很簡(jiǎn)單,它一定是ST內(nèi)部連續(xù)的序列碼(肯定小于96位)經(jīng)過(guò)一定校驗(yàn)算法得到(固定)96位的不連續(xù)的唯一ID.此ID通過(guò)逆運(yùn)算可證實(shí)為ST合法產(chǎn)品。
這個(gè)校驗(yàn)算法肯定不是單向散列函數(shù),這和數(shù)字簽名有很大區(qū)別。

本友情算法是利用96位ID和CRC32對(duì)芯片加密,這就要求有相應(yīng)的ISP軟件的支持或每個(gè)ID對(duì)應(yīng)一個(gè)HEX文件。

1.利用96位ID和輔助ID 32位共128位經(jīng)過(guò)CRC32運(yùn)算后得到校驗(yàn)和為32位數(shù)0。
2.將此0“滿世界”的相異或、或、加、減等不變的運(yùn)算實(shí)現(xiàn)“無(wú)縫隙加密”。

要實(shí)現(xiàn)這兩個(gè)基本原理,首先STM32應(yīng)該具備IAP函數(shù)能夠在ISP和IAP過(guò)程中都能讀出此唯一ID.(這個(gè)需要香主解釋)
ISP軟件在讀出ID后再向某4個(gè)字節(jié)即32位寫(xiě)入輔助ID,程序運(yùn)行后即可實(shí)現(xiàn)2個(gè)基本原理。

例如UID=0x0123456789ABCDEF12345678
經(jīng)過(guò)CRC32運(yùn)算后,得到校驗(yàn)和=0x30F4B6E6
將此校驗(yàn)和作為輔助ID寫(xiě)入HEX文件的某個(gè)位置(每個(gè)Hex文件的不同處,即4個(gè)字節(jié)不同,若想更深層次的可多層次CRC即多組輔助ID)。


運(yùn)行時(shí)將動(dòng)態(tài)讀入的UID()函數(shù)+輔助ID共128位進(jìn)行CRC32的運(yùn)算,結(jié)果必為0
即CRC32(0x0123456789ABCDEF1234567830F4B6E6)=0x00000000



假使UID和輔助ID不配對(duì),即非法拷貝,那么CRC32的結(jié)果幾乎不可能為0(CRC32有碰撞的威脅)

試想用一個(gè)非零的數(shù)到處異或等運(yùn)算將會(huì)發(fā)生什么???天才知道其后果。
假若將其對(duì)GPIO的輸出異或會(huì)發(fā)生些什么???切記加密絕不能用分支比較判斷,應(yīng)該用其運(yùn)算結(jié)果到處亂搞。
而多層次的CRC加密就是要防止解密者惡意修改源程序中的關(guān)鍵CRC運(yùn)算,防止將其結(jié)果強(qiáng)行設(shè)置為0。

這就是菜農(nóng)友情奉獻(xiàn)的加密原理。

同理可進(jìn)行多層次的加密,試想有26層的CRC32運(yùn)算的嵌套又會(huì)發(fā)生些什么???
這是俺92年成功破解美國(guó)福祿克加密狗后為美國(guó)人留下的感慨~~~

如果你能讓反匯編止步在這26層CRC32嵌套之間,那麼他就別想把此UID對(duì)應(yīng)的HEX克隆到其他機(jī)子上玩~~~

菜農(nóng)通訊工具:

新浪網(wǎng)頁(yè)版:http://t.sina.com.cn/hotpower
新浪手機(jī)版:http://t.sina.cn/hotpower

網(wǎng) 易微 博:http://t.163.com/hotpower
騰訊QQ:    1270688699

菜農(nóng)郵箱:     HotPower@163.com
菜農(nóng)導(dǎo)航: http://www.hotpage.net.cn/


沙發(fā)
發(fā)表于 2010-8-20 09:29:07 | 只看該作者
好文。
板凳
發(fā)表于 2010-8-20 10:33:33 | 只看該作者
mark
地板
發(fā)表于 2010-8-20 14:37:52 | 只看該作者
看不懂,但友情支持一把,呵呵   
地下室
發(fā)表于 2010-8-20 19:42:02 | 只看該作者
這種方法我以前想過(guò),不過(guò)要先有程序把UID讀出來(lái),然后再根據(jù)算法把得到輔助ID,再把他寫(xiě)進(jìn)去。
有兩種方法可以實(shí)現(xiàn):
1。寫(xiě)兩遍hex,第一遍寫(xiě)計(jì)算出輔助ID的hex,讓他運(yùn)行后把輔助ID寫(xiě)進(jìn)去,第2遍寫(xiě)真正的應(yīng)用程序?qū)戇M(jìn)去,應(yīng)用程序上電或運(yùn)行過(guò)程中校驗(yàn)UID和輔助ID是否匹配。
2。自己開(kāi)發(fā)程序下載軟件,在下程序之前讀出芯片的UID,計(jì)算得到輔助ID,然后把輔助ID和應(yīng)用程序?qū)戇M(jìn)去?墒侨绻恢佬酒南螺d協(xié)議,就很難搞了,比如STC芯片的。
6
 樓主| 發(fā)表于 2010-8-20 22:09:43 | 只看該作者
和香水城斑竹及網(wǎng)友的討論見(jiàn):http://bbs.21ic.com/icview-190954-1-1.html
7
發(fā)表于 2010-8-24 18:34:14 | 只看該作者
xiexie分享!
8
 樓主| 發(fā)表于 2010-8-24 20:04:15 | 只看該作者
stc的isp很好破解,網(wǎng)上下載個(gè)串口攔截軟件即可。
俺不玩stc這種垃圾芯片了,所以俺不破解它。
9
發(fā)表于 2010-8-24 20:44:28 | 只看該作者
謝謝樓主。!好文。
10
發(fā)表于 2010-8-24 20:44:55 | 只看該作者
謝謝樓主。!好文。
11
發(fā)表于 2010-8-24 21:46:41 | 只看該作者
謝謝分享。
12
發(fā)表于 2010-9-4 09:17:03 | 只看該作者
mark

本版積分規(guī)則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表