新四季網

檢測RIPEMD‑160算法抵禦差分故障攻擊的方法與流程

2023-08-10 20:23:21


本發明涉及一種檢測RIPEMD-160雜湊密碼算法抵禦差分故障攻擊的方法,用於評測出該算法抵禦差分故障攻擊的能力,主要應用在檢驗封裝有該算法的產品的安全性。



背景技術:

隨著大數據時代的到來,各種各樣的信息存儲在網絡伺服器中,如何防止攻擊者的主動攻擊,並保證這些信息的完整性,成為保證數據安全的核心問題。RIPEMD-160算法是由歐洲研究學者提出的一種雜湊密碼,具有抗第一原像性、抗第二原像性和無碰撞性,是信息完整性保護的基礎部件。

差分故障攻擊是一種將故障攻擊與差分分析相結合密碼攻擊技術。它針對密碼算法的結構和輪函數的特性,通過在算法執行時導入故障,分析其對輸出的影響,最終獲得關鍵信息。在對RIPEMD-160算法抵禦差分故障攻擊的能力評測方面,目前還沒有公開的分析方法,這就給封裝有RIPEMD-160雜湊算法的密碼設備的安全性帶來了隱患。



技術實現要素:

本發明的目的是提供一種評估RIPEMD-160算法抵禦查分故障攻擊能力的方法。

為了達到上述目的,本發明的技術方案是提供了一種檢測RIPEMD-160算法抵禦差分故障攻擊的方法,其特徵在於,包括以下步驟:

步驟1:隨機生成要處理的明文消息X;

步驟2:利用RIPEMD-160算法處理明文消息X,RIPEMD-160算法對消息按512比特長的分組為單位進行處理,總共由5輪運算組成,每一輪都對緩存區進行16步迭代運算,輸出為160比特的雜湊值,將得到的正確輸出Y和錯誤輸出Y*保存於160比特的緩存區中,其中,緩存區用5個32比特長的寄存器A,B,C,D,E表示;

步驟3:計算正確輸出Y和錯誤輸出Y*的差分值ΔY,令ΔY=(ΔY0,ΔY1,ΔY2,ΔY3,ΔY4),保存於5個32比特長的寄存器A,B,C,D,E表示的緩存區中,ΔY0,ΔY1,ΔY2,ΔY3,和ΔY4均為32比特,分別代表緩存區中最後一輪輸出結果的差分:

步驟4:分析差分值ΔY,判斷RIPEMD-160算法是否受到差分故障攻擊的影響,並推導出故障導入的位置,分析其有效性,令Ai,Bi,Ci,Di,Ei分別為第i步迭代運算緩存區的寄存器A,B,C,D,E中的值,i∈[1,80],則具體方法為:

(1)有效故障:

I)當ΔY0、ΔY1、ΔY2、ΔY3≠0時,故障導入的位置為C77;

II)當ΔY1、ΔY2、ΔY3、ΔY4≠0時,故障導入的位置為B77;

III)當ΔY0、ΔY1、ΔY2、ΔY3、ΔY4中均不為0時,故障導入的位置為B76以及B76之前的任何位置;

(2)無效故障:

I)當ΔY=0時,說明導入的故障值等於當前位置上的原值,相當於沒有導入故障,故障無效;

II)當ΔY≠0時:

(i)當ΔY0、ΔY1、ΔY2、ΔY3、ΔY4中有且僅有一個不為0時:

a)當ΔY0≠0時,故障導入的位置為A80;

b)當ΔY1≠0時,故障導入的位置為B80或E80;

c)當ΔY2≠0時,故障導入的位置為C80;

d)當ΔY3≠0時,故障導入的位置為D80;

e)當ΔY4≠0時,故障導入的位置為E80。

(ii)當ΔY0、ΔY1、ΔY2、ΔY3、ΔY4中只有兩個同時不為0時,

a)當ΔY1≠0且ΔY0≠0時,故障導入的位置為E79;

b)當ΔY1≠0且ΔY2≠0時,故障導入的位置為B79;

c)當ΔY1≠0且ΔY3≠0時,故障導入的位置為C79;

d)當ΔY1≠0且ΔY4≠0時,故障導入的位置為D79;

(iii)當ΔY0、ΔY1、ΔY2、ΔY3、ΔY4中只有三個同時不為0時,

a)當ΔY0、ΔY1、ΔY2≠0時,故障導入的位置為D78;

b)當ΔY1、ΔY2、ΔY3≠0時,故障導入的位置為B78;

c)當ΔY1、ΔY2、ΔY4≠0時,故障導入的位置為C78。

