?

對SM4 算法的改進差分故障攻擊*

2020-09-12 10:07金雨璇楊宏志王相賓袁慶軍
密碼學報 2020年4期
關鍵詞:故障注入密文字節

金雨璇, 楊宏志, 王相賓, 袁慶軍

1. 戰略支援部隊信息工程大學, 鄭州450000

2. 河南省網絡密碼技術重點實驗室, 鄭州450000

3. 深圳網安計算機安全檢測技術有限公司, 深圳518028

1 引言

為配合我國WAPI (WLAN Authentication and Privacy Infrastructure) 無線局域網標準的推廣應用, 2006 年1 月我國自主設計的對稱分組密碼算法SM4 分組密碼算法就此應運而生. 由于該算法加解密速度快、硬件實現簡單以及具備一定的安全性, 多適用于制作密碼芯片, 現已大量運用于對金融領域、政府部門等的重要數據的保護. 因此單純通過研究密碼算法的數學結構而判斷密碼算法的安全性已經遠遠不夠, 我們還必須從密碼算法的實現角度來考慮更為現實的安全問題. 如果硬件實現上出現了問題, 算法理論安全性再高也無法保證數據的安全性. 如果SM4 算法硬件實現被攻破, 則意味著這些產品不再安全.

針對商用密碼算法的硬件實現, 差分故障攻擊是一種實際有效的攻擊方法, 對密碼體制實際安全性造成極大威脅. 隨著密碼學家們的不斷深入研究并改進, 差分故障攻擊方法已被運用于對DES[1]、ECC[2]、AES[3]、RC4[4]等眾多密碼算法的分析中, 并且取得了不俗的成果, 展示了差分故障攻擊在密碼分析上具有相當強大的可行性. 在不斷地應用發展中, 差分故障攻擊的實現途徑愈加多樣、攻擊代價逐步降低, 可以非常有效的對密碼硬件進行攻擊, 成為了對密碼體制不容忽視的現實威脅.

如果可以更加快速的完成差分故障攻擊, 利用更少的故障注入即恢復出SM4 算法的輪密鑰及初始密鑰, 或者能夠更有效的從可能的密鑰中分辨出正確密鑰, 就能指導相關芯片的使用者、設計者對加密設備進行保護, 避免這類攻擊, 阻止攻擊者對其進行故障誘導, 有利于國產密碼的研究發展與使用.

本文在前輩工作的基礎上做出適當的改進[5],給出SM4 單比特差分故障攻擊模型以及具體攻擊步驟,理論上只需要一次故障注入, 隨后對平均15.3526 比特窮舉搜索, 最終可以恢復128 比特的初始密鑰. 通過計算機實驗對攻擊過程進行仿真模擬, 根據實驗結果佐證本文中提出的新方案攻擊復雜度與理論結果一致, 改進后的攻擊方法在一定程度上提高了攻擊效率.

本文第2 節詳細介紹了SM4 算法的加密流程以及輪密鑰擴展方案, 隨后整理總結了算法的相關性質與定理; 第3 節具體闡述了差分故障攻擊的基本假設以及在該假設下的攻擊原理和攻擊流程; 第4 節總結了自SM4 算法發布以來, 密碼學工作者對其已經進行過的差分故障攻擊方法, 并對各方案間的不同進行了對比描述, 指明了各方案的優劣; 第5 節提出對SM4 算法的單比特DFA 方案, 理論推導出攻擊復雜度,并通過仿真實驗方案及實驗結果數據對其加以佐證; 第6 節是對全文工作總結.

2 SM4 算法

2.1 算法簡述

SM4 算法由呂述望、李大為、張超等人設計并完成相關標準[6]的起草, 其分組長度和密鑰長度均為128 比特, 算法采用非平衡Feistel 結構. SM4 通過32 輪非線性迭代后加上一個反序變換, 方便于解密,解密輪密鑰只需要是加密輪密鑰的逆序, 而解密算法與加密算法保持一致.

(1) 系統設置

SM4 的加密密鑰為MK = (MK0,MK1,MK2,MK3), 其中MKi∈Z322,i = 0,1,2,3. 輪密鑰表示為(rk0,rk1,··· ,rk31), 其中rki(i=0,1,··· ,31) 為加密密鑰經由密鑰擴展方案生成的32 比特第i 輪輪密鑰.

FK=(FK0,FK1,FK2,FK3) 為系統參數, CK=(CK0,CK1,··· ,CK31) 為固定參數, 用于密鑰擴展算法, 其中FKi(i=0,1,2,3),CKi(i=0,1,··· ,31) 均為32 比特.

