CN110138752A - 一种基于格的公钥加密方法 - Google Patents

一种基于格的公钥加密方法 Download PDF

Info

Publication number
CN110138752A
CN110138752A CN201910340234.3A CN201910340234A CN110138752A CN 110138752 A CN110138752 A CN 110138752A CN 201910340234 A CN201910340234 A CN 201910340234A CN 110138752 A CN110138752 A CN 110138752A
Authority
CN
China
Prior art keywords
amlwe
public key
ciphertext
mathematical difficulties
key
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.)
Granted
Application number
CN201910340234.3A
Other languages
English (en)
Other versions
CN110138752B (zh
Inventor
张江
郁昱
范淑琴
张振峰
杨糠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Research Institute Of Information Science And Technology
Original Assignee
Beijing Research Institute Of Information Science And Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Research Institute Of Information Science And Technology filed Critical Beijing Research Institute Of Information Science And Technology
Publication of CN110138752A publication Critical patent/CN110138752A/zh
Application granted granted Critical
Publication of CN110138752B publication Critical patent/CN110138752B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/061Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0863Generation of secret information including derivation or calculation of cryptographic keys or passwords involving passwords or one-time passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于格的公钥加密方法。本发明首先提出一类非对称模带错误学习(AMLWE)数学困难问题,也提供了该类数学困难问题的变种和一般化定义。通过基于AMLWE数学困难问题,本发明提出了一种格上选择明文安全的公钥加密方法。基于该加密方法,本发明也提供了选择密文安全的密钥封装机制以及选择密文安全的公钥加密方法。本发明设计的公钥加密方法和密钥封装机制具有可证明安全、抵抗量子计算机攻击、公钥和密文长度短、计算效率高、参数选取灵活等特点和优势。利用通用的转换方法,本发明也提供了(认证)密钥交换协议。

Description

一种基于格的公钥加密方法
技术领域
本发明属于密码学中的公钥加密领域,涉及使用格密码学中的相关技术,具体表现为一种基于格的公钥加密方法,能抵抗量子计算机攻击。
背景技术
公钥加密已在许多实际应用中得到广泛部署。根据Shor算法,当量子计算机出现时,已部署的基于RSA或椭圆曲线的公钥加密方法将不再安全。量子计算机的快速发展促使我们设计抗量子安全的公钥加密方法。当前,主流的抗量子安全公钥加密方法是基于格或者编码上的数学困难问题。从效率和安全性综合来看,基于格的公钥加密方法是相当有前途的候选方法之一,并得到了国内外学者的广泛研究。在数学中,格是一种离散的加法子群。由于特殊的代数结构,格上有很多难以求解的困难问题,例如最短向量问题。基于格的公钥加密方法是指基于格上数学困难问题设计的公钥加密方法,具有抵抗量子计算机攻击的能力。
公钥加密方法的设计和安全性是建立在数学困难问题之上的。当前,格上公钥加密方法的安全性大多是建立在Regev提出的带错误学习问题(Learning with Errors,LWE)的困难性之上。简单来说,带错误的学习问题与求解模整数方程有关系。令为正整数,为正实数,是以α为参数的噪音分布(通常为高斯分布,或与其相近的二项分布)。计算性带错误的学习问题LWEn,m,q,α目标是对于随机选择的矩阵向量以及噪音向量给定样本求解秘密向量判定性LWE问题是区分(A,b=As+e)和上均匀随机的元组。在一定参数下,判定性LWE问题和计算性LWE问题在多项式时间意义下是等价的。
在特定参数下,求解LWE问题在平均情况下的复杂度比求解格上某些问题(例如,最短向量问题)在最坏情况下的复杂度还高。这种平均困难性到最坏困难性的联系特性实际上是基于格上困难问题的密码方法相对于基于其他困难问题的密码方法独有的优势之一。由于目前已知的格上困难问题的量子求解算法与传统经典求解算法相比在计算复杂度上并没有本质的降低,以至于大多数国内外研究学者都倾向于相信格上问题是困难的,以及基于格上困难问题设计的密码方法能够抵抗量子计算机攻击。此外,当秘密向量s并不是随机均匀地选自于时,相应LWE的变种问题(称之为正规形LWE问题)也是困难的。特别地,当秘密向量与噪音向量e选自于相同的分布时,正规形LWE问题和标准的LWE问题在多项式时间的意义上是等价的。由于正规形LWE问题能够更好地控制噪音增长,因此在文献中被广泛用于设计公钥加密方法。
为了获得更好的效率,环上的LWE(RLWE)困难问题也被提出。RLWE问题定义在n-1次多项式环Rq上。给定正实数以及定义RLWE分布为计算性RLWE数学困难问题RLWEn,q,l,α是指随机选取在有l个样本的条件下计算出秘密值判定性RLWE数学困难问题的目标是区分分布Bs,α上的均匀分布。然而,RLWE问题使用了特殊的环结构,而这种环结构可能被敌手利用来求解相应的数学困难问题。从而,为了安全性和效率的折中,模LWE(MLWE)数学困难问题被密码研究者提出。给定正整数以及正实数对于随机选取的矩阵和向量计算性MLWE问题MLWEn,q,k,l,α的目标是给定样本输出秘密向量判定性MLWE问题的目标是区分样本(A,b=As+e)和选自于上均匀分布的元组。
发明内容
针对当前公钥加密技术中存在的不足,本发明的目的在于提供一种基于格的公钥加密方法。
本发明包括以下四个方面的内容:
1)定义非对称MLWE(即AMLWE)数学困难问题;
2)基于所述AMLWE数学困难问题设计一种基于格的公钥加密方法,并给出AMLWE数学困难问题的变种AMLWE-R;
3)利用所述公钥加密方法设计高效的密钥封装机制以及密钥交换协议;
4)提出AMLWE和AMLWE-R数学困难问题的一般化定义。
本发明的技术方案为:
一种基于格的公钥加密方法,其特征在于,包括以下步骤:
·定义AMLWE数学困难问题:对于正整数正实数满足α1≠α2,给定随机的矩阵和向量计算性AMLWE数学困难问题的目标是给定样本输出秘密向量对于随机的矩阵和向量判定性AMLWE数学困难问题的目标是将样本(A,b=As+e)和选自于上均匀分布的元组区分开;其中Rq是定义在上次数为n-1的多项式环,当n=1时定义 表示正整数集合,表示正实数集合,表示以α1为参数的噪音分布,表示以α2为参数的噪音分布;
·基于所述AMLWE数学困难问题,提出格上公钥加密方法,用公钥对明文进行加密获得密文,用私钥解密密文获得明文。
进一步的,基于格的公钥加密方法由8个正整数参数来实例化,包括:密钥生成方法PKE.KeyGen(1κ)根据安全参数κ生成公钥pk和私钥sk;加密方法PKE.Enc(pk,μ;r)根据公钥pk和随机数r对明文μ加密输出密文c;解密方法PKE.Dec(sk,c)根据私钥sk对密文c进行解密输出明文μ。
进一步的,密钥生成方法PKE.KeyGen(1κ)包括以下步骤:
1)随机选取种子ρ←{0,1}n,计算
2)随机选取计算其中对于任意正整数模切换函数
3)输出公钥pk和私钥sk=s。
进一步的,加密方法PKE.Enc(pk,μ;r)包括以下步骤:
1)根据公钥明文消息μ∈{0,1}n和随机数计算
2)选择计算u:=ATr+e1
3)计算
4)输出密文
进一步的,解密方法PKE.Dec(sk,c)包括以下步骤:
1)根据私钥sk=s和密文计算
2)计算μ:=Switchq→2(z);
3)输出明文μ。
进一步的,通过调整参数(η12)来达到公钥加密方法安全性和正确性的最佳平衡,具体调整方法为:通过减小η1的值提高公钥加密方法的正确性,增大η2的值提高公钥加密方法的安全性。
进一步的,公钥加密方法扩展为以下基于格的密钥封装机制,其包括以下子方法:
1)密钥生成方法KEM.KeyGen(1κ)根据安全参数κ生成公钥pk和私钥sk,其包括以下步骤:
a)随机选取z←{0,1}n
b)执行(pk,sk′):=PKE.KeyGen(1κ);
c)输出公钥和私钥sk=(sk′,pk,H1(pk),z);
2)封装方法KEM.Encaps(pk)用公钥pk封装一个密钥K并输出一个密文c,其包括以下步骤:
a)均匀随机选取μ←{0,1}n,计算μ′:=H1(μ);
b)计算
c)计算c:=PKE.Enc(pk,μ′;r);
d)计算
e)输出密文c和封装的密钥K。
3)解封装方法KEM.Decaps(sk,c)根据私钥sk=(sk′,pk,H1(pk),z)对密文c进行解封装和获得密钥K,其包括以下步骤:
a)计算μ′:=PKE.Dec(sk,c);
b)计算
c)计算c′:=PKE.Enc(pk,μ′;r′);
d)如果c=c′,那么输出否则输出K:=H1(z||H1(c))。
进一步的,定义AMLWE问题的变种,即AMLWE-R数学困难问题,保证公钥加密方法在抗明文信息泄露方面的安全性:对于和正整数p>1、正实数满足α1≠α2,给定随机选取的判定性AMLWE-R数学困难问题的目标是将样本和均匀随机选取的元组区分开,其中以及v←Rq都是均匀随机选取的值;计算性AMLWE-R数学困难问题是给定样本求解秘密向量s。
一种基于格的公钥加密方法,其特征在于,定义一般化AMLWE数学困难问题如下:
对于正整数正整数以及不是全部相同的正实数给定随机选取的矩阵秘密向量噪音向量计算性一般化AMLWE数学困难问题的目标是给定以下样本:
输出秘密向量
判定性一般化AMLWE数学困难问题的目标是将样本和选自于上均匀分布的元组区分开;基于所述一般化AMLWE数学困难问题,提出格上公钥加密方法,用公钥对明文进行加密获得密文,用私钥解密密文获得明文;其中Rq是定义在上次数为n-1的多项式环,当n=1时定义 表示正整数集合,表示正实数集合;对于δ∈{α1,…,αc1,…,βd},χδ表示以δ为参数的噪音分布。
进一步的,定义一般化AMLWE问题的变种,即一般化AMLWE-R数学困难问题:对于正整数正整数不是全部相同的正实数以及正整数p>1,给定随机选取的矩阵向量向量向量和值判定性一般化AMLWE-R数学困难问题的目标是将以下样本
和随机选取的元组区分开,其中以及v←Rq都是均匀随机选取的值;
计算性一般化AMLWE-R数学困难问题的目标是给定以下样本
求解秘密向量s;
其中对于δ∈{α1,…,αc1,…,βd,γ},χδ表示以δ为参数的噪音分布。
进一步的,所述AMLWE数学困难问题,AMLWE-R数学困难问题以及一般化的AMLWE及AMLWE-R数学困难问题用于设计公钥加密方法、密钥封装机制和密钥交换协议。
与当前公钥加密技术相比,本发明的具有以下特点和优势:
安全性高、可证明安全、抵抗量子计算机攻击、公钥和密文长度短、计算效率高、参数选取灵活、抵抗多目标攻击、易于安全实现等。
具体实施方式
为了对本发明的技术方案进一步阐述,下面结合具体实例,对本发明的公钥加密方法进行进一步的详细说明。
本发明首先给出一些基本符号的定义如下:
1)表示由整数构成的集合,即 表示模q剩余类构成的集合,即其中q是正整数;对于任意的正整数n,表示n个的直积,即
2)表示由实数构成的集合;表示由正实数构成的集合;表示正整数构成的集合,即
3)令是正整数,Rq是定义在上的次数为n-1的多项式环;当n=1时,定义对于任意的正整数 表示k个Rq的直积,即对于任意的正整数 表示在Rq中元素组成的k×k矩阵构成的集合;
4)对于分布D,x←D表示根据分布D随机选取x;对于有限集合S,x←S表示从集合S中均匀随机选取x;
5)对于实数「x」表示最接近x的整数,当上下两个整数一样近时,该函数向上取整;
6)对于矩阵A或者向量a,AT和aT分别表示A和a转置;
7)符号:=表示赋值,即对于任意两个值a,b,a:=b表示将a赋值作为b;
8)对于任意正实数χα表示以α为参数的噪音分布;对于正整数 表示多项式环Rq中系数根据分布χα取值的元素构成的集合;对于正整数 表示每个分量取自中的元素构成的k维向量集合。
具体来说,本发明包括以下四个方面的内容:
一、MLWE数学困难问题的非对称变形
本发明提出非对称的MLWE数学困难问题(Asymmetric Module-LWE,简称AMLWE),统一给出了LWE、RLWE和MLWE数学困难问题的非对称变形。
在给出AMLWE数学困难问题的具体定义之前,本发明定义模约化操作如下:
·对于正偶数α和整数r,定义操作r′=r mod±α输出满足r′=r modα成立;对于正奇数α和整数r,定义操作r′=r mod±α输出满足r′=r modα成立。对于正整数α和整数r,定义操作r′=r mod+α输出r′∈[0,α)满足r′=r modα成立。当精确的模约化操作表示不重要的时候,简写为r modα。
本发明提出的AMLWE数学困难问题具体定义如下:
·AMLWE数学困难问题:对于正整数正实数满足α1≠α2,给定随机的矩阵和向量计算性AMLWE数学困难问题的目标是给定样本输出秘密向量对于随机的矩阵和向量判定性AMLWE数学困难问题的目标是将样本(A,b=As+e)和选自于上均匀分布的元组区分开。
当k=1时,AMLWE数学困难问题是非对称的RLWE问题(即ARLWE问题);当n=1时,AMLWE数学困难问题是非对称的LWE问题(即ALWE问题)。
在以上AMLWE数学困难问题中,本发明提供高斯分布作为噪音分布的候选。为了便于系统实现,本发明将使用二项分布作为AMLWE问题中的这两个噪音分布。以正整数η为参数的中心二项分布Bη定义如下:
其中(a1,…,aη,b1,…,bη)←{0,1}表示从集合{0,1}中均匀随机选取比特a1,…,aη,b1,…,bη
从Bη中采样一个多项式f∈Rq或多项式向量的意思是从Bη中采样每个多项式的系数。对于正整数 表示每个分量取自分布Bη构成的k维向量。易证,以η为参数的二项分布是以为标准差的亚高斯分布。在一定参数下,使用二项分布作为噪音分布的计算性AMLWE困难问题可以归约到使用高斯分布的AMLWE困难问题。
根据目前已知的最好求解方法,有以下关系成立:
对于特定的分布(例如高斯分布),可以从理论上证明以上困难关系成立。
可以看到,当α1=α2时,AMLWE数学困难问题将退化为标准的MLWE数学困难问题。从而,本发明仅考虑α1≠α2的情况。
通过基于本发明提出的AMLWE数学困难问题,本发明设计高效、可证明安全、抗量子安全的格上公钥加密方法、密钥封装机制以及密钥交换协议。本发明提出的公钥加密方法以及密钥封装机制具有以下特点和优势:
1)安全性高:在经典随机预言机模型和量子随机预言机模型下都是可证明选择密文攻击
安全的;能抵抗未来量子计算机攻击。
2)公钥和密文长度短:与格上同类方案比较,具有更短的公钥和密文长度。
3)计算效率高:提供计算速度非常快的密钥生成、加密(封装)和解密(解封装)子方法。
4)参数选取灵活:与基于标准(M)LWE困难问题的格上加密方法比较,支持更加灵活细粒度的参数选取,从而更容易实现安全性与性能的平衡。
5)抵抗多目标攻击:阻止了攻击者以恢复一个用户私钥的代价来恢复多个用户的私钥。
6)易于安全实现:没有使用高斯分布,能避免相关针对高斯分布采样方法的侧信道攻击。
二、基于AMLWE数学困难问题的格上选择明文安全公钥加密方法
为体现本发明的上述特点和优势,下面通过基于AMLWE数学困难问题的格上选择明文安全公钥加密方法为具体实施例对本发明做进一步说明。
本发明提出的格上选择明文安全的公钥加密方法包括以下子方法:
·密钥生成方法PKE.KeyGen(1κ):输入安全参数κ,输出公钥pk和私钥sk。
·加密方法PKE.Enc(pk,μ;r):输入公钥pk、明文μ和随机数r,输出密文c。
·解密方法PKE.Dec(sk,c):输入私钥sk和密文c,输出明文μ。
本实施例描述的格上公钥加密方法将由8个正整数参数来实例化。本实施例涉及使用定义在上次数为n-1的多项式环Rq,杂凑函数用以生成一个矩阵
本实施例将使用以下模切换函数:
·模切换函数:对于任意正整数定义模切换函数Switchq→p(·)如下:
易证,对于任意p<q和x′=Switchp→q(Switchq→p(x)),有以下不等式成立:
|x′-xmod±q|≤Bq:=「q/2p」
当我们将模切换函数Switchq→p(·)作用于环元素x∈Rq时,意思是将相应计算过程独立作用到环元素的每个系数上。
本发明提出的基于AMLWE数学困难问题的选择明文安全的公钥加密方法描述如下:
·密钥生成方法PKE.KeyGen(1κ):输入安全参数κ,执行如下:
1)随机选取种子ρ←{0,1}n,计算
2)随机选取计算
3)输出公钥和私钥sk=s。
·加密方法PKE.Enc(pk,μ;r):输入公钥明文消息μ∈{0,1}n和随机数执行如下:
1)计算
2)随机选择计算以下值:
u:=ATr+e1
3)计算
4)输出密文
·解密方法PKE.Dec(sk,c):输入私钥sk=s和密文执行如下:
1)计算
2)计算μ:=Switchq→2(z);
3)输出明文μ。
在以上密钥生成方法PKE.KeyGen(1κ)中,当dt=0时,即本发明没有压缩公钥;当dt≥1时,即本发明压缩了公钥。
例如,本实施例可以选择整数n是2的幂次,素数q满足q=1mod 2n,多项式环来支持数论变换(NTT)运算。注意,本实施例也支持其他多种n,q,Rq的选择。
本实施例允许n,k,q,η12,du,dv,dt的多种参数选择。特别地,本发明允许灵活调整与AMLWE问题相关的两个参数(η12)来达到安全性和正确性的最佳平衡,并最终达到降低公钥及密文的长度和提高计算效率的目的,具体表现为减小η1的值可提高公钥加密方法的正确性,增大η2的值可提高公钥加密方法的安全性。
本发明提供以下表1所示的3组参数选择供参考,但不局限于这3组参数选择。
表1为3组参数列表
参数集名称 (n,k,q) (η<sub>1</sub>,η<sub>2</sub>) (d<sub>t</sub>,d<sub>u</sub>,d<sub>v</sub>) 解密错误率 目标量子安全强度
PARAMS I (256,2,7681) (2,12) (10,9,3) 2<sup>-82</sup> 80
PARAMS II (256,3,7681) (1,4) (9,9,4) 2<sup>-128</sup> 128
PARAMS III (512,2,12289) (2,8) (11,10,4) 2<sup>-211</sup> 192
由于公钥压缩的需要,以上描述的格上公钥加密方法的密文安全性将依赖于以下AMLWE数学困难问题的变种,即AMLWE-R问题:
·AMLWE-R数学困难问题:对于和正整数p>1、正实数满足α1≠α2,给定随机选取的判定性AMLWE-R数学困难问题的目标是将样本和均匀随机选取的元组区分开,其中以及v←Rq都是均匀随机选取的值;计算性AMLWE-R数学困难问题是给定样本求解秘密向量s。
同样地,在以上AMLWE-R数学困难问题中,本发明仅考虑α1≠α2的情况。
当p=1或q=1时,并且从而AMLWE-R数学困难问题将退化为AMLWE数学困难问题。
三、基于AMLWE数学困难问题的密钥封装机制以及方法扩展
为体现本发明的特点和优势,下面通过基于AMLWE数学困难问题的选择密文安全密钥封装机制为具体实施例对本发明做进一步说明。
本发明提出的格上选择密文安全的密钥封装机制包括以下子方法:
·密钥生成方法KEM.KeyGen(1κ):输入安全参数κ,输出公钥pk和私钥sk。
·封装方法KEM.Encaps(pk):输入公钥pk,输出密文c和密钥K。
·解封装方法KEM.Decaps(sk,c):输入私钥sk和密文c,输出密钥K或者随机值。
令H1:{0,1}*→{0,1}n是密码学杂凑函数以及是密码学杂凑函数。基于第二部分描述的选择明文安全的公钥加密方法(PKE.KeyGen,PKE.Enc,PKE.Dec),本发明提出以下选择密文安全的密钥封装机制:
·密钥生成方法KEM.KeyGen(1κ):输入安全参数κ,执行如下:
1)随机选取z←{0,1}n
2)执行(pk,sk′):=PKE.KeyGen(1κ);
3)输出公钥pk和私钥sk=(sk′,pk,H1(pk),z)。
·封装方法KEM.Encaps(pk):输入公钥pk,执行如下:
1)均匀随机选取μ←{0,1}n,计算μ′:=H1(μ);
2)计算
3)计算c:=PKE.Enc(pk,μ′;r);
4)计算
5)输出密文c和密钥K。
·解封装方法KEM.Decaps(sk,c):输入私钥sk=(sk′,pk,H1(pk),z)和密文c,执行如下:
1)计算μ′:=PKE.Dec(sk,c);
2)计算
3)计算c′:=PKE.Enc(pk,μ′;r′);
4)如果c=c′,那么输出否则输出K:=H1(z||H1(c))。
实验数据:以下给出本发明的部分实验数据。实验平台为2.5GHz的Intel Core-i76500U CPU和8GB内存的Thinkpad X1笔记本,程序语言为C语言。
表2为本发明在使用表1中3组参数集时的实验数据
方法扩展:通过已知的通用转换方法(例如Fujisaki和Okamoto提出的FO通用转换方法),本发明提出的选择明文安全的公钥加密方法和选择密文安全的密钥封装机制均可转换为选择密文安全的公钥加密方法。此外,利用已知的通用转换方法(例如Fujioka等人的通用转换方法),本发明提出的公钥加密方法和密钥封装机制均可转换为密钥交换协议或者带认证的密钥交换协议。
本发明的具体应用及实例:
公钥加密和密钥封装机制被广泛应用于各种安全信息系统中保护隐私数据、传输加密密钥、建立共享密钥等等,例如:电子银行、电子商务、电子邮箱等互联网应用中广泛使用的超文本传输安全协议(HTTPS)依赖于公钥加密方法或密钥封装机制。本发明可以用于替代传统的公钥加密方法和密钥封装机制,但与传统的公钥加密方法和密钥封装机制不同的是本发明能够抵抗量子计算机攻击,能够为保护量子计算机时代的信息安全提供技术支撑。
四、AMLWE数学困难问题的一般化定义
是正整数,Rq是定义在上的次数为n-1的多项式环(当n=1时,令)。对于任意正整数定义模切换函数Switchq→p(·)如下:
当我们将模切换函数Switchq→p(·)作用于环元素x∈Rq时,意思是将相应计算过程独立作用到环元素的每个系数上。
本发明也提出一般化AMLWE数学困难问题以及一般化AMLWE-R数学困难问题,使得允许更加灵活细粒度地调整参数,从而获得更好的效率。具体表现为以下AMLWE和AMLWE-R数学困难问题的一般化定义:
·一般化AMLWE数学困难问题:对于正整数正整数以及不是全部相同的正实数给定随机选取的矩阵秘密向量噪音向量计算性一般化AMLWE数学困难问题的目标是给定以下样本:
输出秘密向量
判定性一般化AMLWE数学困难问题的目标是将样本和选自于上均匀分布的元组区分开。
当k=1时,一般化AMLWE数学困难问题是一般化非对称环上的LWE问题(即一般化ARLWE问题);当n=1时,一般化AMLWE数学困难问题是一般化非对称整数上的LWE问题(即一般化ALWE问题)。
当c=1且d=1时,以上一般化AMLWE数学困难问题将变为第一部分描述的AMLWE问题。与AMLWE数学困难问题相同的原因(区别于标准的MLWE问题),本发明仅考虑参数α1,…,αc1,…,βd不全相同的情况。
根据以上的扩展方法,本发明也给出AMLWE-R数学困难问题的一般化定义如下:
·一般化AMLWE-R数学困难问题:对于正整数正整数不是全部相同的正实数以及正整数p>1,给定随机选取的矩阵向量向量向量和值
判定性一般化AMLWE-R数学困难问题的目标是将以下样本
和随机选取的元组区分开,其中以及v←Rq都是均匀随机选取的值;
计算性一般化AMLWE-R数学困难问题的目标是给定以下样本
求解秘密向量s。
当p=1或q=1时,并且从而一般化AMLWE-R数学困难问题将退化为一般化AMLWE数学困难问题。
完全类似地,基于一般化AMLWE数学困难问题及其变种,可设计公钥加密方法、密钥封装机制和密钥交换协议,支持更细粒度地调整参数,以获得更好的效率。
本发明的方案可以通过软件的方式实现,也可以通过硬件的方式来实现,比如:
在一个实施例中,提供一种计算机(或服务器),其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行上面所述方法中各步骤的指令;在另一个实施例中,提供一种计算机可读存储介质(如ROM/RAM、磁盘、光盘),所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现上面所述方法的步骤。
本发明提出的AMLWE数学困难问题,AMLWE-R数学困难问题以及一般化的AMLWE及AMLWE-R数学困难问题可用于设计公钥加密方法、密钥封装机制和密钥交换协议,通过调整参数的取值,获得比当前技术更高的效率。
本发明不局限于以上实施方式,对于本领域的普通技术人员,在不脱离本发明原理与方法的前提下,还可以做出若干改进或变形,这些改进和变形也视为本发明的保护范围之内。本说明书中未详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (13)

