[發明專利]一種基于模板攻擊的混沌分組加密分析方法有效
| 申請號: | 201911016102.1 | 申請日: | 2019-10-24 |
| 公開(公告)號: | CN110730062B | 公開(公告)日: | 2021-07-30 |
| 發明(設計)人: | 羅玉玲;張順生;劉俊秀;丘森輝;岑明燦;蔡超波 | 申請(專利權)人: | 廣西師范大學 |
| 主分類號: | H04L9/00 | 分類號: | H04L9/00 |
| 代理公司: | 桂林市華杰專利商標事務所有限責任公司 45112 | 代理人: | 劉梅芳 |
| 地址: | 541004 廣西壯*** | 國省代碼: | 廣西;45 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 模板 攻擊 混沌 分組 加密 分析 方法 | ||
1.一種基于模板攻擊的混沌分組加密分析方法,其特征是,包括如下步驟:
a)實現混沌分組加密過程:
(1)生成輪密鑰:混沌密碼算法的輪密鑰是基于帳篷映射生成的,帳篷映射表示為:
其中參數βi是混沌系統的參數,并且由主密鑰Ki生成,主密鑰的每個字節都通過以下方法轉換到0到1之間相應的βi:
其中主密鑰的第ith個字節記為Ki,i∈[1,16],x0是在0和1之間的十進制數,并且將x0和β1作為帳篷映射的初始參數,結果x1是通過迭代f(x0,β1)20次,剩下的參數計算為公式(3)所示:
x(i)=f20(x(i-1),βi), (3),
其中,f20表示迭代帳篷映射20次,i∈[2,16],最后x16和β16作為帳篷映射的初始值,并且迭代100+16R次產生偽隨機序列,最后的16R個偽隨機數字表示為xi,i∈[101,16R],并且輪密鑰ki表示為:
ki=floor(xi×255), (4),
其中floor(x)函數返回不大于x的最大整數;
(2)輪密鑰同明文相加:在第一輪加密過程中,中間值的第ith個字節由第ith個字節的明文ci和第ith個字節輪密鑰ki相異或得到:
其中1≤i≤16;
(3)字節替換操作:S-box查找表進行替換輪密鑰和上一輪中間值的異或操作值,使用AES算法中的S-box,它通過數學方式產生;
(4)擴散操作:一輪混淆操作包括兩個階段,第一階段,中間值的第一個字節保持不變,后面字節通過以下方式得到:
其中1≤i≤15,在第二階段,上一階段產生的中間值的最后一個字節保持不變,前一個字節通過以下方式得到:
(5)貓映射:上一步驟產生的16個字節的中間值存儲在一個4×4的矩陣中,中間值的初始坐標(xn,yn)通過以下的貓映射轉換成新的坐標(xn+1,yn+1):
其中N表示矩陣的大小,xn表示矩陣的列索引,yn表示矩陣的行索引;
(6)重復步驟(2)至步驟(5)共R次;
b)模板攻擊分析混沌分組加密:
1)建立模板過程:采用多元高數模型建模,先產生隨機明文和隨機主密鑰,明文和主密鑰作為加密系統的輸入,并且在加密過程中收集相應的功耗痕跡,每種可能的漢明重量功耗痕跡用于多元高數模型去建模,包括:
1-1)產生隨機明文和計算第一輪加密的輪密鑰:隨機產生D組明文和輪密鑰,將明文和輪密鑰存儲在矩陣P和K中,P和K的尺寸均是D×I,符號I是每組明文和密鑰字節數,在第dth組明文的第ith字節定義為pd,i,并且在第dth組輪密鑰的第ith字節表示為kd,i;
1-2)收集能量消耗數據:D組明文和主密鑰作為加密系統的輸入,在加密的過程中,D條功耗痕跡存儲在矩陣T中,每條痕跡有J個采樣點,矩陣T的尺寸是D×J,在痕跡d的采樣點j表示為td,j;
1-3)計算假設能量消耗:產生假設能量矩陣H的第ith列的過程為:pd,i是第dth個明文的第ith字節,并且kd,i是第dth個輪密鑰的第ith字節,pd,i的每個值和kd,i進行異或運算,然后對異或運算的值進行替代盒操作,對替代盒后的結果計算其漢明重量,產生假設能量消耗為公式(9)所示:
相似的,計算剩下的明文和輪密鑰可以得到假設能量消耗矩陣;
1-4)分類痕跡:8位二進制數的漢明重量的范圍是從0到8,從加密設備收集到的痕跡根據相應的漢明重量分類為9組,h1,i和h2,i假設為痕跡t1和t2的漢明重量,其為0,隨后hD-1,i和hD,i假設為tD-1和tD的漢明重量,其為8,漢明重量為0的痕跡分為第一組,漢明重量為8的痕跡分為最后一組,在這種情況下,矩陣T被轉換為相應的矩陣T1;
1-5)計算平均痕跡:根據矩陣H的第ith列,計算在矩陣T1中每種漢明重量的平均痕跡,矩陣T1轉換成矩陣T2,T2的尺寸為W×J,其中J是每條痕跡總采樣點數,W是可能漢明重量的總數;
1-6)找到痕跡興趣點:找到在執行不同操作時,表現出巨大差異的興趣點,每個可能漢明重量操作w范圍從8到0,并且每個采樣點(j,Aw,j)定義為平均能量,如果存在Nw,j條痕跡,當執行漢明重量操作w,計算平均能量為公式(10)所示:
當獲得每種漢明重量痕跡的均值時,計算兩種漢明重量痕跡均值之差再求和,計算過程如公式(11)所示:
獲得一個帶有尖峰的痕跡Dj,選擇尖峰點的步驟如下:第一步,在Dj中選擇最高的尖峰點,保存j的值為興趣點;第二步,丟棄j附近的N個點,N是這個尖峰點的最小空間;第三步,重復前面兩步,直到所有的興趣點都找出來,當選擇興趣點時候,興趣點之間應該至少一個時鐘周期,興趣點的最小高度,應該高于噪聲平面,n個興趣點被選擇出來;
1-7)計算協方差矩陣C和均值向量m:每條痕跡采樣點之間都是正態分布,相應的參數m和σ估計為和每條痕跡t建模為多元正態分布,由協方差矩陣C和均值向量m描述,其中協方差矩陣C為公式(12)所示:
在興趣點之間的均值向量m如公式(13)所示:
m=(m1,m2,m3…mn)T. (13),
多元正態分布概率密度函數如公式(14)所示:
其中,det(C)表示矩陣C的行列式,C-1表示C的逆矩陣;
2)恢復密鑰過程:一個128位的二進制固定主密鑰,分為16個8位的密鑰;對第一輪的加密的輪密鑰的第一個8位進行攻擊,選擇加密算法的替代盒輸出為攻擊點,收集相對較少的痕跡,計算每個可能密鑰的概率,最大的多元正態分布概率對應的密鑰就是最可能的正確的輪密鑰,
2-1)產生隨機明文和固定主密鑰:隨機產生F組明文,存儲在矩陣B中,矩陣B的大小是F×I,其中I是每組明文中字節數量,第fth組明文的第ith個字節定義為bf,i;
2-2)收集能量消耗數據:將F組隨機明文和固定主密鑰輸入到加密系統里面,在加密過程中,收集F條能量痕跡,存儲在矩陣G中,矩陣G的大小為F×J,J表示采樣點數量,并且gf,j表示在第fth條痕跡中的第j個采樣點;
2-3)計算假設能量消耗:計算假設能量消耗矩陣Ui的第fth行的過程:每一個可能密鑰值s和bf,i進行異或操作,其中s∈[0,255]是一個8位輪密鑰的可能值,然后計算上一步結果的替代盒操作,最后計算替代盒操作后的漢明重量值,類似的,計算其他組明文和可能的輪密鑰進行操作產生的假設能量消耗矩陣Ui,矩陣Ui中的每個元素如公式(15)所示:
其中,矩陣Ui中的第(f,s)個元素表示假設能量消耗,相對應于第fth組明文的第ith個字節和可能的密鑰s;
2-4)計算每個可能密鑰的概率:第fth條痕跡的采樣值表示為矩陣G的第fth行,其中第fth條痕跡在興趣點的值標記為0≤i≤n,第fth條痕跡所有興趣點表示為一個向量如公式(16)所示:
是漢明重量對應多元高斯概率,計算為公式(17)所示:
在矩陣G的第fth行對應的矩陣Ui的漢明重量為矩陣Pi的計算如公式(18)所示:
結合所有的值,具體描述如公式(19)所示:
如果可能輪密鑰等于十六進制數0xFF,并且在三條痕跡中的多元高斯概率為(0.85,0.9,0.86),那么總的結果計算為0.6579,如果一條痕跡不能匹配到模板,那么被迫很快下降,并且錯誤的輪密鑰猜測會被排除,最終,的最大值被找出,意味著猜測密鑰是最有可能適合模板,計算如公式(20)所示:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣西師范大學,未經廣西師范大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911016102.1/1.html,轉載請聲明來源鉆瓜專利網。





