一种可用于TLS协议的抗量子密钥封装方法与系统技术方案

技术编号:38712650 阅读:10 留言:0更新日期:2023-09-08 14:55
本发明专利技术公开了一种可用于TLS协议的抗量子密钥封装方法与系统。本方法为:1)发起方生成临时的私钥sk和公钥pk,并将pk发送给响应方;2)响应方使用发起方的公钥pk生成封装密文c、共享密钥K和指定报文的消息认证码MAC,将(c,MAC)返回给发起方;3)发起方使用私钥sk对封装密文c进行解密得到密钥材料m',并根据封装密文c和密钥材料m'计算共享密钥K',然后使用K'计算所述指定报文的消息认证码MAC',若MAC'与MAC一致,则密钥共享成功并输出K',否则密钥共享失败并返回错误码。享失败并返回错误码。享失败并返回错误码。

【技术实现步骤摘要】
一种可用于TLS协议的抗量子密钥封装方法与系统


[0001]本专利技术属于密码领域,公开了一种可用于TLS协议的抗量子密钥封装方法与系统。

技术介绍

[0002]基于公钥密码学的密钥封装技术是保证信息安全不可或缺的工具。密钥封装方案,或KEM的思想是,发送方使用接收方的公钥对算法内部生成的随机共享密钥加密得到密文,发送方留存该共享密钥并将密文发送给接收方,接收方收到密文后使用对应的私钥解密得到封装在密文中的共享密钥。
[0003]随着对量子计算机的研究,量子算法(运行在量子计算机上的算法)逐渐被大家所认识。与经典算法不同,量子算法有着更强大的计算能力,一些在经典模型下非常困难的问题,在量子计算理论面前变得简单。经典公钥密码系统大多基于大整数分解,离散对数问题的困难性,如RSA,ECIES加密算法等。随着量子计算的发展(如Shor算法,Grover算法等),许多基于经典数论(如大整数分解问题,离散对数问题等)的密码方案的安全性受到严重挑战,后量子密码学应运而生,其中,基于格的密码学是目前最具前景的候选之一。而在基于格的公钥加密方案中,基于环上容错学习问题(RLWE)以及分块的环上容错学习问题(Module RLWE,或M

LWE)的方案,因其相对更小的密钥尺寸以及允许使用NTT变换加速计算的代数结构,成为备受关注的技术路线。
[0004]在NIST的算法征集中,Kyber(入选最终标准)和NewHope(在第二轮评估中被淘汰)分别包含基于M

LWE和RLWE问题的困难性假设而构造的密钥封装方案。由于二者的设计目标是最终实现IND

CCA安全性,只能容忍极低的解密错误率,因此二者所选取的参数都较为保守,模数较大;另一方面,降低模数会以牺牲一定的解密正确率为代价,带来安全性的提升、密钥和通信尺寸的降低以及计算性能的提升。欧密会22年的研究成果表明IND

1CCA安全的密钥封装算法,就足以安全地实现TLS以及KEMTLS中使用临时密钥对交换密钥的步骤。而通过将CCA安全弱化为1CCA安全性,将在构造上减少复杂度从而提高计算性能,并且允许更大的解密错误,从而具有更广泛的参数选择范围。而这样的IND

1CCA安全的密钥封装算法,因TLS协议在网络安全中的主导地位,其做出的任何性能和通信尺寸上的优化,会影响到全世界网络空间的安全与效率。KEMTLS则是作为取代TLS协议的提议,其在后量子密码上的表现比传统TLS协议高,但其中仍有需要IND

1CCA安全的密钥封装算法的步骤。因此,本专利技术通过重新选择参数,允许存在较高的解密错误率,实现IND

1CCA而非IND

CCA安全的密钥封装协议,实现性能、通信尺寸以及安全性的更好的平衡。

技术实现思路

[0005]本专利技术的目的在于构造一种可用于TLS协议的抗量子密钥封装方法与系统,它的特征在于基于RLWE问题困难性,并且相比于目前采用相同技术路线的其他KEM方案而言,采用了极小的模数,并允许上界为2

10
(即千分之一)或2