設T : Z322→Z322為一個可逆變換, 由非線性變換τ 和線性變換L 復合而成, 即T (·) = L(τ(·)).其中非線性變換τ 由4 個并行的S 盒構成. 設A,B ∈(Z82)4, 非線性變換τ 輸入為A=(a0,a1,a2,a3),輸出為B =(b0,b1,b2,b3), 即(b0,b1,b2,b3)=τ(A)=(S(a0),S(a1),S(a2),S(a3)).

L 為線性變換, 其輸入為非線性變換τ 的輸出. 設輸入為B ∈Z322, 輸出為C ∈Z322, 則C =L(B)=B ⊕(B ?2)⊕(B ?10)⊕(B ?18)⊕(B ?24). 其中?表示循環左移.

(2) 加密算法

首先執行32 次迭代運算, 即圖1 中所示的輪函數運算, 即計算Xi+4=F (Xi,Xi+1,Xi+2,Xi+3,rki)=Xi⊕T (Xi+1⊕Xi+2⊕Xi+3⊕rki),i=0,1,··· ,31

圖1 SM4 算法輪函數示意圖Figure 1 Schematic diagram of SM4 algorithm round function

然后對最后一輪輸出數據進行反序變換得到密文輸出,即(Y0,Y1,Y2,Y3)=R(X32,X33,X34,X35)=(X35,X34,X33,X32).

(3) 密鑰擴展算法

設加密密鑰為MK = (MK0,MK1,MK2,MK3) ∈(Z322)4, 輪密鑰生成方法為rki= Ki+4= Ki⊕T′(Ki+1⊕Ki+2⊕Ki+3⊕CKi)(i=0,1,··· ,31), 其中K0= MK0⊕FK0, K1= MK1⊕FK1, K2=MK2⊕FK2, K3= MK3⊕FK3. 系統參數FK 的取值為FK0= (A3B1BAC6), FK1= (56AA3350),FK2=(677D9197), FK3=(B27022DC).

T′變換與T 變換類似, 將T 變換中的線性變換L 替換成L′(B) = B ⊕(B ?13)⊕(B ?23) 即可得到.

固定參數CK 取值方法為: 設cki,j為CKi的第j 字節(i=0,1,··· ,31,j =0,1,2,3), 即CKi=(cki,0,cki,1,cki,2,cki,3)∈(Z82)4, 而cki,j=(4i+j)×7(mod256). 其值請參見相關標準文獻[6].

(4) 解密算法

解密變換與加密變換類似, 不同的僅是輪密鑰的使用順序, 解密時使用輪密鑰序(rk31,rk30,··· ,rk0)即可.

2.2 算法性質

SM4 算法擁有相當優良的抗差分性質, 在文獻[7–12] 中分別證明并介紹了此算法多個性質, 以及相關定理推論. 本文主要從S 盒以及線性變換介紹算法的如下5 個性質及3 個定理.

(1) S 盒變換

S 盒的抗差分能力主要從其差分均勻度以及差分分布表兩方面刻畫, 且具有較小的差分均勻度是S 盒抗差分攻擊的必要條件, 以下兩條性質說明了SM4 的S 盒具有良好的抗差分性質.

性質1 SM4 的S 盒對于任何非零的輸入差分, 存在127 個可能的輸出差分. 其中有一個輸出差分出現的概率為2?6, 其余輸出差分出現的概率為2?7[8].

設a,b ∈Z82, 則利用差分分布表求解給定輸入差分a、輸出差分b 的差分方程S(x)⊕S(x ⊕a)=b的復雜度由28降至1, 且其解至多有4 個, 也即下述性質2.

性質2 SM4 算法S 盒的差分均勻度僅為4[7].

基于性質1 以及差分分布表, 并給定三元組(x,x?,y), 對于差分方程S(x ⊕k)⊕S(x?⊕k) = y, 性質3 描述了其可求解情況的性質.

性質3 以S(·) 表示SM4 的S 盒變換, (x,x?,y) 為Z82中的隨機三元組, 則有下述事實成立:

①差分方程S(x ⊕k)⊕S(x?⊕k)=y 有解概率為0.4942;

②如果上述方程有解, 則解的個數平均值為2.0236[12].

(2) 線性變換

SM4 算法的線性變換L 由4 個異或操作與5 個移位操作組成(包括移0 位), 以下從SM4 的線性變換表明該算法抗差分性質優良.

