一种基于格的加密方法技术

技术编号:22597428 阅读:128 留言:0更新日期:2019-11-20 12:23
本发明专利技术公开了一种基于格的加密方法,其步骤包括:1)生成私钥S,公钥为(B,A);2)发送方利用接收方公钥计算C

A lattice based encryption method

The invention discloses a lattice based encryption method, the steps of which include: 1) generating the private key s, the public key is (B, a); 2) the sender uses the public key of the receiver to calculate C

【技术实现步骤摘要】
一种基于格的加密方法
本专利技术属于信息安全
,具体涉及一种基于格的加密方法。
技术介绍
随着Shor算法的提出,大数分解和离散对数问题在多项式时间内可以用量子计算机解决。因此,基于经典数论难题的公钥加密体制在量子计算机面前毫无安全性可言。许多国家和地区开始投入巨大的人力物力来研制抗量子的密码算法以替代现有公钥算法,其中最有影响力的是美国标准与技术局发起的后量子算法征集项目。该项目得到了国际上广泛的关注。作为基于数论难题的公钥密码的替代,基于格的密码被广泛认为是最有潜力的后量子密码之一。目前量子计算机尚未能对格密码造成威胁。特别是,格难题往往具有最难情形困难性保证,目前这是其他后量子密码所不具有的良好性质。基于格设计的公钥加密算法所采用的底层困难问题一般为LWE问题及其在环或模上的变种。格加密往往采用类ElGamal结构。以环LWE(RLWE)版本为例,其结构一般如下:密钥生成:按照某种高度集中的分布抽取短多项式s,e,计算公钥(a,b=as+e),私钥s。加密:按照某种高度集中的分布抽取短多项式r,e1,e2,计算密文c1=ar+e1,c2=Encode(m)+(br+e2),其中Encode(m)为消息m的某种编码。解密:计算Decode(c2-c1s)来恢复消息,其中Decode为解码函数。其中,对消息m最常见的编码是即将消息隐藏在密文c2的高比特位。
技术实现思路
本专利技术的目的在于提供一种基于格的加密方法,其底层困难问题是模LWE(MLWE)问题。本专利技术涉及到剩余类环Zq,当q为正偶数时,选取作为Zq的代表元;当q为正奇数时,选取作为Zq的代表元。对于Zq中的任意元素x,和给定的非零正整数d,由整数环上的带余除法,可以得到x的表示如下:x=d·quo(x)+rem(x)其中quo(x)为x除以d的商,rem(x)为相应的余数且满足-d/2<=rem(x)<d/2。给定整系数多项式f(x)=a0+a1x+a2x2+…+ajxj,对每个整系数ai对d做如上带余除法,即令ai=d·quo(ai)+rem(ai),则称多项式quo(a0)+quo(a1)x+quo(a2)x2+…+quo(aj)xj为f(x)关于d的商多项式,多项式rem(a0)+rem(a1)x+rem(a2)x2+…+rem(aj)xj为f(x)关于d的余数多项式。本专利技术的公钥加密体制包括密钥生成,加密和解密三个算法。一.密钥生成:选取正整数p、q、m、n、k和d,其中1<p<q且p与q互素,d<q;选取整系数多项式F(x),并记商环Rq=Zq[x]/F(x),其中Zq[x]为剩余类环Zq上的多项式环,类似地,记商环Rp=Zp[x]/F(x);选取环Rq上的分布χ,χ′,一般选取离散高斯分布或中心二项分布等高度集中的分布,即按该分布选取Rq中的多项式,将以很大的概率,该多项式所有系数的绝对值都比较小;选取中的任意可逆矩阵D,并记其在中的逆为D-1,可以取D为单位阵或其它对角阵等具有简单表示的矩阵,其中表示Rp上的矩阵环。将上述选取的p、q、m、n、k、d、Rq、χ、χ′和D等作为公共参数公开;并按如下步骤生成公私钥对:步骤1:生成矩阵步骤2:生成秘密方阵方阵S′的各分量从环Rq上的分布χ中抽取。步骤3:生成错误矩阵矩阵E0的各分量从环Rq上的分布χ′中抽取。步骤4:计算私钥步骤5:计算步骤6:最终生成的私钥为S,公钥为(B,A)。二.加密算法,包含以下步骤:步骤1:输入消息公钥步骤2:发送方生成随机矩阵矩阵V的各分量从环Rq上的分布χ中抽取。步骤3:发送方生成错误矩阵和矩阵E1和E2各分量从环Rq上的分布χ′中抽取。步骤4:发送方利用接收方的公钥的一部分A,计算矩阵C0将用于生成密文的第一部分。步骤5:发送方利用接收方的公钥的一部分B,计算矩阵C将用于生成密文的第二部分。步骤6:对矩阵C的各分量多项式的各系数对d求余数,将得到的余数多项式矩阵记为rem(C),并令W=rem(C)·D-1modp。步骤7:将消息矩阵M放到密文的第一部分,得到步骤8:对矩阵C的各分量多项式的各系数对d求商,将得到的商多项式矩阵记为C2=quo(C)。步骤9:发送方输出密文(C1,C2)。三.解密算法,包含以下步骤:步骤1:输入密文(C1,C2),私钥S。步骤2:接收方通过计算C3=d·C2对C2进行解压缩;步骤3:接收方利用自己的私钥S,计算M′=(C1S-C3modq)modp。步骤4:接收方输出恢复的明文M′·D-1modp。步骤3中的modq操作,指的是将相关矩阵各分量多项式的各系数调整到区间内。注意到C1S-C3=p(E1S-VE0-E2+MS′-WS′)+rem(C)-WD+MDmodq,通过合理的参数选取,可以保证向量p(E1S-VE0-E2+MS′-WS′)+rem(C)-WD+MD的各分量多项式的各系数以设定概率落在里;设定概率大于某个预先设定的值P,而一旦各分量多项式的所有系数都落在里,则对C1S-C3模q再模p后将得到MDmodp,因此步骤4能以大于P的概率恢复出正确的明文。概率值P对应的是解密失败概率,该值一般与安全参数λ有关,比如可以取1-2^(-λ),如果需要高安全度,这个概率就越高,如果需要的安全强度比较低,就可以取低一点。设定概率接近1,可以选取为大于0.8。特别地,当取m=n=k=1时,该体制的底层数学困难问题可以看做是环LWE问题。与现有技术相比,本专利技术的积极效果为:与之前类ElGamal结构将消息放在密文第二部分的高位不同,本专利技术将消息放在了密文第一部分的低位,由于类ElGamal结构的两部分密文并不具有对称性,因此本专利技术给出了一种本质上新的的加密体制,为利用密文低位来隐藏消息提供了一种有效的解决途径,结构清晰,易于实现,加解密速度快。通过与之前类ElGamal结构的加密结合使用,可以实现利用密文的高位和低位同时隐藏密文。同时,由于引入了密文压缩的技术,也降低了通信的带宽需求。附图说明图1为本专利技术实施实例提供的密钥生成方法流程图;图2为本专利技术实施实例提供的加密方法流程图;图3为本专利技术实施实例提供的解密方法流程图。具体实施方式下面结合附图对本专利技术进行进一步详细描述。首先生成公共参数:选取正整数p、q、m、n、k和d,其中1<p<q且p与q互素,d<q;选取整系数多项式F(x),并记环Rq=Zq[x]/F(x),Rp=Zp[x]/F(x);选取环Rq上的离散高斯分布χ,χ′;选取中的任意可逆矩阵D,如单位阵,并记其在中的逆为D-1:如图1所述,密钥生成方法步骤包括:步骤1:生成n×m维矩阵A,其中A的各分本文档来自技高网...