14
(即万分之一)的较大的解密错误率。
[0006]符号定义。本专利技术基于格密码的RLWE问题,密钥、加密、解密等计算均定义在多项式环R
q
=Z
q
[X]/<X
n
+1>上,其中Z
q
[X]为系数大于小于的整系数多项式构成的环,R
q
为Z
q
[X]中的多项式再模多项式X
n
+1所构成的环。
[0007]本专利技术定义R
q
中的维数n=512,模数q=257;
[0008]本专利技术采用的技术方案如下:
[0009]一种可用于TLS协议的抗量子密钥封装方法,其步骤包括:
[0010]1)发起方生成临时的私钥sk和公钥pk,并将公钥pk发送给响应方;
[0011]2)响应方使用发起方的公钥pk生成封装密文c、共享密钥K和指定报文的消息认证码MAC,将(c,MAC)返回给发起方;
[0012]3)发起方使用私钥sk对封装密文c进行解密得到密钥材料m',并根据封装密文c和密钥材料m'计算共享密钥K',然后使用K'计算所述指定报文的消息认证码MAC',若MAC'与MAC一致,则密钥共享成功并输出K',否则密钥共享失败并返回错误码。
[0013]进一步的,步骤1)中生成私钥sk和公钥pk的方法为:
[0014]11)均匀随机生成公共参数a∈R
q
;R
q
为多项式环;
[0015]12)从短向量分布χ中采样生成私钥s,从短向量分布χ'中,采样生成误差e;
[0016]13)计算公钥b=a
·
s+e,其中乘法与加法均为在多项式环R
q
上的多项式乘法与加法;
[0017]14)将私钥s序列化作为临时的私钥sk,将(b,a)序列化作为临时的公钥pk。
[0018]进一步的,步骤2)中生成封装密文c、共享密钥K和指定报文的消息认证码MAC的方法为:
[0019]21)生成一密钥材料m,使用指定映射f:{0,1}
256

R
q
将m映射为多项式环R
q
中元素m
R
=f(m);所述公钥pk包括从多项式环R
q
上选取的随机参数a,以及基于a和sk计算得到的参数b;所述多项式环R
q
中模多项式次数n=512、模数q=257;
[0020]22)从短向量分布χ中采样生成r,从短向量分布χ'中依次采样生成误差e',e”;
[0021]23)计算密文第一部分u=a
·
r+e'和第二部分v=m
R
+b
·
r+e”,记封装密文c=(u,v);
[0022]24)导出共享密钥K=H(m,c),其中H为公共的哈希函数,并使用K生成指定报文的消息认证码MAC。
[0023]进一步的,步骤3)中得到所述共享密钥K'的方法为:
[0024]31)根据私钥s和密文c=(u,v),计算m'
R
=v

u
·
s;
[0025]32)使用指定映射g:R
q

{0,1}
256
,将多项式环R
q
中元素m'
R
映射回明文密钥材料m'=g(m'
R
);
[0026]33)导出共享密钥K'=H(m',c)。
[0027]进一步的,映射g、f满足:g[f(m)]=m,并且对于所选短向量分布χ在加解封装过程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种可用于TLS协议的抗量子密钥封装方法,其步骤包括:1)发起方生成临时的私钥sk和公钥pk,并将公钥pk发送给响应方;2)响应方使用发起方的公钥pk生成封装密文c、共享密钥K和指定报文的消息认证码MAC,将(c,MAC)返回给发起方;3)发起方使用私钥sk对封装密文c进行解密得到密钥材料m',并根据封装密文c和密钥材料m'计算共享密钥K',然后使用K'计算所述指定报文的消息认证码MAC',若MAC'与MAC一致,则密钥共享成功并输出K',否则密钥共享失败并返回错误码。2.根据权利要求1所述的方法,其特征在于,步骤1)中生成私钥sk和公钥pk的方法为:11)均匀随机生成公共参数a∈R
q
;R
q
为多项式环;12)从短向量分布χ中采样生成私钥s,从短向量分布χ'中,采样生成误差e;13)计算公钥b=a
·
s+e,其中乘法与加法均为在多项式环R
q
上的多项式乘法与加法;14)将私钥s序列化作为临时的私钥sk,将(b,a)序列化作为临时的公钥pk。3.根据权利要求2所述的方法,其特征在于,步骤2)中生成封装密文c、共享密钥K和指定报文的消息认证码MAC的方法为:21)生成一密钥材料m,使用指定映射f:{0,1}
256

R
q
将m映射为多项式环R
q
中元素m
R
=f(m);所述公钥pk包括从多项式环R
q
上选取的随机参数a,以及基于a和sk计算得到的参数b;所述多项式环R
q
中模多项式次数n=512、模数q=257;22)从短向量分布χ中采样生成r,从短向量分布χ'中依次采样生成误差e',e”;23)计算密文第一部分u=a
·
r+e'和第二部分v=m
R
+b
·
r+e”,记封装密文c=(u,v);24)导出共享密钥K=H(m,c),其中H为公共的哈希函数,并使用K生成指定报文的消息认证码MAC。4.根据权利要求3所述的方法,其特征在于,步骤3)中得到所述共享密钥K'的方法为:31)根据私钥s和密文c=(u,v),计算m'
R
=v

u
·
s;32)使用指定映射g:R
q

{0,1}
256
,将多项式环R
q
...

【专利技术属性】
技术研发人员:陈隆张振峰庄子迪韩将
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:

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

1