分支數概念由J. Daemen 提出, 可以用于評測一個變換, 尤其是線性變換的差分擴散效率, 下面給出其定義:

根據定義1 可知, 線性變換F 分支數最大可以達到5. 一般來說, 分支數越大, 線性變換的擴散性質越好. 當F 分支數達到最大時, 我們稱F 是最佳擴散的. 而通過實驗可證明, 對SM4 的線性變換有以下性質:

性質4 SM4 中線性變換L 的分支數為5[8].

定理1 如果F (X,k,r1,··· ,rk) 是最佳擴散的, 那么必然有k ≥5[9].

由定理1 可知, SM4 算法若想達到最佳擴散性, 則移位操作必須達到 5 個, 也即 L(B) =F (B,5,r1,··· ,r5). 又由鴿籠原理可知r1到r5中必有兩個落入同一字節內. 不失一般性的, 可設r1,r2都落入第一字節, 即0 ≤r1

定理2 在r1,··· ,r5的14 336 種取值中, 只有兩種可以使得L 達到最佳擴散性, 分別是SM4 的線性變換L 取值, 以及L 循環左移24 比特, 其本質上是一致的.

綜上所述, SM4 算法的線性變換是最佳擴散的,且是移位操作最少情況下唯一的.

最后給出SM4 算法加密算法線性變換的逆變換, 其證明可參看文獻[12]:

3 差分故障攻擊

3.1 DFA 原理

以分組密碼算法為例, 圖2 給出了差分故障攻擊的原理, 具體可描述如下: 現代分組密碼的非線性度大都由S 盒查表操作提供, 而對于某一輪S 盒的未知輸入值, 可根據分組密碼的結構以及輪函數特性, 通過對密碼芯片進行攻擊, 導入隨機故障值, 使其運行過程的某中間狀態產生變化, 導致密碼設備給出錯誤輸出. 于是根據得到正確密文與錯誤密文的差分值, 滿足差分方程, 通過差分分析結合輪函數細節求解差分方程, 可以獲取該輪輸入值以及正確輸出值. 再利用運算過程中輸入輸出值與涉及的相關密鑰之間的關系, 得到輪密鑰可能值集合, 然后通過多次攻擊不斷地縮小可能密鑰范圍, 最終實現輪密鑰以及初始密鑰的恢復.

3.2 基本假設及攻擊流程

為更好地進行差分故障攻擊, 通常攻擊者遵循的基本假設均為:

(1) 攻擊者完全掌握密碼設備, 可以在加密過程中任意時刻任意位置注入故障, 但故障具體值未知;

(2) 攻擊者可以獲得同一個明文在密鑰作用下正確加密得到的密文, 以及誘發故障后產生的錯誤密文.

(3) 攻擊者可以多次重啟密碼設備, 以得到多個不同的錯誤密文.

在以上的攻擊假設下, 差分故障攻擊的攻擊流程通常由四個步驟構成: 確定故障模型、完成故障注入、進行故障分析、實現密鑰恢復. 圖3 展示了分組密碼算法的差分故障攻擊流程.

圖2 分組密碼算法DFA 原理Figure 2 DFA principle of block cipher algorithm

圖3 分組密碼算法DFA 流程Figure 3 DFA process of block cipher algorithm

4 SM4 算法DFA 研究進展

在差分故障攻擊方向, 張蕾等人[13]于2006 年首先給出了SM4 算法的差分故障攻擊, 該模型采用了面向字節的隨機故障模型, 是最基礎的DFA 模型. 該模型故障注入位置為各輪的后三個存儲器, 理論上完成一輪子密鑰的恢復需要8 個錯誤密文, 僅需要32 個錯誤密文再結合密鑰擴展方案, 就可以完全恢復出SM4 的128 比特種子密鑰. 因為實際中故障發生的字節位置是不可能完全平均的, 所以實際攻擊所需錯誤密文數將略大于理論值; 文中的實驗結果也驗證了這一事實, 恢復SM4 的128 比特種子密鑰平均大約需要47 個錯誤密文.

兩年后, 李瑋等人[14]對攻擊方案進行了改進, 針對密鑰擴展方案進行故障注入. 在生成各輪子密鑰前注入故障與密鑰數據存儲器中, 最佳情況下可以影響到該輪的全部S 盒. 最高效率的情況下, 一次故障注入就可以對4 個S 盒都進行有效攻擊, 兩次注入即可以恢復一輪子密鑰, 僅需要8 個錯誤密文就可以恢復原始密鑰. 同時文中給出了判斷故障注入處的方法, 便于在攻擊過程中對于低效的故障注入直接舍棄,提高了故障誘導的攻擊成功率, 減少了錯誤密文數.

