【技术实现步骤摘要】
一种可用于TLS协议的抗量子密钥封装方法与系统
[0001]本专利技术属于密码领域,公开了一种可用于TLS协议的抗量子密钥封装方法与系统。
技术介绍
[0002]基于公钥密码学的密钥封装技术是保证信息安全不可或缺的工具。密钥封装方案,或KEM的思想是,发送方使用接收方的公钥对算法内部生成的随机共享密钥加密得到密文,发送方留存该共享密钥并将密文发送给接收方,接收方收到密文后使用对应的私钥解密得到封装在密文中的共享密钥。
[0003]随着对量子计算机的研究,量子算法(运行在量子计算机上的算法)逐渐被大家所认识。与经典算法不同,量子算法有着更强大的计算能力,一些在经典模型下非常困难的问题,在量子计算理论面前变得简单。经典公钥密码系统大多基于大整数分解,离散对数问题的困难性,如RSA,ECIES加密算法等。随着量子计算的发展(如Shor算法,Grover算法等),许多基于经典数论(如大整数分解问题,离散对数问题等)的密码方案的安全性受到严重挑战,后量子密码学应运而生,其中,基于格的密码学是目前最具前景的候选之一。而在基于格的公钥加密方案中,基于环上容错学习问题(RLWE)以及分块的环上容错学习问题(Module RLWE,或M
‑
LWE)的方案,因其相对更小的密钥尺寸以及允许使用NTT变换加速计算的代数结构,成为备受关注的技术路线。
[0004]在NIST的算法征集中,Kyber(入选最终标准)和NewHope(在第二轮评估中被淘汰)分别包含基于M
‑
LWE和RLWE问题的 ...
【技术保护点】
【技术特征摘要】
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
...
【专利技术属性】
技术研发人员:陈隆,张振峰,庄子迪,韩将,
申请(专利权)人:中国科学院软件研究所,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。