基于R-LWE的NTRU加密方法及其安全性证明方法技术

技术编号:22756677 阅读:33 留言:0更新日期:2019-12-07 04:40
本发明专利技术揭示了一种基于R‑LWE的NTRU加密方法及其安全性证明方法,对NTRU环结构的适当修改,经过定义参数、高斯抽样获取密钥对、加密、解密解决了NTRU缺乏严格安全性证明的缺陷,并通过对NTRU加密方法安全性进行证明,进一步验证了所述基于R‑LWE问题的可证明的NTRU加密方法。本发明专利技术的基于R‑LWE的NTRU加密方法及其安全性证明方法,可有效地证明加密方法的安全性,在产生密钥对时增加筛选功能,有效避免格攻击。

NTRU encryption method based on r-lwe and its security proof method

The invention discloses an NTRU encryption method based on R \u2011 LWE and its security proof method. After properly modifying the structure of NTRU ring, through defining parameters, obtaining key pairs through Gaussian sampling, encryption and decryption, the defect of NTRU lacking strict security proof is solved. Through proving the security of NTRU encryption method, the provable n based on R \u2011 LWE problem is further verified Tru encryption method. The NTRU encryption method based on R \u2011 LWE and its security proof method can effectively prove the security of the encryption method, increase the screening function when generating the key pair, and effectively avoid lattice attack.

【技术实现步骤摘要】
基于R-LWE的NTRU加密方法及其安全性证明方法
本专利技术涉及加密方法领域,特别涉及一种基于R-LWE的NTRU加密方法及其安全性证明方法。
技术介绍
1976年提出了公开密钥密码体制的思想:将密钥分成公开密钥和秘密密钥两部分,分别决定互逆的加密映射和解密映射。在这种密码体制下,每个用户均有自己的公开密钥和秘密密钥。公开密钥是公开的,可以像电话号码一样供人查阅,这样,通信双方不必事先约定即可进行保密通信,也不存在需要“安全通道”传送密钥的问题;秘密密钥则是秘密的,由每个用户自己保存,供解密之用。从基于的数学困难问题来看,公钥密码体制大致有以下几类:(1)基于整数分解问题的公钥密码体制,比如RSA、Rabin、LUC、Williams等;(2)基于有限域上离散对数问题设计的公钥密码体制,比如Diffie-Hellman密钥交换协议、ELGamal加密体制、DSA数字签名体制等;(3)基于椭圆曲线上离散对数问题的公钥密码体制,比如ECIES体制、ECDSA体制等;(4)基于背包问题的公钥密码体制,比如Merkle-Hellman背包加密体制、Chor-Rivest背包加密体制等。就目前而言,比较成熟的、正在被广泛应用的密码体制主要有两类:一类是基于整数分解问题设计的RSA;另一类是椭圆曲线上离散对数问题设计的密码体制ECC(EllipticCurvesCryptography)。格密码作为后量子时代公钥密码的典型代表,具有能够抵抗量子计算机攻击、平均安全性可以建立在格问题最坏情况的复杂度上以及具有线性结构并期望有较快的加解密速度等优点,近年来越来越受到广泛的关注。但是,一般格公钥密码方案的主要缺点是密钥量较大、空间复杂度较大等,这些使得格公钥密码方案计算效率较低,难以在实际中大量应用。为了解决基于LWE问题的方案存在的效率低下的问题,2010年Lyubash等提出新型的LWE,即环上的差错学习R-LWE(Ring-LearningWithError)问题,下面给出定义:对于给定的正整数n,素数q=1mod2n,整数环Rq=Z(x)/(xn+1),环Rq上的错误概率分布Ψ,选取R-LWE分布As,Ψ中的任意多个元素(ai,bi)=(ai,(ai,s)+ei)。R-LWE搜索问题的目标是:以不可忽略的概率输出满足等式bi=(ai,s)+ei的元素R-LWE判断问题的目标是:以不可忽略的概率区分元素(ai,bi)是取自上的LWE分布还是均匀分布目前,NTRU加密方案是唯一被广泛使用的格密码方案,现已被IEEEP1363.1标准和X9.98标准接受,但现有的NTRU加密方案不具备可证明安全这一性质,且其在密钥生成算法中可能导致格攻击。
技术实现思路
本专利技术的目的在于针对现有技术中的上述缺陷,提供一种基于R-LWE的NTRU加密方法及其安全性证明方法,可有效地证明加密方法的安全性,在产生密钥对时增加筛选功能,有效避免格攻击。为了实现上述专利技术目的,一方面,本专利技术提出了一种基于R-LWE的NTRU加密方法,其包括以下步骤:一、定义参数:定义n为2的幂次方且n≥8;定义p=2;定义q为素数,q≥5且q≤poly(n),q=1mod2n以保证((xn+1)modq)有n个不同的线性因子;modq的运算结果限制在内,mod(xn+1)的运算结果为次数不超过n-1的多项式;定义环R=Z(x)/(xn+1),Rq=R/q;二、密钥对生成:在环R=Z(x)/(xn+1)中通过高斯抽样获得私钥,具体步骤包括:(1)输入参数n、q、p、高斯抽样中的偏差向量s以及安全参数SePa,其中q∈Z,表示Rq中所有可逆元素构成的集合,偏差向量s∈Rq,安全参数用于筛选抽样获得的私钥;(2)从高斯分布中抽样出f′,令f=p·f′+1,若则需要重新抽样;若计算出的f不满足||f||≤SePa,则需要重新抽样;(3)从高斯分布中抽样出g,若则需要重新抽样;若抽样出的g不满足||g||≤SePa,则需要重新抽样;(4)令私钥sk=f,公钥pk=h=pg/f,公钥输出密钥对三、加密:在加密过程中加入随机的偏差向量s∈Rq,e∈Ψα,输出密文c=h·s+pe+mmodq;四、解密:对正常接收的密文c利用私钥sk进行解密,输出明文m,具体步骤包括:f·c=f·h·s+f·pe+f·mmodq=pg·s+f·pe+f·mmodq当pg·s+f·pe+f·mmodq的系数在区间内时,则可进一步得到:pg·s+f·pe+f·mmodq=pg·s+f·pe+f·m对pg·s+f·pe+f·m进行modp运算,即:pg·s+f·pe+f·mmodp=f·mmodp=m进一步地,钥pk=h在均匀分布的分布是统计不可区分的。另一方面,本专利技术还提出了一种基于R-LWE的NTRU加密方法的安全性证明方法,其包括以下步骤:A:给定选择明文攻击的攻击算法A,然后构造一个求解R-LWE问题的算法B:B:提供问答器O,算法B利用问答器O从均匀分布或LWE分布中抽取一个样本(h′,c′),其中c′=h′s+e;C:利用算法B的公钥h′运算算法A的公钥h=ph′∈Rq;D:当算法A提出挑战明文信息m0,m1时,算法B从均匀分布U(0,1)中随机挑出b;E:计算算法A的密文c=pc′+mb∈Rq,并将密文c返回算法A,算法A输出对b的猜测b′,若b=b′时,算法B输出1,则证明所述NTRU加密方法是安全的;若b≠b′时,算法B输出0,则证明所述NTRU加密方法是不安全的。进一步地,由于可知算法B所用的公钥h′和算法A所用的公钥h是在中均匀随机的,并且算法A中的公钥h与真实攻击的公钥的统计距离是在q-Ω(n)内。进一步地,由于c′=h′s+e且s∈Rq,e∈Ψα,则返回给算法A的密文c的分布与在选择明文攻击下的分布相同。进一步地,若问答器O输出LWE分布中的样本,那么算法A攻击成功且算法B以输出为1。进一步地,若问答器O输出均匀分布中的样本,由于那么pc′的值和c是在Rq中均匀随机的,并且与b无关,则算法B的概率=1/2,而输出为1。相比于现有技术,本专利技术优点在于:一种基于R-LWE问题的可证明的NTRU加密方法,通过对NTRU环结构的适当修改解决了NTRU缺乏严格安全性证明的缺陷,提高安全性,并在密钥生成算法过程中对直接抽样产生的密钥增加了″筛选”的功能,有效避免格攻击,使得方案能够应用于实际。具体实施方式以下结合较佳实施例对本专利技术技术方案作进一步非限制性的详细说明。一种基于R-LWE的NTRU加密方法,其包括以下步骤:一、定义参数:定义n为2的幂次方且n≥8;定义p=2;定义q为素数,q≥5且q≤poly(n),q=1mod2n以本文档来自技高网
...

