CN106533684B - 基于lpn的公钥加密方法 - Google Patents
基于lpn的公钥加密方法 Download PDFInfo
- Publication number
- CN106533684B CN106533684B CN201710045736.4A CN201710045736A CN106533684B CN 106533684 B CN106533684 B CN 106533684B CN 201710045736 A CN201710045736 A CN 201710045736A CN 106533684 B CN106533684 B CN 106533684B
- Authority
- CN
- China
- Prior art keywords
- public key
- lpn
- key encryption
- vector
- indicate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000003860 storage Methods 0.000 claims abstract description 11
- 239000013598 vector Substances 0.000 claims description 28
- 238000009826 distribution Methods 0.000 claims description 16
- 239000011159 matrix material Substances 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 5
- 235000015170 shellfish Nutrition 0.000 claims description 4
- 238000004364 calculation method Methods 0.000 abstract 1
- 238000005070 sampling Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000035772 mutation Effects 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于LPN的公钥加密方法,包括如下步骤:步骤S1,符号约定;以及步骤S2,通过LPN实现公钥加密;本发明不仅可以有效保护信息加密、电子支付等各领域的安全,还具有如下优点:每个算法的计算时间与理论分析基本一致,随着维数的增加,公钥和密文存储所需的空间不断增大,加密和解密时间都快速增加。通过各个方面权衡,只需选择n=9000就可以满足实践需求。
Description
技术领域
本发明属于信息安全的公钥密码领域,涉及一种加密方法,尤其是一种实用的基于LPN的公钥加密方法。
背景技术
1976年Diffie和Hellman提出公钥加密思想以来,研究人员构造了多种公钥方案,这些方案广泛应用于信息加密、电子支付等各个领域。目前使用的公钥方案主要是基于数论中问题的计算难度构造的RSA,ELGamal,椭圆曲线方案等。但是,Shor在1994年已经设计出有效量子算法来计算因式分解问题和离散对数问题,椭圆曲线离散对数问题,也就是说当前基于数论中问题的计算难度构造的公钥方案在量子计算机上已经被破解。
随着量子计算机研发不断取得进展,设计抗量子攻击且实用的公钥密码方案具有重要现实意义。人们相信基于格问题的计算难度的公钥方案能够抵抗量子计算机的攻击,Regev基于格理论提出了LWE(Learning with Error)的设计思想,并大量应用于公钥密码设计。LWE问题虽然能够抵抗量子攻击,但基于它设计的公钥方案存在公钥尺寸过大的问题,如何降低还是公开问题。而利用LWE在F2上的特例LPN(Learning Parity with Noise)来设计公钥方案,则不存在这个问题。LPN问题是指随机选取公开的n维向量并随机选取保持私密的n维向量攻击者可以获得抽样集(a,<a,s>+e),其中e←Berτ,Berτ表示参数为的贝努力(Bernoulli)分布。贝努利分布是离散型0,1概率分布,1出现的概率为0<τ<1。标准的LPN问题中贝努力参数0<τ<0.5,其本质是向量上添加的噪声率。在此基础上,如果攻击者能够区分抽样元素和随机元素那么就说攻击者能够解决判定性LPN问题(decisional LPN)。
目前,LPN问题有两类非平凡的求解方法,一类穷举所有可能的噪声向量,另一类基于Blum-Kalai-Wasserman(BKW)算法。原始的BKW算法的时间复杂度为亚指数2O(n/logn),需要抽样2O(n/logn)次。Lyubashevsky给出了BKW算法的变种需要更高的时间复杂度2O(n/loglogn),但抽样降为n1+ε次。最近Kirchner还提出了更少运行时间的改进算法。虽然LPN问题有多种求解方法,但是还没有多项式时间求解方法,也没有有效量子求解算法。
LPN实例创建和计算非常简单,但问题求解却非常困难,使LPN问题在密码应用中非常有吸引力。但是,现有基于LPN变种的公钥方案的解密算法都存在不可忽略的误码率,为解决这个问题,设计了新的公钥加密方案,该方案的优点在于:一是保持了LPN实例快速生成,加密解密计算速度快、效率高的优点;二是解决了现有方案解密算法存在不可忽略的误码率的问题;三是方案的公钥和密文的长度较小,占用空间小,传输效率高。
发明内容
本发明的目的是提供一种基于LPN的公钥加密方法,以保护信息加密、电子支付等各个领域的安全。
为了解决上述技术问题,本发明提供了一种公钥加密方法,其特征在于,包括如下步骤:
步骤S1,符号约定;以及
步骤S2,通过LPN实现公钥加密。
进一步,所述步骤S1符号约定的方法包括:
所有列向量均以粗体小写字母命名u,ui则表示u的第i个分量;矩阵以粗体大写字母命名U,Ui则表示U的第i个列向量;
若对于所有任意大n的多项式p都满足ε(n)≤1/p(n),概率为ε(n);Berτ表示参数为τ的贝努力分布;表示向量中每一分量ai←Berτ;Binn,τ表示单次试验成功率为τ的n次试验的二项分布,X~Binn,τ则表示X与Binn,τ同分布;函数h(a)计算向量的海明重量,令
进一步,所述步骤S2中通过LPN实现公钥加密的方法如下子步骤:
步骤S21,密钥生成算法KeyGen(1n,τ);
步骤S22,加密算法Enc(pk,m);以及
步骤S23,解密算法Dec(sk,C)。
进一步,所述步骤S21中密钥生成算法KeyGen(1n,τ)的方法包括:
随机选择未知数以及计算B=AS+E;公钥pk=(A,B);私钥sk=(S);
所述步骤S22中加密算法Enc(pk,m)的方法包括:
输入pk和明文首先把m转换为n×n的方阵M*,如果mi=0,则第i列的每个分量都为0,反之mi=1,则第i列的每个分量都为0;以及
步骤S23中解密算法Dec(sk,C)的方法包括:
输入sk和密文C=(C1,C2),计算D=C1×S+C2,依次检查D每一列di,如果海明重量h(di)<n/2,则mi=0,反之mi=1,最后输出m。
进一步,所述公钥加密方法还包括:
步骤S3,安全性证明,即
随机选取的未知数和B=AS+E,在DLPN的难度假设下,(A,B)与上的均匀分布不区分;以及
在DLPN的难度假设下,基于LPN的公钥加密系统满足CPA安全。
进一步,矩阵变量以mat_GF2类型存储,向量变量以vec_GF2类型存储。
进一步,所述实用的基于LPN的公钥加密方法的安全级单位以比特位计算。
本发明的有益效果是,本发明不仅可以有效保护信息加密、电子支付等各领域的安全,还具有如下优点:每个算法的计算时间与理论分析基本一致,随着维数的增加,公钥和密文存储所需的空间不断增大,加密和解密时间都快速增加。通过各个方面权衡,只需选择n=9000就可以满足实践需求。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明的公钥加密方法的方法流程图;
图2是本发明的通过LPN实现公钥加密的方法流程图
具体实施方式
现在结合附图对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成。
本发明是基于LPN难度问题设计公钥加密方案。本发明提供了一种实用的基于LPN的公钥加密算法,其利用NTL函数库来实现基于LPN的公钥加密系统,并对算法的空间复杂性和执行时间复杂性进行评估。该系统主要在n维比特矩阵和n维向量上进行操作,算法执行时间大部分用于向量的乘法和加法。此外,公钥初始化过程中,随机选取向量和在贝努力分布上采样也需要一定的时间。所以,对这两方面进行优化就非常必要。系统采用C++语言,使用了gf2x,gmp和NTL函数库进行相关数学操作。计算机硬件配置为主机3.20GHZ,IntelCore i5,4GB RAM和7.2RPM SATA硬盘。
具体实施步骤如如图1和图2所示,本发明的公钥加密方法,包括如下步骤:
步骤S1,符号约定:
按照惯例,所有列向量都以粗体小写字母命名u,ui则表示u的第i个分量。矩阵以粗体大写字母命名(如:U),ui则表示U的第i个列向量。如果对于所有任意大n的多项式p都满足ε(n)≤1/p(n),概率ε(n)忽略。Berτ表示参数为τ的贝努力分布。表示向量中每一分量ai←Berτ。Binn,τ表示单次试验成功率为τ的n次试验的二项分布,X~Binn,τ则表示X与Binn,τ同分布。函数h(a)计算向量的海明重量。令
步骤S2,通过LPN实现公钥加密。
基于LPN公钥加密方法同样包括成密钥生成算法KeyGen,加密算法Enc,解密算法Dec。
步骤S21,密钥生成算法KeyGen(1n,τ):
随机选择未知数以及计算如下式(1):
B=AS+E……(1)
公钥pk=(A,B)。私钥sk=(S)。
步骤S22,加密算法Enc(pk,m):
输入pk和明文首先把m转换为n×n的方阵M*,如果mi=0,则第i列的每个分量都为0,反之mi=1,则第i列的每个分量都为0。例如m=(1,1,0,0)T,则选取未知数计算如下式(2)和(3):
C1=RA+E1.....(2)
C2=RB+E2+M*......(3)
输出密文如下式(4):
C=(C1,C2)......(4)。
步骤S23,解密算法Dec(sk,C):
输入sk和密文(4),计算如下式(5):
D=C1×S+C2......(5)
依次检查D每一列di,如果海明重量h(di)<n/2,则mi=0,反之mi=1,最后输出m。其中,C1、C2、D仅表示为行文简洁定义的相应变量,没有特殊含义。
步骤S3,安全性证明:
虽然本方法中私钥抽样自而不是但是其安全性仍然基于DLPN求解难度。所以,在证明方案安全性之前,给出一个定理。
定理一,随机选取的未知数和式(1)在DLPN的难度假设下,(A,B)与上的都均匀分布不可区分。
证明:给定一组LPN抽样,如下式(6):
(Ai,Bi=AiS+Ei)......(6)
其中和不失一般性,假设则有如下式(7):
其中如下式(8),
如果(Ai,Bi)是根据上述定义选取的LPN抽样,而非取自均匀分布的抽样,那么(A′i,B′i)满足LPN定义。当存在一个PPT算法能够识别(A′i,B′i)是否是取自均匀分布那么这个算法也能够区分(Ai,Bi)与上的均匀分布。
因此,选择的DLPN问题可以归约到一般DLPN问题,两者求解难度相当。需要注意的是,上述归约中矩阵采用如下式(9):
Bi=AiS+Ei......(9)
可以变成向量bi=Ais+ei(9),结论是一致的。
定理二(安全规约)。在DLPN的难度假设下,基于LPN的公钥加密系统满足CPA安全。
证明:假定LPN加密系统具有参数n和τ,公钥pk=(A,B)。令定义为如下式(10):
显然Q和公钥具有同样的分布。
首先考虑明文向量的每个分量都为0的情况下,密文为(RA+E1,RB+E2),可以写为RQ+E*。其值为如下式(11):
根据DLPN假设,(Q,RQ+E*)与(S,R′S+E′)都是无法区分的,其中s随机选取至分布而更进一步,(S,R′S+E*)与(S,R*)也是都无法区分的,其中而当明文向量的分量mi=1,(e2)i取反,其分布不变,所以,密文与随机选取的同分布变量也是无法区分的。命题得证。
下面将结合本发明实施例中的表格,对本发明实施例中的技术方法进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明。
如表1所示,矩阵变量以mat_GF2类型存储,向量变量以vec_GF2类型存储。向量的转置、乘法、加法直接调用NTL库函数,因为这些函数都是经过优化的函数,所以,运行速度较快。在参数选择上,当n取不同整数时,噪声率取了较大的表1列举了n的不同取值,在明文对应分量为0时,解密结果对应向量d的海明重量。
表1:明文为0时的海明重量h(d)
如表2所示,本方法安全级单位以比特位计算,根据D.J Bernstein等的分析,在n选取不同参数时,本方法能够达到的安全级别。目前公认的攻击复杂性为O(280)时,认为系统是安全的。
表2:方法的安全级别估计
安全级别(bits) | n | τ |
80 | 9000 | 0.0044 |
112 | 21000 | 0.0029 |
128 | 29000 | 0.0024 |
196 | 80000 | 0.0015 |
256 | 145000 | 0.0011 |
如表3所示,n在选取典型的值9000时用户公钥和私钥以及密文等相关数据的存储空间大小(单位KB)。
表3:相关数据所需的存储空间大小
n | τ | 公钥尺寸 | 私钥尺寸 | 密文尺寸 |
9000 | 0.0044 | 10MB | 10KB | 2.25KB |
如表4所示,在选择不同的维数以及用户数时,方法各个部分运行时间的统计,单位为秒(ms),其包括系统建立、加密和解密三部分。在向量维数n取不同值。
表4:方案每个算法的运行时间统计(ms)
n | 系统建立 | 加密时间 | 解密时间 |
9000 | 3 | 450 | 230 |
21000 | 13 | 1003 | 450 |
29000 | 35 | 2524 | 980 |
综上所述,本发明实用的基于LPN的公钥加密方法具有如下优点:每个算法的计算时间与理论分析基本一致,随着维数的增加,公钥和密文存储所需的空间不断增大,加密和解密时间都快速增加。通过各个方面权衡,只需选择n=9000就可以满足实践需求。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。
Claims (3)
1.一种公钥加密方法,其特征在于,包括如下步骤:
步骤S1,符号约定;以及
步骤S2,通过LPN实现公钥加密;
所述步骤S1符号约定的方法包括:
所有列向量均以粗体小写字母命名u,ui则表示u的第i个分量;矩阵以粗体大写字母命名u,ui则表示u的第i个列向量;
若对于所有任意大n的多项式p都满足ε(n)≤1/p(n),概率为ε(n);Berτ表示参数为τ的贝努力分布;表示向量中每一分量ai←Berτ;Binn,τ表示单次试验成功率为τ的n次试验的二项分布,X~Binn,τ则表示X与Binn,τ同分布;函数h(a)计算向量的海明重量,令
所述步骤S2中通过LPN实现公钥加密的方法如下子步骤:
步骤S21,密钥生成算法KeyGen(1″,τ);
步骤S22,加密算法Enc(pk,m);以及
步骤S23,解密算法Dec(sk,C);
所述步骤S21中密钥生成算法KeyGen(1″,τ)的方法包括:
随机选择未知数以及计算B=AS+E;公钥pk=(A,B);私钥sk=(S);
所述步骤S22中加密算法Enc(pk,m)的方法包括:
输入pk和明文
首先把m转换为n×n的方阵M*,如果mi=0,则第i列的每个分量都为0,反之mi=1,则第i列的每个分量都为0;以及
步骤S23中解密算法Dec(sk,C)的方法包括:
输入sk和密文C=(C1,C2),计算D=C1×S+C2,依次检查D每一列di,如果海明重量h(di)<n/2,则mi=0,反之mi=1,最后输出m;
所述公钥加密方法还包括:
步骤S3,安全性证明,即
随机选取的未知数和B=AS+E,在DLPN的难度假设下,(A,B)与上的均匀分布不区分;以及
在DLPN的难度假设下,基于LPN的公钥加密系统满足CPA安全。
2.根据权利要求1所述的公钥加密方法,其特征在于,
矩阵变量以mat_GF2类型存储,向量变量以vec_GF2类型存储。
3.根据权利要求2所述的公钥加密方法,其特征在于,
所述公钥加密方法的安全级单位以比特位计算。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611110252 | 2016-12-02 | ||
CN2016111102525 | 2016-12-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106533684A CN106533684A (zh) | 2017-03-22 |
CN106533684B true CN106533684B (zh) | 2019-03-08 |
Family
ID=58337081
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710045736.4A Active CN106533684B (zh) | 2016-12-02 | 2017-01-20 | 基于lpn的公钥加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106533684B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10630655B2 (en) * | 2017-05-18 | 2020-04-21 | Robert Bosch Gmbh | Post-quantum secure private stream aggregation |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012144094A1 (en) * | 2011-04-22 | 2012-10-26 | Kabushiki Kaisha Toshiba | Authenticator, authenticatee and authentication method |
CN102822816A (zh) * | 2010-03-30 | 2012-12-12 | 国际商业机器公司 | 用于双线性型的高效同态加密方案 |
CN103475472A (zh) * | 2013-07-22 | 2013-12-25 | 浙江万里学院 | 环lwe上ntru型的全同态加密方法 |
-
2017
- 2017-01-20 CN CN201710045736.4A patent/CN106533684B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102822816A (zh) * | 2010-03-30 | 2012-12-12 | 国际商业机器公司 | 用于双线性型的高效同态加密方案 |
WO2012144094A1 (en) * | 2011-04-22 | 2012-10-26 | Kabushiki Kaisha Toshiba | Authenticator, authenticatee and authentication method |
CN103475472A (zh) * | 2013-07-22 | 2013-12-25 | 浙江万里学院 | 环lwe上ntru型的全同态加密方法 |
Non-Patent Citations (1)
Title |
---|
Low Noise LPN:Key dependent message secure public key encryption an sample amplification;Nico Dottling;《IEEE》;20161027;正文第374-375页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106533684A (zh) | 2017-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Qayyum et al. | Chaos-based confusion and diffusion of image pixels using dynamic substitution | |
CN108898025B (zh) | 基于双重置乱和dna编码的混沌图像加密方法 | |
Zhang et al. | A novel couple images encryption algorithm based on DNA subsequence operation and chaotic system | |
Zhang et al. | A novel image fusion encryption algorithm based on DNA sequence operation and hyper-chaotic system | |
CN105046636B (zh) | 基于混沌系统与核酸序列库的数字图像加密方法 | |
Kumar et al. | IEHC: An efficient image encryption technique using hybrid chaotic map | |
CN104270247B (zh) | 适用于量子密码系统的高效泛Hash函数认证方法 | |
JP5198526B2 (ja) | 暗号化装置および復号装置 | |
CN107637010A (zh) | 数据加密装置及方法和数据解密装置及方法 | |
CN109376540A (zh) | 一种基于Duffing映射与遗传操作的图像加密方法 | |
CN110635909B (zh) | 一种基于属性的抗合谋攻击的代理重加密方法 | |
Jamal et al. | Construction of new substitution boxes using linear fractional transformation and enhanced chaos | |
Ye et al. | Asymmetric image encryption algorithm based on a new three-dimensional improved logistic chaotic map | |
JP5689826B2 (ja) | 秘密計算システム、暗号化装置、秘密計算装置及びその方法、プログラム | |
Song et al. | A multi-bit fully homomorphic encryption with shorter public key from LWE | |
CN103812658B (zh) | 一种基于流密码的安全通信协议 | |
CN106533684B (zh) | 基于lpn的公钥加密方法 | |
HS et al. | Comparative study and performance analysis of encryption in RSA, ECC and Goldwasser-Micali cryptosystems | |
Lei et al. | A two-dimensional chaotic model and its application in image encryption | |
CN116684062A (zh) | 基于代理重加密的云计算外包和数据动态分享方法及系统 | |
Suhael et al. | Proposed Hybrid Cryptosystems Based on Modifications of Playfair Cipher and RSA Cryptosystem | |
Kronberg | A simple coherent attack and practical security of differential phase shift quantum cryptography | |
Dehnavi et al. | A more explicit formula for linear probabilities of modular addition modulo a power of two | |
Zhang et al. | Two-dimensional-lag complex logistic map with complex parameters and its encryption application | |
CN109409114B (zh) | 基于易辛结构的可并行图加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200527 Address after: Room 402, old cadre resettlement building, Zhongshan Road, Huayang Town, Jurong City, Zhenjiang City, Jiangsu Province Patentee after: Jiangsu Haibang Information Technology Co., Ltd Address before: 213001 Changzhou Province in the Clock Tower District, Jiangsu, Wu Road, No. 1801 Patentee before: JIANGSU UNIVERSITY OF TECHNOLOGY |