CN110474772B - 一种基于格的加密方法 - Google Patents
一种基于格的加密方法 Download PDFInfo
- Publication number
- CN110474772B CN110474772B CN201910700628.5A CN201910700628A CN110474772B CN 110474772 B CN110474772 B CN 110474772B CN 201910700628 A CN201910700628 A CN 201910700628A CN 110474772 B CN110474772 B CN 110474772B
- Authority
- CN
- China
- Prior art keywords
- matrix
- ring
- polynomial
- component
- distribution
- 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 19
- 239000011159 matrix material Substances 0.000 claims abstract description 77
- 238000009826 distribution Methods 0.000 claims description 33
- 230000002441 reversible effect Effects 0.000 claims description 4
- 238000005516 engineering process Methods 0.000 abstract description 3
- 238000004891 communication Methods 0.000 abstract description 2
- 230000006835 compression Effects 0.000 abstract description 2
- 238000007906 compression Methods 0.000 abstract description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000008092 positive effect Effects 0.000 description 1
Images
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
- H04L9/3026—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 details relating to polynomials generation, e.g. generation of irreducible polynomials
-
- 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
- H04L9/3033—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 details relating to pseudo-prime or prime number generation, e.g. primality test
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Mathematical Optimization (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Storage Device Security (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于格的加密方法,其步骤包括:1)生成私钥S,公钥为(B,A);2)发送方利用接收方公钥计算C0=VA+pE1以及计算C=VB+pE2;3)发送方对矩阵C的各分量多项式的各系数对d求余数,将得到的余数多项式矩阵记为rem(C),并令W=rem(C)·D‑1mod p;然后计算得到C1=C0+M‑W;4)发送方对矩阵C的各分量多项式的各系数对d求商,将得到的商多项式矩阵记为C2=quo(C);然后输出密文(C1,C2)。本发明以低位隐藏密文,可以和其它技术结合起来使用,再达到高低位同时隐藏的目的;同时,由于引入了密文压缩的技术,也降低了通信的带宽需求。
Description
技术领域
本发明属于信息安全技术领域,具体涉及一种基于格的加密方法。
背景技术
随着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为解码函数。
发明内容
本发明的目的在于提供一种基于格的加密方法,其底层困难问题是模LWE(MLWE)问题。
对于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等作为公共参数公开;并按如下步骤生成公私钥对:
步骤6:最终生成的私钥为S,公钥为(B,A)。
二.加密算法,包含以下步骤:
步骤6:对矩阵C的各分量多项式的各系数对d求余数,将得到的余数多项式矩阵记为rem(C),并令W=rem(C)·D-1mod p。
步骤8:对矩阵C的各分量多项式的各系数对d求商,将得到的商多项式矩阵记为C2=quo(C)。
步骤9:发送方输出密文(C1,C2)。
三.解密算法,包含以下步骤:
步骤1:输入密文(C1,C2),私钥S。
步骤2:接收方通过计算C3=d·C2对C2进行解压缩;
步骤3:接收方利用自己的私钥S,计算M′=(C1S-C3mod q)mod p。
步骤4:接收方输出恢复的明文M′·D-1mod p。
注意到C1S-C3=p(E1S-VE0-E2+MS′-WS′)+rem(C)-WD+MD mod q,通过合理的参数选取,可以保证向量p(E1S-VE0-E2+MS′-WS′)+rem(C)-WD+MD的各分量多项式的各系数以设定概率落在里;设定概率大于某个预先设定的值P,而一旦各分量多项式的所有系数都落在里,则对C1S-C3模q再模p后将得到MD mod p,因此步骤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的各分量在多项式环Rq上均匀选取。
步骤2:生成m×m维Rq上的方阵S′,方阵各分量依照环Rq上的分布χ抽取。
步骤3:生成n×m维Rq上的方阵E0,方阵各分量依照环Rq上的分布χ′抽取。
步骤6:返回公钥(B,A),私钥S。
如图2所示,加密方法步骤包括:
步骤1:生成k×n维矩阵V,矩阵各分量依照环Rq上的分布χ抽取。
步骤2:生成k×m维矩阵E1和E2,矩阵各分量依照环Rq上的分布χ′抽取。
步骤5:对矩阵C的各分量的各系数对d求余数后得到余数多项式矩阵记为rem(C),并令W=rem(C)·D-1mod p。
步骤8:返回密文(C1,C2)。
如图3所示,解密方法步骤包括:
输入:密文(C1,C2),私钥S
步骤1:计算C3=d·C2,
步骤2:计算M′=(C1S-C3mod q)mod p。
步骤3:返回明文M′·D-1mod p。
为了保证解密算法以大于预设值P(例如取P=1-2-128)的概率解密出正确的消息,在选取公共参数时,应保证p(E1S-VE0-E2+MS′-WS′)+rem(C)-WD+MD的各分量多项式的各系数以大于P的概率落在区间里。同时,步骤2中的mod q操作,指的是将相关矩阵各分量多项式的各系数调整到区间内。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域技术人员来说,本发明可有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
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;
7)发送方对矩阵C的各分量多项式的各系数对d求商,将得到的商多项式矩阵记为C2=quo(C);然后输出密文(C1,C2)。
3.如权利要求1或2所述的方法,其特征在于,χ、χ′为离散高斯分布或者中心二项分布。
4.如权利要求1或2所述的方法,其特征在于,m=n=k=1。
7.一种与权利要求2所述加密方法对应的解密方法,其步骤包括:
1)接收方对于收到的密文(C1,C2),通过计算C3=d·C2,对C2进行解压缩;
2)接收方利用自己的私钥S,计算M′=(C1S-C3 mod q)mod p;
3)接收方输出恢复的明文M′·D-1mod p。
8.一种基于格的加密系统,其特征在于,包括密钥生成单元、加密单元和解密单元;其中,
密钥生成单元,用于选取公共参数,包括选取正整数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;然后生成一矩阵一秘密方阵和一错误矩阵其中,秘密方阵S′的各分量从环Rq上的分布χ中抽取,错误矩阵E0的各分量从环Rq上的分布χ′中抽取;然后计算和将S作为私钥,公钥为(B,A);
加密单元,用于对于待加密的消息M,生成一随机矩阵错误矩阵和错误矩阵其中,矩阵V的各分量从环Rq上的分布χ中抽取,错误矩阵E1和错误矩阵E2各分量从环Rq上的分布χ′中抽取;然后利用公钥计算 然后对矩阵C的各分量多项式的各系数对d求余数,将得到的余数多项式矩阵记为rem(C),并令W=rem(C)·D-1mod p,计算得到 然后对矩阵C的各分量多项式的各系数对d求商,将得到的商多项式矩阵记为C2=quo(C);然后输出密文(C1,C2);
解密单元,用于对于收到的密文(C1,C2),通过计算C3=d·C2,对C2进行解压缩;然后利用自己的私钥S,计算M′=(C1S-C3 mod q)mod p,输出恢复的明文M′·D-1mod p。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2019105871016 | 2019-07-01 | ||
CN201910587101 | 2019-07-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110474772A CN110474772A (zh) | 2019-11-19 |
CN110474772B true CN110474772B (zh) | 2020-08-14 |
Family
ID=68508416
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910700628.5A Active CN110474772B (zh) | 2019-07-01 | 2019-07-31 | 一种基于格的加密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110474772B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111064570B (zh) * | 2019-12-17 | 2023-01-31 | 航天信息股份有限公司 | 共享密钥处理方法、装置、存储介质和电子设备 |
CN113541933B (zh) * | 2020-04-17 | 2023-07-25 | 赵运磊 | 一种基于格的高效紧凑加密方法 |
CN112511170B (zh) * | 2020-11-10 | 2024-04-16 | 南京航空航天大学 | 一种格密码中多项式压缩的并行实现方法 |
CN115242381B (zh) * | 2022-06-29 | 2024-07-30 | 中国科学院信息工程研究所 | 一种基于格上错误学习问题的密钥协商方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102970138A (zh) * | 2011-08-29 | 2013-03-13 | 汤姆森特许公司 | 签密方法和装置以及对应的签密验证方法和装置 |
CN107682140A (zh) * | 2017-11-20 | 2018-02-09 | 中国科学院重庆绿色智能技术研究院 | 多项式点表示的低膨胀率的抗量子攻击的文件加解密方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2898747A1 (fr) * | 2006-03-15 | 2007-09-21 | Gemplus Sa | Procede de chiffrement cherchable dechiffrable, systeme pour un tel chiffrement |
US8515058B1 (en) * | 2009-11-10 | 2013-08-20 | The Board Of Trustees Of The Leland Stanford Junior University | Bootstrappable homomorphic encryption method, computer program and apparatus |
CN105007270B (zh) * | 2015-07-13 | 2018-04-10 | 西安理工大学 | 格上多权威的密钥策略基于属性的加密方法 |
US9673977B1 (en) * | 2016-09-15 | 2017-06-06 | ISARA Corporation | Refreshing public parameters in lattice-based cryptographic protocols |
-
2019
- 2019-07-31 CN CN201910700628.5A patent/CN110474772B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102970138A (zh) * | 2011-08-29 | 2013-03-13 | 汤姆森特许公司 | 签密方法和装置以及对应的签密验证方法和装置 |
CN107682140A (zh) * | 2017-11-20 | 2018-02-09 | 中国科学院重庆绿色智能技术研究院 | 多项式点表示的低膨胀率的抗量子攻击的文件加解密方法 |
Non-Patent Citations (2)
Title |
---|
一种基于身份和密钥封装机制的加密方案;张永 等;《计算机工程》;20120531;第38卷(第10期);全文 * |
标准模型下格上的密钥封装机制;赵宗渠 等;《计算机科学与探索》;20180725;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110474772A (zh) | 2019-11-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110474772B (zh) | 一种基于格的加密方法 | |
Zhang et al. | Efficient reversible data hiding in encrypted images | |
Bao et al. | Combination of sharing matrix and image encryption for lossless $(k, n) $-secret image sharing | |
US8958553B2 (en) | Public key cryptosystem based on goppa codes and puf based random generation | |
JP5564434B2 (ja) | 確率的対称暗号化のための方法およびエンティティ | |
US20150163060A1 (en) | Methods, systems and apparatus for public key encryption using error correcting codes | |
KR101516574B1 (ko) | 형태보존 암호화를 위한 가변길이 블록암호 장치 및 방법 | |
US20180205536A1 (en) | Stream cipher system | |
KR100561846B1 (ko) | 가중된 비밀 공유 및 복원 방법 | |
US20120314857A1 (en) | Block encryption device, block decryption device, block encryption method, block decryption method and program | |
CN107392970B (zh) | 一种基于位平面和高维混沌系统的数字图像加密方法 | |
JPWO2010024004A1 (ja) | 調整値付きブロック暗号化装置、調整値付きブロック暗号化方法及び調整値付きブロック暗号化プログラム並びに調整値付きブロック復号装置、調整値付きブロック復号方法及び調整値付きブロック復号プログラム | |
JP2001282103A (ja) | 暗号化方法 | |
Kareem et al. | New modification on feistel DES algorithm based on multi-level keys | |
Singh et al. | Image encryption & decryption with symmetric key cryptography using MATLAB | |
CN112668042B (zh) | 一种文件加密方法 | |
Mihaljević et al. | A security evaluation of certain stream ciphers which involve randomness and coding | |
Mihaljević et al. | Employment of homophonic coding for improvement of certain encryption approaches based on the LPN problem | |
CN111865578A (zh) | 一种基于sm2的多接收方公钥加密方法 | |
Charru et al. | Improved Cryptography Algorithm to Enhanced Data Security | |
Xiong et al. | Reversible Data Hiding in Shared Images With Separate Cover Image Reconstruction and Secret Extraction | |
Hamsanandhini et al. | Securing Data in the Image Using SHA & ECC | |
Berezin et al. | Stream deniable-encryption computationally indistinguishable from probabilistic ciphering | |
CN114244552B (zh) | 基于区块链的数据加密传输方法及装置 | |
Kandar et al. | Random sequence based secret sharing of an encrypted color image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 |