1.一种基于格的公钥加密方法,其特征在于,包括以下步骤:
1)定义AMLWE数学困难问题:对于正整数n,q,k,正实数α1,满足α1≠α2,给定随机的矩阵和向量计算性AMLWE数学困难问题的目标是给定样本输出秘密向量对于随机的矩阵和向量判定性AMLWE数学困难问题的目标是将样本(A,b=As+e)和选自于上均匀分布的元组区分开;其中Rq是定义在上次数为n-1的多项式环,当n=1时定义 表示正整数集合,表示正实数集合,表示以α1为参数的噪音分布,表示以α2为参数的噪音分布;
2)基于所述AMLWE数学困难问题,提出格上公钥加密方法,用公钥对明文进行加密获得密文,用私钥解密密文获得明文。
2.如权利要求1所述的方法,其特征在于,基于格的公钥加密方法由8个正整数参数n,k,q,η12,du,dv,来实例化,包括:密钥生成方法PKE.KeyGen(1κ)根据安全参数κ生成公钥pk和私钥sk;加密方法PKE.Enc(pk,μ;r)根据公钥pk和随机数r对明文μ加密输出密文c;解密方法PKE.Dec(sk,c)根据私钥sk对密文c进行解密输出明文μ。
3.如权利要求2所述的方法,其特征在于,密钥生成方法PKE.KeyGen(1κ)包括以下步骤:
1)随机选取种子ρ←{0,1}n,计算
2)随机选取计算其中对于任意正整数p,模切换函数对于正整数和η∈{η12},Bη表示以正整数η为参数的中心二项分布,表示每个分量取自分布Bη构成的k维向量;
3)输出公钥和私钥sk=s。
4.如权利要求3所述的方法,其特征在于,加密方法PKE.Enc(pk,μ;r)包括以下步骤:
1)根据公钥明文消息μ∈{0,1}n和随机数计算
2)选择计算u:=ATr+e1
3)计算
4)输出密文
5.如权利要求4所述的方法,其特征在于,解密方法PKE.Dec(sk,c)包括以下步骤:
1)根据私钥sk=s和密文计算
2)计算μ:=Switchq→2(z);
3)输出明文μ。
6.如权利要求5所述的方法,其特征在于,通过调整参数(η12)来达到公钥加密方法安全性和正确性的最佳平衡,具体调整方法为:通过减小η1的值提高公钥加密方法的正确性,增大η2的值提高公钥加密方法的安全性。
7.如权利要求6所述的方法,其特征在于,公钥加密方法扩展为以下基于格的密钥封装机制,其包括以下子方法:
1)密钥生成方法KEM.KeyGen(1κ)根据安全参数κ生成公钥pk和私钥sk,其包括以下步骤:
a)随机选取z←{0,1}n
b)执行(pk,sk′):=PKE.KeyGen(1κ);
c)输出公钥pk和私钥sk=(sk′,pk,H1(pk),z);
2)封装方法KEM.Encaps(pk)用公钥pk封装一个密钥K并输出一个密文c;
3)解封装方法KEM.Decaps(sk,c)根据私钥sk=(sk′,pk,H1(pk),z)对密文c进行解封装和获得密钥K。
8.如权利要求7所述的方法,其特征在于,封装方法KEM.Encaps(pk)包括以下步骤:
a)均匀随机选取μ←{0,1}n,计算μ′:=H1(μ);
b)计算
c)计算c:=PKE.Enc(pk,μ′;r);
d)计算
e)输出密文c和封装的密钥K。
9.如权利要求8所述的方法,其特征在于,解封装方法KEM.Decaps(sk,c)包括以下步骤:
a)计算μ′:=PKE.Dec(sk,c);
b)计算
c)计算c′:=PKE.Enc(pk,μ′;r′);
d)如果c=c′,那么输出否则输出K:=H1(z||H1(c))。
10.如权利要求1所述的方法,其特征在于,定义AMLWE问题的变种,即AMLWE-R数学困难问题,保证公钥加密方法的密文安全性:对于n,q,k,和正整数p>1、正实数α1,满足α1≠α2,给定随机选取的判定性AMLWE-R数学困难问题的目标是将样本和均匀随机选取的元组区分开,其中以及v←Rq都是均匀随机选取的值;计算性AMLWE-R数学困难问题是给定样本求解秘密向量s。
11.一种基于格的公钥加密方法,其特征在于,定义一般化AMLWE数学困难问题如下:
对于正整数n,q,c,正整数以及不是全部相同的正实数给定随机选取的矩阵秘密向量噪音向量计算性一般化AMLWE数学困难问题的目标是给定以下样本:
输出秘密向量
判定性一般化AMLWE数学困难问题的目标是将样本和选自于上均匀分布的元组区分开;基于所述一般化AMLWE数学困难问题,提出格上公钥加密方法,用公钥对明文进行加密获得密文,用私钥解密密文获得明文;其中Rq是定义在上次数为n-1的多项式环,当n=1时定义 表示正整数集合,表示正实数集合;对于δ∈{α1,…,αc1,…,βd},χδ表示以δ为参数的噪音分布。
12.如权利要求11所述的方法,其特征在于,定义一般化AMLWE问题的变种,即一般化AMLWE-R数学困难问题:对于正整数n,q,c,正整数不是全部相同的正实数以及正整数p>1,给定随机选取的矩阵向量向量向量和值
判定性一般化AMLWE-R数学困难问题的目标是将以下样本
和随机选取的元组区分开,其中以及v←Rq都是均匀随机选取的值;
计算性一般化AMLWE-R数学困难问题的目标是给定以下样本
求解秘密向量s;
其中对于δ∈{α1,…,αc1,…,βd,γ},χδ表示以δ为参数的噪音分布。
13.如权利要求1或11所述的方法,其特征在于,所述AMLWE数学困难问题,AMLWE-R数学困难问题以及一般化的AMLWE及AMLWE-R数学困难问题用于设计公钥加密方法、密钥封装机制和密钥交换协议。
CN201910340234.3A 2019-04-19 2019-04-25 一种基于格的公钥加密方法 Active CN110138752B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2019103166660 2019-04-19
CN201910316666 2019-04-19

