一种基于有限李型群的抗量子攻击的非对称加密方法与流程

文档序号:18104003发布日期:2019-07-06 11:31阅读:482来源:国知局

本发明涉及一种非对称加密方法,具体是一种基于有限李型群的抗量子攻击的非对称加密方法。



背景技术:

当前,广泛实用的公钥密码体制主要基于数论中的难解问题,主要包括:大整数因子分解问题(integerfactoringproblem,ifp)、有限域上离散对数问题(discretelogarithmproblem,dlp)和椭圆曲线上离散对数问题(ellipticcurvediscretelogarithmproblem,ecdlp)等。这些数学难题被认为在经典计算机(图灵机)上是多项式时间不可解的。

然而量子计算理论在过去二十年取得了重大突破,上述经典模型下的困难问题被发现在量子计算模型下可以被高效求解。量子计算专家、图灵奖获得者姚期智院士给出客观评价:量子计算机的研制已进入“最后一公里”的攻坚阶段。诸多事实已表明:量子计算机时代已悄然临近。而一旦将来出现足够规模的专用量子计算机,现有的公钥密码体系将会面临土崩瓦解的危险。因此,寻找部署在经典计算机上可抵抗量子攻击的新型密码学工具并设计安全的抗量子密码系统成为各国政府和学术机构共同关注的热点和难点问题。



技术实现要素:

本发明针对现有技术的不足,提供了一种基于有限李型群的抗量子攻击的非对称加密方法。

本发明解决其技术问题所采用的技术方案是:

步骤1)密钥生成中心生成系统主公私钥对,具体是:

输入安全参数κ1,κ2,输出公钥pk=(g,s,t,δ,h1,h2,h3)和私钥sk=(expss,exptt),其中g是阶数为n的一般线性群;s,t是两个幂零矩阵,δ=expss·exptt;h1,h2,h3分别是三个安全的密码哈希函数:h1:{0,1}κ1+l→zp×zp,h2:g→{0,1}κ2,h3:{0,1}κ2→{0,1}l,l是消息的比特长度;s和t是大素数p上的有限域zp中的两个随机元素,使用后安全销毁。

步骤2)加密阶段:加密方a利用公钥对消息m进行加密,获得密文c,具体是:

对于任意消息m∈{0,1}l,输入公钥pk=(g,s,t,δ,h1,h2,h3),通过下面步骤输出密文c=(c1,c2,c3):

从{0,1}κ2选择一个随机数σ;

计算(rs,rt)=h1(σ||m);

计算

计算

计算

步骤3)解密阶段:接收方利用私钥对密文c进行解密得到消息m,具体是:

对于密文对c=(c1,c2,c3),输入私钥sk=(expss,exptt),通过下面的步骤输出相应明文:

计算

计算

计算(rs′,rt′)=h1(σ′||m′);

检查等式是否同时成立。如果等式成立,则可得到:m=m′,否则,输出m=⊥;

输出m。

本发明产生的有益效果是:本发明提出了一种基于有限李型群设计密码系统的新思路,具体来说,本发明基于有限李型群的指数映射提出了一些困难假设,包括非交换分解问题(naf)和非交换嵌入问题(nai)。随后,本发明使用了fo技术,提出了一种基于有限李型群的公钥加密方法。本发明基本实现平台为有限李型群,新方案能达到经典公钥密码体制所要求的ind-cca安全,并具有抵抗现有量子算法攻击的能力。

具体实施方式

为使本发明的目的、技术方案及优点更加清晰,以下结合实施例,对本发明进行进一步的详细说明。

本发明提出了一种基于有限李型群的公钥加密方法,下面给出具体描述。

符号及定义

本实施例的具体步骤如下:

1、系统建立:输入安全参数κ1,κ2,kgc(密钥生成中心)选择一个大素数p,zp中两个随机元素s和t以及两个幂零矩阵s,t∈m=mn(p),满足cg(s)=s和cg(t)=t,计算用户私钥sk=(expss,exptt);定义三个密码学哈希函数为:h1:{0,1}κ1+l→zp×zp,h2:g→{0,1}κ2,h3:{0,1}κ2→{0,1}l,l是消息的比特长度,计算用户公钥:pk=(g,s,t,δ,h1,h2,h3),其中δ=expss·exptt,g=gln(p)是阶数为n的一般线性群;p=θ(2κ1),kgc把私钥发给用户b。

2、加密阶段:用户a获取用户b的公钥pk=(g,s,t,δ,h1,h2,h3),并用b的公钥对消息m进行加密,传送给用户b。用户a首先从消息空间{0,1}κ2选择一个随机数σ;然后利用哈希函数h1计算二元组(rs,rt)=h1(σ||m);再利用哈希函数h2计算密文对的第一个分量:再利用二元组(rs,rt)并结合矩阵指数得到密文对第二个分量:最后利用哈希函数h3对消息进行加密得到密文对最后一个分量:

3、解密阶段:用户b接收到密文对c=(c1,c2,c3)后,用自己的私钥sk=(expss,exptt)对密文对进行解密,获得相应明文m。用户b首先利用哈希函数h2对密文分量c1,c2进行操作得到:然后利用哈希函数h2对密文分量c3进行操作得到:再利用哈希函数h1对σ′和|m′进行操作得到二元组:(rs′,rt′)=h1(σ′||m′);最后再判断等式是否同时;成立,如果等式成立,则可得到:m=m′,否则,输出m=⊥。

本发明提出了一种基于李理论的抗量子攻击的非对称加密方法。该方法在随机预言模型中被证明是ind-cca安全的,可以抵抗shor等量子算法攻击的能力。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1