【技术保护点】
1.一种基于格的密钥生成方法,其步骤包括:/n1)选取公共参数:包括选取正整数p、q、m、n、k和d;其中1<p<q且p与q互素,d<q;选取整系数多项式F(x),并令环R

【技术特征摘要】
20190701 CN 20191058710161.一种基于格的密钥生成方法,其步骤包括:
1)选取公共参数:包括选取正整数p、q、m、n、k和d;其中1<p<q且p与q互素,d<q;选取整系数多项式F(x),并令环Rq=Zq[x]/F(x),环Rp=Zp[x]/F(x);Zq为剩余类环,选取环Rq上的分布χ、χ′;选取中的任意可逆矩阵D,并记其在中的逆为D-1;
2)生成一矩阵一秘密方阵和一错误矩阵其中,秘密方阵S′的各分量从环Rq上的分布χ中抽取,错误矩阵E0的各分量从环Rq上的分布χ′中抽取;
3)计算和然后将S作为私钥,公钥为(B,A)。


2.一种基于格的加密方法,其步骤包括:
1)选取公共参数:包括选取正整数p、q、m、n、k和d;其中1<p<q且p与q互素,d<q;选取整系数多项式F(x),并令环Rq=Zq[x]/F(x),环Rp=Zp[x]/F(x);Zq为剩余类环,选取环Rq上的分布χ、χ′;选取中的任意可逆矩阵D,并记其在中的逆为D-1;
2)生成一矩阵一秘密方阵和一错误矩阵其中,秘密方阵S′的各分量从环Rq上的分布χ中抽取,错误矩阵E0的各分量从环Rq上的分布χ′中抽取;
3)计算和然后将S作为私钥,公钥为(B,A);
4)对于待加密的消息发送方生成一随机矩阵错误矩阵和错误矩阵其中,矩阵V的各分量从环Rq上的分布χ中抽取,错误矩阵E1和错误矩阵E2各分量从环Rq上的分布χ′中抽取;
5)发送方利用接收方公钥计算以及计算
6)发送方对矩阵C的各分量多项式的各系数对d求余数,将得到的余数多项式矩阵记为rem(C),并令W=rem(C)·D-1modp;然后计算得到
7)发送方对矩阵C的各分量多项式的各系数对d求商,将得到的商多项式矩阵记为C2=quo(C);然后输出密文(C1,C2)。


3.如权利要求1或2所述的方法,其特征在于,χ、χ′为离散高斯分布或者中心二项分布。


4.如权利要求1或2所述的方法,其特征在于,m=n=k=1。


5.如权利要求1或2所述的方法,其特征在于,对于剩余类环Zq,当q为正偶数时选取作为Zq的代表元,当q为正奇数时选取作为Zq的代表元;对于剩余类环Zp,当p为正偶数时选取作为Zp的代表元,当p为正奇数时选取作为Zp的代表元。


6.如权利要求2所述的方法,其特征在于...

【专利技术属性】
技术研发人员:潘彦斌谢天元刘珍李昊宇朱熠铭杨照民
申请(专利权)人:中国科学院数学与系统科学研究院
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1