2011 年, Li R L 等人[12]一改之前傳統DFA 方案逐輪攻擊的方法, 利用SM4 算法獨特的差分路徑直接對第28 輪進行故障注入, 對后五輪進行統一的攻擊. 在攻擊者保證發生故障為單字節故障的前提下,這種新式的攻擊方法在第28 輪的后三個數據存儲器之一誘發故障, 僅需要一次故障注入, 即可恢復初始密鑰的大部分信息. 再經過平均次窮舉搜索, 最終可恢復SM4 算法的初始密鑰.

以上DFA 方案皆是在仿真實驗中實現的, 具有較苛刻的理論條件, 2016 年榮雪芳團隊[15]提出符合實際攻擊狀況的方案, 不再要求在固定已知位置注入唯一單字節故障, 而只需要在算法后4 輪隨機進行故障注入, 將理論引入了實踐. 通過對無防護SM4 算法的智能卡實施該攻擊的結果表明, 與其他攻擊方法相比, 該方法可擴大故障注入的范圍, 提高故障攻擊的實用性.

5 改進的SM4 算法差分故障攻擊

5.1 故障模型

目前針對SM4 算法的DFA 故障注入模型均基于字節注入, 而早在2010 年, Agoyan 等人就已經利用激光的手段實現了對微控制器的單比特故障注入[16]. 更高精度的故障注入可以對算法硬件實現進行更高效的攻擊, 因此現有故障模型無法準確分析評估算法差分故障安全性. 并且, 由于單比特故障注入模型的故障值集合較小, 理論上針對各算法的差分故障攻擊均能有不同程度的效率提高. 針對激光注入等高精度故障注入技術, 本文在文獻[12] 的基礎上進行改進, 提出了一種針對SM4 算法的單比特的差分故障攻擊模型. 本模型基于以下的基礎假設:

(1) 攻擊者可以獲得同一密鑰作用下的正誤密文對, 且密鑰未知.

(2) 攻擊者可以誘發單比特的隨機故障.

5.2 基本過程

本文采用的攻擊模型為單比特的隨機故障模型, 攻擊的基本過程為

(1) 選擇明文攻擊, 獲取明文在密鑰作用下的正確密文;

(2) 重新加密明文, 加密進行至第28 輪時, 在第四個存儲器中注入故障, 隨后完成后續加密得到錯誤密文;

(3) 通過差分分析推測最后一輪輪密鑰可能值;

(4) 在得到最后一輪輪密鑰可能值集合的基礎上, 推測得到倒數后四輪輪密鑰可能值集合;

(5) 利用第四步得到的所有輪密鑰逆推得到初始密鑰可能值集合;

(6) 通過暴力攻擊, 從初始密鑰可能值中得到正確密鑰.

6 SM4 算法的單比特DFA 攻擊

6.1 基本攻擊方法

(1) 計算?Bj=L?1(?Cj);

(2) 以ai表示?Aj的第i 個字節(i=0,1,2,3), 記為ai=(?Aj)i, 也即?Aj=a0||a1||a2||a3, 同理bi=(?Bj)i;

(3) 根據ai,bi, 結合性質1給出的差分分布表可以得到各字節所有可能輸入值INj(ai,bi).

(4) 推導密鑰與輸入輸出間的關系(rkj?1)i= (Aj)i⊕INj(ai,bi), 可以得到密鑰rkj?1的第i 個字節可能值集合ki;

根據上述攻擊過程以及性質3, 給定二元組(?A,?C), 可以得到如下結論:

6.2 攻擊過程詳述

本節對具體的攻擊過程進行詳述.

(1) 獲取正誤密文對

隨機選擇一個明文X = (X0,X1,X2,X3), 并對其正確加密獲得正確密文Y = (Y0,Y1,Y2,Y3). 在同樣的密鑰作用下對明文再次加密, 在加密過程中對第28 輪注入1 比特的故障

(2) 猜測后四輪密鑰值

由于明文以及正誤密文對已知, 而加密算法的最后進行的逆序變換易于求逆, 因此可利用上文提到的基本攻擊方法對后四輪逐輪進行差分攻擊, 分別推導出第32 輪到第29 輪的輪密鑰.

計算A32=X32⊕X33⊕X34⊕rk31,A?32=X?32⊕X?33⊕X?34⊕rk31, 則對于第32 輪T 變換, 其輸入差分和輸出差分分別為