【技术保护点】
1.一种基于R-LWE的NTRU加密方法,其特征在于,其包括以下步骤:/n一、定义参数:/n定义n为2的幂次方且n≥8;/n定义p=2;/n定义q为素数,q≥5且q≤poly(n),q=1 mod 2n以保证((x

【技术特征摘要】
1.一种基于R-LWE的NTRU加密方法,其特征在于,其包括以下步骤:
一、定义参数:
定义n为2的幂次方且n≥8;
定义p=2;
定义q为素数,q≥5且q≤poly(n),q=1mod2n以保证((xn+1)modq)有n个不同的线性因子;
modq的运算结果限制在内,mod(xn+1)的运算结果为次数不超过n-1的多项式;
定义环R=Z(x)/(xn+1),Rq=R/q;
二、密钥对生成:
在环R=Z(x)/(xn+1)中通过高斯抽样获得私钥,具体步骤包括:
(1)输入参数n、q、p、高斯抽样中的偏差向量s以及安全参数SePa,其中q∈Z,表示Rq中所有可逆元素构成的集合,偏差向量s∈Rq,安全参数用于筛选抽样获得的私钥;
(2)从高斯分布中抽样出f′,令f=p·f′+1,若则需要重新抽样;若计算出的f不满足||f||≤SePa,则需要重新抽样;
(3)从高斯分布中抽样出g,若则需要重新抽样;若抽样出的g不满足||g||≤SePa,则需要重新抽样;
(4)令私钥sk=f,公钥pk=h=pg/f,公钥输出密钥对
三、加密:
在加密过程中加入随机的偏差向量s∈Rq,e∈Ψα,输出密文c=h·s+pe+mmodq;
四、解密:
对正常接收的密文c利用私钥sk进行解密,输出明文m,具体步骤包括:
f·c=f·h·s+f·pe+f·mmodq=pg·s+f·pe+f·mmodq
当pg·s+f·pe+f·mmodq的系数在区间内时,则可进一步得到:
pg·s+f·pe+f·mmodq=pg·s+f·pe+f·m
对pg·s+f·pe+f·m进行modp运算,即:
pg·s+f·pe+f·mmodp=f·mmodp=m。


2.按照权利要求1所述基于R-LWE的NTR...

【专利技术属性】
技术研发人员:邱望洁李婷婷
申请(专利权)人:中芯昊月深圳科技控股有限公司
类型:发明
国别省市:广东;44

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

1