国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種輪輸出為算術(shù)掩碼的zuc序列密碼算法掩碼防護(hù)方法

      文檔序號(hào):9250894閱讀:1316來(lái)源:國(guó)知局
      一種輪輸出為算術(shù)掩碼的zuc序列密碼算法掩碼防護(hù)方法
      【技術(shù)領(lǐng)域】
      [0001] 本發(fā)明屬于密碼算法的防護(hù)技術(shù)領(lǐng)域,特別是為了使祖沖之序列密碼算法(ZUC) 抵抗側(cè)信道分析,保護(hù)密鑰k,設(shè)計(jì)了一種針對(duì)ZUC算法的掩碼防護(hù)方法,即針對(duì)輪輸出為 算術(shù)掩碼的ZUC序列密碼算法掩碼防護(hù)方法;該方法隨機(jī)化算法的中間值,使得設(shè)備的能 量消耗與所執(zhí)行的密碼算法的中間值之間無(wú)依賴關(guān)系。
      【背景技術(shù)】
      [0002] 隨著信息技術(shù)的發(fā)展,各種密碼算法正被廣泛地應(yīng)用于經(jīng)濟(jì)、軍事、行政等重要部 門,保護(hù)信息的安全性。鑒于密碼算法的重要性,密碼算法軟硬件實(shí)現(xiàn)(密碼模塊)的分析 研宄對(duì)保護(hù)信息安全具有重要的意義。
      [0003] 近年來(lái),多種對(duì)密碼模塊的攻擊已廣為人知,所有這些攻擊的目的都是為了獲取 密碼模塊中的密鑰。通常的攻擊方式可分為侵入式攻擊、半侵入式攻擊和非侵入式攻擊。近 年來(lái),由于非侵入式攻擊中的側(cè)信道分析實(shí)施方便、相對(duì)成本低廉而被廣泛使用。側(cè)信道分 析可以細(xì)分為計(jì)時(shí)分析、能量分析和電磁分析。其中的側(cè)信道能量分析是眾多分析手段中 最常用的方法之一,它突破了傳統(tǒng)密碼算法的分析模式,能力強(qiáng)大,實(shí)施相對(duì)容易。側(cè)信道 能量分析利用了密碼模塊能量消耗與數(shù)據(jù)運(yùn)算和執(zhí)行之間的相關(guān)性,基于密碼算法實(shí)現(xiàn)的 能量泄露函數(shù)建立能量模型,使用統(tǒng)計(jì)方法,猜測(cè)和驗(yàn)證密碼模塊使用的受保護(hù)密鑰,幾乎 可被用于破解所有的對(duì)稱密碼和公鑰密碼。破解時(shí),僅需要數(shù)十條能量跡就可以在幾分鐘 內(nèi)迅速地破解沒(méi)有防御措施的大多數(shù)智能卡。側(cè)信道能量分析方法一般包括,簡(jiǎn)單能量分 析(SPA)、差分能量分析(DPA)、相關(guān)能量分析(CPA)和高階差分能量分析(HODPA)。
      [0004] 直接利用能量跡各尖峰形狀不同這一特性的攻擊稱為簡(jiǎn)單能量分析攻擊 SPA(SimplePowerAnalysis);根據(jù)密碼設(shè)備的能量消耗依賴于算法執(zhí)行過(guò)程中所處理的 中間值分別為〇和1時(shí),所對(duì)應(yīng)的平均能量跡之間的差異進(jìn)行密鑰恢復(fù)的攻擊方法稱為差 分能量分析攻擊DPA(DifferentialPowerAnalysis);若密碼分析者利用假設(shè)能量消耗和 真正能量消耗之間的線性相關(guān)性進(jìn)行密鑰恢復(fù),則為相關(guān)能量分析攻擊CPA(Correlation PowerAnalysis);在上述DPA分析中,如果僅利用了一個(gè)中間值,稱為一階DPA攻擊,若是 利用算法運(yùn)算中的某種聯(lián)合泄漏,該聯(lián)合泄漏基于出現(xiàn)在密碼設(shè)備中的多個(gè)中間值,則稱 相應(yīng)的DPA攻擊為高階DPA分析。
      [0005] 鑒于當(dāng)前對(duì)密碼算法進(jìn)行功耗分析攻擊技術(shù)的不斷發(fā)展,為應(yīng)對(duì)能量分析帶來(lái)的 挑戰(zhàn),針對(duì)功耗分析攻擊的防御技術(shù)也不斷進(jìn)步。抗功耗分析的防御技術(shù)包括各種隱藏技 術(shù)和掩碼技術(shù),任何防御技術(shù)的目標(biāo)都是使密碼設(shè)備的能量消耗不依賴于設(shè)備所執(zhí)行的密 碼算法中間值。
      [0006] 隱藏技術(shù)是通過(guò)能量消耗隨機(jī)化,使所有操作具有相同能量消耗等方式切斷被處 理的中間值與設(shè)備能量消耗之間的關(guān)系。采用隱藏技術(shù)的密碼設(shè)備與未加防護(hù)的設(shè)備執(zhí)行 相同的操作,但無(wú)法從中獲取可用信息。
      [0007] 掩碼技術(shù)是采用隨機(jī)化密碼設(shè)備所處理的中間值,對(duì)算法實(shí)現(xiàn)加入隨機(jī)化掩碼。 其可以在算法級(jí)實(shí)現(xiàn),無(wú)需改變密碼設(shè)備的能量消耗特性,使設(shè)備的能量消耗與所執(zhí)行的 密碼算法的中間值之間無(wú)依賴關(guān)系。
      [0008] 在掩碼防御方案中,算法運(yùn)算的中間值V都基于一個(gè)稱為掩碼的隨機(jī)數(shù)m進(jìn)行變 換,即Vm=v*m。掩碼產(chǎn)生于密碼設(shè)備內(nèi)部,并且在每一次執(zhí)行過(guò)程中各不相同,因此攻擊 者不能獲知掩碼。運(yùn)算*通常根據(jù)密碼算法所使用的操作進(jìn)行定義。因此,運(yùn)算*多為布 爾異或運(yùn)算、模加運(yùn)算或模乘運(yùn)算。在模加運(yùn)算和模乘運(yùn)算的情況下,模數(shù)根據(jù)密碼算法進(jìn) 行選擇。通常,掩碼直接應(yīng)用于明文或密鑰。為了能夠處理掩碼型中間值以及對(duì)掩碼進(jìn)行 跟蹤,需要對(duì)算法進(jìn)行修改。加密的結(jié)果也是掩碼型的,為了獲得密文,需要在計(jì)算結(jié)束時(shí) 消除掩碼。要保持每一個(gè)中間值在計(jì)算過(guò)程中始終處于被掩碼狀態(tài),這一點(diǎn)非常重要。即 使某一個(gè)中間值是基于它之前的中間值計(jì)算得到,保持上述性質(zhì)仍然很重要。由于上述原 因,對(duì)不同的中間值,往往需要分別采用不同的掩碼。處于對(duì)實(shí)現(xiàn)性能的考慮,對(duì)每一個(gè)中 間值采用一個(gè)新掩碼并不合算。因此,為了獲得合適的性能,需要仔細(xì)選擇掩碼的數(shù)量。
      [0009] 在算法一個(gè)執(zhí)行路徑中所疊加的掩碼數(shù)量,稱為算法掩碼防御方案的階數(shù),對(duì)相 應(yīng)階數(shù)的掩碼進(jìn)行能量分析的方法,稱為高階能量能量分析。一階掩碼可以防御一階的能 量分析,但不能防御二階能量分析;二階掩碼可以防御二階能量分析,但不能防御三階能量 分析。通常考慮到防御和分析的指數(shù)遞增運(yùn)算量增加,以及算法結(jié)構(gòu)上可利用的能量泄露 的點(diǎn)的限制,通常分組算法實(shí)現(xiàn)只能做到二階能量分析,相應(yīng)的防御措施也一般只做到二 階掩碼防御即可。
      [0010] 祖沖之算法集(ZUC算法)是由我國(guó)學(xué)者自主設(shè)計(jì)的加密和完整性算法,已經(jīng)被國(guó) 際組織3GPP推薦為4G無(wú)線通信的第三套國(guó)際加密和完整性標(biāo)準(zhǔn)的侯選算法。下面對(duì)該算 法進(jìn)行簡(jiǎn)單介紹:祖沖之算法邏輯上分為上中下三層,如圖1所示,上層是16級(jí)線性反饋移 位寄存器(LFSR)沖層是比特重組(BR);下層是非線性函數(shù)F。⑴LFSR包括16個(gè)31比特 寄存器單元變量Stl,Sl,L,s15。LFSR的運(yùn)行模式有2種:初始化模式和工作模式。在初始化 模式下,LFSR接收一個(gè)31比特字u。u是由非線性函數(shù)F的32比特輸出W通過(guò)舍棄最低 位比特得到,即u=W>> 1,在初始化模式下,LFSR計(jì)算過(guò)程如為:
      [0025] (2)比特重組(BR)從LFSR的寄存器單元中抽取128比特組成4個(gè)32比特字X。、 Xi、X2、X3。BR的具體計(jì)算過(guò)程如下:
      [0026]BitReconstruction()
      [0027] {
      [0028] (I)X0= s15H| |s14l
      [0029] (2)X1= s11L|Is9H
      [0030] (3)X2= s7L|Is5H
      [0031] (4)X3= s2L|Is0H
      [0032] }
      [0033] (3)非線性函數(shù)F包含2個(gè)32比特記憶單元變量札和R2。F的輸入為3個(gè)32比 特字XpXpX2,輸出為一個(gè)32比特字W。F的計(jì)算過(guò)程如下:
      [0034]F(X0,X1,X2)
      [0035] {
      [0042] 其中S為32比特的S盒變換,32比特S盒由4個(gè)小的8X8的S盒并置而成,即S =(SQ,S1, S2, S3),其中Stl= S2,S1= S3。Stl主要基于輕量級(jí)結(jié)構(gòu)構(gòu)造思想,采用小S盒構(gòu) 建大S盒的方法設(shè)計(jì)。具體而言,Stl內(nèi)部使用了3個(gè)4X4的小S盒P pPyPji合而成,如 圖2所示,其中m= 5。
      [0043]S1盒的設(shè)計(jì)基于有限域GF (28)上的非線性逆函數(shù)f1和線性仿射變換設(shè)計(jì),與AES 的S盒設(shè)計(jì)類似。底層有限域GF(28)采用本原多項(xiàng)式x8+x7+x3+ x+l定義,S1盒的數(shù)學(xué)表達(dá) 式為= 十0x55,其中矩陣M滿足:
      [0045] 設(shè)S盒S的32比特輸入X和32比特輸出Y分別為:
      [0046]X=X01IX11IX21IX3
      [0047]Y=y〇IIY11 |y21 |y3
      [0048]其中XjPyi均為8比特字節(jié),i = 0,1,2,3。則有yi= Si(Xi) ;LJPL#32比 特線性變換,定義如下: L(X) =I十(X?< 2)?(X?< 10)十(X?< 18)十(X?< 24) 「〇〇491 L2(X) =X十(X?< 8)十(X?< 14)?(X?< 22)?(JT?< 30)
      [0050] 祖沖之算法的秘鑰裝入過(guò)程是:將128比特的初始密鑰k和128比特的初始向量 iv擴(kuò)展為16個(gè)31比特字作為L(zhǎng)FSR寄存器單元變量S(l,Sl,L,S15的初始狀態(tài)。設(shè)k和iv 分別為kQ| |k」|L| |1^15和ivQ|Iiv1I|L| |iv15;其中kJPivi均為8比特字節(jié),0彡i彡15。 密鑰裝入過(guò)程如下:(I)D為240比特的常量,可按如下方式分成16個(gè)15比特的子串:D= dQ|Id1I|l|Id15,其中:
      [0051]d0= 100010011010111 2,
      [0052] (^= 010011010111100 2,
      [0053]d2= 110001001101011 2,
      [0054]d3= 001001101011110 2,
      [0055]d4= 101011110001001 2,
      [0056]d5= 011010111100010 2,
      [0057]d6= 111000100110101 2,
      [0058]d7= 000100110101111 2,
      [0059]d8= 100110101111000 2,
      [0060] d9= 010111100010011 2,
      [0061] d10= 110101111000100 2,
      [0062] dn= 001101011110001 2,
      [0063]d12= 101111000100110 2,
      [0064]Cl13= 011110001001101 2,
      [0065]d14= 111100010011010 2,
      [0066] d15= 100011110101100 2
      [0067] (2)對(duì)0 彡i彡 15,有Si=kjIdiI|iVi。
      [0068] 在初始化階段,首先把128比特的初始密鑰k和128比特的初始向量iv按照前述 密鑰裝入方法裝入到LFSR的寄存器單元變量S(l,Sl,L,S15中,作為L(zhǎng)FSR的初態(tài),并置32比 特記憶單元變量&和R2為全0。然后執(zhí)行下述操作:
      [0069] 重復(fù)執(zhí)行下述過(guò)程32次:
      [0070] (I)BitReconstruction();
      [0071] (2)W=F(X〇,X1,X2);
      [0072] (3)LFSRffithInitialisationMode(W> > 1);
      [0073] 工作階段首先執(zhí)行下列過(guò)程一次,并將F的輸出W舍棄:
      [0074] (I)BitReconstruction();
      [0075] (2)F(X〇,X1,X2);
      [0076] (3)LFSRffithfforkModeO;
      [0077] 然后進(jìn)入密鑰輸出階段。在密鑰輸出階段,每運(yùn)行一個(gè)節(jié)拍,執(zhí)行下列過(guò)程一次, 并輸出一個(gè)32比特的密鑰字Z:
      [0078] (I)BitReconstruction();
      [0079] (2)Z=尸(X0,XI,X2)十
      [0080] (3)LFSRffithfforkModeO;
      [0081]目前,利用側(cè)信道分析(SCA),特別是運(yùn)用能量分析(PA)的側(cè)能量分析方法,通過(guò) 建立漢明重量模型,使用一階差分能量分析(DPA)方法可分析出ZUC算法的密鑰。了為抵 抗DPA/CPA分析,通常采用了掩碼防護(hù)措施保護(hù)ZUC密碼算法實(shí)現(xiàn)。為了抵抗側(cè)信道分析, 考慮掩碼技術(shù)的易操作性及有效性,在密碼防護(hù)方面特別是對(duì)ZUC算法的結(jié)構(gòu)和相關(guān)掩碼 防御技術(shù)需要進(jìn)行深入研宄分析,設(shè)計(jì)抗側(cè)信道的掩碼防御方法

      【發(fā)明內(nèi)容】

      [0082] 本發(fā)明技術(shù)方案的目的在于為了抵抗針對(duì)ZUC算法的側(cè)信道分析,考慮線性移位 寄存器的數(shù)據(jù)影響傳遞性以及能耗的泄露點(diǎn),以及掩碼技術(shù)的易操作性及有效性,針對(duì)于F函數(shù),保護(hù)ZUC算法初始化過(guò)程中的前N(1 32)輪,實(shí)現(xiàn)ZUC序列算法掩碼防護(hù)的策 略。
      [0083] 實(shí)現(xiàn)上述目的本發(fā)明的技術(shù)方案為,一種輪輸出為算術(shù)掩碼的ZUC序列密碼 算法掩碼防護(hù)方法,該方法包括如下步驟:(1)選擇需要掩碼的輪數(shù),初始化前N輪, I<N< 32,rG{〇, 1,L,N-1}為當(dāng)前輪數(shù),4個(gè)32比特隨機(jī)數(shù)叫、m2、m3、m4,其中In1 = (c0,C1,c2,c3),m2= (dQ,屯,d2,d3),第1輪的Rn馬分別與m2相加,得到帶掩碼輸入 Rfn^Vm2;若是第r(rG{1,L,N-1})輪的R2輸入,
      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1