此時利用前述基本攻擊方法可得rk31可能值集合rk31

利用①步中得到的所有輪密鑰可能值, 對正誤密文進行一輪的解密可以得到

對得到的所有二元組(?A31,?C31) 進行基本攻擊, 得到可能密鑰集合rk31,rk30.

用②步中得到的所有(rk31,rk30)∈rk31,rk30, 對正誤密文進行兩輪的解密可以得到

考慮第30 輪的輪函數, 計算所有可能的

利用其對第30 輪進行基本攻擊, 由每組(?A30,?C30) 求得后三輪密鑰候選值集合rk31,rk30,rk29.

與上節同理, 首先用③步中得到的所有(rk31,rk30,rk29) ∈rk31,rk30,rk29, 對正誤密文進行三輪的解密可以得到

考慮第29 輪的輪函數, 計算?A29,?C29所有候選值, 其中

對第29 輪進行基本攻擊, 由每組(?A29,?C29) 求得后四輪密鑰候選值集合rk31,rk30,rk29,rk28.

(3) 恢復初始密鑰

利用密鑰擴展方案的逆, 對步驟2 中得到的所有密鑰可能值求逆, 得到初始密鑰候選值集合MK.用MK中所有初始密鑰候選值對正確密文解密, 并判斷是否與明文相同. 由于密鑰固定時, 密碼算法都是明文集合到密文集合的雙射, 所以最終僅可能有一個密鑰通過判斷.

6.3 攻擊復雜度分析

根據上一節提出的攻擊方法可知, 最終恢復出的密鑰個數不止一個. 因此本節從理論上給出各輪輪密鑰可能值個數的期望, 用以描述攻擊復雜度.

(1) rk31個數期望值

在完成第32 輪的基本攻擊時, 由差分路徑以及輪函數運算規則可以得到?X31= L(?B28), 那么可

若記L?1(?X35)?=(d0,d1,d2,d3), 則可知?B32有四類可能取值

其中0 ?= γ ∈F82為?B28中故障發生字節的對應值. 對于單比特故障的情況, γ 可能值經實驗知有254個, γ 不會取值0x7F.

記?A32?= (a0,a1,a2,a3), 對照差分分布表, 對所有i = 0,1,2,3 比對是否存在輸入差分為ai, 輸出差分為di.

若存在某0 ≤i ≤3, 使得S(x)⊕S(x ⊕ai) = di無解, 則說明該字節為故障發生字節. 不失一般性的, 可以假設i = 3 時方程無解. 若為此情況, 前三字節密鑰可以通過差分分布表得到可能取值,第四字節密鑰則需要遍歷得知. 在這種情況下, 得到的第32 輪輪密鑰的可能值集合rk31中, 平均有(2.0236)3×254×0.4942×2.0236 ≈211.0395個元素.

若不存在, 也即對?i,0 ≤i ≤3,S(x)⊕S(x ⊕ai)=di都有解, 此時無法判斷故障發生的字節. 由于注入的故障可能發生在任一字節, 故?B28可能有1016 個可能值. 此時得到的第32 輪輪密鑰的可能值集合中平均有(2.0236)3×1016×0.4942×2.0236=213.0395個元素.

由于?i,0 ≤i ≤3,S(x)⊕S(x ⊕ai) = di有解的可能性為0.4942, 故第32 輪子密鑰可能值集合的元素個數平均為(1 ?0.4942)×211.0395+0.4942×213.0395≈212.3514.

(2) (rk31,rk30) 個數期望值

如果在上一步已知故障發生字節, 則?X30= E 有8 種可能取值, 而?X34是固定已知的, 因此相應的可知?C31= ?X30⊕?X34= E ⊕?X34有8 種取值. 此時可以推知RK31,RK30中元素個數期望值約為211.0395×8×2?4.0673×24.0677= 214.0399; 否則?X30有32 種可能取值, 進而可知cardRK31,RK30=213.0395×32×2?4.0673×24.0677=214.0399=216.0399.

(3) (rk31,rk30,rk29) 個數期望值

在本輪攻擊中, 由于?C30= ?X33是確定的值, 可由密文直接得到, 因此rk29求取情況取決于得到的本輪差分方程組的個數, 以及其是否可解.

(4) (rk31,rk30,rk29,rk28) 個數期望值

與上節同理, ?C29=?X32可由密文直接得到. 此時如果已知故障發生位置, 則可知

7 攻擊實驗結果