Publications (2)

Publication Number Publication Date
CN110138752A true CN110138752A (zh) 2019-08-16
CN110138752B CN110138752B (zh) 2021-08-13

Family

ID=67571179

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910340234.3A Active CN110138752B (zh) 2019-04-19 2019-04-25 一种基于格的公钥加密方法

Country Status (1)

Country Link
CN (1) CN110138752B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112511170A (zh) * 2020-11-10 2021-03-16 南京航空航天大学 一种格密码中多项式压缩的并行实现方法
CN112818362A (zh) * 2021-01-29 2021-05-18 江苏理工学院 基于r-lwe的公钥加密方法
CN112865973A (zh) * 2019-11-28 2021-05-28 加密实验室公司 基于格的加密密钥和数字签名的生成方法
CN113094721A (zh) * 2021-03-16 2021-07-09 中国科学院信息工程研究所 一种基于模上错误学习的后量子口令认证密钥交换方法
CN113259107A (zh) * 2021-06-22 2021-08-13 西安工程大学 一种基于格的双模式加密方法
CN113541933A (zh) * 2020-04-17 2021-10-22 上海扈民区块链科技有限公司 一种基于格的高效紧凑加密方法
CN114095170A (zh) * 2022-01-20 2022-02-25 北京信安世纪科技股份有限公司 数据处理方法、装置、系统及计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833265A (zh) * 2012-09-13 2012-12-19 北京航空航天大学 一种基于格理论的签名方案及其安全线性网络编码方法
CN103973439A (zh) * 2014-05-08 2014-08-06 华中科技大学 一种多变量公钥加密方法
CN105025021A (zh) * 2015-07-13 2015-11-04 西安理工大学 格上主析取范式访问策略的基于属性加密方法
CN106789044A (zh) * 2017-02-20 2017-05-31 西南石油大学 标准模型下格上云存储密文数据公钥可搜索加密方法
US20180309574A1 (en) * 2017-04-25 2018-10-25 International Business Machines Corporation One-shot verifiable encryption from lattices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102833265A (zh) * 2012-09-13 2012-12-19 北京航空航天大学 一种基于格理论的签名方案及其安全线性网络编码方法
CN103973439A (zh) * 2014-05-08 2014-08-06 华中科技大学 一种多变量公钥加密方法
CN105025021A (zh) * 2015-07-13 2015-11-04 西安理工大学 格上主析取范式访问策略的基于属性加密方法
CN106789044A (zh) * 2017-02-20 2017-05-31 西南石油大学 标准模型下格上云存储密文数据公钥可搜索加密方法
US20180309574A1 (en) * 2017-04-25 2018-10-25 International Business Machines Corporation One-shot verifiable encryption from lattices

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LINDNER, R.等: "Better key sizes (and Attacks) for LWE-based encryption", 《CRYPTOGRAPHERS’ TRACK AT THE RSA CONFERENCE》 *
刘亚敏等: "基于格的后量子密钥交换研究", 《密码学报》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112865973A (zh) * 2019-11-28 2021-05-28 加密实验室公司 基于格的加密密钥和数字签名的生成方法
CN113541933A (zh) * 2020-04-17 2021-10-22 上海扈民区块链科技有限公司 一种基于格的高效紧凑加密方法
CN113541933B (zh) * 2020-04-17 2023-07-25 赵运磊 一种基于格的高效紧凑加密方法
CN112511170A (zh) * 2020-11-10 2021-03-16 南京航空航天大学 一种格密码中多项式压缩的并行实现方法
CN112511170B (zh) * 2020-11-10 2024-04-16 南京航空航天大学 一种格密码中多项式压缩的并行实现方法
CN112818362A (zh) * 2021-01-29 2021-05-18 江苏理工学院 基于r-lwe的公钥加密方法
CN112818362B (zh) * 2021-01-29 2023-09-22 江苏理工学院 基于r-lwe的公钥加密方法
CN113094721A (zh) * 2021-03-16 2021-07-09 中国科学院信息工程研究所 一种基于模上错误学习的后量子口令认证密钥交换方法
CN113259107A (zh) * 2021-06-22 2021-08-13 西安工程大学 一种基于格的双模式加密方法
CN114095170A (zh) * 2022-01-20 2022-02-25 北京信安世纪科技股份有限公司 数据处理方法、装置、系统及计算机可读存储介质

