數(shù)據(jù)加密技術(shù)在嵌入式系統(tǒng)中的應用
另外在把數(shù)據(jù)寫入隨機數(shù)序列X[i]時被寫數(shù)據(jù)也經(jīng)過了變換,變換規(guī)則可以采用高4位與低4位交換、取非、字/字節(jié)循環(huán)移位、XOR等各種方法,只要變換后不破壞數(shù)據(jù)的惟一性即可。設(shè)把數(shù)據(jù)寫入隨機數(shù)序列時的變換規(guī)則為F2,對應的反變換表示為,則式(3)變?yōu)椋?br />
由于f隨機具有隨機特性,則每次加密數(shù)據(jù)時,數(shù)據(jù)d寫入隨機數(shù)列的位置md具有隨機性、存儲md尋址地址的字節(jié)位置也具有隨機性;這樣就保證了系統(tǒng)每次在加密數(shù)據(jù)時數(shù)據(jù)地址及數(shù)據(jù)地址的存儲地址都是不相同的,大大增加了破譯難度。
綜上所述,把數(shù)據(jù)d插入隨機數(shù)列的過程是:第1步,產(chǎn)生一隨機數(shù)序列X[i],其中iN,N為數(shù)組長度;第2步,根據(jù)規(guī)則F1得到基地址偏移量f隨機;第3步,產(chǎn)生一隨機數(shù)md,其中mdN,并且沒有被使用過;第4步,把數(shù)據(jù)d經(jīng)過F2規(guī)則變換后賦值給X[md];第5步,假設(shè)nd'為數(shù)據(jù)md的高8位,則把nd'經(jīng)過F2規(guī)則變換后賦值給X[Jmd+f隨機],其中Jnd是加密算法中數(shù)據(jù)d存儲地址的高字節(jié)的存儲基地址。第6步,假設(shè)kd'為數(shù)據(jù)md的低8位,則把kd'經(jīng)過F2規(guī)則變換后賦值給X[Jkd+f隨機],其中Jkd是加密算法中數(shù)據(jù)d存儲地址的低字節(jié)的存儲基地址。至此,即完成了一個數(shù)據(jù)插入隨機數(shù)列的過程。
根據(jù)隨機數(shù)列得到數(shù)據(jù)d的過程是:第1步,根據(jù)規(guī)則F1得到基地址偏移量f隨機,第2步,把X[Jnd+f隨機]經(jīng)規(guī)則變換后賦值給nd';第3步,把X[Jkd+f隨機]經(jīng)規(guī)則變換后賦值給kd';第4步,X[nd'8+kd']經(jīng)規(guī)則變換后即得到原始數(shù)據(jù)d。
3.2 密文數(shù)據(jù)防篡改的方法
為防止密文數(shù)據(jù)被非法更改,采用了經(jīng)過改進的循環(huán)冗余校驗技術(shù)。即數(shù)列X[i]的字節(jié)x[M]存儲[0,M-1]地址段中所有數(shù)據(jù)的校驗和,x[2M]字節(jié)存儲[M,2M-1]地址段中所有數(shù)據(jù)的校驗和,…,在解密時首先檢查各地址段數(shù)據(jù)的校驗和與“校驗和存儲字節(jié)”的存儲值是否相等,即可判斷數(shù)據(jù)是否被非法更改。假設(shè)M是被計算的數(shù)據(jù)段長度,則:
式中:F2代表數(shù)據(jù)寫入隨機數(shù)列時的變換規(guī)則;k=1,2,…,N/M。
通過這種方法,密文數(shù)據(jù)中的任何字節(jié)被非法更改,都可以被檢測到。另外被求和的字段長度也可以設(shè)置成不相等,數(shù)據(jù)就更難被破解。
3.3 數(shù)列置換
為進一步提高加密強度,埋入數(shù)據(jù)后的隨機數(shù)列X[i]還可經(jīng)過“置換表”技術(shù)進行加密。在該方法中,置換表Z[i]是關(guān)鍵,它是數(shù)列[0,1,…,255]中的元素再經(jīng)過隨機排列而得到的。設(shè)Z[i]中的數(shù)據(jù)為x[i],則z[i]具有如下特征:
使用兩個或更多的“置換表”,在置換操作時按偽隨機的方式使用每個襲,可以進一步提高加密強度。但每增加一個置換襲,嵌入式系統(tǒng)程序中就需要增加一個長度為255 B的數(shù)組,因此置換表的數(shù)量還要根據(jù)加密強度需求、嵌入式系統(tǒng)的存儲和數(shù)據(jù)處理能力等因素確定。
4 結(jié)語
接本文所述方法加密后的數(shù)據(jù)是一組沒有任何規(guī)律的偽隨機數(shù),且完全相同的密文數(shù)據(jù)每次加密后都不相同,具有很高的加密強度和防破解能力。另外該加密方法還具有微處理器資源需求小,算法容易實現(xiàn),加、解密運行時間短等優(yōu)點。該加密方法還可應用于軟件用戶口令存儲加密、數(shù)字簽名等方面。該技術(shù)現(xiàn)已成功應用在某型工業(yè)控制設(shè)備試用狀態(tài)管理和某型機載電子設(shè)備自動測試系統(tǒng)使用權(quán)限管理等數(shù)據(jù)加密領(lǐng)域,取得了很好的應用效果。在工業(yè)設(shè)備的試用狀態(tài)管理應用中,當需要對已經(jīng)交付用戶試用的設(shè)備進行工作狀態(tài)設(shè)置時(如試用狀態(tài)升級到正式交付狀態(tài)等),生產(chǎn)廠商只需把密文文件通過互聯(lián)網(wǎng)發(fā)送給用戶,用戶把數(shù)據(jù)拷貝到U盤后再插入設(shè)備的USB口,重新啟動設(shè)備即
可完成,使用起來十分方便。本文引用地址:http://2s4d.com/article/148137.htm
評論