(19)中华 人民共和国 国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202111542144.6
(22)申请日 2021.12.16
(71)申请人 中原工学院
地址 451191 河南省郑州市新郑双湖经济
技术开发区淮河路1号
(72)发明人 倪亮 高丽平 单芳芳 谷威力
周恒昇 张亚伟
(74)专利代理 机构 郑州优盾知识产权代理有限
公司 41125
代理人 栗改
(51)Int.Cl.
H04L 9/32(2006.01)
H04L 9/08(2006.01)
H04L 9/40(2022.01)
(54)发明名称
一种基于格的身份 基认证密钥协商方法
(57)摘要
本发明提出了一种基于格的身份基认证密
钥协商方法, 步骤为: 客户端和服务器端的通信
实体的注册及信息初始化, 实现客户端与服务端
地稳定连接; TLS协议握手的协议发起者生成临
时公私钥对, 并根据消息生成密文, 使用Client
Hello把密文和 临时公钥发送至协议响应者; 协
议响应者接收到消息后进行身份认证并生成密
文, 通过Server Hello发送给协议发起者; 协议
发起者收到消息后对密文进行解密和身份验证,
如果身份验证通过, 协议发起者计算出会话密钥
并与协议响应者进行密钥导出; 否则, 协议发起
者拒绝消息并直接终止密钥协商。 本发明的安全
性基于格上困难问题, 能够抵抗量子计算攻击,
在安全性和执 行效率上 具有更多 优势。
权利要求书2页 说明书15页 附图4页
CN 114268439 A
2022.04.01
CN 114268439 A
1.一种基于格的身份 基认证密钥协商方法, 其特 征在于, 其 步骤如下:
步骤一: 客户端和服务器端的通信实体的注册及信息初始化, 实现客户端与服务端地
稳定连接;
步骤二: TLS协议握手的协议发起者A生成临时公私钥对(pk*,sk*), 并根据消息生成密
文cA, 使用Client Hello把密文cA和临时公钥pk*组成的消息(cA,pk*)发送至协议响应者B;
sk*为临时私钥;
步骤三: 协议响应者B接收到消息(cA,pk*)后进行身份认证并生成密文cB和cB*, 通过
Server Hello发送给协议发起 者A;
步骤四: 协议发起者A收到消息(cB,cB*)后对密文cB,cB*进行解密和身份验证, 如果身份
验证通过, 协 议发起者A计算出会话密钥并与 协议响应者B 进行密钥导出; 否则, 协 议发起者
A拒绝消息(cB,cB*)并直接终止密钥协商。
2.根据权利要求1所述的基于格的身份基认证密钥协商方法, 其特征在于, 所述步骤一
中注册及信息初始化的实现方法为:
S1: 建立PKG系统需要的密钥生成算法Key Generation(n,q)和密钥提取算法Extract
(mpk,msk,ID), 并选择合适的相关散列函数H; 其中, n为正整数, q为素数, mpk,msk分别为系
统主公钥和主私钥, ID为 通信实体的身份标识;
S2: 通信实体将自己的身份标识ID发送给PKG系统, 进行实体记录及 密钥申请;
S3: PKG系统收到通信实体的身份标识ID, 使用密钥生成算法Key Generation(n,q)产
生并发布系统主公私钥(mpk,m sk);
S4: PKG系统将系统主公私钥(mpk,msk)及通信实体的身份标识利用密钥提取算法
Extract(mpk,m sk,ID)生成通信实体的身份私钥sk;
S5: 通信实体获得身份信息和身份私钥组成的信息(ID,sk), 注 册及初始化成功。
3.根据权利要求1或2所述的基于格的身份基认证密钥协商方法, 其特征在于, 所述步
骤二中协议发起者A生 成临时公私钥对(pk*,sk*), 并根据消息生 成密文cA的方法为: 协议发
起者A调用加密算法Keygen生成一个随机的临时公私钥对(pk*,sk*), 即(pk*,sk*):=
Keygen(n,q,IDA); 协议发起者A随机选取一个消息
并调用加密算法Enc'生成密文
cA:=Enc'(mpk,IDB,mA);
所述步骤三中协议响应者B进行身份认证并生成密文cB和cB*的方法为: 调用解密算法
Dec'对密文cA进行解密得到mA':=Dec'(skB,cA), 协议响应者B进行验证操作, 即: 若mA'=
⊥, 则验证不通过, 协议发起者B拒绝消息并直接终止协商过程; 若mA'≠⊥, 则验证通过, 协
议响应者B进行以下操作: 随机选取消息
调用加密算法Enc'分别生成密文cB:
=Enc'(mpk,IDA,mB), cB*:=Enc'(pk*,IDA,mB*), 协议响应者B计算出会话密钥KB=H(mA',mB,
mB*,pk*,IDA,IDB);
所述协议发起者A对密文cB,cB*进行解密和身份验证的方法为: 协议发起者A调用解密
算法Dec'分别对密文cB,cB*进行解密得到消息mB':=Dec'(skA,cB), mB*':=Dec'(sk*,cB*),
接着协议发起者A进行验证操作, 即: 若mB'=⊥或者mB*'=⊥, 则验证不通过, 协议发起者A
拒绝消息并直接终止协议; 否则, 则验证通过, 协议发起者A计算出会话密钥KA=H(mA,mB',
mB*',pk*,IDA,IDB);
其中,
为消息域, IDA为协议发起者A的身份标识, n为正整数, q为素数, IDB为协议响权 利 要 求 书 1/2 页
2
CN 114268439 A
2应者B的身份标识, mpk表示系统主公钥, skB表示协议响应 者B的身份私钥, skA表示协议发起
者A的身份私钥, ⊥表示空即失败。
4.根据权利要求3所述的基于格的身份基认证密钥协商方法, 其特征在于, 所述加密算
法Enc'的加密函数Enc'(mpk,ID,m)的实现方法为:
u=r·mpk+e1;
得到密文
其中, k=G1(m), r=G2(m), e1=G3(m), e2=G4(m),
表示向下取整; 且G1, G2, G3, G4为哈希函数, 且:
m为消息, n表示维度, H1:{0,1}*→Rq为哈希函
数, Rq为多项式环; 哈希函数H2:(0,1)*→{0,1}mlen表示将任意输入内容的长度填充为一个
固定的长度,
为异或操作。
5.根据权利要求4所述的基于格的身份基认证密钥协商方法, 其特征在于, 所述解密算
法Dec'的解密函数Dec'(skID,c)为: 根据输入: skID,c=(u,v,w), 则m'=Dec(skID,c);
若m'=⊥或Enc'(mpk,ID,m')≠ c, 返回⊥; 否者, 返回消息m';
其中, 函数Dec(skID,c)的实现方法为: v=2l·v, z=v‑u·skID∈Rq,
则得
到解密消息
6.根据权利要求3所述的基于TLS握手的后量子身份认证密钥协商方法, 其特征在于,
所述加密算法Keygen的实现方法为: 根据输入n、 q、 ID, 计算(mpk*,msk*):=Key Generation
(n,q); sk*:=Extract(mpk*,msk*,ID); pk*:=mpk*; 输出(pk*,sk*)。
7.根据权利要求2、 3 ‑6中任意一项所述的基于格的身份基认证密钥协商方法, 其特征
在于, 所述Key Generation(n,q)的实现方法为: (1)
(2)
a:=‖(g, ‑
f)‖,
m:=max(a,b); (3)若
返回(2); (4)选取ρf, ρg∈
Rq和
使‑ρf·f=Rf和‑ρg·g=Rg; 若GCD(Rf,Rg)≠1或GCD(Rf,q)≠1返回(2); (5)选
取
使u·Rf+v·Rg=1; F:=qvρg; G:=‑quρf;
F:=F‑k·f; G:=G‑k·g; (6)则mpk:=g ·f‑1modq;
输出(mpk,m sk);
其中, n=2k≥1, k为正整数, q为素数, 一般n, q要取较大的数值;
表示离散高斯分布;
表示反循环 矩阵,
表示多项式系数g的转置,
表示多项式系数f的转置 。
8.根据权利要求7所述的基于格的身份基认证密钥协商方法, 其特征在于, 所述密钥提
取算法Extract(mpk,msk,ID)的实现方法为: 计算t:=H1(ID); s1+s2·mpk*=t; (s1,s2):=
(t,0)‑Gaussian(msk*, α,(t,0) ); 输出skID:=s2;
其中, s1、 s2为较小的多项式, α 表示随机抽样的离散高斯分布, Gaussian()表示离散高
斯取样。权 利 要 求 书 2/2 页
3
CN 114268439 A
3
专利 一种基于格的身份基认证密钥协商方法
文档预览
中文文档
22 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共22页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 人生无常 于 2024-03-18 23:33:09上传分享