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

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

A Lattice-based Public Key Encryption Method

【技术实现步骤摘要】
一种基于格的公钥加密方法
本专利技术属于密码学中的公钥加密领域,涉及使用格密码学中的相关技术,具体表现为一种基于格的公钥加密方法,能抵抗量子计算机攻击。
技术介绍
公钥加密已在许多实际应用中得到广泛部署。根据Shor算法,当量子计算机出现时,已部署的基于RSA或椭圆曲线的公钥加密方法将不再安全。量子计算机的快速发展促使我们设计抗量子安全的公钥加密方法。当前,主流的抗量子安全公钥加密方法是基于格或者编码上的数学困难问题。从效率和安全性综合来看,基于格的公钥加密方法是相当有前途的候选方法之一,并得到了国内外学者的广泛研究。在数学中,格是一种离散的加法子群。由于特殊的代数结构,格上有很多难以求解的困难问题,例如最短向量问题。基于格的公钥加密方法是指基于格上数学困难问题设计的公钥加密方法,具有抵抗量子计算机攻击的能力。公钥加密方法的设计和安全性是建立在数学困难问题之上的。当前,格上公钥加密方法的安全性大多是建立在Regev提出的带错误学习问题(LearningwithErrors,LWE)的困难性之上。简单来说,带错误的学习问题与求解模整数方程有关系。令为正整数,为正实数,是以α为参数的噪音本文档来自技高网...

【技术保护点】
1.一种基于格的公钥加密方法,其特征在于,包括以下步骤:1)定义AMLWE数学困难问题:对于正整数n,q,k,

【技术特征摘要】
2019.04.19 CN 20191031666601.一种基于格的公钥加密方法,其特征在于,包括以下步骤: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,η1,η2,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,模切换函数对于正整数和η∈{η1,η2},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所述的方法,其特征在于,通过调整参数(η1,η2)来达到公钥加密方法安全性和正确性的最佳平衡,具体调整方法为:通过减小η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...

【专利技术属性】
技术研发人员:张江郁昱范淑琴张振峰杨糠
申请(专利权)人:北京信息科学技术研究院
类型:发明
国别省市:北京,11

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

1