CN109698747B - 一种基于双线性对的身份基身份匿藏密钥协商方法 - Google Patents

一种基于双线性对的身份基身份匿藏密钥协商方法 Download PDF

Info

Publication number
CN109698747B
CN109698747B CN201910118821.8A CN201910118821A CN109698747B CN 109698747 B CN109698747 B CN 109698747B CN 201910118821 A CN201910118821 A CN 201910118821A CN 109698747 B CN109698747 B CN 109698747B
Authority
CN
China
Prior art keywords
user
key
aux
session
msk
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.)
Active
Application number
CN201910118821.8A
Other languages
English (en)
Other versions
CN109698747A (zh
Inventor
赵运磊
黄兴忠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Humin Blockchain Technology Co ltd
Original Assignee
Shanghai Humin Blockchain Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Humin Blockchain Technology Co ltd filed Critical Shanghai Humin Blockchain Technology Co ltd
Priority to CN201910118821.8A priority Critical patent/CN109698747B/zh
Publication of CN109698747A publication Critical patent/CN109698747A/zh
Priority to PCT/CN2019/112511 priority patent/WO2020164252A1/zh
Application granted granted Critical
Publication of CN109698747B publication Critical patent/CN109698747B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key 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
    • H04L9/0841Key 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 involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key 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 involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys

Abstract

本发明提供了一种高效的基于双线性对的身份基身份匿藏密钥协商方法,其具有的如下特征使得该方法具有唯一性,是目前最为简洁高效、通信便利灵活、隐私保护、和强安全的身份基密钥协商协议。(1)高效性:每个用户仅需做1个配对运算和3个模指数运算。(2)简洁性:无需主公钥。(3)通信便利和灵活性:通信双方无需事先知晓对方身份。(4)隐私保护:提供身份隐藏保护,和可抵赖隐私保护。(5)强安全性:抗临时密钥泄露的强可证明安全。

Description

一种基于双线性对的身份基身份匿藏密钥协商方法
技术领域
本发明涉及密码技术领域,具体地说,涉及一种基于双线性对的身份基身份匿藏密钥协商方法。
背景技术
认证密钥交换(AKE),特别是Diffie–Hellman(DH),在现代密码学中扮演着重要的角色,并在公钥密码学和对称密码学之间起到桥梁作用,是一系列广泛标准化并使用的网络安全协议的核心机制。与传统的公钥密码体制下的密钥交换协议相比,基于身份的密钥交换协议将用户的身份作为公钥,可以简化公钥证书管理和发放的问题。但是,原有的安全的基于身份的密钥协商协议均需公开传输用户的身份和公钥信息,并且效率较差。而在移动互联时代,设备的计算和存储能力受限,并且在很多应用中用户的身份信息往往属于敏感信息,需要保护。因此,发展高效的基于身份的身份匿藏密钥协商方法具有重要的理论及应用意义。
令G1、G2和GT是三个q阶循环群(q可以是素数,也可以是合数,如RSA模数)。为了描述方便起见,我们记G1、G2和GT为乘法群(所有本发明中描述的方案均在G1、G2和GT记为加法群时同样工作),并且在这些群中离散对数问题是难的。一般而言,一个双线性对
Figure BDA0001970711800000015
就是一个从G1×G2到GT的双线性映射,并满足下面性质:
(1)双线性性:设g1∈G1,g2∈G2,x,y∈Zq,有
Figure BDA0001970711800000011
(2)非退化性:对于每一个
Figure BDA0001970711800000016
总存在一个g2∈G2,使得
Figure BDA0001970711800000012
其中,
Figure BDA0001970711800000013
是G1的单位元,
Figure BDA0001970711800000014
是GT的单位元;
(3)双线性映射可以有效计算。
双线性对有下面三种类型:
类型-I:G1→G2有一个可有效计算的同构,这时一般记为G1=G2(通常用G表示)。这类双线性对一般可以用超奇异椭圆曲线或超椭圆曲线来实现。
类型-II:有一个有效计算群同态G2→G1,但无从G1到G2的可有效计算的同态.这类双线性对一般用素数域上的一般椭圆曲线实现,G1是基域上椭圆曲线群,G2是扩域上椭圆曲线子群,G2→G1的同态一般取迹映射。
类型-III:没有任何G2→G1或G1→G2的有效可计算的同态(同态甚至同构一定是存在的,这里是指没有有效计算的同态)。这类双线性对也是用素域上的一般曲线来构造,G2一般取迹映射的核。对于类型-III的配对,G1通常是定义在有限域Fp上椭圆曲线,记为E(Fp),上阶为q的子群,其中p是一个素数。
令G∈{G1,G2,}是阶为N的群G’的q-阶子群,其中N是整数。判断一个元素是否X∈G的方法包括:
(1)显式验证:检查X∈G′且Xq≠1G,其中1G是群G的单位元;
(2)隐式验证:t=N/q为群G的伴随因子,检查X∈G′且Xt≠1G;一般来说,X∈G′和Xt≠1G保证了X不在G′的一个(小的)子群中,该小子群以t的一个因数为阶(但这不能完全保证X∈G,比如,考虑X=-gx)。
(3)利用配对检查:令Y∈G1或Y∈G2,检查
Figure BDA0001970711800000021
Figure BDA0001970711800000022
(4)对于一些特殊的子群安全曲线,
Figure BDA0001970711800000023
只需检查X∈G′1和/或
Figure BDA0001970711800000024
本发明所描述的方法可以在上述三种类型双线性对任一类型上都可以工作,区别在于:对于类型-I双线性对,G1=G2;对于类型-II双线性对,系统公开参数中需要有一个可有效计算的同态ψ:G1→G2,即ψ为将G1中元素映射到G2的可有效计算的同态;对于类型-III双线性对,系统公开参数中不需要有一个可有效计算的同态ψ:G1→G2,但每个用户的私钥由一个增加到两个,分别用于会话发起和会话接收。
发明内容
为解决上述问题,本发明提供了一种在双线性配对环境下高效的基于身份的身份匿藏密钥协商方法,所述方法包括:
基于类型-I对称双线性配对方法实现
系统建立:生成系统公开参数,包括:一个安全参数n,双线性对
Figure BDA0001970711800000025
G1×G1→GT,整数q,其中G1和GT是三个q阶循环群,q的二进制长度(记为|q|)为n的多项式;一个哈希函数:
Figure BDA0001970711800000031
其中{0,1}*表示任意长度的0-1串,
Figure BDA0001970711800000032
为群G1的单位元,
Figure BDA0001970711800000033
表示G1中除去
Figure BDA0001970711800000034
之后的元素集合;一个密钥导出函数KDF:{0,1}*→{0,1}p(n),其中p(n)表示n的多项式;令g1∈G1为G1的生成元,
Figure BDA00019707118000000318
为群GT的单位元;E为一个对称加密函数,Ek(m1,…,mk),k≥1,表示基于对称密钥k对消息m1,…,mk进行加密,具体而言,把m1||…||mk按照约定的编码方式进行加密,||表示字符串链接操作,这里,m1,…,mk的先后顺序可以任意变化。D是与加密函数E对应的解密函数,Dk(c)表示基于对称密钥k对密文c进行解密;在实际应用中,E可以是一个带有附加数据的认证加密函数。系统公开参数包括:
Figure BDA0001970711800000035
系统公开参数可以由系统内的用户协商决定,或由可信第三方给定;私钥生成器(Private Key Generator,简称为PKG)生成用户主密钥(Master Secret Key)
Figure BDA0001970711800000036
(msk从
Figure BDA0001970711800000037
Figure BDA0001970711800000038
的一个子集中随机选取,其中
Figure BDA0001970711800000039
的取值范围为1到q-1中的整数);公开发布SysPar,保密保存msk。
用户私钥生成:具有身份ID∈{0,1}*的用户在PKG注册,PKG根据主密钥msk和用户身份生成用户私钥:SKID=(H1(ID))msk。为了描述方便起见,下述的描述中会话发起方记为A,其私钥记为SKA=(H1(IDA))msk;会话接收方记为B,其私钥记为SKB=(H1(IDB))msk
密钥协商过程:
(1)用户A选取
Figure BDA00019707118000000310
计算X=(H1(IDA))x,用户A将{X,auxX}发送给用户B,其中auxX是可为空的消息的集合,在实际应用中auxX可以包含认证加密的附加数据;
(2)用户B接收到{X,auxX}后,选取
Figure BDA00019707118000000311
计算Y=(H1(IDB))y,以及
Figure BDA00019707118000000312
Figure BDA00019707118000000313
则重新选取y,并重新计算Y和PSB
(3)用户B计算(K1,K2)←KDF(PSB,X||Y||aux),
Figure BDA00019707118000000314
其中“||”是字符串联结符,在本发明中“||”联结的字符串的顺序可以任意,
Figure BDA00019707118000000315
是包含IDB的一个消息集合的可为空的子集,
Figure BDA00019707118000000316
Figure BDA00019707118000000317
且可为空,auxY是可为空的消息的集合;K1和K2相同或不同,K1=(KA,KB),KA和KB相同或不同;在具体应用中,通常使用HMAC作为KDF,KDF的第一个输入是随机密钥种子,后面的输入的顺序可以任意调整;
(4)用户B发送{Y,CB,auxY}给用户A,在实际应用中auxY可以包含认证加密的附加数据
(5)用户A接收到{Y,CB,auxY}后,计算
Figure BDA0001970711800000041
Figure BDA0001970711800000042
则中止协议运行,否则计算(K1,K2)←KDF(PSA,X||Y||aux);
(6)用户A使用KB解密CB得到
Figure BDA0001970711800000043
并验证
Figure BDA0001970711800000044
且Y=(H1(IDB))y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
Figure BDA0001970711800000045
并将CA发送给用户B,其中
Figure BDA0001970711800000046
是包含IDA,的一个消息集合的可为空的消息集合;用户A将会话密钥K设置为K2或K1或会话密钥由
Figure BDA0001970711800000047
导出;
(7)用户B接收到CA后,使用KA解密CA得到
Figure BDA0001970711800000048
验证
Figure BDA0001970711800000049
且X=(H1(IDA))x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K2或K1或会话密钥由
Figure BDA00019707118000000410
导出;
基于类型-II非对称双线性对方法实现
系统建立:生成系统公开参数,包括:一个安全参数n,双线性对
Figure BDA00019707118000000411
G1×G2→GT,整数q,其中G1、G2和GT是三个q阶循环群,q的二进制长度(记为|q|)为n的多项式;一个哈希函数:
Figure BDA00019707118000000412
其中{0,1}*表示任意长度的0-1串,
Figure BDA00019707118000000413
为群G1的单位元,
Figure BDA00019707118000000414
表示G1中除去
Figure BDA00019707118000000415
之后的元素集合;一个可有效计算的同态ψ:G1→G2;一个密钥导出函数KDF:{0,1}*→{0,1}p(n),其中p(n)表示n的多项式;令g1∈G1为G1的生成元,
Figure BDA00019707118000000416
为群GT的单位元;E为一个对称加密函数,Ek(m1,…,mk),k≥1,表示基于对称密钥k对消息m1,…,mk进行加密,具体而言,把m1||…||mk按照约定的编码方式进行加密,||表示字符串链接操作,这里,m1,…,mk的先后顺序可以任意变化。D是与加密函数E对应的解密函数,Dk(c)表示基于对称密钥k对密文c进行解密;系统公开参数:
Figure BDA00019707118000000417
系统公开参数可以由系统内的用户协商决定,或由可信第三方给定;私钥生成器(Private Key Generator,简称为PKG)生成用户主密钥(Master Secret Key)
Figure BDA00019707118000000418
(mak从
Figure BDA00019707118000000419
Figure BDA00019707118000000420
的一个子集中随机选取);公开发布SysPar,保密保存msk。
用户私钥生成:具有身份ID∈{0,1}*的用户在PKG注册,PKG根据主密钥msk和用户身份生成用户私钥:SKID=(H1(ID))msk。为了描述方便起见,下述的描述中会话发起方记为A,其私钥记为SKA=(H1(IDA))msk;会话接收方记为B,其私钥记为SKB=(H1(IDB))msk
密钥协商过程:
(1)用户A选取
Figure BDA0001970711800000051
计算X=(H1(IDA))x,用户A将{X,auxX}发送给用户B,其中auxX是可为空的消息的集合;
(2)用户B接收到{X,auxX}后,选取
Figure BDA0001970711800000052
计算Y=(H1(IDB))y,以及
Figure BDA0001970711800000053
Figure BDA0001970711800000054
则重新选取y,并重新计算Y和PSB
(3)用户B计算(K1,K2)←KDF(PSB,X||Y||aux),
Figure BDA0001970711800000055
其中
Figure BDA0001970711800000056
是包含IDB的一个消息集合的可为空的子集,
Figure BDA0001970711800000057
Figure BDA0001970711800000058
且可为空,auxY是可为空可为的消息的集合;K1和K2相同或不同,K1=(KA,KB),KA和KB相同或不同;
(4)用户B发送{Y,CB,auxY}给用户A;
(5)用户A接收到{Y,CB,auxY}后,计算
Figure BDA0001970711800000059
Figure BDA00019707118000000510
则中止协议运,否则计算(K1,K2)←KDF(PSA,X||Y||aux);
(6)用户A使用KB解密CB得到
Figure BDA00019707118000000511
并验证
Figure BDA00019707118000000512
且Y=(H1(IDB))y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
Figure BDA00019707118000000513
并将CA发送给用户B,其中
Figure BDA00019707118000000514
是包含IDA的一个消息集合的可为空的子集;用户A将会话密钥K设置为K2或K1或会话密钥由
Figure BDA00019707118000000515
导出;
(7)用户B接收到CA后,使用KA解密CA得到
Figure BDA00019707118000000516
验证
Figure BDA00019707118000000517
且X=(H1(IDA))x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K2或K1或会话密钥由
Figure BDA00019707118000000518
导出。
基于类型-III非对称双线性对方法实现
系统建立:生成系统公开参数,包括:一个安全参数n,双线性对
Figure BDA00019707118000000519
G1×G2→GT,整数q,其中G1、G2和GT是三个q阶循环群,q的二进制长度(记为|q|)为n的多项式;两个哈希函数:
Figure BDA00019707118000000520
Figure BDA0001970711800000061
其中{0,1}*表示任意长度的0-1串,
Figure BDA0001970711800000062
为群G1的单位元,
Figure BDA0001970711800000063
表示G1中除去
Figure BDA0001970711800000064
之后的元素集合;
Figure BDA0001970711800000065
为群G2的单位元,
Figure BDA0001970711800000066
表示G2中除去
Figure BDA0001970711800000067
之后的元素集合;一个密钥导出函数KDF:{0,1}*→{0,1}p(n),其中p(n)表示n的多项式;令g1∈G1为G1的生成元,g2∈G2为G2的生成元,
Figure BDA0001970711800000068
为群GT的单位元;E为一个对称加密函数,Ek(m1,…,mk),k≥1,表示基于对称密钥k对消息m1,…,mk进行加密,具体而言,把m1||…||mk按照约定的编码方式进行加密,||表示字符串链接操作,这儿,m1,…,mk的先后顺序可以任意变化。D是与加密函数E对应的解密函数,Dk(c)表示基于对称密钥k对密文c进行解密;系统公开参数:
Figure BDA0001970711800000069
系统公开参数可以由系统内的用户协商决定,或由可信第三方给定;私钥生成器(Private Key Generator,简称为PKG)生成用户主密钥(Master Secret Key)
Figure BDA00019707118000000610
(msk从
Figure BDA00019707118000000611
Figure BDA00019707118000000612
的一个子集中随机选取,其中
Figure BDA00019707118000000613
的取值范围为1到q-1中的整数,且q为一个整数);公开发布SysPar,保密保存msk。
用户私钥生成:具有身份ID∈{0,1}*的用户在PKG注册,PKG根据主密钥msk和用户身份生成用户私钥:
Figure BDA00019707118000000614
其中当ID作为会话发起者时使用
Figure BDA00019707118000000615
当ID作为会话接收者时使用
Figure BDA00019707118000000616
为了描述方便起见,下述的描述中会话发起方记为A,其私钥记为
Figure BDA00019707118000000617
Figure BDA00019707118000000618
会话接收方记为B,其私钥记为
Figure BDA00019707118000000619
Figure BDA00019707118000000620
密钥协商过程:
(1)用户A选取
Figure BDA00019707118000000621
计算X=(H1(IDA))x,用户A将{X,auxX}发送给用户B,其中auxX是可为空的消息的集合;
(2)用户B接收到{X,auxX}后,选取
Figure BDA00019707118000000622
计算Y=(H2(IDB))y,以及
Figure BDA00019707118000000623
Figure BDA00019707118000000630
则重新选取y,并重新计算Y和PSB
(3)用户B计算(K1,K2)←KDF(PSB,X||Y||aux),
Figure BDA00019707118000000624
其中
Figure BDA00019707118000000625
是包含IDB的一个消息集合的可为空的子集,
Figure BDA00019707118000000626
Figure BDA00019707118000000627
且可为空,auxY是可为空的消息的集合;K1和K2相同或不同,K1=(KA,KB),KA和KB相同或不同;
(4)用户B发送{Y,CB,auxY}给用户A;
(5)用户A接收到{Y,CB,auxY}后,计算
Figure BDA00019707118000000628
Figure BDA00019707118000000629
则中止协议运行,否则计算(K1,K2)←KDF(PSA,X||Y||aux);
(6)用户A使用KB解密CB得到
Figure BDA0001970711800000071
并验证
Figure BDA0001970711800000072
且Y=(H2(IDB))y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
Figure BDA0001970711800000073
并将CA发送给用户B,其中
Figure BDA0001970711800000074
是包含IDA的一个消息集合的可为空的子集;用户A将会话密钥K设置为K2或K1或会话密钥由
Figure BDA0001970711800000075
导出;
(7)用户B接收到CA后,使用KA解密CA得到
Figure BDA0001970711800000076
验证
Figure BDA0001970711800000077
且X=(H1(IDA))x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K2或K1或会话密钥由
Figure BDA0001970711800000078
导出。
根据本发明的一个实施例,
其特征在于,用户B收到X之后,检查
Figure BDA0001970711800000079
如果检查不通过则用户B中止运行;令G1是阶为N1的群G′1的q-阶子群,其中N1是整数;检查一个元素
Figure BDA00019707118000000710
的方法包括:(1)显式检查:检查
Figure BDA00019707118000000711
Figure BDA00019707118000000712
其中
Figure BDA00019707118000000713
表示的是G′1除去单位元
Figure BDA00019707118000000714
之后剩余元素的集合;或(2)隐式检查:令t1=N1/q为群G1的伴随因子,检查X∈G′1
Figure BDA00019707118000000715
(3)PS-检查:对于类型-I实现,计算
Figure BDA00019707118000000716
对于类型-II实现,计算
Figure BDA00019707118000000717
Figure BDA00019707118000000718
对于类型-III的实现,
Figure BDA00019707118000000719
如果
Figure BDA00019707118000000720
Figure BDA00019707118000000721
则用户B中止运行;(4)对于一些特殊的子群安全曲线,
Figure BDA00019707118000000722
只需检查X∈G′1和/或
Figure BDA00019707118000000723
根据本发明的一个实施例,
其特征在于,令G2是阶为N2的群G′2的q-阶子群,用户A收到Y之后,检查
Figure BDA00019707118000000724
如果检查不通过则用户A中止运行。
根据本发明的一个实施例,
对于基于类型-III非对称双线性对方法实现中,如果IDA只是会话的发起方,则在会话密钥的生成过程中,只使用IDA的私钥
Figure BDA00019707118000000725
同理,如果IDB只是会话的接收方,则在会话密钥的生成过程中,只使用IDB的私钥
Figure BDA00019707118000000726
根据本发明的一个实施例,
Figure BDA0001970711800000081
Figure BDA0001970711800000082
和/或q是素数,和/或,E是一个认证加密函数,和/或x从
Figure BDA0001970711800000083
Figure BDA0001970711800000084
的一个子集中均匀选取,y从
Figure BDA0001970711800000085
Figure BDA0001970711800000086
的一个子集中均匀选取。
根据本发明的一个实施例,
Figure BDA0001970711800000087
Figure BDA0001970711800000088
本发明方法的操作步骤,在不影响功能的前提下,可以任意调换。
附图说明
图1是发明方法一个实例(对称双线性配对类型-I)实现的流程图。
图2是发明方法一个实例(非对称双线性配对类型-II)实现的流程图。
图3是发明方法一个实例(非对称双线性配对类型-III)实现的流程图。
具体实施方式
图1是发明方法一个实例(类型-I对称双线性配对)实现的流程图;其中,G1=G2,双线性对
Figure BDA0001970711800000089
G1×G1→GT,其中G1和GT是两个q阶循环群,其中G1是阶为N1群G′1的q-阶子群,其中伴随因子t1=N1/q,q的二进制长度(记为|q|)为安全参数n的多项式;q可以取合数或素数;一个哈希函数:
Figure BDA00019707118000000810
Figure BDA00019707118000000811
其中{0,1}*表示任意长度的0-1串,
Figure BDA00019707118000000812
为群G1的单位元,
Figure BDA00019707118000000813
表示G1中除去
Figure BDA00019707118000000814
之后的元素集合;密钥导出函数KDF:{0,1}*→{0,1}klen×{0,1}klen采用Openssl的AES算法内置KDF或HMAC或SM9所描述的密钥导出函数,其中klen是一个正整数表示加密函数E所需对称密钥的长度;
Figure BDA00019707118000000815
为群GT的单位元;E为一个认证加密函数;D是与加密函数E对应的解密函数,
Figure BDA00019707118000000816
Figure BDA00019707118000000817
指的是利用密钥K1对消息(IDA,x)加密得到密文CA,其中K1的二进制长度|K1|=klen;同理,
Figure BDA00019707118000000818
指的是利用密钥K1对消息(IDB,y)加密得到密文CB
Figure BDA00019707118000000819
指的是利用密钥K1对密文CA解密得到消息(IDA,x);同理,
Figure BDA00019707118000000820
指的是利用密钥K1对密文CB解密得到消息(IDB,y)。
Figure BDA00019707118000000821
表示的是x从
Figure BDA00019707118000000822
中随机选取,
Figure BDA00019707118000000823
表示的是y从
Figure BDA00019707118000000824
中随机选取,
Figure BDA00019707118000000825
表示的是从
Figure BDA00019707118000000826
中随机选取系统主私钥msk。系统公开参数:
Figure BDA00019707118000000827
Figure BDA0001970711800000091
在图1中,会话发起方记为A,其私钥记为SKA=(H1(IDA))msk;会话接收方记为B,其私钥记为SKB=(H1(IDB))msk
密钥协商过程如下:
(1)用户A选取
Figure BDA0001970711800000092
计算X=(H1(IDA))x,用户A将X发送给用户B;
(2)用户B接收到X后,检查X∈G′1,如果检查不通过则中止运行;选取
Figure BDA0001970711800000093
计算Y=(H1(IDB))y,以及
Figure BDA0001970711800000094
Figure BDA0001970711800000095
则中止运行;
(3)用户B计算(K1,K2)←KDF(PSB,X||Y),
Figure BDA0001970711800000096
(4)用户B发送{Y,CB}给用户A;
(5)用户A接收到{Y,CB}后,计算
Figure BDA0001970711800000097
(K1,K2)←KDF(PSA,X||Y);
(6)用户A使用K1解密CB得到(IDB,y),并验证
Figure BDA0001970711800000098
且Y=(H1(IDB))y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
Figure BDA0001970711800000099
并将CA发送给用户B;用户A将会话密钥K设置为K2
(7)用户B接收到CA后,使用K1解密CA得到(IDA,x),验证
Figure BDA00019707118000000910
且X=(H1(IDA))x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K2
图2是发明方法一个实例(类型-II非对称双线性配对)实现的流程图;其中,G1≠G2,双线性对
Figure BDA00019707118000000911
G1×G2→GT,其中G1、G2和GT是三个q阶循环群,G1是阶为N1群G′1的q-阶子群,其中伴随因子t1=N1/q,q的二进制长度(记为|q|),为安全参数n的多项式;q可以取合数或素数;一个哈希函数:
Figure BDA00019707118000000912
Figure BDA00019707118000000913
其中{0,1}*表示任意长度的0-1串,
Figure BDA00019707118000000914
为群G1的单位元,
Figure BDA00019707118000000915
表示G1中除去
Figure BDA00019707118000000916
之后的元素集合;密钥导出函数KDF:{0,1}*→{0,1}klen×{0,1}klen采用Openssl的AES算法内置KDF或HMAC或SM9所描述的密钥导出函数,其中klen是一个正整数表示加密函数E所需对称密钥的长度;
Figure BDA00019707118000000917
为群GT的单位元;ψ:G1→G2是一个可有效计算的从G1到G2同态;E为一个认证加密函数;D是与加密函数E对应的解密函数,
Figure BDA00019707118000000918
指的是利用密钥K1对消息(IDA,x)加密得到密文CA,其中K1的二进制长度|K1|=klen;同理,
Figure BDA00019707118000000919
Figure BDA00019707118000000920
指的是利用密钥K1对消息(IDB,y)加密得到密文CB
Figure BDA00019707118000000921
Figure BDA0001970711800000101
指的是利用密钥K1对密文CA解密得到消息(IDA,x);同理,
Figure BDA0001970711800000102
Figure BDA0001970711800000103
指的是利用密钥K1对密文CB解密得到消息(IDB,y)。
Figure BDA0001970711800000104
表示的是x从
Figure BDA0001970711800000105
中随机选取,
Figure BDA0001970711800000106
表示的是y从
Figure BDA0001970711800000107
中随机选取,
Figure BDA0001970711800000108
表示的是从
Figure BDA0001970711800000109
中随机选取系统主私钥msk。系统公开参数:
Figure BDA00019707118000001010
Figure BDA00019707118000001011
在图2中,会话发起方记为A,其私钥记为SKA=(H1(IDA))msk;会话接收方记为B,其私钥记为SKB=(H1(IDB))msk
密钥协商过程如下:
(1)用户A选取
Figure BDA00019707118000001012
计算X=(H1(IDA))x,用户A将X发送给用户B;
(2)用户B接收到X后,检查X∈G′1,如果检查不通过则中止运行;选取
Figure BDA00019707118000001013
计算Y=(H1(IDB))y,以及
Figure BDA00019707118000001014
Figure BDA00019707118000001015
Figure BDA00019707118000001016
则中止运行;
(3)用户B计算(K1,K2)←KDF(PSB,X||Y),
Figure BDA00019707118000001017
(4)用户B发送{Y,CB}给用户A;
(5)用户A接收到{Y,CB}后,计算
Figure BDA00019707118000001018
(K1,K2)←KDF(PSA,X||Y);
(6)用户A使用K1解密CB得到(IDB,y),并验证
Figure BDA00019707118000001019
且Y=(H1(IDB))y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
Figure BDA00019707118000001020
并将CA发送给用户B;用户A将会话密钥K设置为K2
(7)用户B接收到CA后,使用K1解密CA得到(IDA,x),验证
Figure BDA00019707118000001021
且X=(H1(IDA))x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K2
图3是发明方法一个实例(类型-III非对称双线性配对)实现的流程图;其中,G1≠G2,双线性对
Figure BDA00019707118000001022
G1×G2→GT,其中G1、G2和GT是三个q阶循环群,G1是阶为N1群G′1的q-阶子群,其中伴随因子t1=N1/q,q的二进制长度(记为|q|)为安全参数n的多项式;对于类型-III的配对,G1通常是定义在有限域Fp上椭圆曲线,记为E(Fp),上阶为q的子群,其中p是一个素数;特别地,对于我国SM9标准所采用的BN曲线,t1=1。q可以取合数或素数;两个哈希函数:
Figure BDA00019707118000001023
其中{0,1}*表示任意长度的0-1串,
Figure BDA00019707118000001024
为群G1的单位元,
Figure BDA00019707118000001025
表示G1中除去
Figure BDA00019707118000001026
之后的元素集合;密钥导出函数KDF:{0,1}*→{0,1}klen×{0,1}klen采用Openssl的AES算法内置KDF或HMAC或SM9所描述的密钥导出函数,其中klen是一个正整数表示加密函数E所需对称密钥的长度;
Figure BDA0001970711800000111
为群GT的单位元;E为一个认证加密加密函数;D是与加密函数E对应的解密函数,
Figure BDA0001970711800000112
指的是利用密钥K1对消息(IDA,x)加密得到密文CA,其中K1的二进制长度|K1|=klen;同理,
Figure BDA0001970711800000113
Figure BDA0001970711800000114
指的是利用密钥K1对消息(IDB,y)加密得到密文CB
Figure BDA0001970711800000115
Figure BDA0001970711800000116
指的是利用密钥K1对密文CA解密得到消息(IDA,x);同理,
Figure BDA0001970711800000117
Figure BDA0001970711800000118
指的是利用密钥K1对密文CB解密得到消息(IDB,y)。
Figure BDA0001970711800000119
表示的是x从
Figure BDA00019707118000001110
中随机选取,
Figure BDA00019707118000001111
表示的是y从
Figure BDA00019707118000001112
中随机选取,
Figure BDA00019707118000001113
表示的是从
Figure BDA00019707118000001114
中随机选取系统主私钥msk。系统公开参数:
Figure BDA00019707118000001115
Figure BDA00019707118000001116
在图3中,会话发起方记为A,其私钥记为
Figure BDA00019707118000001117
Figure BDA00019707118000001118
会话接收方记为B,其私钥记为
Figure BDA00019707118000001119
Figure BDA00019707118000001120
密钥协商过程如下:
(1)用户A选取
Figure BDA00019707118000001121
计算X=(H1(IDA))x,用户A将X发送给用户B;
(2)用户B接收到X后,检查X∈G′1,如果检查不通过则中止运行;选取
Figure BDA00019707118000001122
计算Y=(H2(IDB))y,以及
Figure BDA00019707118000001123
Figure BDA00019707118000001124
则中止运行;
(3)用户B计算(K1,K2)←KDF(PSB,X||Y),
Figure BDA00019707118000001125
(4)用户B发送{Y,CB}给用户A;
(5)用户A接收到{Y,CB}后,计算
Figure BDA00019707118000001126
(K1,K2)←KDF(PSA,X||Y);
(6)用户A使用K1解密CB得到(IDB,y),并验证
Figure BDA00019707118000001127
且Y=(H2(IDB))y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
Figure BDA00019707118000001128
并将CA发送给用户B;用户A将会话密钥K设置为K2
(7)用户B接收到CA后,使用K1解密CA得到(IDA,x),验证
Figure BDA00019707118000001129
且X=(H1(IDA))x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K2
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
发明方法所具有的如下特征使得该方法具有唯一性,是目前最为简洁高效、通信便利灵活、隐私保护、和强安全的身份基密钥协商协议。
(1)高效性:每个用户仅需做1个配对运算和3个模指数运算。
(2)简洁性:无需主公钥。
(3)通信便利和灵活性:通信双方无需事先知晓对方身份。
(4)隐私保护:提供身份隐藏保护,和可抵赖隐私保护。
(5)强安全性:抗临时密钥泄露的强可证明安全。
下表是发明方法的类型-III实现实例与我国SM9身份基密钥协商的对比图(具体而言,是显式认证的SM9身份基密钥协商),其中,
Figure BDA0001970711800000122
指的是配对运算,exp1指的是G1上模指数运算,exp2指的是G2上模指数运算,expT指的是GT上的模指数运算,G-test指的是群G1元素检验。在比较计算效率时,自方的公钥计算由于可以事先计算存储没有考虑在内(比如,以用户A为例,我们方法不考虑用户公钥H1(IDA)的计算代价),但是计算对方用户公钥的计算代价要考虑在内;另外,我们的协议只有接受者需要做G-test。计算效率我们仅统计最主要的配对、模指数和G-test操作数。注意,如果是BN曲线,G-test比较容易,但是如果是BLS曲线,G-test则会是一个比较耗时的操作,因此我们把G-test也列为主要操作进行比较。
Figure BDA0001970711800000121
应该理解的是,本发明所公开的实施例不限于这里所公开的特定处理步骤,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。
说明书中提到的“两个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少两个实施例中。因此,说明书通篇各个地方出现的短语“两个实施例”或“实施例”并不一定均指同一实施例。
虽然上述示例用于说明本发明在一个或多个应用中的原理,但对于本领域的技术人员来说,在不背离本发明的原理和思想的情况下,明显可以在形式上、用法及实施的细节上作各种修改而不用付出创造性劳动。因此,本发明由所附的权利要求书来限定。

Claims (6)

1.一种基于双线性对的身份基身份匿藏密钥协商方法,其特征在于,所述方法包括在三种类型的双线性配对中的实现方法,分别描述如下:
基于类型-I对称双线性配对方法实现
系统建立:生成系统公开参数,包括:一个安全参数n,双线性对
Figure FDA0003077754310000011
整数q,其中G1和GT是两个q阶循环群,q的二进制长度,记为|q|,为n的多项式;一个哈希函数:
Figure FDA0003077754310000012
其中{0,1}*表示任意长度的0-1串,
Figure FDA0003077754310000013
为群G1的单位元,
Figure FDA0003077754310000014
表示G1中除去
Figure FDA0003077754310000015
之后的元素集合;一个密钥导出函数KDF:{0,1}*→{0,1}p(n),其中p(n)表示n的多项式;令g1∈G1为G1的生成元,
Figure FDA0003077754310000016
为群GT的单位元;E为一个对称加密函数,Ek(m)表示基于对称密钥k对消息m∈{0,1}*进行加密;D是与加密函数E对应的解密函数,Dk(c)表示基于对称密钥k对密文c进行解密;系统公开参数:
Figure FDA0003077754310000017
系统公开参数可以由系统内的用户协商决定,或由可信第三方给定;私钥生成器Private Key Generator,简称为PKG,生成用户主密钥Master Secret Key:
Figure FDA0003077754310000018
即msk从
Figure FDA0003077754310000019
Figure FDA00030777543100000110
的一个子集中随机选取,其中
Figure FDA00030777543100000111
的取值范围为1到q-1中的整数;公开发布SysPar,保密保存msk,
用户私钥生成:具有身份ID∈{0,1}*的用户在PKG注册,PKG根据主密钥msk和用户身份生成用户私钥:SKID=(H1(ID))msk,为了描述方便起见,下述的描述中会话发起方记为A,其私钥记为SKA=(H1(IDA))msk;会话接收方记为B,其私钥记为SKB=(H1(IDB))msk
密钥协商过程:
(1)用户A选取
Figure FDA00030777543100000112
计算X=(H1(IDA))x,用户A将{X,auxX}发送给用户B,其中auxX是可为空的消息的集合;
(2)用户B接收到{X,auxX}后,检查
Figure FDA00030777543100000113
如果检查失败则中止运行;选取
Figure FDA00030777543100000114
计算Y=(H1(IDB))y,以及
Figure FDA00030777543100000115
(3)用户B计算(K1,K2)←KDF(PSB,X||Y||aux),
Figure FDA00030777543100000116
其中“||”是字符串联结符,
Figure FDA00030777543100000117
是包含IDB的一个消息集合的可为空的子集,
Figure FDA00030777543100000118
且可为空,auxY是可为空的消息的集合;K1和K2相同或不同,K1=(KA,KB),KA和KB相同或不同;
(4)用户B发送{Y,CB,auxY}给用户A;
(5)用户A接收到{Y,CB,auxY}后,检查或不检查
Figure FDA0003077754310000021
计算
Figure FDA0003077754310000022
Figure FDA0003077754310000023
计算(K1,K2)←KDF(PSA,X||Y||aux);
(6)用户A使用KB解密CB得到
Figure FDA0003077754310000024
并验证
Figure FDA0003077754310000025
且Y=(H1(IDB))y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
Figure FDA0003077754310000026
并将CA发送给用户B,其中
Figure FDA0003077754310000027
是包含IDA,的一个消息集合的可为空的消息集合;用户A将会话密钥K设置为K2或K1或会话密钥由
Figure FDA0003077754310000028
导出;
(7)用户B接收到CA后,使用KA解密CA得到
Figure FDA0003077754310000029
验证
Figure FDA00030777543100000210
且X=(H1(IDA))x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K2或K1或会话密钥由
Figure FDA00030777543100000211
导出;
基于类型-II非对称双线性对方法实现
系统建立:生成系统公开参数,包括:一个安全参数n,双线性对
Figure FDA00030777543100000212
整数q,其中G1、G2和GT是三个q阶循环群,q的二进制长度,记为|q|,为n的多项式;一个哈希函数:
Figure FDA00030777543100000213
其中{0,1}*表示任意长度的0-1串,
Figure FDA00030777543100000214
为群G1的单位元,
Figure FDA00030777543100000215
表示G1中除去
Figure FDA00030777543100000216
之后的元素集合;一个可有效计算的同态ψ:G1→G2;一个密钥导出函数KDF:{0,1}*→{0,1}p(n),其中p(n)表示n的多项式;令g1∈G1为G1的生成元,
Figure FDA00030777543100000217
为群GT的单位元;E为一个对称加密函数,Ek(m)表示基于对称密钥k对消息m∈{0,1}*进行加密;D是与加密函数E对应的解密函数,Dk(c)表示基于对称密钥k对密文c进行解密;系统公开参数:
Figure FDA00030777543100000218
Figure FDA00030777543100000219
系统公开参数可以由系统内的用户协商决定,或由可信第三方给定;私钥生成器Private Key Generator,简称为PKG,生成用户主密钥Master Secret Key:
Figure FDA00030777543100000220
即msk从
Figure FDA00030777543100000221
Figure FDA00030777543100000222
的一个子集中随机选取;公开发布SysPar,保密保存msk,
用户私钥生成:具有身份ID∈{0,1}*的用户在PKG注册,PKG根据主密钥msk和用户身份生成用户私钥:SKID=(H1(ID))msk,为了描述方便起见,下述的描述中会话发起方记为A,其私钥记为SKA=(H1(IDA))msk;会话接收方记为B,其私钥记为SKB=(H1(IDB))msk
密钥协商过程:
(1)用户A选取
Figure FDA0003077754310000031
计算X=(H1(IDA))x,用户A将{X,auxX}发送给用户B,其中auxX是可为空的消息的集合;
(2)用户B接收到{X,auxX}后,检查
Figure FDA0003077754310000032
如果检查失败则中止运行;选取
Figure FDA0003077754310000033
计算Y=(H1(IDB))y,以及
Figure FDA0003077754310000034
(3)用户B计算(K1,K2)←KDF(PSB,X||Y||aux),
Figure FDA0003077754310000035
其中
Figure FDA0003077754310000036
是包含IDB的一个消息集合的可为空的子集,
Figure FDA0003077754310000037
Figure FDA0003077754310000038
且可为空,auxY是可为空可为的消息的集合;K1和K2相同或不同,K1=(KA,KB),KA和KB相同或不同;
(4)用户B发送{Y,CB,auxY}给用户A;
(5)用户A接收到{Y,CB,auxY}后,检查或不检查
Figure FDA0003077754310000039
计算
Figure FDA00030777543100000310
Figure FDA00030777543100000311
计算(K1,K2)←KDF(PSA,X||Y||aux);
(6)用户A使用KB解密CB得到
Figure FDA00030777543100000312
并验证
Figure FDA00030777543100000313
且Y=(H1(IDB))y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
Figure FDA00030777543100000314
并将CA发送给用户B,其中
Figure FDA00030777543100000315
是包含IDA的一个消息集合的可为空的子集;用户A将会话密钥K设置为K2或K1或会话密钥由
Figure FDA00030777543100000316
导出;
(7)用户B接收到CA后,使用KA解密CA得到
Figure FDA00030777543100000317
验证
Figure FDA00030777543100000318
且X=(H1(IDA))x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K2或K1或会话密钥由
Figure FDA00030777543100000319
导出,基于类型-III非对称双线性对方法实现
系统建立:生成系统公开参数,包括:一个安全参数n,双线性对
Figure FDA00030777543100000320
但没有任何G2→G1或G1→G2的有效可计算的同态,整数q,其中G1、G2和GT是三个q阶循环群,q的二进制长度,记为|q|,为n的多项式;两个哈希函数:
Figure FDA00030777543100000321
其中{0,1}*表示任意长度的0-1串,
Figure FDA00030777543100000322
为群G1的单位元,
Figure FDA00030777543100000323
表示G1中除去
Figure FDA00030777543100000324
之后的元素集合;
Figure FDA00030777543100000325
为群G2的单位元,
Figure FDA00030777543100000326
表示G2中除去
Figure FDA00030777543100000327
之后的元素集合;一个密钥导出函数KDF:{0,1}*→{0,1}p(n),其中p(n)表示n的多项式;令g1∈G1为G1的生成元,g2∈G2为G2的生成元,
Figure FDA0003077754310000041
为群GT的单位元;E为一个对称加密函数,Ek(m)表示基于对称密钥k对消息m∈{0,1}*进行加密;D是与加密函数E对应的解密函数,Dk(c)表示基于对称密钥k对密文c进行解密;系统公开参数:
Figure FDA0003077754310000042
系统公开参数可以由系统内的用户协商决定,或由可信第三方给定;私钥生成器Private Key Generator,简称为PKG,生成用户主密钥Master Secret Key:
Figure FDA0003077754310000043
即msk从
Figure FDA0003077754310000044
Figure FDA0003077754310000045
的一个子集中随机选取,其中
Figure FDA0003077754310000046
的取值范围为1到q-1中的整数,且q为一个整数;公开发布SysPar,保密保存msk,
用户私钥生成:具有身份ID∈{0,1}*的用户在PKG注册,PKG根据主密钥msk和用户身份生成用户私钥:
Figure FDA0003077754310000047
其中当ID作为会话发起者时使用
Figure FDA0003077754310000048
当ID作为会话接收者时使用
Figure FDA0003077754310000049
为了描述方便起见,下述的描述中会话发起方记为A,其私钥记为
Figure FDA00030777543100000410
Figure FDA00030777543100000411
会话接收方记为B,其私钥记为
Figure FDA00030777543100000412
Figure FDA00030777543100000413
密钥协商过程:
(1)用户A选取
Figure FDA00030777543100000414
计算X=(H1(IDA))x,用户A将{X,auxX}发送给用户B,其中auxX是可为空的消息的集合;
(2)用户B接收到{X,auxX}后,检查
Figure FDA00030777543100000415
如果检查失败则中止运行;选取
Figure FDA00030777543100000416
计算Y=(H2(IDB))y,以及
Figure FDA00030777543100000417
(3)用户B计算(K1,K2)←KDF(PSB,X||Y||aux),
Figure FDA00030777543100000418
其中
Figure FDA00030777543100000419
是包含IDB的一个消息集合的可为空的子集,
Figure FDA00030777543100000420
Figure FDA00030777543100000421
且可为空,auxY是可为空的消息的集合;K1和K2相同或不同,K1=(KA,KB),KA和KB相同或不同;
(4)用户B发送{Y,CB,auxY}给用户A;
(5)用户A接收到{Y,CB,auxY}后,检查或不检查
Figure FDA00030777543100000422
计算
Figure FDA00030777543100000423
计算(K1,K2)←KDF(PSA,X||Y||aux);
(6)用户A使用KB解密CB得到
Figure FDA00030777543100000424
并验证
Figure FDA00030777543100000425
且Y=(H2(IDB))y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
Figure FDA00030777543100000426
并将CA发送给用户B,其中
Figure FDA00030777543100000427
是包含IDA的一个消息集合的可为空的子集;用户A将会话密钥K设置为K2或K1或会话密钥由
Figure FDA0003077754310000051
导出;
(7)用户B接收到CA后,使用KA解密CA得到
Figure FDA0003077754310000052
验证
Figure FDA0003077754310000053
且X=(H1(IDA))x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K2或K1或会话密钥由
Figure FDA0003077754310000054
导出。
2.如权利要求1所述的方法,其特征在于,用户B收到X之后,检查
Figure FDA0003077754310000055
Figure FDA0003077754310000056
如果检查不通过则用户B中止运行;令G1是阶为N1的群G′1的q-阶子群,其中N1是整数;检查一个元素
Figure FDA0003077754310000057
的方法包括:(1)显式检查:检查
Figure FDA0003077754310000058
Figure FDA0003077754310000059
其中
Figure FDA00030777543100000510
表示的是G′1除去单位元
Figure FDA00030777543100000511
之后剩余元素的集合;或(2)隐式检查:令t1=N1/q为群G1的伴随因子,检查X∈G′1
Figure FDA00030777543100000512
(3)PS-检查:对于类型-I实现,计算
Figure FDA00030777543100000513
对于类型-II实现,计算
Figure FDA00030777543100000514
对于类型-III的实现,
Figure FDA00030777543100000515
Figure FDA00030777543100000516
如果
Figure FDA00030777543100000517
Figure FDA00030777543100000518
则用户B中止运行;(4)对于一些特殊的子群安全曲线,
Figure FDA00030777543100000519
只需检查X∈G′1和/或
Figure FDA00030777543100000520
3.如权利要求1所述的方法,其特征在于,令G2是阶为N2的群G2 的q-阶子群,用户A收到Y之后,检查
Figure FDA00030777543100000521
如果检查不通过则用户A中止运行。
4.如权利要求1所述的方法,对于基于类型-III非对称双线性对方法实现中,如果IDA只是会话的发起方,则在会话密钥的生成过程中,只使用IDA的私钥
Figure FDA00030777543100000522
同理,如果IDB只是会话的接收方,则在会话密钥的生成过程中,只使用IDB的私钥
Figure FDA00030777543100000523
5.如权利要求1所述的方法,其特征在于,
Figure FDA00030777543100000524
Figure FDA00030777543100000525
Figure FDA00030777543100000526
和/或q是素数,和/或,E是一个认证加密函数,和/或x从
Figure FDA00030777543100000527
Figure FDA0003077754310000061
的一个子集中均匀选取,y从
Figure FDA0003077754310000062
Figure FDA0003077754310000063
的一个子集中均匀选取。
6.如权利要求1所述的方法,其特征在于,
Figure FDA0003077754310000064
Figure FDA0003077754310000065
Figure FDA0003077754310000066
CN201910118821.8A 2019-02-15 2019-02-15 一种基于双线性对的身份基身份匿藏密钥协商方法 Active CN109698747B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910118821.8A CN109698747B (zh) 2019-02-15 2019-02-15 一种基于双线性对的身份基身份匿藏密钥协商方法
PCT/CN2019/112511 WO2020164252A1 (zh) 2019-02-15 2019-10-22 一种基于双线性对的身份基身份匿藏密钥协商方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910118821.8A CN109698747B (zh) 2019-02-15 2019-02-15 一种基于双线性对的身份基身份匿藏密钥协商方法

Publications (2)

Publication Number Publication Date
CN109698747A CN109698747A (zh) 2019-04-30
CN109698747B true CN109698747B (zh) 2021-08-24

Family

ID=66234818

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910118821.8A Active CN109698747B (zh) 2019-02-15 2019-02-15 一种基于双线性对的身份基身份匿藏密钥协商方法

Country Status (2)

Country Link
CN (1) CN109698747B (zh)
WO (1) WO2020164252A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109698747B (zh) * 2019-02-15 2021-08-24 上海扈民区块链科技有限公司 一种基于双线性对的身份基身份匿藏密钥协商方法
CN110351076A (zh) * 2019-05-28 2019-10-18 电子科技大学 一种基于身份的身份隐藏认证加密方案
CN110380867B (zh) * 2019-08-14 2021-07-06 电子科技大学 一种基于身份的轻量签名方法及系统
CN111447187A (zh) * 2020-03-19 2020-07-24 重庆邮电大学 一种异构物联网的跨域认证方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634115A (zh) * 2013-11-26 2014-03-12 常州大学 基于身份的认证密钥协商协议产生方法
CN106453253A (zh) * 2016-09-06 2017-02-22 赵运磊 一种高效的基于身份的匿签密方法
CN107241190A (zh) * 2017-08-04 2017-10-10 南京理工大学 一种基于身份的密钥协商构建方法与网络平台
WO2018231753A1 (en) * 2017-06-12 2018-12-20 Daniel Maurice Lerner Devices that utilize random tokens which direct dynamic random access

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7817802B2 (en) * 2006-10-10 2010-10-19 General Dynamics C4 Systems, Inc. Cryptographic key management in a communication network
CN104868993A (zh) * 2015-05-15 2015-08-26 河海大学 一种基于证书的两方认证密钥协商方法及系统
US10162943B2 (en) * 2016-04-27 2018-12-25 Comcast Cable Communications, Llc Streamlined digital rights management
US10432400B2 (en) * 2016-10-25 2019-10-01 Southern Methodist University Method and system for privacy preserving disclosure of a shared, identity linked secret
CN109698747B (zh) * 2019-02-15 2021-08-24 上海扈民区块链科技有限公司 一种基于双线性对的身份基身份匿藏密钥协商方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103634115A (zh) * 2013-11-26 2014-03-12 常州大学 基于身份的认证密钥协商协议产生方法
CN106453253A (zh) * 2016-09-06 2017-02-22 赵运磊 一种高效的基于身份的匿签密方法
WO2018231753A1 (en) * 2017-06-12 2018-12-20 Daniel Maurice Lerner Devices that utilize random tokens which direct dynamic random access
CN107241190A (zh) * 2017-08-04 2017-10-10 南京理工大学 一种基于身份的密钥协商构建方法与网络平台

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于身份的认证密钥协商协议研究;李坤;《中国优秀硕士学位论文期刊全文数据库》;20140115;全文 *

Also Published As

Publication number Publication date
CN109698747A (zh) 2019-04-30
WO2020164252A1 (zh) 2020-08-20

Similar Documents

Publication Publication Date Title
CN108173639B (zh) 一种基于sm9签名算法的两方合作签名方法
CN108667626B (zh) 安全的两方协作sm2签名方法
CN109698747B (zh) 一种基于双线性对的身份基身份匿藏密钥协商方法
Gayoso Martínez et al. A survey of the elliptic curve integrated encryption scheme
CN109462481B (zh) 一种基于非对称双线性对的匿签密方法
CN105024994B (zh) 无对运算的安全无证书混合签密方法
CN104270249B (zh) 一种从无证书环境到基于身份环境的签密方法
CN106921638B (zh) 一种基于非对称加密的安全装置
CN107437993A (zh) 一种基于无证书两方认证密钥协商方法和装置
CN110120939B (zh) 一种基于异构系统的可否认认证的加密方法和系统
CN104301108B (zh) 一种从基于身份环境到无证书环境的签密方法
CN101079701B (zh) 高安全性的椭圆曲线加解密方法和装置
CN110113150B (zh) 基于无证书环境的可否认认证的加密方法和系统
WO2013053058A1 (en) Generating implicit certificates
CN107094108A (zh) 连接到数据总线的部件和在该部件中实现加密功能的方法
TWI760546B (zh) 用於高安全性高速資料加密及傳輸的電腦實施系統與方法
CN114268439B (zh) 一种基于格的身份基认证密钥协商方法
CN106713349B (zh) 一种能抵抗选择密文攻击的群组间代理重加密方法
CN110784314A (zh) 无证书的加密信息处理方法
CN114448641A (zh) 一种隐私加密方法、电子设备、存储介质以及芯片
KR20100024605A (ko) Rsa기반 패스워드 인증을 통한 세션키 분배방법
CN115580408A (zh) 一种基于sm9的无证书签名生成方法及系统
Zhang et al. Certificateless hybrid signcryption by a novel protocol applied to internet of things
KR100453113B1 (ko) 결정적 디피-헬만군에서id에 기반한 디지털 서명 및 그인증 방법
CN109412815B (zh) 一种实现跨域安全通信的方法和系统

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40008151

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: Huang Xingzhong

Inventor before: Zhao Yunlei

Inventor before: Huang Xingzhong

CB03 Change of inventor or designer information