Also Published As

Publication number Publication date
CN110138752B (zh) 2021-08-13

Similar Documents

Publication Publication Date Title
CN110138752A (zh) 一种基于格的公钥加密方法
CN104038341B (zh) 一种基于身份的跨系统代理重加密方法
Han et al. Fingerprint images encryption via multi-scroll chaotic attractors
CN110138549B (zh) 一种基于格的数字签名方法
CN104135473B (zh) 一种由密文策略的属性基加密实现身份基广播加密的方法
EP2228942A1 (en) Securing communications sent by a first user to a second user
CN110299987B (zh) 一种基于同态加密的百万富翁问题解决方法
CN107689947A (zh) 一种数据处理的方法和装置
CN103326852B (zh) 一种量子计算环境下的共享密钥建立方法
Gu et al. Conjugacy systems based on nonabelian factorization problems and their applications in cryptography
CN109768863A (zh) 一种基于椭圆曲线的区块链密钥共享和动态更新方法
CN113141247B (zh) 一种同态加密方法、装置、系统及可读存储介质
Liu et al. Offline/online attribute‐based encryption with verifiable outsourced decryption
CN109889320A (zh) 一种高效的bgv型多密钥全同态加密方法
Dai Quantum cryptanalysis on a multivariate cryptosystem based on clipped hopfield neural network
CN106888213A (zh) 云密文访问控制方法及系统
CN114697042A (zh) 一种基于区块链的物联网安全数据共享代理重加密方法
Zhao et al. Quantum-safe HIBE: does it cost a Latte?
Zhang et al. FSDA: flexible subset data aggregation for smart grid
CN109981254A (zh) 一种基于有限李型群分解问题的微型公钥加密方法
CN109981253A (zh) 一种基于有限李型群的抗量子攻击的非对称加密方法
CN114244567B (zh) 一种云环境中支持电路结构的cp-abe方法
Kumar et al. Multiple Encryption using ECC and its Time Complexity Analysis‖
CN107276759A (zh) 一种高效的门限加密方案
Mashahdi et al. A non-interactive (t, n)-publicly verifiable multi-secret sharing scheme

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