CN109995509A - 基于消息恢复签名的认证密钥交换方法 - Google Patents
基于消息恢复签名的认证密钥交换方法 Download PDFInfo
- Publication number
- CN109995509A CN109995509A CN201910381150.4A CN201910381150A CN109995509A CN 109995509 A CN109995509 A CN 109995509A CN 201910381150 A CN201910381150 A CN 201910381150A CN 109995509 A CN109995509 A CN 109995509A
- Authority
- CN
- China
- Prior art keywords
- user
- key
- signature
- auth
- public
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0838—Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种基于消息恢复签名的认证密钥交换方法,主要解决原方案通信量较大且安全性较弱的问题。其实现步骤是:每个用户分别生成自己的数字签名公私钥对;第一用户生成自己的密钥封装公私钥对,并进行签名和发送;第二用户验证第一用户发送的签名;第二用户封装密钥并生成会话过程的哈希值;第二用户对密文和会话过程的哈希值进行签名,并发送给第一用户;第一用户验证第二用户发送的签名;第一用户解封装并验证会话过程的哈希值;双方计算会话密钥。本发明通过带消息回复模式的数字签名和密钥封装机制构造一种认证密钥交换协议,节约了通信量并且提高了协议的安全性,可用于车联网和地空通信。
Description
技术领域
本发明属于密码学技术领域,具体涉及一种认证密钥交换方法,可用于车联网和地空通信。
背景技术
密钥交换协议是一种基础的密码原语,目的是让两方或多方在不安全的信道上协商出共同的会话密钥。1976年Diffie和Hellman提出了Diffie-Hellman密钥交换协议,可以通过发送两轮消息协商出共同的会话密钥。为了抵抗篡改、重放等主动攻击,需要将密钥交换协议增强为认证密钥交换协议AKE。认证密钥交换协议能够使通信双方能够认证彼此的身份,并在信道上存在主动敌手的情况下仍然安全地协商出共同的会话密钥。认证密钥交换协议主要分为显式认证协议和隐式认证协议。通过将被动安全的密钥封装机制与数字签名、消息鉴别码等认证方式相结合,可以构造显式认证密钥交换协议。2014年Rafael delPino等人提出了带消息恢复模式的签名,既能够提供认证性,又能够节约通信量。其基本思想是将明文信息隐藏在公钥和签名里,只发送签名而不发送消息,验证时计算出消息,并验证签名,以此达到缩减通信量的目的。
随着量子计算机的发展,基于经典困难问题的密码方案的安全性受到威胁。基于格上困难问题的密钥交换协议能够有效抵抗量子攻击,受到广泛关注。
2005年,Regev提出了带错误的学习问题LWE,证明了LWE问题的困难性与格上的困难问题有关,基于LWE问题构造的密码方案能够实现后量子安全性。通过在LWE问题上附带环、模等代数结构,可以在计算效率和安全性方面达到平衡。Bos等人基于模LWE问题,提出了Kyber密钥封装机制,并且使用Fujioka等人提出的一般性构造,将CCA安全的密钥封装机制转换为认证密钥交换协议,得到两轮消息协商的隐式认证密钥交换协议Kyber.AKE。认证密钥交换协议Kyber.AKE只能实现弱前向安全性,不能实现完善前向安全性,且通信量较大。
发明内容
本发明的目的在于针对上述方案的不足,提出一种基于消息恢复签名的认证密钥交换方法,以通过将被动安全的Kyber密钥封装机制与具有消息恢复模式的签名相结合,构造显式认证密钥交换协议,并提高协议的安全性,减少通信量。
为实现上述目的,本发明的技术方案包括如下:
(1)每个用户分别生成自己的数字签名公私钥对:
第一用户和第二用户分别采用签名密钥生成算法生成各自的签名公私钥对,即第一用户的公私钥对为第二用户的公私钥对为其中是第一用户的私钥,是第一用户的公钥,是第二用户的私钥,是第二用户的公钥;
(2)第一用户生成自己的密钥封装公私钥对,并进行签名和发送:
(2a)第一用户采用密钥封装机制的密钥生成算法生成密钥封装公私钥对{Kd,Ke},其中Ke是第一用户的公钥,Kd是第一用户的私钥;
(2b)第一用户采用消息恢复签名算法,通过自己的签名私钥对自己的封装公钥Ke进行签名,得到数字签名σ1,并将σ1发送给第二用户;
(3)第二用户验证第一用户发送的签名:
第二用户采用消息恢复签名的验证算法,通过第一用户的签名公钥对第一用户发送的签名σ1进行验证,如果验证通过,输出第一用户的封装公钥Ke;否则,输出终止符⊥;
(4)第二用户封装密钥并生成会话过程的哈希值:
(4a)第二用户采用密钥封装算法,通过第一用户的封装公钥Ke得到密文c和第一个密钥k;
(4b)第二用户采用第一个哈希函数H1,得到第二用户的哈希值:Auth1=H1(σ1,c,k);
(5)第二用户采用消息恢复签名算法,通过自己的签名私钥对(c,Auth1)进行签名,得到数字签名σ2,将σ2发送给第一用户;
(6)第一用户采用签名验证算法,通过第二用户的验证公钥对第二用户发送的签名σ2进行验证,如果验证通过,输出(c,Auth1);否则,输出终止符⊥;
(7)第一用户解封装并验证会话过程的哈希值:
(7a)第一用户采用解封装算法,通过自己的封装私钥Kd解封装密文c,得到第二个密钥k′;
(7b)第一用户采用第一个哈希函数H1,得到第一用户的哈希值:Auth2=H1(σ1,c,k′);
(7c)将第一用户的哈希值与第二用户的哈希值进行比较:如果Auth1=Auth2,则验证通过;否则,输出终止符⊥;
(8)双方计算会话密钥:
(8a)第一用户采用第二个哈希函数H2,计算第一用户的会话密钥:SK1=H2(σ1,σ2,k′);
(8b)第二用户采用第二个哈希函数H2,计算第二用户的会话密钥:SK2=H2(σ1,σ2,k)。
本发明与现有技术相比,具有以下优点:
1.通信量较低。
本发明使用带有消息恢复模式的签名来实现认证功能,由于只发送签名而不发送被签名的消息,能够显著减少协议的通信量,节省通信开销。
2.安全性较高。
本发明使用EUF-CMA安全的数字签名和IND-CCA安全的密钥封装机制构造显式认证密钥交换协议,能够实现前向安全性,相比原方案的弱前向安全性有显著提高。
附图说明
图1是本发明的实现总流程图;
图2是本发明中第一次签名过程的子流程图;
图3是本发明中第二次签名过程的子流程图。
具体实施方式
以下结合附图和具体实施例,对本发明做进一步详细说明。
参照图1,本发明的实现步骤包括如下:
步骤1,每个用户分别生成自己的数字签名公私钥对。
1.1)第一用户生成自己的签名公私钥对
(1.1a)第一用户采用签名密钥生成算法生成数字签名公私钥对,签名密钥生成算法的参数为:(N,Q),其中N是2的幂次,Q是素数且Q≡1mod2N,这里取N=512,Q=12289;
(1.1b)计算标准差
(1.1c)根据离散高斯分布采样出2N维向量,其中每个分量都服从均值为0,标准差为σf的一维离散高斯分布,然后将这2N个分量进行模Q运算,并将前N个分量作为多项式f(1)的系数得到第一用户私钥的第一部分f(1),将后N个分量作为多项式g(1)的系数得到第一用户私钥的第二部分g(1);
(1.1d)计算第一用户的公钥h(1)=g(1)/f(1)mod(xN+1)modQ,第一用户的私钥公钥
1.2)第二用户生成自己的签名公私钥对
(1.2a)第二用户采用签名密钥生成算法生成数字签名公私钥对,签名密钥生成算法的参数:(N,Q),其中N是2的幂次,Q是素数且Q≡1mod2N,这里取N=512,Q=12289;
(1.2b)计算标准差
(1.2c)根据离散高斯分布采样出2N维向量,其中每个分量都服从均值为0,标准差为σf的一维离散高斯分布,然后将这2N个分量进行模Q运算,并将前N个分量作为多项式f(2)的系数得到第二用户私钥的第一部分f(2),将后N个分量作为多项式g(2)的系数得到第二用户私钥的第二部分g(2);
(1.2d)计算第二用户的公钥h(2)=g(2)/f(2)mod(xN+1)modQ,第二用户的私钥公钥
步骤2,第一用户生成自己的密钥封装公私钥对,并进行签名和发送。
2.1)第一用户生成密钥封装公私钥对{Kd,Ke}:
(2.1a)第一用户采用密钥封装机制的密钥生成算法生成密钥公私钥对,密钥生成算法的参数:(n,q,k,η,du,dv,dt),其中n是2的幂次,q是素数且q≡2nmod1,k,η,du,dv,dt是公共参数,本实例取n=256,q=7681,k=3,η=4,du=dt=11,dv=3;
(2.1b)随机生成256比特的比特串ρ,使用ρ作为随机化种子,生成k×k矩阵A,A的每个元素都是从第一个多项式环中均匀选取的多项式,随机生成256比特的比特串σ,使用σ作为随机化种子,根据二项分布Bη,从第二个多项式环中选取k个多项式组成向量,作为私钥Kd的第一部分s;使用σ作为随机化种子,根据二项分布Bη,从第二个多项式环中选取k个多项式组成向量,作为计算公钥Ke的参数e,随机选取256比特的比特串z,作为私钥Kd的第二部分;
(2.1c)计算公钥的第一部分其中[[·]]表示向中间取整,公钥Ke=(t,ρ),私钥Kd=(s,z,t,ρ);
2.2)第一用户通过自己的签名私钥对自己的封装公钥Ke进行签名,得到数字签名σ1,并将σ1发送给第二用户:
参照图2,本步骤的具体实现如下:
(2.2a)判断封装公钥Ke的比特长度并进行分割:
如果封装公钥Ke的比特长度L1大于NlogQ-256比特,则第一用户将封装公钥Ke分割成m1和m2两部分,其中第一部分m1的长度是NlogQ-256比特,第二部分m2的长度是L1-(NlogQ-256)比特;
如果封装公钥Ke的比特长度L1小于NlogQ-256比特,则令m1=Ke,m2为空;
(2.2b)第一用户采用消息恢复签名算法,得到公钥第一部分m1的数字签名θ1:
计算第一次签名的中间变量ts=(m1+F(H′(Ke))modQ||H′(Ke)),其中H′是随机预言机,用于将任意长度的比特串映射到256比特的比特串;F是随机预言机,用于将任意长度的比特串映射到NlogQ-256比特的比特串;m1+F(H′(Ke))modQ是ts的首项系数,H′(Ke)是ts的其余系数;
第一用户使用签名私钥作为陷门,使用原像抽样函数PSF按照均值是(0,ts),标准差是σf的离散高斯分布从格Λ1中采样向量(s1,s2,1),使得h(1)s1+s2=tsmodQ,得到消息的第一部分m1的数字签名θ1=(s1,s2),其中:
格y1与y2是多项式环中的多项式,Z是整数,并且满足h(1)y1+y2-Zts=0modQ;
(2.2c)将封装公钥Ke的数字签名σ1=(θ1,m2)发送给第二用户。
步骤3,第二用户验证第一用户发送的签名。
第二用户采用签名验证算法,通过第一用户的签名公钥对第一用户发送的签名σ1进行验证:
3.1)计算第一次验证的中间变量tv=h(1)s1+s2modQ,将tv分割成t1和t2两部分,其中t1是tv的首项系数,t2是tv的其余系数;
3.2)计算明文消息m′1=t1-F(t2);
3.3)验证第一用户的签名:
若且H′(m′1||m2)=t2,其中||·||表示2-范数运算,则签名通过验证,输出Ke=(m′1||m2);否则,签名不通过验证,输出终止符⊥。
步骤4,第二用户封装密钥并生成会话过程的哈希值。
4.1)第二用户采用密钥封装算法,通过第一用户的公钥Ke得到密文c和第一个密钥k:
(4.1a)随机生成256比特的比特串m,计算第二用户的密钥材料其中G是第三个哈希函数,用于将任意长度的比特串映射到512比特的比特串;H是第四个哈希函数,用于将任意长度的比特串映射到256比特的比特串;
(4.1b)采用公钥加密算法Kyber.CPA.Enc,通过第一用户的公钥Ke对随机比特串m进行加密:
首先,计算中间变量其中[[·]]表示向中间取整;
接着,使用ρ作为随机化种子,生成k×k矩阵A,A的每个元素都是从第一个多项式环中均匀选取的多项式;
接着,使用r作为随机化种子,根据二项分布Bη,从第二个多项式环中选取2k+1个多项式,用前k个多项式组成的向量,作为计算密文总体的参数r1;用中间k个多项式组成的向量,作为计算密文第一部分的参数e1;最后1个多项式作为计算密文第二部分的参数e2;
接着,计算密文的第一部分其中[[·]]表示向中间取整,AT表示矩阵A的转置;计算密文的第二部分其中[[·]]表示向中间取整,td T表示向量td的转置,得到密文c=(u,v);
(4.1c)计算第一个密钥其中H是第四个哈希函数,用于将任意长度的比特串映射到256比特的比特串;
4.2)第二用户采用第一个哈希函数H1,得到第二用户的哈希值:
第二用户采用的第一个哈希函数H1,是安全抗碰撞的hash算法,算法的输出是256比特,该hash算法有SHA256,SHA512/256,SHA3-256,本实例采用SHA256算法,即通过第一用户的签名σ1,密文c和第一个密钥k生成256比特的哈希值Auth1=H1(σ1,c,k)。
步骤5,第二用户生成签名并发送给第一用户。
第二用户采用签名算法,通过自己的签名私钥对密文和会话过程哈希值(c,Auth1)进行签名,得到数字签名σ2,将σ2发送给第一用户:
参照图3,本步骤的具体实现如下:
5.1)判断(c,Auth1)的比特长度并进行分割:
如果(c,Auth1)的比特长度L2大于NlogQ-256比特,则第一用户将(c,Auth1)分割成n1和n2两部分,其中第一部分n1的长度是NlogQ-256比特,第二部分n2的长度是L2-(NlogQ-256)比特;
如果(c,Auth1)的比特长度L2小于NlogQ-256比特,则令n1=(c,Auth1),n2为空;
5.2)第二用户采用消息恢复签名算法,得到公钥第一部分n1的数字签名θ2:
(5.2a)计算第二次签名的中间变量ps=(n1+F(H′(c,Auth1))modQ||H′(c,Auth1)),其中H′是随机预言机,用于将任意长度的比特串映射到256比特的比特串;F是随机预言机,用于将任意长度的比特串映射到NlogQ-256比特的比特串;n1+F(H′(c,Auth1))modQ是ps的首项系数,H′(c,Auth1)是ps的其余系数;
(5.2b)第二用户使用签名私钥作为陷门,使用原像抽样函数PSF按照均值是(0,ps),标准差是σf的离散高斯分布从格Λ2中采样向量(w1,w2,1),使得h(2)w1+w2=psmodQ,得到消息的第一部分n1的数字签名θ2=(w1,w2),其中:
格y1与y2是多项式环中的多项式,Z是整数,并且满足h(2)y1+y2-Zps=0modQ;
5.3)将(c,Auth1)的数字签名σ2=(θ2,n2)发送给第一用户。
步骤6,第一用户验证第二用户发送的签名。
第一用户采用签名验证算法,通过第一用户的签名公钥对第二用户发送的签名σ2进行验证:
6.1)计算第二次验证的中间变量pv=h(2)w1+w2modQ,将pv分割成p1和p2两部分,其中p1是pv的首项系数,p2是pv的其余系数;
6.2)计算明文消息n′1=p1-F(p2);
6.3)验证第二用户的签名:
若xH′(n′1||n2)=p2,其中||·||表示2-范数运算,则签名通过验证,输出(c,Auth1)=(n′1||n2);否则,签名不通过验证,输出终止符⊥。
步骤7,第一用户解封装并验证会话过程的哈希值。
7.1)第一用户采用密钥解封装算法,通过第一用户的私钥Kd解封装密文c,得到第二个密钥k′:
(7.1a)采用解密算法Kyber.CPA.Dec,通过第一用户的私钥Kd对密文c进行解密:
首先,计算密文第一部分的解压缩结果
接着,计算密文第二部分的解压缩结果
接着,计算被加密的明文消息m′=[[(2/q)·(v1-sTu1)]]mod2,其中[[·]]表示向中间取整,sT表示向量s的转置;
(7.1b)计算第一用户密钥材料其中G是第三个哈希函数,用于将任意长度的比特串映射到512比特的比特串;H是第四个哈希函数,用于将任意长度的比特串映射到256比特的比特串;
(7.1c)采用公钥加密算法Kyber.CPA.Enc,通过第一用户的公钥Ke对解密得到的明文消息m′进行二次加密:
首先,计算中间变量其中[[·]]表示向中间取整;
接着,使用ρ作为随机化种子,生成k×k矩阵A,A的每个元素都是从第一个多项式环中均匀选取的多项式;
接着,使用r′作为随机化种子,根据二项分布Bη,从第二个多项式环中选取2k+1个多项式,用前k个多项式组成的向量,作为计算二次加密密文总体的参数r1′,用中间k个多项式组成的向量,作为计算二次加密密文第一部分的参数e′1;最后1个多项式作为计算二次加密密文第二部分的参数e′2;
接着,计算二次加密密文的第一部分其中[[·]]表示向中间取整,AT表示矩阵A的转置;计算二次加密密文的第二部分其中[[·]]表示向中间取整,td T表示向量td的转置,得到二次加密密文c2=(u2,v2);
(7.1d)如果密文c等于二次加密的密文c2,则第二个密钥否则,第二个密钥k′=H(z,H(c));
7.2)第一用户采用第一个哈希函数H1,得到第一用户的哈希值:
第一用户采用的第一个哈希函数H1,是安全抗碰撞的hash算法,算法的输出是256比特,该hash算法有SHA256,SHA512/256,SHA3-256,本实例采用SHA256算法,即通过第一用户的签名σ1,密文c和第二个密钥k′生成256比特的哈希值Auth2=H1(σ1,c,k′);
7.3)如果Auth1=Auth2,验证通过;否则,输出终止符⊥。
步骤8,双方计算会话密钥。
8.1)第一用户采用第二个哈希函数H2,得到第一用户的会话密钥:
第一用户采用的第二个哈希函数H2,是安全抗碰撞的hash算法,算法的输出是256比特,该hash算法有SHA256,SHA512/256,SHA3-256,本实例采用SHA3-256算法,即通过第一用户的签名σ1,第二用户的签名σ2,第二个密钥k′得到第一用户的会话密钥SK1=H2(σ1,σ2,k′);
8.2)第二用户采用第二个哈希函数H2,得到第二用户的会话密钥:
第二用户采用的第二个哈希函数H2,是安全抗碰撞的hash算法,算法的输出是256比特,该hash算法有SHA256,SHA512/256,SHA3-256,本实例采用SHA3-256算法,即通过第一用户的签名σ1,第二用户的签名σ2,第一个密钥k得到第二用户的会话密钥SK2=H2(σ1,σ2,k)。
本发明的效果可通过以下参数计算和理论分析,可以进一步说明。
1.设定参数:N=512,Q=12289,n=256,q=7681。
2.判定前向安全性的方法:论文The Whole is Less than the Sum of itsParts:Constructing More Efficient Lattice-Based AKEs给出的安全性证明。
3.利用设定的参数计算本发明的通信量:本发明第一次发送的内容是第一用户的签名σ1=(θ1,m2),第二次发送的内容是第二用户的签名σ2=(θ2,n2),及总的通信量σ。并将计算结果与Joppe Bos等人提出的Kyber.AKE方案进行对比,如表1所示。
表1 Kyber.AKE方案与本发明的对比
从表1可见,本发明相比Kyber.AKE方案通信量减少了13362比特,安全性由弱前向安全性增强为前向安全性。
综上,本发明提出的一种基于消息恢复签名的认证密钥交换方法,大幅度降低了通信开销,并且增强了安全性,可满足车联网、地空通信等带宽紧张且要求较高安全性的应用场景的要求。
Claims (7)
1.一种基于消息恢复签名的认证密钥交换方法,其特征在于,包括如下:
(1)每个用户分别生成自己的数字签名公私钥对:
第一用户和第二用户分别采用签名密钥生成算法生成各自的签名公私钥对,即第一用户的公私钥对为第二用户的公私钥对为其中是第一用户的私钥,是第一用户的公钥,是第二用户的私钥,是第二用户的公钥;
(2)第一用户生成自己的密钥封装公私钥对,并进行签名和发送:
(2a)第一用户采用密钥封装机制的密钥生成算法生成密钥封装公私钥对{Kd,Ke},其中Ke是第一用户的公钥,Kd是第一用户的私钥;
(2b)第一用户采用消息恢复签名算法,通过自己的签名私钥对自己的封装公钥Ke进行签名,得到数字签名σ1,并将σ1发送给第二用户;
(3)第二用户验证第一用户发送的签名:
第二用户采用消息恢复签名的验证算法,通过第一用户的签名公钥对第一用户发送的签名σ1进行验证,如果验证通过,输出第一用户的封装公钥Ke;否则,输出终止符⊥;
(4)第二用户封装密钥并生成会话过程的哈希值:
(4a)第二用户采用密钥封装算法,通过第一用户的封装公钥Ke得到密文c和第一个密钥k;
(4b)第二用户采用第一个哈希函数H1,得到第二用户的哈希值:Auth1=H1(σ1,c,k);
(5)第二用户采用消息恢复签名算法,通过自己的签名私钥对(c,Auth1)进行签名,得到数字签名σ2,将σ2发送给第一用户;
(6)第一用户采用签名验证算法,通过第二用户的验证公钥对第二用户发送的签名σ2进行验证,如果验证通过,输出(c,Auth1);否则,输出终止符⊥;
(7)第一用户解封装并验证会话过程的哈希值:
(7a)第一用户采用解封装算法,通过自己的封装私钥Kd解封装密文c,得到第二个密钥k′;
(7b)第一用户采用第一个哈希函数H1,得到第一用户的哈希值:Auth2=H1(σ1,c,k′);
(7c)将第一用户的哈希值与第二用户的哈希值进行比较:如果Auth1=Auth2,则验证通过;否则,输出终止符⊥;
(8)双方计算会话密钥:
(8a)第一用户采用第二个哈希函数H2,计算第一用户的会话密钥:SK1=H2(σ1,σ2,k′);
(8b)第二用户采用第二个哈希函数H2,计算第二用户的会话密钥:SK2=H2(σ1,σ2,k)。
2.按照权利要求1所述的方法,其特征在于,(2b)中第一用户通过自己的签名私钥Ks1对自己的封装公钥Ke进行签名,实现如下;
(2b1)判断封装公钥Ke的比特长度并进行分割:
如果封装公钥Ke的比特长度L1大于N logQ-256比特,则第一用户将封装公钥Ke分割成m1和m2两部分,其中第一部分m1的长度是N logQ-256比特,第二部分m2的长度是L1-(N logQ-256)比特;
如果封装公钥Ke的比特长度L1小于N logQ-256比特,则令m1=Ke,m2为空;
(2b2)第一用户采用消息恢复签名算法,通过自己的签名私钥对封装公钥Ke的第一部分m1进行签名,得到m1的数字签名θ1;
(2b3)将Ke的数字签名σ1=(θ1,m2)发送给第二用户。
3.按照权利要求1所述的方法,其特征在于,(5)中第二用户通过自己的签名私钥对(c,Auth1)进行签名,实现如下:
(5a)判断(c,Auth1)的比特长度并进行分割:
如果(c,Auth1)的比特长度L2大于N logQ-256比特,则第二用户将(c,Auth1)分割成n1和n2两部分,其中第一部分n1的长度是N logQ-256比特,第二部分n2的长度是L2-(N logQ-256)比特;
如果(c,Auth1)的比特长度L2小于N logQ-256比特,则令n1=(c,Auth1),n2为空;
(5b)第二用户采用消息恢复签名算法,通过自己的签名私钥对(c,Auth1)的第一部分n1进行签名,得到n1的数字签名θ2;
(5c)将(c,Auth1)的数字签名σ2=(θ2,n2)发送给第一用户。
4.按照权利要求1所述的方法,其特征在于,(4b)中第二用户采用第一个哈希函数H1,得到第二用户的哈希值,是第二用户采用安全抗碰撞的hash算法,通过第一用户的签名σ1,密文c和第一个密钥k生成256比特的哈希值Auth1。
5.按照权利要求1所述的方法,其特征在于,(7b)中第一用户采用第一个哈希函数H1,得到第一用户的哈希值,是第一用户采用安全抗碰撞的hash算法,通过第一用户的签名σ1,密文c和第一个密钥k′生成256比特的哈希值Auth2。
6.按照权利要求1所述的方法,其特征在于,(8a)中第一用户采用第二个哈希函数H2,计算第一用户的会话密钥,是第一用户采用安全抗碰撞的hash算法,通过第一用户的签名σ1,第二用户的签名σ2,第二个密钥k′,生成256比特的哈希值SK1。
7.按照权利要求1所述的方法,其特征在于,(8b)中第二用户采用第二个哈希函数H2,计算第二用户的会话密钥,是第二用户采用安全抗碰撞的hash算法,通过第一用户的签名σ1,第二用户的签名σ2,第一个密钥k,生成256比特的哈希值SK2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910381150.4A CN109995509B (zh) | 2019-05-08 | 2019-05-08 | 基于消息恢复签名的认证密钥交换方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910381150.4A CN109995509B (zh) | 2019-05-08 | 2019-05-08 | 基于消息恢复签名的认证密钥交换方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109995509A true CN109995509A (zh) | 2019-07-09 |
CN109995509B CN109995509B (zh) | 2021-07-06 |
Family
ID=67136175
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910381150.4A Active CN109995509B (zh) | 2019-05-08 | 2019-05-08 | 基于消息恢复签名的认证密钥交换方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109995509B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111404687A (zh) * | 2019-09-05 | 2020-07-10 | 广东电网有限责任公司信息中心 | 一种移动互联网轻量化安全通信方法 |
CN113094721A (zh) * | 2021-03-16 | 2021-07-09 | 中国科学院信息工程研究所 | 一种基于模上错误学习的后量子口令认证密钥交换方法 |
CN114003970A (zh) * | 2021-10-26 | 2022-02-01 | 中国电子科技集团公司第五十四研究所 | 一种基于哈希链的低开销消息完整性保护方法 |
CN114491664A (zh) * | 2021-12-29 | 2022-05-13 | 西北工业大学 | 一种服务器信息安全性检测方法、装置及检测设备 |
CN117061245A (zh) * | 2023-10-11 | 2023-11-14 | 中国电子科技集团公司第三十研究所 | 一种使用前缀哈希的格基认证密钥交换协议构造方法 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060179319A1 (en) * | 2005-02-10 | 2006-08-10 | International Business Machines Corporation | Method and structure for challenge-response signatures and high-performance secure diffie-hellman protocols |
US20140082362A1 (en) * | 2011-05-03 | 2014-03-20 | Jesse Walker | Method of anonymous entity authentication using group-based anonymous signatures |
US20150172056A1 (en) * | 2013-12-17 | 2015-06-18 | Xerox Corporation | Privacy-preserving evidence in alpr applications |
CN106789046A (zh) * | 2017-02-24 | 2017-05-31 | 江苏信源久安信息科技有限公司 | 一种自生成密钥对的实现方法 |
CN107018146A (zh) * | 2017-05-09 | 2017-08-04 | 暨南大学 | 一种基于区块链技术的舆情检测平台建设方法 |
CN107733657A (zh) * | 2017-10-24 | 2018-02-23 | 沈阳师范大学 | 一种云端基于ptpm和无证书公钥签名双因子认证方法 |
CN107733648A (zh) * | 2017-10-30 | 2018-02-23 | 武汉大学 | 一种基于身份的rsa数字签名生成方法及系统 |
WO2018125020A1 (en) * | 2016-12-29 | 2018-07-05 | Limited Liability Company "Innovation Development Hub" | Cryptographic transformation device |
CN108833115A (zh) * | 2018-06-15 | 2018-11-16 | 中山大学 | 一种基于区块链的多方公平pdf合同签署方法 |
CN108833077A (zh) * | 2018-07-02 | 2018-11-16 | 西安电子科技大学 | 基于同态ou密码的外包分类器加解密方法 |
CN109309561A (zh) * | 2018-09-12 | 2019-02-05 | 电子科技大学 | 一种通用的构造可区分不可延展公钥加密体制的方法 |
CN109450635A (zh) * | 2018-11-15 | 2019-03-08 | 中国科学院重庆绿色智能技术研究院 | 一种基于容错学习问题的发送方可否认加密方法 |
CN109688143A (zh) * | 2018-12-28 | 2019-04-26 | 西安电子科技大学 | 一种面向云环境中隐私保护的聚类数据挖掘方法 |
-
2019
- 2019-05-08 CN CN201910381150.4A patent/CN109995509B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060179319A1 (en) * | 2005-02-10 | 2006-08-10 | International Business Machines Corporation | Method and structure for challenge-response signatures and high-performance secure diffie-hellman protocols |
US20140082362A1 (en) * | 2011-05-03 | 2014-03-20 | Jesse Walker | Method of anonymous entity authentication using group-based anonymous signatures |
US20150172056A1 (en) * | 2013-12-17 | 2015-06-18 | Xerox Corporation | Privacy-preserving evidence in alpr applications |
WO2018125020A1 (en) * | 2016-12-29 | 2018-07-05 | Limited Liability Company "Innovation Development Hub" | Cryptographic transformation device |
CN106789046A (zh) * | 2017-02-24 | 2017-05-31 | 江苏信源久安信息科技有限公司 | 一种自生成密钥对的实现方法 |
CN107018146A (zh) * | 2017-05-09 | 2017-08-04 | 暨南大学 | 一种基于区块链技术的舆情检测平台建设方法 |
CN107733657A (zh) * | 2017-10-24 | 2018-02-23 | 沈阳师范大学 | 一种云端基于ptpm和无证书公钥签名双因子认证方法 |
CN107733648A (zh) * | 2017-10-30 | 2018-02-23 | 武汉大学 | 一种基于身份的rsa数字签名生成方法及系统 |
CN108833115A (zh) * | 2018-06-15 | 2018-11-16 | 中山大学 | 一种基于区块链的多方公平pdf合同签署方法 |
CN108833077A (zh) * | 2018-07-02 | 2018-11-16 | 西安电子科技大学 | 基于同态ou密码的外包分类器加解密方法 |
CN109309561A (zh) * | 2018-09-12 | 2019-02-05 | 电子科技大学 | 一种通用的构造可区分不可延展公钥加密体制的方法 |
CN109450635A (zh) * | 2018-11-15 | 2019-03-08 | 中国科学院重庆绿色智能技术研究院 | 一种基于容错学习问题的发送方可否认加密方法 |
CN109688143A (zh) * | 2018-12-28 | 2019-04-26 | 西安电子科技大学 | 一种面向云环境中隐私保护的聚类数据挖掘方法 |
Non-Patent Citations (3)
Title |
---|
KAZUKI YONEYAMA: "Formal modeling of random oracle programmability and verification of signature unforgeability using task-PIOAs", 《REGULAR CONTRIBUTION》 * |
WU XUGUANG, ZHANG MINQING, ZHU SHUAISHUAI: ""Certificateless Multi-signcryption Scheme in Standard Model"", 《2016 INTERNATIONAL CONFERENCE ON INTELLIGENT NETWORKING AND COLLABORATIVE SYSTEMS》 * |
胡能发: ""一种基于椭圆密码体制的消息恢复签名"", 《长江大学学报》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111404687A (zh) * | 2019-09-05 | 2020-07-10 | 广东电网有限责任公司信息中心 | 一种移动互联网轻量化安全通信方法 |
CN111404687B (zh) * | 2019-09-05 | 2022-11-15 | 广东电网有限责任公司信息中心 | 一种移动互联网轻量化安全通信方法 |
CN113094721A (zh) * | 2021-03-16 | 2021-07-09 | 中国科学院信息工程研究所 | 一种基于模上错误学习的后量子口令认证密钥交换方法 |
CN113094721B (zh) * | 2021-03-16 | 2022-06-24 | 中国科学院信息工程研究所 | 一种基于模上错误学习的后量子口令认证密钥交换方法 |
CN114003970A (zh) * | 2021-10-26 | 2022-02-01 | 中国电子科技集团公司第五十四研究所 | 一种基于哈希链的低开销消息完整性保护方法 |
CN114003970B (zh) * | 2021-10-26 | 2022-12-09 | 中国电子科技集团公司第五十四研究所 | 一种基于哈希链的低开销消息完整性保护方法 |
CN114491664A (zh) * | 2021-12-29 | 2022-05-13 | 西北工业大学 | 一种服务器信息安全性检测方法、装置及检测设备 |
CN114491664B (zh) * | 2021-12-29 | 2024-04-09 | 西北工业大学 | 一种服务器信息安全性检测方法、装置及检测设备 |
CN117061245A (zh) * | 2023-10-11 | 2023-11-14 | 中国电子科技集团公司第三十研究所 | 一种使用前缀哈希的格基认证密钥交换协议构造方法 |
CN117061245B (zh) * | 2023-10-11 | 2023-12-22 | 中国电子科技集团公司第三十研究所 | 一种使用前缀哈希的格基认证密钥交换协议构造方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109995509B (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108667626B (zh) | 安全的两方协作sm2签名方法 | |
CN105024994B (zh) | 无对运算的安全无证书混合签密方法 | |
CN109995509A (zh) | 基于消息恢复签名的认证密钥交换方法 | |
CN107395368B (zh) | 无介质环境中的数字签名方法及解封装方法与解密方法 | |
CN104967513B (zh) | 具有多重安全属性的基于身份的多接收者环签密方法 | |
CN105162599B (zh) | 一种数据传输系统及其传输方法 | |
CN101442522B (zh) | 一种基于组合公钥的通信实体标识认证方法 | |
CN107437993A (zh) | 一种基于无证书两方认证密钥协商方法和装置 | |
CN103414569A (zh) | 一种建立抗攻击的公钥密码的方法 | |
US20120096273A1 (en) | Authenticated encryption for digital signatures with message recovery | |
CN106936584B (zh) | 一种无证书公钥密码系统的构造方法 | |
CN102594551B (zh) | Rfid标签隐私数据可靠统计方法 | |
CN113079016A (zh) | 一种面向天基网络的身份基认证方法 | |
CN110113150A (zh) | 基于无证书环境的可否认认证的加密方法和系统 | |
CN110299995A (zh) | 一种基于rlwe支持国产密码算法的双向认证密钥协商方法与系统 | |
CN106357397B (zh) | 发送者可认证的非对称群密钥协商方法 | |
CN113572603A (zh) | 一种异构的用户认证和密钥协商方法 | |
TWI455555B (zh) | Authentication device, authentication method, and program | |
CN110086630B (zh) | 基于爱德华兹曲线数字签名的生成方法 | |
CN104618113B (zh) | 一种移动端身份认证及安全信道建立的方法 | |
CN113132104A (zh) | 一种主动安全的ecdsa数字签名两方生成方法 | |
CN101931535A (zh) | 一种无需认证中心的自适应数据加密及认证方法 | |
CN110932863A (zh) | 一种基于编码的广义签密方法 | |
CN106330430B (zh) | 一种基于ntru的第三方移动支付方法 | |
CN114826611A (zh) | 一种基于国密SM9的IND-sID-CCA2安全标识广播加密方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |