买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:江苏大学
摘要:本发明公开了一种安全轻量的McEliece公钥掩码加密方法,属于信息安全技术领域。该方法的设计分为两部分,即构造密钥体积小的Quasi‑Dyadic MDPC码McEliece密码算法和设计抗功耗分析的掩码防护方案。本发明构造Quasi‑Dyadic MDPC码应用于McEliece密码算法中,可以有效减少密钥体积。本发明还采用掩码技术设计防护方案,使McEliece密码算法抗功耗分析。同时,本发明还弥补了ISW可证明安全框架的核心算法,生成随机数方法产生的功耗容易同一时间泄漏a和b两个份额的安全问题。本发明设计的具有高安全性和高效性的McEliece型公钥密码算法更加适用于资源有限的嵌入式环境。
主权项:一种安全轻量的McEliece公钥掩码加密方法,其特征在于,包括构造密钥体积小的Quasi‑Dyadic MDPC码McEliece密码算法、设计抗功耗分析的掩码防护方案;所述构造密钥体积小的Quasi‑Dyadic MDPC码McEliece密码算法的过程包括如下步骤:步骤1,构造Quasi‑Dyadic MDPC码:在有限域上,设计中密度校验矩阵H;步骤2,利用步骤1生成的中密度校验矩阵H,生成公钥私钥对:由通信的一方生成密钥,Quasi‑Dyadic MDPC纠错码参数[n,k,t],n表示码字长度,k表示线性分组码的每组信息组长度,既是维度,t表示码能纠错的位数,将公钥设计为准并矢矩阵;将私钥定义为:n阶置换矩阵P,k阶可逆矩阵S,r行n列校验矩阵H;步骤3,设计加密、解密部分:通信的另一方要发送消息给对方,设m为k比特明文,随机生成满足we≤t的n比特纠错矢量e,w*表示*的汉明重量,计算密文c=mG′+e,将密文c发送给对方,G′是随机生成的n阶准并矢矩阵T的准并矢子矩阵;对方收到密文c后,进行解密,首先在密文c的右边乘以私钥转置矩阵PT,即c′=cPT,然后通过Quasi‑Dyadic MDPC码的快速译码算法得m*S的结果,最后右乘以私钥S的逆矩阵S‑1恢复明文;所述设计抗功耗分析的掩码防护方案包括如下步骤:步骤4,域相乘非线性运算的掩码方法初始化:1假设a和b是两个敏感数据,令a=gk,b=hk,g*和h*为域F2的线性关系,k为域的随机数;2ai=gki,bi=hki,i∈[0:d],其中ai,bi和ki分别是a,b和k随机拆分成的d+1个份额;步骤5,根据定义1和定义2,引入随机数变量k和vi′,j,推导出公式其中:vi,j表示随机数;定义1为f映射:,x、y表示敏感数据a、b;定义2为步骤6,由定义3和定义4推导步骤5中的表达式得到本发明掩码方案随机数生成表达式其中:定义3为wx=hx·gxw映射:;定义4为步骤7,生成d+1个随机数,保护a和b两个敏感数据的d+1个份额域相乘运算。
全文数据:一种安全轻量的McEIiece公钥掩码加密方法技术领域[0001]本发明涉及信息安全技术领域中可以抵抗量子计算攻击的McEliece非对称密码技术。特别涉及一种考虑侧信道安全的基于Quasi-DyadicMDPC码McEliece公钥掩码加密算法实现技术,采用该方法能够抵抗功耗分析。背景技术[0002]量子计算机的迅猛发展,对基于数论难题的密码算法构成严重的威胁,尤其是Shor量子算法的提出,使研究者更加相信RSA,ECC等基于数论困难问题的常用密码算法将不再安全。[0003]基于纠错码的密码方案可以实现抗量子计算攻击,然而,最初的基于Goppa码的McEliece密码算法密钥体积较大,不适用于资源有限的嵌入式系统中。因此,出现基于不同纠错码的McEliece型公钥密码算法,以减少密钥体积。研究者相继提出基于LDPC,MDPC,QC-MDPC等纠错码的McEliece算法,但是密码算法应用时存在侧信道攻击的挑战,特别是功耗分析的威胁。[0004]功耗分析利用密码设备执行加解密操作过程中所处理的数据与能量消耗间的关联进行攻击。随着侧信道攻击技术的研究不断深入,国内外关于防御方面的研究也从没有间断过,其中主流的防御方法包括掩码技术和隐藏技术,掩码防护由于其成本相对低廉,且易于实现,而受到研究者的广泛关注。[0005]2003年,Ishai等人首先提出抗高阶差分功耗分析的掩码方案一Ishai-Sahai-Wagner可证明安全框架。但是它存在安全问题而难以在实际环境中应用,即核心算法之一生成随机数方法产生的功耗信息容易同一时间泄漏敏感数据a和b的两个份额。发明内容[0006]本发明的目的在于,提供一种安全轻量的McEliece公钥掩码加密方法,以解决McEliece算法存在密钥体较大、不能抵抗功耗分析的问题。[0007]为了实现上述目的,本发明采用如下的技术解决方案:一种安全轻量的McEliece公钥掩码加密方法,包括密钥体积小的Quasi-DyadicMDPC码McEliece密码算法的构造和抗功耗分析的掩码防护方案的设计两大部分:[0008]一、所述密钥体积小的Quasi-DyadicMDPC码McEliece密码算法的构造过程包括如下步骤:[0009]步骤1,构造Quasi-DyadicMDPC码:在有限域Fr上,设计中密度校验矩阵的形式:[0010]Cl[0011]其中Hn是并矢矩阵,设m=0,l,…,no-l,并矢矩阵化表达形式:[0012]2[0013]存储器只需要存储并矢矩阵Hn的首行,即种子随机矢量hn即可。[0014]步骤2,利用步骤1生成的校验矩阵H,生成公钥私钥对:由通信的一方生成密钥,Quasi-DyadicMDPC纠错码参数[n,k,t],n表示码字长度,k表示线性分组码的每组信息组长度,即是维度,t表示码能纠错的位数,将公钥设计为准并矢矩阵的方法如下:[0015]1生成随机η阶准并矢矩阵,计算η行k列矩阵i,使得XHP=T,H表示校验矩阵,P表示随机生成的置换矩阵;[0016]2随机生成X的K阶可逆子矩阵S;[0017]3计算公钥G'=SHPA'即是T的准并矢子矩阵,只需存储G'首行元素,主要是结合表达式2并矢矩阵的生成方法,得到一个完整的公钥矩阵G'。[0018]设计的公钥矩阵在实际使用时只需要存储所有并矢矩阵的首行,即种子随机矢量hn即可。[0019]私钥定义为:η阶置换矩阵P,k阶可逆矩阵S,r行η列校验矩阵H。[0020]步骤3,设计加密、解密部分:通信的另一方要发送消息给对方,设m为k比特明文,随机生成满足we,)=wx㊉®rWX㊉W少[0035]4[0036]步骤4,用表1所示的原理生成的d+1个随机数,保护a和b两个敏感数据d+1个份额的域相乘运算。[0037]表1掩码方案伪代码实现[0040]表1所示的原理具体为:随机数组V的下标为i和j,Vui〈j是由随机数生成器产[0038][0039]生,VUij是由设计的生成随机数公式产生;利用d+1个随机数分别进行异或运算保护a和b的d+Ι个份额域相乘;本发明使用的随机数都是相互独立。[0041]本发明的有益效果:[0042]1、本发明所述安全轻量的基于Quasi-DyadicMDPC码McEliece型公钥密码方案,可以抵御量子计算攻击,通过将公钥设计成准并矢码以减少密钥体积,适用于资源有限的嵌入式设备。[0043]2、本发明所述安全轻量的基于Quasi-DyadicMDPC码McEliece型公钥密码方案,通过设计掩码方案改进无保护的McEliece算法,使其应用在嵌入式设备中可以抵抗功耗分析。附图说明[0044]图1是本发明方法实施的McEliece算法加密处理流程示意图。具体实施方式[0045]以下是本发明的具体实施例,并结合附图对本发明的技术方案作进一步清楚、完整地描述。准并矢纠错码C的码长η=128,维度k=64,余维r=64,码的纠错能力t=49。[0046]一种安全轻量基于Quasi-DyadicMDPC码的McEliece型公钥密码方法,包括密钥体积小的Quasi-DyadicMDPC码McEliece密码算法的构造和抗能量分析攻击的掩码防护方法的设计两大部分:[0047]一、所述密钥体积小的Quasi-DyadicMDPC码McEliece密码算法的构造过程包括如下步骤:[0048]步骤1,构造Quasi-DyadicMDPC码:在有限域F28上,设计中密度校验矩阵的形式,本实施例中no=2:[0049]H=[HoIHi]I[0050]其中Ho和Hi是并矢矩阵,设并矢矩阵出和出表达形式:[0051][0052]Ho和出的元素是ho和h的元素,按照发明内容所述并矢矩阵的构造规则运算。[0053]步骤2,利用步骤1生成的校验矩阵H,生成公钥私钥对:由通信的一方生成密钥、Quasi-DyadicMDPC纠错码参数[n,k,t]=[128,64,49],n表示码字长度,k表示线性分组码的每组信息组长度,即是维度,t表示码能纠错的位数,将公钥设计为准并矢矩阵的方法如下:[0054]1生成随机η=128阶的准并矢矩阵,计算128行64列的矩阵,使得XHP=T,H表示校验矩阵,P表示随机生成的置换矩阵;[0055]2随机生成X的64阶可逆子矩阵S;[0056]3计算G'=SHPA'即是T的准并矢子矩阵,只需存储G'首行元素,结合表达式2并矢矩阵的生成方法,得到一个完整的公钥矩阵[0057]设计的公钥矩阵在实际使用时只需要存储所有并矢矩阵的首行,即种子随机矢量ho和hi即可。[0058]表1基于准并矢码的McEIiece型公钥密码方案密钥体积分析[0059][0060]由表1得出,本发明所设计的QD-MDPC码与现有的QC-LDPC码和QC-GRS码相比,进一步缩小了公钥体积。[0061]私钥定义为:n=128阶置换矩阵P,k=64阶可逆矩阵S,64行128列校验矩阵H。[0062]步骤3,设计加密、解密部分:通信的另一方要发送消息给对方,设m为k=64比特的明文,随机生成满足we彡49的η=128比特纠错矢量e,w⑷表示*的汉明重量,计算c=mG'+e,将密文c发送给对方。[0063]对方收到密文c后,进行解密,首先在密文c的右边乘以私钥转置矩阵PT,S卩?=CPT,将c'作为快速译码算法的输入,然后通过Quasi-DyadicMDPC码的快速译码算法得m*S的结果,最后右乘以私钥S的逆矩阵T1恢复明文。[0064]二、所述抗功耗分析的掩码防护方案的设计过程包括如下步骤:[0065]McEliece型公钥密码算法可以分为线性运算和非线性运算。异或线性运算硬件实现时消耗能量比较均匀,但是域相乘非线性运算硬件实现能量消耗比较大,容易产生侧信道信息的泄漏。本发明改进Ishai-Sahai-Wagner可证明安全框架,解决其核心算法之一生成随机数的公式:®"A®V,,产生的功耗信息容易同一时间泄漏dPb两个份额的安全问题,进一步设计域相乘非线性运算的掩码方案。包括如下步骤:[0066]步骤1,域相乘非线性运算的掩码方案初始化:[0067]⑴假设a=87和b=13是两个敏感数据,k=21,令87=g21,13=h21,g*和h*为域F2的线性关系,k为域的随机数。[0068]2ai=gki,bi=hki,ie[0:2],其中ai,bi和ki分别是a,b和k随机拆分成3个份额。例如:=«V®AΦ%ώ[0069]步骤2,根据定义1和定义2,引入随机数变量k和V1,ρ推导出公式⑶:[0070]定义I.,x、y表示敏感数据a、b。[0071]定义2^[0072]C3[0073]Vi,j表示随机数。[0074]步骤3,由定义3和定义4推导公式3得到本发明掩码方案随机数生成表达式,即⑷:[0075]定义3wX=hX·gXw映射:41¾¾[0076]定义4:矣_0=.WA·φJ庄r©.WXΦWJ[0077]4[0078]步骤4,用表2所示的原理生成的3个随机数,保护a和b两个敏感数据3个份额的域相乘运算。[0079]表2掩码方案伪代码实现[0080][0081][0082]表2所示的原理具体为:随机数组V的下标为i和j,Vlui〈j是由随机数生成器产生,ij是由设计的生成随机数公式产生;利用d+Ι个随机数分别进行异或运算保护a和b的d+Ι个份额域相乘;本发明使用的随机数都是相互独立。本发明设计的McEliece掩码加密方案的加密过程如图1所示。[0083]上面所述的实施例仅仅是对本发明的实施方式进行描述,并非对本发明的构思和范围进行限定,在不脱离本发明设计构思的前提下,本领域中普通工程技术人员对本发明的技术方案做出的各种变型和改进,均应落入本发明的保护范围。
权利要求:1.一种安全轻量的McEliece公钥掩码加密方法,其特征在于,包括构造密钥体积小的Quasi-DyadicMDPC码McEliece密码算法、设计抗功耗分析的掩码防护方案;所述构造密钥体积小的Quasi-DyadicMDPC码McEliece密码算法的过程包括如下步骤:步骤1,构造Quasi-DyadiCMDPC码:在有限域F,上,设计中密度校验矩阵η;步骤2,利用步骤1生成的中密度校验矩阵Η,生成公钥私钥对:由通信的一方生成密钥,Quasi-DyadicMDPC纠错码参数[n,k,t],η表示码字长度,k表示线性分组码的每组信息组长度,既是维度,t表示码能纠错的位数,将公钥设计为准并矢矩阵;将私钥定义为:n阶置换矩阵P,k阶可逆矩阵S,r行η列校验矩阵H;步骤3,设计加密、解密部分:通信的另一方要发送消息给对方,设m为k比特明文,随机生成满足we彡t的η比特纠错矢量e,w*表示*的汉明重量,计算密文C=HiGie,将密文c发送给对方,G'是随机生成的η阶准并矢矩阵T的准并矢子矩阵;对方收到密文c后,进行解密,首先在密文c的右边乘以私钥转置矩阵Pt,即^=CPt,然后通过Quasi-DyadicMDPC码的快速译码算法得m*S的结果,最后右乘以私钥S的逆矩阵T1恢复明文;所述设计抗功耗分析的掩码防护方案包括如下步骤:步骤4,域相乘非线性运算的掩码方法初始化:⑴假设a和b是两个敏感数据,令a=gk,b=hk,g*和h*为域F2的线性关系,k为域ζ»的随机数;2ai=gki,bi=hki,ie[〇:d],其中ai,bi和ki分别是a,b和k随机拆分成的d+1个份额;步骤5,根据定义1和定义2,引入随机数变量推导出公式其中:表示随机数;定义1为.表示敏感数据a、b;步骤6,由定义3和定义4推导步骤5中的表达式#到本发明掩码方案随机数生成表达式''其中:步骤7,生成d+1个随机数,保护a和b两个敏感数据的d+1个份额域相乘运算。2.根据权利要求1所述的一种安全轻量的McEliece公钥掩码加密方法,其特征在于,所述中密度校验矩阵的表达式为:并矢矩阵化表达形式:3.根据权利要求2所述的一种安全轻量的McEliece公钥掩码加密方法,其特征在于,将公钥设计为准并矢矩阵,具体方法如下:1生成随机η阶准并矢矩阵使得ΧΗΡ=Τ,Η表示校验矩阵,P表示随机生成的置换矩阵;2随机生成X的K阶可逆子矩阵S;3计算公钥G'=SHPA'即是T的准并矢子矩阵,只需存储G'首行元素,结合校验矩阵中并矢矩阵的生成方法,得到一个完整的公钥矩阵4.根据权利要求2和3所述的一种安全轻量的McEliece公钥掩码加密方法,其特征在于,所设计的公钥矩阵在实际使用时只需要存储所有并矢矩阵的首行,即种子随机矢量hn即可。5.根据权利要求1所述的一种安全轻量的McEliece公钥掩码加密方法,其特征在于,所述步骤7的掩码方案原理具体为:随机数组V的下标为i和j,Vlui〈j是由随机数生成器产生,ij是由设计的生成随机数公式产生;利用d+Ι个随机数分别进行异或运算保护a和b的d+Ι个份额域相乘;本发明使用的随机数都是相互独立。6.根据权利要求2所述的一种安全轻量的McEliece公钥掩码加密方法,其特征在于,所述no取值为2,此时设置出和出的值为:7.根据权利要求3所述的一种安全轻量的McEliece公钥掩码加密方法,其特征在于,所述X设为128行64列矩阵,S设为64阶矩阵。
百度查询: 江苏大学 一种安全轻量的McEliece公钥掩码加密方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。