優選地,在所述步驟2中,在用RIPEMD-160算法對明文消息X處理的過程中,使用兩種實驗環境控制從而得到正確輸出Y和錯誤輸出Y*,具體步驟如下:

步驟2.1:輸入明文消息X,保證實驗環境不受其他任何不相關事物的幹擾,讓RIPEMD-160算法能夠正確無誤地進行,從而得到正確輸出Y;

步驟2.2:重新輸入明文消息X,再次用RIPEMD-160算法對其加密處理,同時藉助其他物理設備改變運行環境,誘導產生故障來幹擾RIPEMD-160算法的處理過程,從而得到錯誤輸出Y*。

優選地,在所述步驟2.2中,改變運行環境誘導產生故障的方法包括:改變時鐘、電壓、溼度、輻射、壓力、光和渦電流,將故障隨機地導入RIPEMD-160算法處理過程,以得到錯誤輸出Y*。

本發明提供的方法簡單準確,易於實現,不僅可以評估RIPEMD-160算法對差分故障攻擊的抵抗能力,還能推導出差分故障攻擊導入的位置,給使用RIPEMD-160算法封裝的產品的安全性測評提供了理論依據。

附圖說明

圖1為RIPEMD-160算法抵禦差分故障攻擊的方法流程圖;

圖2為RIPEMD-160算法差分故障攻擊分析路徑圖;

圖3為檢驗RIPEMD-160抵禦差分故障攻擊能力實驗環境示意圖。

具體實施方式

為使本發明更加清晰明了,現列出優選實施例,詳細的配圖說明如下所示。

使用RIPEMD-160算法對於同一個明文消息X使用同一個密鑰進行處理時,如果實驗環境(如時鐘、電壓、溼度、輻射、壓力、光和渦電流等)不同,攻擊者可以分別獲得正確輸出Y和錯誤輸出Y*,通過計算出這兩個值的輸出差分值,即表示異或運算,就可推導出關鍵信息。攻擊者可以在處理設備運行RIPEMD-160算法期間誘導故障發生,但是不知道故障發生的具體位置以及具體的錯誤值。在某些特定條件下,能從差分ΔY中推導出故障導入的位置,此時導入的故障稱為有效故障。相反,當導入故障為無效故障的時候,本次導入的故障並不能給分析密鑰提供幫助,即通過ΔY不能得到重要的信息。

圖1為本發明提供的檢測RIPEMD-160算法抵禦差分故障攻擊的方法的流程圖,所述的檢測RIPEMD-160算法抵禦差分故障攻擊的方法包括如下步驟:

步驟1:隨機生成要處理的明文消息X;

步驟2:處理明文消息X,得到正確輸出Y和錯誤輸出Y*;

步驟3:計算正確輸出Y和錯誤輸出Y*的差分值ΔY;

步驟4:分析差分值ΔY,推斷出導入位置,並判斷導入故障是否有效。

針對步驟2,用RIPEMD-160算法對明文消息X進行處理,實驗過程中,對運行環境實施兩種不同的控制,即:

(1)輸入明文消息X,控制實驗環境不受其他任何不相關事物的幹擾,使得RIPEMD-160算法能夠正確無誤地進行,從而得到正確輸出Y;

(2)重新輸入明文消息X,再次用RIPEMD-160算法對其進行處理,同時藉助其他物理設備改變運行環境,誘導產生故障來幹擾RIPEMD-160算法的處理過程,從而得到錯誤輸出Y*。

其中,步驟(2)中誘導故障產生的方法包括:改變時鐘、電壓、溼度、輻射、壓力、光和渦電流等;

針對步驟3,計算差分其中代表異或運算,ΔY為160比特,令ΔY=(ΔY0,ΔY1,ΔY2,ΔY3,ΔY4),保存於160比特的緩存區中,緩存區用5個32比特長的寄存器(A,B,C,D,E)表示,令ΔY=(ΔY0,ΔY1,ΔY2,ΔY3,ΔY4),ΔY0,ΔY1,ΔY2,ΔY3,和ΔY4均為32比特,分別代表緩存區中最後一輪輸出結果的差分;

針對步驟4,對ΔY的差分分析及確定故障位置的原理如下:

RIPEMD-160算法對消息按512比特長的分組為單位進行處理,總共由5輪運算組成,每一輪都對緩存區進行16步迭代運算,輸出為160比特的雜湊值,RIPEMD-160的中間結果和最終結果保存於160比特的緩存區中,緩存區用5個32比特長的寄存器(A,B,C,D,E)表示,如圖2所示,第i+1步的迭代公式如下:

Ai+1=Ei,

Ci+1=Bi,

Di+1=Rq(Ci),

