[發(fā)明專利]基于白盒CLEFIA加密方法的軟件篡改檢測方法有效
| 申請?zhí)枺?/td> | 202110426313.3 | 申請日: | 2021-04-20 |
| 公開(公告)號: | CN113111317B | 公開(公告)日: | 2022-10-04 |
| 發(fā)明(設(shè)計(jì))人: | 陳杰;姚思;羅一諾 | 申請(專利權(quán))人: | 西安電子科技大學(xué) |
| 主分類號: | G06F21/12 | 分類號: | G06F21/12;G06F21/60;G06F21/64;H04L9/08 |
| 代理公司: | 陜西電子工業(yè)專利中心 61205 | 代理人: | 陳宏社;王品華 |
| 地址: | 710071*** | 國省代碼: | 陜西;61 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 基于 clefia 加密 方法 軟件 篡改 檢測 | ||
1.一種基于白盒CLEFIA加密方法的軟件篡改檢測方法,其特征在于,包括如下步驟:
(1)設(shè)置黑盒CLEFIA加密方法參數(shù):
設(shè)黑盒CLEFIA加密方法的白化密鑰為WK1、WK2、WK3和WK4,該CLEFIA加密方法包括N個(gè)輪迭代,第n個(gè)輪迭代的輪函數(shù)為和WK1和WK2位于第1個(gè)輪迭代之前,WK3和WK4位于最后一個(gè)輪迭代之后,其中,N=18,和分別表示和的輸入,且和的大小為有限域GF(2)32上隨機(jī)生成的32比特向量,和分別表示和的輪密鑰,WK1、WK2、WK3和WK4,以及和的大小均為32比特,和的表達(dá)式分別為:
其中,M0和M1分別表示定義在十六進(jìn)制下的32×32的擴(kuò)散矩陣,S0表示由四個(gè)4比特輸入4比特輸出的小S盒SS0、SS1、SS2和SS3構(gòu)造的S盒,S1表示由有限域GF(2)8上的可逆變換構(gòu)造的S盒,和分別表示以8比特為單位按順序分別截取的四個(gè)8比特輸入字節(jié),和分別表示以8比特為單位按順序分別截取的四個(gè)8比特輸入字節(jié),和分別表示以8比特為單位按順序分別截取的四個(gè)8比特輪密鑰字節(jié),和分別表示以8比特為單位按順序分別截取的四個(gè)8比特輪密鑰字節(jié),表示異或運(yùn)算;
(2)構(gòu)造仿射變換函數(shù):
(2a)隨機(jī)生成4個(gè)16×16的可逆矩陣{L0,...,Li,...,L3}和4個(gè)32×32的可逆矩陣{H0,...,Hj,...,H3},以及與{L0,...,Li,...,L3}對應(yīng)的4個(gè)大小為16比特的向量{l0,...,li,...,l3}和與{H0,...,Hj,...,H3}對應(yīng)的4個(gè)大小為32比特的向量{h0,...,hj,...,h3};
(2b)對每個(gè)可逆矩陣Li以及對應(yīng)的向量li進(jìn)行復(fù)合運(yùn)算,得到4個(gè)16比特輸入16比特輸出的仿射變換函數(shù){Y0,...,Yi,...,Y3},同時(shí)對每個(gè)可逆矩陣Hj以及對應(yīng)的向量hj進(jìn)行復(fù)合運(yùn)算,得到4個(gè)32比特輸入32比特輸出的仿射變換函數(shù){O0,...,Oj,...,O3},其中,第i個(gè)16比特輸入16比特輸出的仿射變換函數(shù)Yi和第j個(gè)32比特輸入32比特輸出的仿射變換函數(shù)Oj的表達(dá)式分別為:
其中,Xi表示的16比特輸入,Ij表示的32比特輸入,表示復(fù)合運(yùn)算;
(3)構(gòu)造白盒CLEFIA加密方法中輪函數(shù)的查找表ELUT:
(3a)將每一輪的輪函數(shù)中的擴(kuò)散矩陣M0拆分為兩個(gè)16×32子矩陣和將拆分為和將每一輪的輪函數(shù)中的擴(kuò)散矩陣M1拆分為兩個(gè)16×32子矩陣和將拆分為的和
(3b)對與以及與對與以及與分別進(jìn)行復(fù)合運(yùn)算,得到對應(yīng)的兩個(gè)非線性變換和對應(yīng)的兩個(gè)非線性變換,其中:
對應(yīng)的兩個(gè)非線性變換為:
對應(yīng)的兩個(gè)非線性變換為:
(3c)通過步驟(2)構(gòu)造的分別對步驟(3b)得到的四個(gè)非線性變換的輸入進(jìn)行編碼,同時(shí)通過步驟(2)構(gòu)造的分別對步驟(3b)得到的四個(gè)非線性變換的輸出進(jìn)行編碼,得到白盒CLEFIA加密方法中輪函數(shù)的查找表ELUT={ELUT1,...,ELUTn,...,ELUT18},其中,ELUTn表示第n個(gè)輪迭代的輪函數(shù)的查找表,和ELUT1n表示輪函數(shù)的16比特輸入32比特輸出的查找表,ELUT2n和ELUT3n表示輪函數(shù)的16比特輸入32比特輸出的查找表:
(4)構(gòu)造待檢測軟件的二進(jìn)制代碼文件的查找表CLUT:
對待檢測軟件的二進(jìn)制代碼文件進(jìn)行等長度切割,得到長度為256KB的4t條代碼片段,將每一條代碼片段逐比特排列成由65536行4字節(jié)組成的16比特輸入32比特輸出的查找表,并按照由前到后的順序?qū)γ克臈l代碼片段對應(yīng)的查找表進(jìn)行組合,得到待檢測軟件的二進(jìn)制代碼文件的查找表CLUT={CLUT1,...,CLUTp,...,CLUTt},其中,CLUTp表示第p組查找表,
(5)構(gòu)造輔助運(yùn)算查找表WLUT:
按照由前到后的順序選取查找表ELUT中前t個(gè)輪迭代的輪函數(shù)的查找表{ELUT1,...,ELUTp,...,ELUTt},并對其中ELUTp中的每個(gè)查找表與CLUTp中對應(yīng)位置的查找表進(jìn)行異或運(yùn)算,得到輔助運(yùn)算查找表WLUT={WLUT1,...,WLUTp,...,WLUTt},其中,WLUTp表示第p組輔助運(yùn)算查找表每組中的每張輔助運(yùn)算查找表的大小為16比特輸入32比特輸出的;
(6)對白盒CLEFIA加密方法進(jìn)行更新:
對待檢測軟件的二進(jìn)制代碼文件的查找表CLUT={CLUT1,...,CLUTp,...,CLUTt}中CLUTp包含的每張查找表,與輔助運(yùn)算查找表WLUT={WLUT1,...,WLUTp,...,WLUTt}中WLUTp包含的每張查找表進(jìn)行異或運(yùn)算,并通過異或運(yùn)算結(jié)果對白盒CLEFIA加密方法中輪函數(shù)的查找表ELUT中的前4t張查找表進(jìn)行替換,得到更新后的白盒CLEFIA加密方法;
(7)判斷待檢測軟件是否發(fā)生篡改:
采用黑盒CLEFIA加密方法和更新后的白盒CLEFIA加密方法分別對明文數(shù)據(jù)進(jìn)行加密,并判斷兩個(gè)加密結(jié)果是否相同,若是,則待檢測軟件未發(fā)生篡改,否則,待檢測軟件發(fā)生篡改。
2.根據(jù)權(quán)利要求1所述的基于白盒CLEFIA加密方法的軟件篡改檢測方法,其特征在于,步驟(1)中所述的S0和S1,其中:
S0的構(gòu)造方法為:設(shè)S0的8比特輸入為x=x0|x1,8比特輸出為y=y(tǒng)0|y1,并令t0=SS0(x0),t1=SS1(x1),y0=SS2(u0),y1=SS3(u1),其中,|表示連接運(yùn)算,x0和t0分別為SS0的4比特輸入和4比特輸出,x1和t1分別為SS1的4比特輸入和4比特輸出,u0和y0分別為SS2的4比特輸入和4比特輸出,0x2表示2的十六進(jìn)制數(shù),u1和y1分別為SS2的4比特輸入和4比特輸出,
S1的構(gòu)造方法為:設(shè)S1的8比特輸入和8比特輸出分別為a和b,f和g分別為有限域GF(2)8上的可逆變換,S1:
其中,{a0,a1,...,ad,...,a7}中的任一元素表示8比特輸入a的1個(gè)比特。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于西安電子科技大學(xué),未經(jīng)西安電子科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110426313.3/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過限制訪問計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過限制訪問或處理程序或過程
- 加密裝置、加密系統(tǒng)、加密方法以及加密程序
- 移動終端和方法
- 再加密方法、再加密系統(tǒng)以及再加密裝置
- 加密終端遠(yuǎn)程管理的方法、加密終端及管理器
- 數(shù)據(jù)加密的方法及裝置
- 流媒體數(shù)據(jù)加密、解密方法、裝置、電子設(shè)備及存儲介質(zhì)
- 加密裝置、加密系統(tǒng)和數(shù)據(jù)的加密方法
- 文件加密、解密方法、裝置、設(shè)備和存儲介質(zhì)
- 一種車聯(lián)網(wǎng)數(shù)據(jù)加密方法及系統(tǒng)
- 一種服務(wù)數(shù)據(jù)共享云平臺的數(shù)據(jù)加密方法及系統(tǒng)