為驗證本文中攻擊方法的攻擊復雜度理論值的正確性, 在普通PC 機器(CPU 為Intel(R)Core(TM)i5-6200U @ 2.30 GHz 2.40 GHz, 內存8 GB) 上使用C 語言(Visual C++ 6.0) 編程實現本文提出的攻擊方法的仿真實驗. 每次實驗的明文以及密鑰數據皆由計算機隨機生成, 不含任何特殊要求, 利用計算機模擬故障注入過程, 得到正誤密文.

編號 rk31 (rk31,rk30) (rk31,rk30,rk29) (rk31,rk30,rk29,rk28) 故障位置 遍歷復雜度(bit)1 2064 18 432 26 624 65 024 第2 字節 15.9887 2 2032 18 432 20 480 65 152 第4 字節 15.9915 3 8128 257 536 221 184 130 048 未知 16.9887 4 8128 243 456 276 480 203 264 未知 17.6330 5 8136 242 688 243 712 204 800 未知 17.6439 6 2064 17 792 40 960 65 152 第3 字節 15.9915 7 8128 263 680 245 760 199 168 未知 17.6036 8 2048 16 896 28 672 65 152 第1 字節 15.9915 9 2048 16 128 8192 65 024 第2 字節 15.9887 10 8128 263 936 278 528 132 480 未知 17.0154

我們進行了1000 次實驗, 本文給出前十次的實驗數據如表1所示, 其中2 到4 列表示對應項元素個數. 由表中數據可以看出, 每次攻擊經過較低復雜度的暴力攻擊即可以成功恢復128 比特的SM4 初始密鑰. 當可推知故障發生位置時, 最終的遍歷復雜度約為216; 未知故障發生位置時, 遍歷復雜度稍高, 約為217.5.

另外, 實驗數據略高于理論推導值, 這是由于在推算暴力攻擊的理論值時, 認為SM4 算法的差分方程解平均為2.0236 個, 但是實際上據差分分布表可知存在差分方程的解為4 個. 對每一輪的攻擊需要對4個字節的差分方程進行求解, 只要有一個方程的解為4 個, 最終暴力攻擊的復雜度就會增大1 比特. 一次完整的攻擊需要求解16 個方程, 是完全有可能出現4 解方程的, 因此在實驗中認為偏差2 比特都是可以接受的. 圖4 展示了1000 個實驗數據的統計圖, 由此可看出, 總體上實驗數據是符合理論推導值的.

8 總結與展望

本文在總結對比已有的針對SM4 算法的差分故障攻擊的基礎上, 面對現有故障注入能力大幅度提升的現狀, 本文給出了一個針對SM4 算法的改進的差分故障攻擊方案. 通過理論推導可知, 本文提出的攻擊模型僅需要通過在第28 輪的第4 個數據存儲器中誘發一次單比特故障, 再經過對平均15.3526 比特的窮舉搜索, 最終可以恢復128 比特的初始密鑰. 并且, 通過計算機實驗仿真模擬可以佐證本文中提出的新方案攻擊復雜度與理論結果一致. 在表2 中, 展示了本文與針對SM4 算法的已有差分故障攻擊的結果對比.結果顯示, 本文提出的新攻擊方案較以往的方案相比攻擊效率有較為明顯的提升.

下一步的研究方向是考慮多次單比特故障注入的情況, 進一步提高攻擊效率優化攻擊性能. 另外, 基于單比特故障攻擊模型的假設較強, 下一步工作可以通過調整攻擊相關參數, 在模型假設條件與攻擊效率之間尋找平衡. 在未來的研究中, 將擴展本文提出的攻擊模型的分析對象, 繼續研究針對其他算法的單比特差分故障攻擊.

文獻 故障模型 故障位置 所需錯誤密文數 故障注入輪數 遍歷復雜度文獻[13] 面向字節 加密算法 32 4 -文獻[14] 面向字節 密鑰編排方案 8 4 -文獻[12] 面向字節 加密算法 1 1 22.11本文 面向比特 加密算法 1 1 15.35

猜你喜歡
故障注入密文字節
模擬訓練裝備故障注入系統研究
一種支持動態更新的可排名密文搜索方案
No.8 字節跳動將推出獨立出口電商APP
基于模糊數學的通信網絡密文信息差錯恢復
No.10 “字節跳動手機”要來了?
SM4算法前四輪約減輪故障注入分析
面向FPGA的故障注入測試技術研究*
基于MSP430的四旋翼飛行器的S-BUS通信協議的設計與實現
一種基于密文分析的密碼識別技術*
一種基于密文分析的密碼識別技術*
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合