Ei+1=Di。

其中,代表異或運算,i是迭代的步數,i∈[0,79],Ai、Bi、Ci、Di、Ei是第i步迭代運算緩存區的寄存器(A,B,C,D,E)中的值,fi(B,C,D)是第i步迭代運算的基本邏輯函數,S是32比特的變量循環左移p位,R是32比特的變量循環左移q位,Wi是從當前輸入的512比特的分組導出的32比特長的字,Ki是加法常量。

RIPEMD-160算法的正確輸出Y為:

(A0,B0,C0,D0,E0)為緩存區中的初始值,將其代入上述等式即可得到最後的輸出結果(A80,B80,C80,D80,E80)。在此,我們考慮

將B79=C80,Rq(C79)=D80,D79=E80,E79=A80,代入B80得知在上述等式中,只有A79和W79是未知的,而攻擊者的目的是要恢復W79,如果A79的值是已知的,那麼W79就可以由以下等式求解得到:

根據算法結構可知A79=E78,即求得E78的值便可知道A79,這樣我們就可以推導出W79。

同理,我們也可以得到:

上式中要推導出W78,需要知道A78和E78,又因為A78=E77,所以我們需要知道E78和E77的值,才能求得W78。

通過分析當故障導入的位置在C77時,可以求得E78和E77的值,進而推導出W78和W79。由RIPEMD-160算法的結構可以看出,同理當故障導入在B77時,與故障導入在C77時的作用是完全相同。因而B77或C77為有效的故障位置。

其中,對故障位置的有效性,具體分析如下:

(1)有效故障:

I)當ΔY0、ΔY1、ΔY2、ΔY3≠0時,故障導入的位置為C77;

II)當ΔY1、ΔY2、ΔY3、ΔY4≠0時,故障導入的位置為B77;

III)當ΔY0、ΔY1、ΔY2、ΔY3、ΔY4中均不為0時,故障導入的位置為B76以及B76之前的任何位置;

(2)無效故障:

I)當ΔY=0時,說明導入的故障值等於當前位置上的原值,相當於沒有導入故障,故障無效;

II)當ΔY≠0時:

(i)當ΔY0、ΔY1、ΔY2、ΔY3、ΔY4中有且僅有一個不為0時,

a)當ΔY0≠0時,故障導入的位置為A80;

b)當ΔY1≠0時,故障導入的位置為B80或E80;

c)當ΔY2≠0時,故障導入的位置為C80;

d)當ΔY3≠0時,故障導入的位置為D80;

e)當ΔY4≠0時,故障導入的位置為E80;

(ii)當ΔY0、ΔY1、ΔY2、ΔY3、ΔY4中只有兩個同時不為0時,

a)當ΔY1≠0且ΔY0≠0時,故障導入的位置為E79;

b)當ΔY1≠0且ΔY2≠0時,故障導入的位置為B79;

c)當ΔY1≠0且ΔY3≠0時,故障導入的位置為C79;

d)當ΔY1≠0且ΔY4≠0時,故障導入的位置為D79;

(iii)當ΔY0、ΔY1、ΔY2、ΔY3、ΔY4中只有三個同時不為0時,

a)當ΔY0、ΔY1、ΔY2≠0時,故障導入的位置為D78;

b)當ΔY1、ΔY2、ΔY3≠0時,故障導入的位置為B78;

c)當ΔY1、ΔY2、ΔY4≠0時,故障導入的位置為C78。

綜上分析,當ΔY0、ΔY1、ΔY2、ΔY3≠0時,導入的故障位置為C77,當ΔY1、ΔY2、ΔY3、ΔY4≠0時,導入的故障位置為B77,當ΔY0、ΔY1、ΔY2、ΔY3、ΔY4中均不為0時,導入的故障位置為B76及B76之前的任何位置,這些位置均為有效的故障導入位置。

針對上述執行步驟,選擇實驗環境如圖3所示,其中用計算機來產生RIPEMD-160的輸入消息X以及分析輸出結果;封裝有RIPEMD-160算法的設備用來處理輸入的消息;產生故障的設備用來改變實驗執行環境,目的是幹擾對輸入消息的處理過程,從而實現導入故障功能,產生錯誤的輸出結果。

利用上述分析方法,本發明在Intel(R)Core(TM)i5-3210M CPU 2.50GHz 4GB內存的計算機上,在Eclipse開發工具下採用Java語言編程來模擬故障導入和消息處理過程,重複執行1000次,實驗結果表明上述檢測方法準確無誤。該方法為評估RIPEMD-160算法的安全性提供了充分的理論依據,而且此方法操作簡單,結果準確。

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