本发明专利技术公开了一种安全轻量的McEliece公钥掩码加密方法,属于信息安全技术领域。该方法的设计分为两部分,即构造密钥体积小的Quasi‑Dyadic MDPC码McEliece密码算法和设计抗功耗分析的掩码防护方案。本发明专利技术构造Quasi‑Dyadic MDPC码应用于McEliece密码算法中,可以有效减少密钥体积。本发明专利技术还采用掩码技术设计防护方案,使McEliece密码算法抗功耗分析。同时,本发明专利技术还弥补了ISW可证明安全框架的核心算法,生成随机数方法产生的功耗容易同一时间泄漏a和b两个份额的安全问题。本发明专利技术设计的具有高安全性和高效性的McEliece型公钥密码算法更加适用于资源有限的嵌入式环境。
【技术实现步骤摘要】
一种安全轻量的McEliece公钥掩码加密方法
本专利技术涉及信息安全
中可以抵抗量子计算攻击的McEliece非对称密码技术。特别涉及一种考虑侧信道安全的基于Quasi-DyadicMDPC码McEliece公钥掩码加密算法实现技术,采用该方法能够抵抗功耗分析。
技术介绍
量子计算机的迅猛发展,对基于数论难题的密码算法构成严重的威胁,尤其是Shor量子算法的提出,使研究者更加相信RSA,ECC等基于数论困难问题的常用密码算法将不再安全。基于纠错码的密码方案可以实现抗量子计算攻击,然而,最初的基于Goppa码的McEliece密码算法密钥体积较大,不适用于资源有限的嵌入式系统中。因此,出现基于不同纠错码的McEliece型公钥密码算法,以减少密钥体积。研究者相继提出基于LDPC,MDPC,QC-MDPC等纠错码的McEliece算法,但是密码算法应用时存在侧信道攻击的挑战,特别是功耗分析的威胁。功耗分析利用密码设备执行加解密操作过程中所处理的数据与能量消耗间的关联进行攻击。随着侧信道攻击技术的研究不断深入,国内外关于防御方面的研究也从没有间断过,其中主流的防御方法包括掩码技术和隐藏技术,掩码防护由于其成本相对低廉,且易于实现,而受到研究者的广泛关注。2003年,Ishai等人首先提出抗高阶差分功耗分析的掩码方案—Ishai-Sahai-Wagner可证明安全框架。但是它存在安全问题而难以在实际环境中应用,即核心算法之一生成随机数方法产生的功耗信息容易同一时间泄漏敏感数据a和b的两个份额。
技术实现思路
本专利技术的目的在于,提供一种安全轻量的McEliece公钥掩码加密方法,以解决McEliece算法存在密钥体较大、不能抵抗功耗分析的问题。为了实现上述目的,本专利技术采用如下的技术解决方案:一种安全轻量的McEliece公钥掩码加密方法,包括密钥体积小的Quasi-DyadicMDPC码McEliece密码算法的构造和抗功耗分析的掩码防护方案的设计两大部分:一、所述密钥体积小的Quasi-DyadicMDPC码McEliece密码算法的构造过程包括如下步骤:步骤1,构造Quasi-DyadicMDPC码:在有限域上,设计中密度校验矩阵的形式:其中Hn是并矢矩阵,设n=0,1,…,n0-1,并矢矩阵Hn表达形式:存储器只需要存储并矢矩阵Hn的首行,即种子随机矢量hn即可。步骤2,利用步骤1生成的校验矩阵H,生成公钥/私钥对:由通信的一方生成密钥,Quasi-DyadicMDPC纠错码参数[n,k,t],n表示码字长度,k表示线性分组码的每组信息组长度,即是维度,t表示码能纠错的位数,将公钥设计为准并矢矩阵的方法如下:1)生成随机n阶准并矢矩阵计算n行k列矩阵使得XHP=T,H表示校验矩阵,P表示随机生成的置换矩阵;2)随机生成X的K阶可逆子矩阵S;3)计算公钥G′=SHP,G′即是T的准并矢子矩阵,只需存储G′首行元素,主要是结合表达式(2)并矢矩阵的生成方法,得到一个完整的公钥矩阵G′。设计的公钥矩阵在实际使用时只需要存储所有并矢矩阵的首行,即种子随机矢量hn即可。私钥定义为:n阶置换矩阵P,k阶可逆矩阵S,r行n列校验矩阵H。步骤3,设计加密、解密部分:通信的另一方要发送消息给对方,设m为k比特明文,随机生成满足w(e)≤t的n比特纠错矢量e,w(*)表示*的汉明重量,计算密文c=mG′+e,将密文c发送给对方。对方收到密文c后,进行解密,首先在密文c的右边乘以私钥转置矩阵PT,即c′=cPT,将c′作为快速译码算法的输入,然后通过Quasi-DyadicMDPC码的快速译码算法得m*S的结果,最后右乘以私钥S的逆矩阵S-1恢复明文。二、所述抗功耗分析的掩码防护方案的设计过程包括如下步骤:McEliece型公钥密码算法分为线性运算和非线性运算。异或线性运算硬件实现时消耗能量比较均匀,但是域相乘非线性运算硬件实现能量消耗比较大,容易产生侧信道信息的泄漏。本专利技术改进Ishai-Sahai-Wagner可证明安全框架,解决其核心算法之一生成随机数的公式:产生的功耗信息容易同一时间泄漏a和b两个份额的安全问题,进一步设计域相乘非线性运算的掩码方案。包括如下步骤:步骤1,域相乘非线性运算的掩码方案初始化:(1)假设a和b是两个敏感数据,令a=g(k),b=h(k),g(*)和h(*)为域F2的线性关系,k为域的随机数;(2)ai=g(ki),bi=h(ki),i∈[0:d],其中ai,bi和ki分别是a,b和k随机拆分成的d+1个份额子。例如:步骤2,根据定义1和定义2,引入随机数变量k和v′i,j,推导出公式(3):定义1(f映射:),x、y表示敏感数据a、b。定义2vi,j表示随机数。步骤3,由定义3和定义4推导公式(3)得到本专利技术掩码方案随机数生成表达式,即(4):定义3w(x)=h(x)·g(x)(w映射:)定义4步骤4,用表1所示的原理生成的d+1个随机数,保护a和b两个敏感数据d+1个份额的域相乘运算。表1掩码方案伪代码实现表1所示的原理具体为:随机数组v的下标为i和j,vi,j(i<j)是由随机数生成器产生,vi,j(i>j)是由设计的生成随机数公式产生;利用d+1个随机数vi,j分别进行异或运算保护a和b的d+1个份额域相乘;本专利技术使用的随机数都是相互独立。本专利技术的有益效果:1、本专利技术所述安全轻量的基于Quasi-DyadicMDPC码McEliece型公钥密码方案,可以抵御量子计算攻击,通过将公钥设计成准并矢码以减少密钥体积,适用于资源有限的嵌入式设备。2、本专利技术所述安全轻量的基于Quasi-DyadicMDPC码McEliece型公钥密码方案,通过设计掩码方案改进无保护的McEliece算法,使其应用在嵌入式设备中可以抵抗功耗分析。附图说明图1是本专利技术方法实施的McEliece算法加密处理流程示意图。具体实施方式以下是本专利技术的具体实施例,并结合附图对本专利技术的技术方案作进一步清楚、完整地描述。准并矢纠错码C的码长n=128,维度k=64,余维r=64,码的纠错能力t=49。一种安全轻量基于Quasi-DyadicMDPC码的McEliece型公钥密码方法,包括密钥体积小的Quasi-DyadicMDPC码McEliece密码算法的构造和抗能量分析攻击的掩码防护方法的设计两大部分:一、所述密钥体积小的Quasi-DyadicMDPC码McEliece密码算法的构造过程包括如下步骤:步骤1,构造Quasi-DyadicMDPC码:在有限域上,设计中密度校验矩阵的形式,本实施例中n0=2:H=[H0|H1](1)其中H0和H1是并矢矩阵,设并矢矩阵H0和H1表达形式:H0和H1的元素是h0和h1的元素,按照
技术实现思路
所述并矢矩阵的构造规则运算。步骤2,利用步骤1生成的校验矩阵H,生成公钥/私钥对:由通信的一方生成密钥、Quasi-DyadicMDPC纠错码参数[n,k,t]=[128,64,49],n表示码字长度,k表示线性分组码的每组信息组长度,即是维度,t表示码能纠错的位数,将公钥设计为准并矢矩阵的方法如下:1)生成随机n=128阶的准并矢矩阵计算128行64列的矩阵使得XHP=本文档来自技高网...
【技术保护点】
一种安全轻量的McEliece公钥掩码加密方法,其特征在于,包括构造密钥体积小的Quasi‑Dyadic MDPC码McEliece密码算法、设计抗功耗分析的掩码防护方案;所述构造密钥体积小的Quasi‑Dyadic MDPC码McEliece密码算法的过程包括如下步骤:步骤1,构造Quasi‑Dyadic MDPC码:在有限域
【技术特征摘要】
1.一种安全轻量的McEliece公钥掩码加密方法,其特征在于,包括构造密钥体积小的Quasi-DyadicMDPC码McEliece密码算法、设计抗功耗分析的掩码防护方案;所述构造密钥体积小的Quasi-DyadicMDPC码McEliece密码算法的过程包括如下步骤:步骤1,构造Quasi-DyadicMDPC码:在有限域上,设计中密度校验矩阵H;步骤2,利用步骤1生成的中密度校验矩阵H,生成公钥/私钥对:由通信的一方生成密钥,Quasi-DyadicMDPC纠错码参数[n,k,t],n表示码字长度,k表示线性分组码的每组信息组长度,既是维度,t表示码能纠错的位数,将公钥设计为准并矢矩阵;将私钥定义为:n阶置换矩阵P,k阶可逆矩阵S,r行n列校验矩阵H;步骤3,设计加密、解密部分:通信的另一方要发送消息给对方,设m为k比特明文,随机生成满足w(e)≤t的n比特纠错矢量e,w(*)表示*的汉明重量,计算密文c=mG′+e,将密文c发送给对方,G′是随机生成的n阶准并矢矩阵T的准并矢子矩阵;对方收到密文c后,进行解密,首先在密文c的右边乘以私钥转置矩阵PT,即c′=cPT,然后通过Quasi-DyadicMDPC码的快速译码算法得m*S的结果,最后右乘以私钥S的逆矩阵S-1恢复明文;所述设计抗功耗分析的掩码防护方案包括如下步骤:步骤4,域相乘非线性运算的掩码方法初始化:(1)假设a和b是两个敏感数据,令a=g(k),b=h(k),g(*)和h(*)为域F2的线性关系,k为域的随机数;(2)ai=g(ki),bi=h(ki),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为步...
【专利技术属性】
技术研发人员:韩牟,王运文,马世典,冯晓林,
申请(专利权)人:江苏大学,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。