一種使用反彈攻擊技術(shù)攻擊Grostl加密算法的處理方法
【專利摘要】本發(fā)明公開了一種使用反彈攻擊技術(shù)攻擊Grostl加密算法的處理方法,是基于異構(gòu)平臺CPU+GPU,針對Grostl加密算法提出的并行攻擊處理方法,所述CPU將要進行攻擊的密文分割成若干小段,構(gòu)建所述CPU與GPU處理器協(xié)同計算的框架;所述CPU調(diào)用所述框架中的所有設(shè)備多線程并行地獲得各自當(dāng)前需要攻擊的密文,根據(jù)這些密文,各個設(shè)備利用反彈差分分析算法對密文進行攻擊,在得到使得最終的差分為零的通路后即找到了碰撞,完成對這段密文的攻擊;本發(fā)明通過CPU和GPU協(xié)同計算,極大地加速了找到最終差分對的執(zhí)行,從而可以快速地完成密文攻擊的任務(wù)。
【專利說明】一種使用反彈攻擊技術(shù)攻擊Grostl加密算法的處理方法
[0001]
【技術(shù)領(lǐng)域】
[0002]本發(fā)明涉及密碼學(xué),信息安全領(lǐng)域,尤其涉及密碼安全方面的密碼攻擊的方法,具體地說是一種使用反彈攻擊技術(shù)攻擊Grostl加密算法的處理方法。
【背景技術(shù)】
[0003]CUDA (Compute Unified Device Architecture),顯卡廠商 NVidia 推出的運算平臺。CUDA ?是一種由NVIDIA推出的通用并行計算架構(gòu),該架構(gòu)使GPU能夠解決復(fù)雜的計算問題。它包含了 CUDA指令集架構(gòu)(ISA)以及GPU內(nèi)部的并行計算引擎。開發(fā)人員現(xiàn)在可以使用C語言來為CUDA ?架構(gòu)編寫程序,C語言是應(yīng)用最廣泛的一種高級編程語言,所編寫出的程序于可以在支持CUDAtI^ GPU處理器上以超高性能運行。CUDA所提供的最重要的創(chuàng)新在于,它使得工作在GPU上的線程可以協(xié)作解決問題。由NVDIA GPUs的支持,CUDA有一個直接在GPU上的并行計算緩存,它用于保存頻繁使用的信息。在GPU上保存信息可以讓計算線程即 刻得到共享數(shù)據(jù)而不是去漫長的等待off-chip的DRAM上的數(shù)據(jù)。NVIDIA?(英偉達?)發(fā)明了 CUDA (Compute Unified Device Architecture,統(tǒng)一計算設(shè)備架構(gòu))這一編程模型,旨在充分利用CPU和GPU各自的優(yōu)點。
[0004]Grostl加密算法是SHA-3第一、第三輪的候選算法,它采用AES結(jié)構(gòu),采用的是P置換和Q置換的并行結(jié)構(gòu),P置換和Q置換先進行并行運算,再經(jīng)異或相加后得到HASH值,這個算法在設(shè)計之初可以有效地抵抗傳統(tǒng)的密碼分析方法。
[0005]Grostl加密算法壓縮函數(shù)結(jié)構(gòu)可以有效地抵抗原像攻擊和第二原像攻擊,該算法可以在許多平臺上運算,其安全參數(shù)r、輪數(shù)及輸出長度都可以改變,算法結(jié)構(gòu)及置換的設(shè)計很容易理解,算法基于AES結(jié)構(gòu),大部分密碼學(xué)者和密碼軟件都能快速識別Grostl加密算法,并且AES設(shè)計結(jié)構(gòu)已經(jīng)被證明是安全的結(jié)構(gòu)。如果置換P和置換Q是安全的,則壓縮函數(shù)f的結(jié)構(gòu)是可安全的。安全性證明指出,要找到迭代Hash函數(shù)的碰撞至少需要2?/4個P置換和(或)Q置換運算,找到其原像需要2?/2個P置換和(或)Q置換運算。
[0006]傳統(tǒng)的差分分析方法無法對置換P和置換Q進行有效地分析,這是因為雖然P置換和Q置換均能有效地擴散差分,字節(jié)混入一列8個差分,字節(jié)移位將該列的8個差分經(jīng)行移位至每行,從而保證在任意四輪運算中有81個活躍的S盒。在任意8輪、12輪中,分別至少162和243個活躍的S盒。假定所有輪運算均相互獨立,差分擴散的最大概率為2_6,則任意8輪、12輪運算的差分路徑概率分別為2_972和2_1458.反彈攻擊適用于分析AES結(jié)構(gòu)的Hash函數(shù),已經(jīng)廣泛應(yīng)用于SHA-3候選算法的分析之中,其主要思想是在被分析的對象中,選取中間兩處適當(dāng)?shù)奈恢秒S機引入差分,然后做正向,逆向運算至中間相遇。運用S盒差分匹配性質(zhì)和自由度開發(fā)技術(shù),連接隨機引入的兩處差分,尋找中間匹配的輸入/輸出差分。找到匹配的輸入/輸出差分后,再從引入的差分位置處,分別做逆向,正向運算,運用截斷差分的擴展性質(zhì),合理地控制差分擴展至盡可能多的輪,從而提高追蹤差分的概率。根據(jù)反彈攻擊的思想,可以將反彈攻擊分為兩個階段:收縮階段和反彈階段。收縮階段運用S盒的性質(zhì)和自由度的開發(fā)技術(shù),從而連接引入的兩處差分,同時為反彈階段提供起點;反彈階段運用階段差分的擴散性質(zhì),合理地控制差分擴散,找出可行的差分路徑;
反彈攻擊的幾個技術(shù)點:
反彈攻擊首先要確定合適的截斷差分模式,并找到合適的起始點;
找到合適的中間匹配的S盒層;
注意如何彈出才能保證效率最高;
充分并合理地利用狀態(tài)和消息中的自由度。
[0007]差分攻擊是hash函數(shù)的最有效的方法,其主要思想是考慮兩對具有固定差分輸入的明文對差分輸出的影響,當(dāng)最后能夠找到使得差分為0,則相當(dāng)于找到了碰撞。
【發(fā)明內(nèi)容】
[0008]針對Grostl加密算法本身的復(fù)雜度造成分析等待時間比較長的問題,本發(fā)明提供了一種使用反彈攻擊技術(shù)攻擊Grostl加密算法的處理方法。
[0009]本發(fā)明公開的使用反彈攻擊技術(shù)攻擊Grostl加密算法的處理方法,其解決所述技術(shù)問題采用的技術(shù)方案如下:該處理方法是在異構(gòu)平臺CPU+GPU上,使用反彈差分分析方法對Grostl加密算法進行攻擊的處理方法,通過CPU和GPU協(xié)同計算,極大地加速了找到最終差分對的執(zhí)行,從而可以快速地完成密文攻擊的任務(wù);
其中,所述CPU (中央處理器)將要進行攻擊的密文分割成若干小段,構(gòu)建所述CPU與GTO處理器協(xié)同計算的框架;且多線程并行地向所述框架中的所有設(shè)備發(fā)送調(diào)用請求,各個設(shè)備在接收到所述調(diào)用請求后,獲得各自要攻擊的密文段;
所述CPU調(diào)用所述框架中的所有設(shè)備多線程并行地獲得各自當(dāng)前需要攻擊的密文,根據(jù)這些密文,利用反彈差分分析算法對已經(jīng)加密過的密文進行攻擊,在得到使得最終的差分為零的通路后即找到了碰撞,即最終對這段密文攻擊成功;
所述GPU處理器,用于在接收到所述CPU發(fā)送的調(diào)用請求后,獲得各自要攻擊的密文段,并根據(jù)反彈差分分析算法對已經(jīng)加密過的密文進行攻擊,在得到使得最終的差分為零的通路后(即找到了碰撞),即最終對這段密文攻擊成功。
[0010]進一步,所述CPU將要進行攻擊的密文分割成若干小段,是指所述CPU根據(jù)所述密文的長度進行分割;被分割的密文的長度沒有具體要求,但越短越好,針對這段密文可以盡快找到碰撞。
[0011]進一步,所述CPU構(gòu)建CPU與GPU處理器協(xié)同計算的框架,是指所述CPU將連接在同一單節(jié)點服務(wù)器的CPU與多個GPU處理器作為協(xié)調(diào)計算的框架,該框架中所有設(shè)備的數(shù)目為CPU的數(shù)目和GPU處理器的數(shù)目之和。
[0012]進一步,所述CPU調(diào)用所述框架中的所有設(shè)備多線程并行地獲得各自當(dāng)前已經(jīng)分割成若干小段的密文,根據(jù)這些若干被分割成小段的密文,各個設(shè)備利用反彈差分分析算法對已經(jīng)加密過的密文進行攻擊,根據(jù)差分路徑找到一個差分對使得最終的差分為零之后,即相當(dāng)于找到了碰撞,由此可以得知使用此次的初始值可以在這條差分路徑中找到一個通路,使用這個初始值就可以對這個密文進行攻擊破解,并將找到的所有連通的差分路徑以及相應(yīng)的差分對進行輸出。
[0013]本發(fā)明公開的使用反彈攻擊技術(shù)攻擊Grostl加密算法的處理方法的有益效果是:該處理方法,能夠通過并行反彈差分分析算法Grostl加密算法進行深入地分析,能夠?qū)λ鯣rostl加密算法的P置換和Q置換單獨進行有效分析;通過CPU和GPU協(xié)同計算,極大地加速了找到最終差分對的執(zhí)行,從而可以快速地完成密文攻擊的任務(wù)。
【專利附圖】
【附圖說明】
[0014]附圖1為本發(fā)明所述Grostl-256五輪碰撞示意圖。
【具體實施方式】
[0015]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點更加清楚明白,下文中將結(jié)合附圖對本發(fā)明的使用反彈攻擊技術(shù)攻擊Grostl加密算法的處理方法進行詳細說明。
[0016]本發(fā)明所述使用反彈攻擊技術(shù)攻擊Grostl加密算法的處理方法,是在異構(gòu)平臺CPU+GPU上針對Grostl加密算法提出的并行攻擊處理方法,通過CPU和GPU協(xié)同計算,極大地加速了找到最終差分對的執(zhí)行,從而可以快速地完成密文攻擊的任務(wù);
其中,所述CPU (中央處理器)將要進行攻擊的密文分割成若干小段,構(gòu)建所述CPU與GTO處理器協(xié)同計算的框架;且多線程并行地向所述框架中的所有設(shè)備發(fā)送調(diào)用請求,并在接收到所述調(diào)用請求后,獲得各自要攻擊的密文段;
所述CPU調(diào)用所述框架中的所有設(shè)備多線程并行地獲得各自當(dāng)前需要攻擊的密文,根據(jù)這些密文,利用反彈差分分析算法對已經(jīng)加密過的密文進行攻擊,在得到使得最終的差分為零的通路后即找到了碰撞,即最終對這段密文攻擊成功;
所述GPU處理器,用于在接收到所述CPU發(fā)送的調(diào)用請求后,獲得各自要攻擊的密文段,并根據(jù)反彈差分分析算法對已經(jīng)加密過的密文進行攻擊,在得到使得最終的差分為零的通路后(即找到了碰撞),即最終對這段密文攻擊成功。
[0017]本發(fā)明使用反彈攻擊技術(shù)攻擊Grostl加密算法的處理方法,所述CPU將要進行攻擊的密文分割成若干小段,是指所述CPU根據(jù)所述密文的長度進行分割;被分割的密文的長度沒有具體要求,但越短越好,針對這段密文可以盡快找到碰撞;
所述CPU構(gòu)建所述CPU與GPU處理器協(xié)同計算的框架,是指所述CPU將連接在同一單節(jié)點服務(wù)器的所述CPU與多個GPU處理器作為協(xié)調(diào)計算的框架,該框架中所有設(shè)備的數(shù)目為CPU的數(shù)目和GPU處理器的數(shù)目之和。
[0018]本發(fā)明所述使用反彈攻擊技術(shù)攻擊Grostl加密算法的處理方法,基于異構(gòu)平臺CPU+GPU,所述CPU將要進行攻擊的密文分割成若干小段,構(gòu)建所述CPU與GPU處理器協(xié)同計算的框架;通過CPU和MIC協(xié)同計算,所述CPU調(diào)用所述框架中的所有設(shè)備多線程并行地獲得各自當(dāng)前已經(jīng)分割成若干小段的密文,根據(jù)這些若干被分割成小段的密文,各個設(shè)備利用反彈差分分析算法對已經(jīng)加密過的密文進行攻擊,根據(jù)差分路徑找到一個差分對使得最終的差分為零之后,即相當(dāng)于找到了碰撞,由此可以得知使用此次的初始值可以在這條差分路徑中找到一個通路,使用這個初始值就可以對這個密文進行攻擊破解,并將找到的所有連通的差分路徑以及相應(yīng)的差分對進行輸出。
[0019]實施例:下面通過一個實施例對本發(fā)明的技術(shù)方案和技術(shù)優(yōu)點進一步說明,通過本實施例,本發(fā)明的目的和技術(shù)效果將顯而易見,但并不構(gòu)成對本發(fā)明的限定。
[0020]本發(fā)明所述使用反彈攻擊技術(shù)攻擊Grostl加密算法的處理方法,采用一種新型的并行反彈差分分析方法對Grostl加密算法進行了深入地分析A^Grostl加密算法的研究,應(yīng)用反彈攻擊分析技術(shù)分析了該Grostl加密算法的P置換和Q置換。首先單獨分析這兩個置換,分別得到了 P置換和Q置換的差分路徑,再結(jié)合這兩個置換的差分路徑進行了綜合分析,得到了 Grostl-256五輪壓縮函數(shù)的半自由起動碰撞;運用截斷差分的列混淆擴散性質(zhì),合理地控制差分擴散;在反彈攻擊的反彈階段,增加一輪算法分析,得到了Grostl-256六輪壓縮函數(shù)的半自由起動碰撞,不過計算復(fù)雜度有所增加。最后運用超級S盒技術(shù),在反彈攻擊的收縮階段,增加一輪算法分析,得到了 Grostl-256七輪壓縮函數(shù)的半自由起動碰撞,計算復(fù)雜度等同于六輪的復(fù)雜度。
[0021]從超級S盒性質(zhì)可知,中間相遇輪是其中最重要的部分,這是因為中間的狀態(tài)全部為活躍字節(jié)。如果可以在中間開發(fā)自由度,就可以更有效地追蹤自由度,從而在前向、后向運算中合理地控制差分擴散,得到可行的差分路徑。[0022]本發(fā)明提供了一個Grostl-256五輪半自由起動碰撞攻擊的應(yīng)用實例,在對Grostl-256做算法分析的時候,做5輪碰撞攻擊,在得到碰撞的時候,空間復(fù)雜度和計算復(fù)雜度均降低,性能得到提升,找到碰撞的等待時間降低;
首先在P置換和Q置換的Ql和Q3、P1和P3的適當(dāng)位置引入差分。適當(dāng)?shù)牟罘治恢每梢员WC差分在收縮階段擴散為完全差分狀態(tài),從而收縮階段合理地控制差分擴散,如附圖1所示;
在收縮階段,分別尋找Ql和Q3、P1和P3的中間相遇。根據(jù)S盒的性質(zhì),對于每一個活躍字節(jié),輸入/輸出差分匹配的概率為1/2,且對于每個有效的輸入/輸出差分至少存在兩個對應(yīng)的值。置換P和Q的狀態(tài)均為64個字節(jié),因此匹配的概率為2_64。由于隨機差分的引入均為8個字節(jié)的消息,自由度大于2_64。通過窮舉搜索可以實現(xiàn)中間相遇,找到匹配的輸入/輸出差分。一旦匹配,可以提供264個可選起點,作為下一步反彈階段的自由度;
第二部分置換的差分與第一部分相同,異或后差分互相抵消的計算復(fù)雜度為264。如圖1所示,每個置換均可找到264個輸入,計算復(fù)雜度為264,空間復(fù)雜度可忽略不計。適當(dāng)選取差分的位置,可以控制差分擴散的路徑。要得到Grostl-256壓縮函數(shù)的五輪半自由起動碰撞,兩個置換的輸出差分必須一致。而MB運算是線性運算,差分相同的字節(jié)在經(jīng)過線性運算之后,差分仍然相同。為了防止由于前向運算導(dǎo)致碰撞被破壞,不允許hash值Hl有差分,因此,需保證首輪輸入差分相同,且所有差分均來自于消息M ;
要得到碰撞,16個差分字節(jié)必須相同,計算復(fù)雜度為2128。然而,根據(jù)生日攻擊,中間相遇過程的計算復(fù)雜度可降為264.通過生成置換P的264個差分及置換Q的264個差分,可以找到匹配的輸入/輸出差分,因此可以得到Grostl-256壓縮函數(shù)的五輪半自由起動碰撞,其計算復(fù)雜度為264,空間復(fù)雜度為264.本發(fā)明提供的系統(tǒng)實施例,在生成S盒,計算密集部分均采用并行技術(shù),提升了系統(tǒng)的性能,計算復(fù)雜度降低,找到碰撞的等待時間明顯降低,但中間的空間復(fù)雜度比以前升高。
[0023]上述【具體實施方式】僅是本發(fā)明的具體個案,本發(fā)明的專利保護范圍包括但不限于上述【具體實施方式】,任何符合本發(fā)明的權(quán)利要求書的且任何所屬【技術(shù)領(lǐng)域】的普通技術(shù)人員對其所做的適當(dāng)變化或替換,皆應(yīng)落入本發(fā)明的專利保護范圍。
【權(quán)利要求】
1.一種使用反彈攻擊技術(shù)攻擊Grostl加密算法的處理方法,其特征在于,該處理方法是在異構(gòu)平臺CPU+GPU上,使用反彈差分分析方法對Grostl加密算法進行攻擊的處理方法,通過CPU和GPU協(xié)同計算,加速找到最終差分對的執(zhí)行,完成密文攻擊;其中,所述CPU將要進行攻擊的密文分割成若干小段,構(gòu)建所述CPU與GPU處理器協(xié)同計算的框架;且多線程并行地向所述框架中的所有設(shè)備發(fā)送調(diào)用請求,各個設(shè)備在接收到所述調(diào)用請求后,獲得各自要攻擊的密文段;所述CPU調(diào)用所述框架中的所有設(shè)備多線程并行地獲得各自當(dāng)前需要攻擊的密文,根據(jù)這些密文,各個設(shè)備利用反彈差分分析算法對已經(jīng)加密過的密文進行攻擊,在得到使得最終的差分為零的通路后即找到了碰撞,完成對這段密文的攻擊;所述GPU處理器,用于在接收到所述CPU發(fā)送的調(diào)用請求后,獲得各自要攻擊的密文段,并根據(jù)反彈差分分析算法對已經(jīng)加密過的密文進行攻擊,在得到使得最終的差分為零的通路后即找到了碰撞,完成對這段密文的攻擊。
2.根據(jù)權(quán)利要求1所述的使用反彈攻擊技術(shù)攻擊Grostl加密算法的處理方法,其特征在于,所述CPU將要進行攻擊的密文分割成若干小段,是指所述CPU根據(jù)所述密文的長度進行分割;被分割的密文的長度越短越好,針對這段密文能夠盡快找到碰撞。
3.根據(jù)權(quán)利要求1所述的使用反彈攻擊技術(shù)攻擊Grostl加密算法的處理方法,其特征在于,所述CPU構(gòu)建CPU與GPU處理器協(xié)同計算的框架,是指所述CPU將連接在同一單節(jié)點服務(wù)器的CPU與多個GPU處理器作為協(xié)調(diào)計算的框架,該框架中所有設(shè)備的數(shù)目為CPU的數(shù)目和GPU處理器的數(shù)目之和。
4.根據(jù)權(quán)利要求1所述的使用反彈攻擊技術(shù)攻擊Grostl加密算法的處理方法,其特征在于,所述CPU調(diào)用所述框架中的所有設(shè)備多線程并行地獲得各自當(dāng)前已經(jīng)分割成若干小段的密文,根據(jù)這些若干被分割成小段的密文,各個設(shè)備利用反彈差分分析算法對已經(jīng)加密過的密文進行攻擊,根據(jù)差分路徑找到一個差分對使得最終的差分為零之后,即相當(dāng)于找到了碰撞;且使用此次的初始值能夠在這條差分路徑中找到一個通路,使用這個初始值能夠?qū)@個密文進行攻擊破解,并將找到的所有連通的差分路徑以及相應(yīng)的差分對進行輸出。
5.根據(jù)權(quán)利要求4所述的使用反彈攻擊技術(shù)攻擊GrostI加密算法的處理方法,其特征在于,該處理方法的實現(xiàn)流程為:應(yīng)用反彈攻擊分析技術(shù)分析了所述Grostl加密算法的P置換和Q置換,首先單獨分析這兩個置換,分別得到P置換和Q置換的差分路徑;再結(jié)合這兩個置換的差分路徑進行了綜合分析,得到了 Grostl-256五輪壓縮函數(shù)的半自由起動碰撞;運用截斷差分的列混淆擴散性質(zhì),合理地控制差分擴散;在反彈攻擊的反彈階段,增加一輪算法分析,得到了 Grostl-256六輪壓縮函數(shù)的半自由起動碰撞;最后運用超級S盒技術(shù),在反彈攻擊的收縮階段,增加一輪算法分析,得到了 Grostl-256七輪壓縮函數(shù)的半自由起動碰撞。
【文檔編號】H04L9/06GK103986722SQ201410229976
【公開日】2014年8月13日 申請日期:2014年5月28日 優(yōu)先權(quán)日:2014年5月28日
【發(fā)明者】王婭娟 申請人:浪潮電子信息產(chǎn)業(yè)股份有限公司