国产精品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>

      一種復(fù)雜度可變的任意階掩碼防護(hù)方法與流程

      文檔序號(hào):11959464閱讀:386來(lái)源:國(guó)知局
      一種復(fù)雜度可變的任意階掩碼防護(hù)方法與流程

      本發(fā)明屬于密碼安全技術(shù)領(lǐng)域,尤其涉及一種針對(duì)不同軟硬件載體的高階掩碼方法,可有效對(duì)抗任意階側(cè)信道攻擊。



      背景技術(shù):

      密碼芯片或加密設(shè)備的載體形式已受到多種類型的分析與攻擊,特別是針對(duì)硬件電路的側(cè)信道攻擊(Side Channel Attack,SCA),目前已成為密碼算法硬件形式的主要威脅。所謂側(cè)信道攻擊是指利用電路工作過(guò)程中的各種側(cè)信道泄露信息,如:能耗、時(shí)間、故障、電磁輻射等([文獻(xiàn)1-6]),通過(guò)建立這些泄露信息與密碼算法關(guān)鍵信息(如密鑰)間的聯(lián)系,實(shí)現(xiàn)對(duì)秘密信息的提取。

      掩碼對(duì)抗方案是一種應(yīng)用廣泛的側(cè)信道對(duì)抗方法,掩碼對(duì)抗方案自提出以來(lái)([文獻(xiàn)7]),從一階對(duì)抗逐漸發(fā)展至高階對(duì)抗階段([文獻(xiàn)8-13]),安全性及通用性也不斷提高。最早的一階掩碼方案主要針對(duì)DES算法提出,之后出現(xiàn)的一階掩碼方案則大多以AES為防護(hù)目標(biāo),針對(duì)于不同的軟硬件平臺(tái),同時(shí)不斷優(yōu)化時(shí)間和空間耗費(fèi)。但這些對(duì)抗方案都只能對(duì)抗一階SCA攻擊,一階掩碼方案已不能滿足安全性要求,高階掩碼方案便逐漸發(fā)展起來(lái)。在追求更高安全性的同時(shí),高階掩碼方案也不斷朝著通用化的方向發(fā)展,主要在于設(shè)計(jì)通用化的S盒掩碼方案,保證可應(yīng)用于任何S盒設(shè)計(jì)且可抵抗任意階SCA攻擊,但是高階掩碼會(huì)很大程度上增加額外的開(kāi)銷,因此在資源受限的設(shè)備上,高階掩碼方案難以得到應(yīng)用。

      [文獻(xiàn)1]P.Kocher.Timing attacks on implementations of Diffie-Hellmann,RSA,DSS,and other systems.CRYPTO’96,LNCS 1109,pp.104-113,1996.

      [文獻(xiàn)2]Eli Biham,Adi Shamir.Differential Fault Analysis of Secret Key Cryptosystems.CRYPT0'97

      [文獻(xiàn)3]P.Kocher,J.Jaffe,and B.Jun.Differential Power Analysis[A].CRYPTO 1999[C],Berlin Heidelberg:Springer-Verlag,1999:388–397.

      [文獻(xiàn)4]Quisquater J.J,Samyde D.Electromagnetic analysis (EMA):Measures and countermeasures for smart cards.Cannes,France:ACM 2001

      [文獻(xiàn)5]E.Brier,C.Clavier,and F.Olivier.Correlation Power Analysis with a Leakage Model[A].CHES 2004[C],Berlin Heidelberg:Springer-Verlag,2004:16–29.

      [文獻(xiàn)6]B.Gierlichs,L.Batina,P.Tuyls,and B.Preneel.Mutual Information Analysis[A].CHES 2008[C],Berlin Heidelberg:Springer-Verlag,2008:426-442.

      [文獻(xiàn)7]S.Chari,C.S.Jutla,J.R.Rao,and P.Rohatgi.Towards Sound Approaches to Counteract Power Analysis Attacks[A].CRYPTO 1999[C],Berlin Heidelberg:Springer-Verlag,1999:398–412.

      [文獻(xiàn)8]Akkar,M.-L.,Giraud,C.:An Implementation of DES and AES,Secure against Some Attacks.In:Ko,c,C,.K.,Naccache,D.,Paar,C.(eds.)CHES 2001.LNCS,vol.2162,pp.309–318.Springer,Heidelberg(2001)

      [文獻(xiàn)9]Rivain,M.,Dottax,E.,Prouff,E.:Block ciphers implementations provably secure against second order side channel analysis.In:Nyberg,K.(ed.)FSE2008.LNCS,vol.5086,pp.127–143.Springer,Heidelberg(2008)

      [文獻(xiàn)10]Rivain,M.,Prouff,E.:Provably secure higher-order masking of AES.In:Mangard,S.,Standaert,F.-X.(eds.)CHES 2010.LNCS,vol.6225,pp.413–427.Springer,Heidelberg(2010)

      [文獻(xiàn)11]Carlet,C.,Goubin,L.,Prouff,E.,Quisquater,M.,Rivain,M.:Higher-order masking schemes for S-Boxes.In:Canteaut,A.(ed.)FSE 2012.LNCS,vol.7549,pp.366–384.Springer,Heidelberg(2012)

      [文獻(xiàn)12]Roy,A.,Vivek,S.:Analysis and improvement of the generic higher-order masking scheme of FSE 2012.In:Bertoni,G.,Coron,J.-S.(eds.)CHES 2013.LNCS,vol.8086,pp.417–434.Springer,Heidelberg(2013)

      [文獻(xiàn)13]Coron,J.-S.:Higher Order Masking of Look-Up Tables.In EUROCRYPT 2014,LNCS,vol 8441,2014,pp 441-458.Springer Heidelberg(2014)



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明以掩碼對(duì)抗方法這種具有通用性及可證明安全性的對(duì)抗方法為研究目標(biāo),提出一種輕量級(jí)任意階掩碼對(duì)抗方法,旨在使用更低資源開(kāi)銷的情況下,保證任意階掩碼防護(hù)方案安全性。

      本發(fā)明所采用的技術(shù)方案是:一種復(fù)雜度可變的任意階掩碼防護(hù)方法,其特征在于,以k’個(gè)長(zhǎng)度為2k比特的邏輯函數(shù)配置序列St和d個(gè)k比特輸入共享因子x1,x2,…,xd為輸入,得到d個(gè)k比特輸出共享因子y1,y2,…,yd;其中,St表示原始加密算法中S盒中第t個(gè)輸出比特對(duì)應(yīng)的邏輯函數(shù)配置序列,1≤t≤k’;輸入共享因子滿足x=x1⊕x2⊕…⊕xd,輸出共享因子滿足y=S(x)=y(tǒng)1⊕y2⊕…⊕yd;其具體實(shí)現(xiàn)包括以下步驟:

      步驟1:用整數(shù)t作為循環(huán)變量,初始值為1;

      步驟2:將St作為輸入進(jìn)行邏輯函數(shù)拆分,得到d個(gè)邏輯函數(shù)配置序列C1,C2,...,Cd;用整數(shù)i,k作為循環(huán)變量,初始值均為1;

      步驟3:將Ck和xi作為輸入進(jìn)行邏輯函數(shù)調(diào)整,得到邏輯函數(shù)配置序列C’k;將循環(huán)變量k增加1,即令k=k+1;若k≤n,重復(fù)執(zhí)行步驟3;

      步驟4:將步驟3中得到的d個(gè)邏輯函數(shù)配置序列C’1,C’2,...,C’d作為輸入進(jìn)行邏輯函數(shù)刷新,并替換原有的C1,C2,...,Cd;將循環(huán)變量i增加1,即令i=i+1;若i≤n-1,重復(fù)執(zhí)行步驟3和步驟4;

      步驟5:用整數(shù)j作為循環(huán)變量,初始值為1;

      步驟6:令yj的第k個(gè)比特等于邏輯函數(shù)配置序列Cj中第xd個(gè)比特,即令(yj)k=(Cj)xd;將循環(huán)變量j增加1,即令j=j(luò)+1;若j≤k’,重復(fù)執(zhí)行步驟6;

      步驟7:將循環(huán)變量t增加1,即令t=t+1;若t≤k,重復(fù)執(zhí)行步驟2-步驟6;

      步驟8:輸出y1,y2,…,yd

      作為優(yōu)選,步驟2中所述邏輯函數(shù)拆分,是以原始邏輯函數(shù)的配置序列St(為方便描述,在該步驟中記為C)為輸入,根據(jù)掩碼階數(shù)d拆分成d個(gè)相同長(zhǎng)度的邏輯函數(shù)配置序列,其中任意d-1個(gè)配置序列的異或都與原始邏輯函數(shù)配置序列獨(dú)立,全部d個(gè)配置序列的異或與C相等;其具體實(shí)現(xiàn)包括以下步驟:

      步驟2.1:生成一個(gè)長(zhǎng)度為2k比特的整數(shù)C1,令C1=C;用一個(gè)整數(shù)i作為循環(huán)變量,初始值為2;

      步驟2.2:生成一個(gè)長(zhǎng)度為2k比特的變量隨機(jī)整數(shù)r,令Ci=r;用C1和Ci的異或代替C1,即令C1=C1⊕Ci;將循環(huán)變量i增加1,即令i=i+1,若i≤d,重復(fù)執(zhí)行步驟2.2;

      步驟2.3:輸出C1,C2,...,Cd;其中

      C1=C⊕C2⊕…⊕Cd

      C1⊕C2⊕…⊕Cd=C。

      作為優(yōu)選,步驟3中所述邏輯函數(shù)調(diào)整,是以一個(gè)2k比特的邏輯函數(shù)配置序列Ck(為方便描述,在該步驟中記為C)和一個(gè)k比特共享因子xi(為方便描述,在該步驟中記為t)為輸入,根據(jù)t調(diào)整C中每比特的位置,得到新的邏輯函數(shù)配置序列C’k(為方便描述,在該步驟中記為C’),滿足C’中的任意比特(C’)u與C中第u⊕t比特(C)u⊕t相等,其中0≤u≤2k-1;其具體實(shí)現(xiàn)包括以下步驟:

      步驟3.1:生成一個(gè)長(zhǎng)度為2k比特的整數(shù)C’=0;用整數(shù)i作為循環(huán)變量,初始值為0;

      步驟3.2:令C’中的第i比特(C’)i=(C)u⊕t;將循環(huán)變量i增加1,即令i=i+1;若i≤2k,重復(fù)執(zhí)行步驟3.2;

      步驟3.3:輸出新的邏輯函數(shù)配置序列C’。

      作為優(yōu)選,步驟4中所述邏輯函數(shù)刷新,d個(gè)2k比特的邏輯函數(shù)配置序列C’1,C’2,...,C’d為算法的輸入,輸出新的邏輯函數(shù)配置序列C1,C2,...,Cd,tmp1,tmp2,...,tmpd-1表示d-1個(gè)2k比特的隨機(jī)邏輯函數(shù)配置序列;其具體實(shí)現(xiàn)包括以下步驟:

      步驟4.1:生成一個(gè)長(zhǎng)度為2k比特的整數(shù)C1,令C1=C’1;用整數(shù)i作為循環(huán)變量,初始值為2;

      步驟4.2:生成一個(gè)長(zhǎng)度為2k比特的隨機(jī)整數(shù)Ci;用C’1與Ci的異或代替C’1,即令C’1=C’1⊕Ci;將循環(huán)變量i增加1,即令i=i+1;若i≤d,重復(fù)執(zhí)行步驟4.2;

      步驟4.3,輸出C1,C2,...,Cd;其中d個(gè)輸入的異或與d個(gè)輸出的異或相等,并且每個(gè)輸出Ci都和對(duì)應(yīng)的輸入C’i獨(dú)立無(wú)關(guān),1≤i≤d。

      本發(fā)明的特點(diǎn)與優(yōu)勢(shì):

      (1)本發(fā)明提出了任意階掩碼防護(hù)方案,方案資源開(kāi)銷相對(duì)較低,并且方案的資源開(kāi)銷和運(yùn)行效率可以根據(jù)實(shí)際應(yīng)用環(huán)境進(jìn)行調(diào)整;

      (2)本發(fā)明可有效對(duì)抗任意階側(cè)信道攻擊,安全性高;

      (3)本發(fā)明實(shí)用性強(qiáng),實(shí)現(xiàn)簡(jiǎn)單,可應(yīng)用于不同的軟硬件載體中,可擴(kuò)展性強(qiáng)。

      附圖說(shuō)明

      圖1為本發(fā)明實(shí)施例的邏輯函數(shù)調(diào)整過(guò)程示意圖。

      圖2為本發(fā)明實(shí)施例的邏輯函數(shù)刷新過(guò)程示例圖。

      具體實(shí)施方式

      為了便于本領(lǐng)域普通技術(shù)人員理解和實(shí)施本發(fā)明,下面結(jié)合附圖及實(shí)施例對(duì)本發(fā)明作進(jìn)一步的詳細(xì)描述,應(yīng)當(dāng)理解,此處所描述的實(shí)施示例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。

      本發(fā)明提出一種輕量級(jí)任意階掩碼防護(hù)方案,稱為PFD方案(Polynomial Function Division Scheme),以有效對(duì)抗任意階側(cè)信道攻擊。

      本發(fā)明實(shí)施例重新構(gòu)造非線性運(yùn)算來(lái)替換原始加密算法中的非線性部件,包含邏輯函數(shù)拆分算法,邏輯函數(shù)調(diào)整算法,邏輯函數(shù)刷新算法以及完整的PFD方案。

      本發(fā)明實(shí)施例的加密算法的非線性部件S(x)可定義為:

      S:{0,1}k→{0,1}k'

      其中,輸入寬度為k,輸出寬度為k’,其原始輸入為x,原始輸出y,對(duì)于安全的掩碼方法要求將x拆分為相互獨(dú)立的d個(gè)共享因子,記為x1,x2,…,xd,且滿足x=x1⊕x2⊕…⊕xd。將y拆分成y1,y2,…,yd,且滿足y=y(tǒng)1⊕y2⊕…⊕yd。

      在整個(gè)PFD方案中,非線性部件S(x)由k’個(gè)邏輯函數(shù)配置序列S1,…,Sk’表示。每個(gè)邏輯函數(shù)配置序列Si(1≤i≤k’)是一個(gè)長(zhǎng)度為2k比特的整數(shù),該整數(shù)從低到高第j(0≤j≤2k-1)個(gè)比特記為(Si)j,它的值滿足公式(1)

      (Si)j=(S(j)>>(i-1))&1;

      其中>>表示右移運(yùn)算,&表示邏輯與。

      本發(fā)明實(shí)施例的邏輯函數(shù)拆分算法,主要用于將原有非線性部件的某個(gè)邏輯函數(shù)配置序列拆分成d個(gè)相互獨(dú)立的邏輯函數(shù)配置序列。其中任意d-1個(gè)的異或值與拆分前的配置序列相互獨(dú)立,d個(gè)配置序列的異或值與拆分前相等。

      所述的邏輯函數(shù)調(diào)整算法,主要用于將一個(gè)2k比特的邏輯函數(shù)配置序列C根據(jù)另一個(gè)k比特整數(shù)t進(jìn)行調(diào)整,得到新的邏輯函數(shù)配置序列C’,其中第u(0≤u≤2k-1)個(gè)比特滿足(C’)u=(C)u⊕t。

      所述的邏輯函數(shù)刷新算法,主要用于刷新d個(gè)邏輯函數(shù)配置序列,保證每個(gè)配置序列之間的獨(dú)立性,從而確保PFD方案的安全性。邏輯函數(shù)刷新算法d個(gè)輸入的異或與d個(gè)輸出相等,同時(shí)每個(gè)邏輯函數(shù)配置序列與刷新前的相互獨(dú)立。

      本發(fā)明實(shí)施例的完整PFD方案,主要用于輸入x1,x2,…,xn,輸出獨(dú)立隨機(jī)的y1,y2,…,yn。PFD方案首先將加密算法的非線性部件的邏輯函數(shù)配置序列進(jìn)行拆分,依次根據(jù)x1,x2,…,xn-1進(jìn)行邏輯函數(shù)調(diào)整,每次使用新的xi調(diào)整所有邏輯函數(shù)配置序列后,進(jìn)行一次刷新操作,最后通過(guò)xn查詢最終的邏輯函數(shù)配置序列,從而得出y1,y2,…,yn。

      本發(fā)明實(shí)施例所提出的PFD方案中具體的邏輯函數(shù)拆分算法,邏輯函數(shù)調(diào)整算法,邏輯函數(shù)刷新算法以及完整PFD方案,具體描述如下。

      (1)邏輯函數(shù)拆分算法

      邏輯函數(shù)拆分算法以邏輯函數(shù)的配置序列C為輸入,根據(jù)掩碼階數(shù)d拆分成d個(gè)相同長(zhǎng)度的邏輯函數(shù)配置序列,其中任意d-1個(gè)配置序列的異或都與原始邏輯函數(shù)配置序列獨(dú)立,全部d個(gè)配置序列的異或與C相等。邏輯函數(shù)拆分算法包括如下步驟:

      步驟1,生成一個(gè)長(zhǎng)度為2k比特的整數(shù)C1,令C1=C。用一個(gè)整數(shù)i作為循環(huán)變量,初始值為2;

      步驟2,生成一個(gè)長(zhǎng)度為2k比特的變量隨機(jī)整數(shù)r,令Ci=r。用C1和Ci的異或代替C1,即令C1=C1⊕Ci。將循環(huán)變量i增加1,即令i=i+1,若i≤d,重復(fù)執(zhí)行步驟2;

      步驟3,輸出C1,C2,...,Cd。

      邏輯函數(shù)拆分算法的d個(gè)輸出中C1滿足

      C1=C⊕C2⊕…⊕Cd;

      因此,d個(gè)輸出的異或滿足

      C1⊕C2⊕…⊕Cd=C。

      (2)邏輯函數(shù)調(diào)整算法;

      邏輯函數(shù)調(diào)整算法的過(guò)程如圖1所示。如圖1中所示,算法以一個(gè)2k比特的邏輯函數(shù)配置序列C和一個(gè)k比特共享因子t為輸入,根據(jù)t調(diào)整C中每比特的位置,得到新的邏輯函數(shù)配置序列C’,滿足C’中的任意比特(C’)u(0≤u≤2k-1)與C中第u⊕t比特(C)u⊕t相等。邏輯函數(shù)調(diào)整算法包含如下步驟:

      步驟1,生成一個(gè)長(zhǎng)度為2k比特的整數(shù)C’=0。用整數(shù)i作為循環(huán)變量,初始值為0;

      步驟2,令C’中的第i比特(C’)i=(C)u⊕t。將循環(huán)變量i增加1,即令i=i+1。若i≤2k,重復(fù)執(zhí)行步驟2;

      步驟3,輸出新的邏輯函數(shù)配置序列C’。

      (3)邏輯函數(shù)刷新算法;

      邏輯函數(shù)刷新算法的過(guò)程如圖2所示。在圖2中,d個(gè)2k比特的邏輯函數(shù)配置序列C1,C2,...,Cd為算法的輸入,輸出新的邏輯函數(shù)配置序列C’1,C’2,...,C’d,tmp1,tmp2,...,tmpd-1表示d-1個(gè)2k比特的隨機(jī)邏輯函數(shù)配置序列。邏輯函數(shù)刷新算法滿足d個(gè)輸入的異或與d個(gè)輸出的異或相等,并且每個(gè)輸出C’i(1≤i≤d)都和對(duì)應(yīng)的輸入Ci獨(dú)立無(wú)關(guān)。邏輯函數(shù)刷新算法包含如下步驟:

      步驟1,生成一個(gè)長(zhǎng)度為2k比特的整數(shù)C’1,令C’1=C1。用整數(shù)i作為循環(huán)變量,初始值為2;

      步驟2,生成一個(gè)長(zhǎng)度為2k比特的隨機(jī)整數(shù)C’i。用C’1與C’i的異或代替C’1,即令C’1=C’1⊕C’i。將循環(huán)變量i增加1,即令i=i+1。若i≤d,重復(fù)執(zhí)行步驟2;

      步驟3,輸出C’1,C’2,...,C’d。

      (4)PFD方案;

      PFD方案以k’個(gè)長(zhǎng)度為2k比特的邏輯函數(shù)配置序列St(1≤t≤k’)和d個(gè)k比特輸入共享因子x1,x2,…,xd為輸入,得到d個(gè)k比特輸出共享因子y1,y2,…,yd。其中,St(1≤t≤k’)表示原始加密算法中S盒中第t個(gè)輸出比特對(duì)應(yīng)的邏輯函數(shù)配置序列,輸入共享因子滿足x=x1⊕x2⊕…⊕xd,輸出共享因子滿足y=S(x)=y(tǒng)1⊕y2⊕…⊕yd。PFD方案包含如下步驟:

      步驟1,用整數(shù)t作為循環(huán)變量,初始值為1;

      步驟2,將St作為輸入執(zhí)行邏輯函數(shù)拆分算法,得到d個(gè)邏輯函數(shù)配置序列C1,C2,...,Cd。用整數(shù)i,k作為循環(huán)變量,初始值均為1;

      步驟3,將Ck和xi作為輸入執(zhí)行邏輯函數(shù)調(diào)整算法,得到邏輯函數(shù)配置序列C’k。將循環(huán)變量k增加1,即令k=k+1。若k≤n,重復(fù)執(zhí)行步驟3;

      步驟4,將步驟3中得到的d個(gè)邏輯函數(shù)配置序列C’1,C’2,...,C’d作為輸入執(zhí)行邏輯函數(shù)刷新算法,并替換原有的C1,C2,...,Cd。將循環(huán)變量i增加1,即令i=i+1。若i≤n-1,重復(fù)執(zhí)行步驟3,4;

      步驟5,用整數(shù)j作為循環(huán)變量,初始值為1;

      步驟6,令yj的第k個(gè)比特等于邏輯函數(shù)配置序列Cj中第xd個(gè)比特,即令(yj)k=(Cj)xd。將循環(huán)變量j增加1,即令j=j(luò)+1。若j≤k’,重復(fù)執(zhí)行步驟6;

      步驟7,將循環(huán)變量t增加1,即令t=t+1。若t≤k,重復(fù)執(zhí)行步驟2,3,4,5,6;

      步驟8,輸出y1,y2,…,yd。

      應(yīng)當(dāng)理解的是,本說(shuō)明書未詳細(xì)闡述的部分均屬于現(xiàn)有技術(shù)。

      應(yīng)當(dāng)理解的是,上述針對(duì)較佳實(shí)施例的描述較為詳細(xì),并不能因此而認(rèn)為是對(duì)本發(fā)明專利保護(hù)范圍的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明權(quán)利要求所保護(hù)的范圍情況下,還可以做出替換或變形,均落入本發(fā)明的保護(hù)范圍之內(nèi),本發(fā)明的請(qǐng)求保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。

      當(dāng)前第1頁(yè)1 2 3 
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1