WO2020164252A1 - 一种基于双线性对的身份基身份匿藏密钥协商方法 - Google Patents
一种基于双线性对的身份基身份匿藏密钥协商方法 Download PDFInfo
- Publication number
- WO2020164252A1 WO2020164252A1 PCT/CN2019/112511 CN2019112511W WO2020164252A1 WO 2020164252 A1 WO2020164252 A1 WO 2020164252A1 CN 2019112511 W CN2019112511 W CN 2019112511W WO 2020164252 A1 WO2020164252 A1 WO 2020164252A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user
- key
- aux
- check
- identity
- Prior art date
Links
Images
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/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
- H04L9/0841—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 involving Diffie-Hellman or related key agreement protocols
- H04L9/0844—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 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
Definitions
- the invention relates to the technical field of cryptography, in particular to an identity-based identity hiding key agreement method based on bilinear pairing.
- Authenticated key exchange especially Diffie-Hellman (DH)
- DH Diffie-Hellman
- AKE plays an important role in modern cryptography, and acts as a bridge between public key cryptography and symmetric cryptography. It is a series of extensive standards And use the core mechanism of the network security protocol.
- the identity-based key exchange protocol uses the user's identity as the public key, which can simplify the management and issuance of public key certificates.
- the original secure identity-based key agreement protocols all need to publicly transmit the user's identity and public key information, and the efficiency is poor.
- the computing and storage capabilities of devices are limited, and in many applications, user identity information is often sensitive information and needs to be protected. Therefore, the development of an efficient identity-based key agreement method for identity hiding has important theoretical and application significance.
- G 1 , G 2 and G T be three cyclic groups of order q (q can be a prime number or a composite number, such as RSA modulus).
- G 1 , G 2 and G T are multiplicative groups (all the schemes described in the present invention work the same when G 1 , G 2 and G T are denoted as additive groups), and in these groups The discrete logarithm problem is difficult.
- a bilinear pair It is a bilinear mapping from G 1 ⁇ G 2 to G T , and satisfies the following properties:
- G This kind of bilinear pair can generally be realized by supersingular elliptic curve or superelliptic curve.
- Type-II There is an effective calculation group homomorphism G 2 ⁇ G 1 , but there is no effective calculation homomorphism from G 1 to G 2.
- This kind of bilinear pair is generally realized by a general elliptic curve in the prime number field, G 1 is the elliptic curve group on the base domain, G 2 is the elliptic curve subgroup on the extended domain, and the homomorphism of G 2 ⁇ G 1 is a general tracing map.
- Type-III There is no valid and computable homomorphism of G 2 ⁇ G 1 or G 1 ⁇ G 2 (homomorphism or even isomorphism must exist, here refers to the homomorphism without valid calculation).
- This type of bilinear pair is also constructed with a general curve on the prime domain, and G 2 is generally the core of the tracing map.
- G 1 is usually an elliptic curve defined in a finite field F p , denoted as E(F p ), a subgroup with the upper order q, where p is a prime number.
- G ⁇ G 1 , G 2 , ⁇ be the q-order subgroup of the group G'of order N, where N is an integer.
- the methods for judging whether an element is X ⁇ G include:
- the present invention provides an efficient identity-based identity hiding key agreement method in a bilinear pairing environment, the method includes:
- System establishment Generate system public parameters, including: a safety parameter n, bilinear pair Integer q, where G 1 and G T are three cyclic groups of order q, and the binary length of q (denoted as
- D is the decryption function corresponding to the encryption function E, and D k (c) indicates that the ciphertext c is decrypted based on the symmetric key k; in practical applications, E can be an authentication encryption function with additional data.
- System public parameters include:
- the public parameters of the system can be negotiated and determined by users in the system, or given by a trusted third party; a private key generator (Private Key Generator, referred to as PKG) generates a user master key (Master Secret Key) (msk from or Randomly selected from a subset of The value range of is an integer from 1 to q-1); publish SysPar publicly, and keep msk confidential.
- PKG Private Key Generator
- aux X is a set of nullable messages.
- aux X can include authentication and encryption Additional data
- aux Y can contain additional data for authentication and encryption
- System establishment Generate system public parameters, including: a safety parameter n, bilinear pair Integer q, where G 1 , G 2 and G T are three cyclic groups of order q, and the binary length of q (denoted as
- the public parameters of the system can be negotiated and determined by users in the system, or given by a trusted third party; a private key generator (Private Key Generator, referred to as PKG) generates a user master key (Master Secret Key) (msk from or Randomly selected a subset of ); publish SysPar publicly and keep msk confidential.
- PKG Private Key Generator
- System establishment Generate system public parameters, including: a safety parameter n, bilinear pair Integer q, where G 1 , G 2 and G T are three cyclic groups of order q, and the binary length of q (denoted as
- the public parameters of the system can be negotiated and determined by users in the system, or given by a trusted third party; a private key generator (Private Key Generator, referred to as PKG) generates a user master key (Master Secret Key) (msk from or Randomly selected from a subset of The value range of is an integer from 1 to q-1, and q is an integer); Syspar is publicly released, and msk is kept secret.
- PKG Private Key Generator
- User private key generation A user with identity ID ⁇ ⁇ 0, 1 ⁇ * registers with PKG, and PKG generates a user private key according to the master key msk and the user identity: Which is used when the ID is used as the initiator of the session Used when the ID is the recipient of the session
- the session initiator is marked as A
- its private key is marked as The receiver of the session
- B is denoted as
- G 2 be the q-order subgroup of the group G′ 2 of order N 2 , after user A receives Y, check If the check fails, user A suspends the operation.
- ID A is only the initiator of the session
- ID B is only the receiver of the session
- only the private key of ID B is used in the process of generating the session key
- And And/or q is a prime number, and/or, E is an authentication encryption function, and/or x is from or A subset of is selected uniformly, y is selected from or A subset of is selected uniformly.
- Fig. 1 is a flow chart of the realization of an example of the inventive method (symmetric bilinear pairing type-I).
- Figure 2 is a flow chart of an example of the inventive method (asymmetric bilinear pairing type-II).
- Fig. 3 is a flow chart of the realization of an example of the inventive method (asymmetric bilinear pairing type-III).
- ) is the polynomial of the safety parameter n; for the type-III pairing, G 1 is usually defined as an elliptic curve in the finite field F p , denoted as E(F p ), the subgroup with the upper order q , Where p is a prime number; in particular, for the BN curve adopted by China's SM9 standard, t 1 1.
- q can take a composite number or a prime number; two hash functions: Where ⁇ 0, 1 ⁇ * represents a 0-1 string of any length, Is the identity element of group G 1 , Indicates that G 1 is removed The set of elements afterwards; key derivation function KDF: ⁇ 0,1 ⁇ * ⁇ 0,1 ⁇ klen ⁇ 0,1 ⁇ klen adopts Openssl's AES algorithm with built-in key derivation function described by KDF or HMAC or SM9, Where klen is a positive integer representing the length of the symmetric key required by the encryption function E; Is the unit element of the group G T ; E is an authentication encryption encryption function; D is the decryption function corresponding to the encryption function E, Refers to message using the key K 1 (ID A, x) encrypted ciphertext C A, where K 1 is the length of the binary
- klen; Similarly, It refers to the use of key K 1 to encrypt the message (ID B ,
- the session initiator is marked as A, and its private key is marked as The receiver of the session is denoted as B, and its private key is denoted as
- Privacy protection provide identity hiding protection and denial of privacy protection.
- the following table is a comparison diagram between the type-III implementation example of the inventive method and my country's SM9 identity-based key agreement (specifically, the SM9 identity-based key agreement with explicit authentication).
- exp1 refers to the G 1 modulo exponential operation
- exp2 refers to the G 2 modulo exponential operation
- expT refers to the modulo exponential operation on G T
- G-test refers to the group G 1 element test.
- the calculation of the public key of the self side is not considered because it can be calculated and stored in advance (for example, in the case of user A, our method does not consider the calculation cost of the user public key H 1 (ID A )), but the calculation The calculation cost of the other user's public key should be taken into account; in addition, in our agreement, only the recipient needs to do G-test.
- Computational efficiency We only count the most important pairings, modulus indices and G-test operands. Note that if it is a BN curve, G-test is easier, but if it is a BLS curve, G-test will be a more time-consuming operation, so we also list G-test as the main operation for comparison.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供了一种高效的基于双线性对的身份基身份匿藏密钥协商方法,其具有的如下特征使得该方法具有唯一性,是目前最为简洁高效、通信便利灵活、隐私保护、和强安全的身份基密钥协商协议。(1)高效性:每个用户仅需做1个配对运算和3个模指数运算。(2)简洁性:无需主公钥。(3)通信便利和灵活性:通信双方无需事先知晓对方身份。(4)隐私保护:提供身份隐藏保护,和可抵赖隐私保护。(5)强安全性:抗临时密钥泄露的强可证明安全。
Description
本发明涉及密码技术领域,具体地说,涉及一种基于双线性对的身份基身份匿藏密钥协商方法。
认证密钥交换(AKE),特别是Diffie-Hellman(DH),在现代密码学中扮演着重要的角色,并在公钥密码学和对称密码学之间起到桥梁作用,是一系列广泛标准化并使用的网络安全协议的核心机制。与传统的公钥密码体制下的密钥交换协议相比,基于身份的密钥交换协议将用户的身份作为公钥,可以简化公钥证书管理和发放的问题。但是,原有的安全的基于身份的密钥协商协议均需公开传输用户的身份和公钥信息,并且效率较差。而在移动互联时代,设备的计算和存储能力受限,并且在很多应用中用户的身份信息往往属于敏感信息,需要保护。因此,发展高效的基于身份的身份匿藏密钥协商方法具有重要的理论及应用意义。
令G
1、G
2和G
T是三个q阶循环群(q可以是素数,也可以是合数,如RSA模数)。为了描述方便起见,我们记G
1、G
2和G
T为乘法群(所有本发明中描述的方案均在G
1、G
2和G
T记为加法群时同样工作),并且在这些群中离散对数问题是难的。一般而言,一个双线性对
就是一个从G
1×G
2到G
T的双线性映射,并满足下面性质:
(3)双线性映射可以有效计算。
双线性对有下面三种类型:
类型-I:G
1→G
2有一个可有效计算的同构,这时一般记为G
1=G
2(通常用G表示)。这类双线性对一般可以用超奇异椭圆曲线或超椭圆曲线来实现。
类型-II:有一个有效计算群同态G
2→G
1,但无从G
1到G
2的可有效计算的同态.这类双线性对一般用素数域上的一般椭圆曲线实现,G
1是基域上椭圆曲 线群,G
2是扩域上椭圆曲线子群,G
2→G
1的同态一般取迹映射。
类型-III:没有任何G
2→G
1或G
1→G
2的有效可计算的同态(同态甚至同构一定是存在的,这里是指没有有效计算的同态)。这类双线性对也是用素域上的一般曲线来构造,G
2一般取迹映射的核。对于类型-III的配对,G
1通常是定义在有限域F
p上椭圆曲线,记为E(F
p),上阶为q的子群,其中p是一个素数。
令G∈{G
1,G
2,}是阶为N的群G’的q-阶子群,其中N是整数。判断一个元素是否X∈G的方法包括:
(1)显式验证:检查X∈G′且X
q≠1
G,其中1
G是群G的单位元;
(2)隐式验证:t=N/q为群G的伴随因子,检查X∈G′且X
t≠1
G;一般来说,X∈G′和X
t≠1
G保证了X不在G′的一个(小的)子群中,该小子群以t的一个因数为阶(但这不能完全保证X∈G,比如,考虑X=-g
x)。
本发明所描述的方法可以在上述三种类型双线性对任一类型上都可以工作,区别在于:对于类型-I双线性对,G
1=G
2;对于类型-II双线性对,***公开参数中需要有一个可有效计算的同态ψ:G
1→G
2,即ψ为将G
1中元素映射到G
2的可有效计算的同态;对于类型-III双线性对,***公开参数中不需要有一个可有效计算的同态ψ:G
1→G
2,但每个用户的私钥由一个增加到两个,分别用于会话发起和会话接收。
发明内容
为解决上述问题,本发明提供了一种在双线性配对环境下高效的基于身份的身份匿藏密钥协商方法,所述方法包括:
基于类型-I对称双线性配对方法实现
***建立:生成***公开参数,包括:一个安全参数n,双线性对
整数q,其中G
1和G
T是三个q阶循环群,q的二进制长度(记为 |q|)为n的多项式;一个哈希函数:
其中{0,1}
*表示任意长度的0-1串,
为群G
1的单位元,
表示G
1中除去
之后的元素集合;一个密钥导出函数KDF:{0,1}
*→{0,1}
p(n),其中p(n)表示n的多项式;令g
1∈G
1为G
1的生成元,
为群G
T的单位元;E为一个对称加密函数,E
k(m
1,...,m
k),k≥1,表示基于对称密钥k对消息m
1,...,m
k进行加密,具体而言,把m
1||...||m
k按照约定的编码方式进行加密,||表示字符串链接操作,这里,m
1,...,m
k的先后顺序可以任意变化。D是与加密函数E对应的解密函数,D
k(c)表示基于对称密钥k对密文c进行解密;在实际应用中,E可以是一个带有附加数据的认证加密函数。***公开参数包括:
***公开参数可以由***内的用户协商决定,或由可信第三方给定;私钥生成器(Private Key Generator,简称为PKG)生成用户主密钥(Master Secret Key)
(msk从
或
的一个子集中随机选取,其中
的取值范围为1到q-1中的整数);公开发布SysPar,保密保存msk。
用户私钥生成:具有身份ID∈{0,1}
*的用户在PKG注册,PKG根据主密钥msk和用户身份生成用户私钥:SK
ID=(H
1(ID))
msk。为了描述方便起见,下述的描述中会话发起方记为A,其私钥记为SK
A=(H
1(ID
A))
msk;会话接收方记为B,其私钥记为SK
B=(H
1(ID
B))
msk。
密钥协商过程:
(3)用户B计算(K
1,K
2)←KDF(PS
B,X||Y||aux),
其中“||”是字符串联结符,在本发明中“||”联结的字符串的顺序可以任意,
是包含ID
B的一个消息集合的可为空的子集,
且可为空,aux
Y是可为空的消息的集合;K
1和K
2相同或不同,K
1=(K
A,K
B),K
A和K
B相同或不同;在具体应用中,通常使用HMAC作为KDF,KDF的第一个输入是随机密钥种子,后面的输入的顺序可以任意调整;
(4)用户B发送{Y,C
B,aux
Y}给用户A,在实际应用中aux
Y可以包含认证加密的附加数据
(6)用户A使用K
B解密C
B得到
并验证
且Y=(H
1(ID
B))
y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
并将C
A发送给用户B,其中
是包含ID
A,的一个消息集合的可为空的消息集合;用户A将会话密钥K设置为K
2或K
1或会话密钥由
导出;
基于类型-II非对称双线性对方法实现
***建立:生成***公开参数,包括:一个安全参数n,双线性对
整数q,其中G
1、G
2和G
T是三个q阶循环群,q的二进制长度(记为|q|)为n的多项式;一个哈希函数:
其中{0,1}
*表示任意长度的0-1串,
为群G
1的单位元,
表示G
1中除去
之后的元素集合;一个可有效计算的同态ψ:G
1→G
2;一个密钥导出函数KDF:{0,1}
*→{0,1}
p(n),其中p(n)表示n的多项式;令g
1∈G
1为G
1的生成元,
为群G
T的单位元;E为一个对称加密函数,E
k(m
1,...,m
k),k≥1,表示基于对称密钥k对消息m
1,...,m
k进行加密,具体而言,把m
1||...||m
k按照约定的编码方式进行加密,||表示字符串链接操作,这里,m
1,...,m
k的先后顺序可以任意变化。D是与加密函数E对应的解密函数,D
k(c)表示基于对称密钥k对密文c进行解密;***公开参数:
***公开参数可以由***内的用户协商决定,或由可信第三方给定;私钥生成器(Private Key Generator,简称为PKG)生成用户主密钥(Master Secret Key)
(msk从
或
的一个子集中随机选取);公开发布SysPar,保密保存msk。
用户私钥生成:具有身份ID∈{0,1}
*的用户在PKG注册,PKG根据主密钥msk和用户身份生成用户私钥:SK
ID=(H
1(ID))
msk。为了描述方便起见,下述的描述中会话发起方记为A,其私钥记为SK
A=(H
1(ID
A))
msk;会话接收方记为B,其私钥记为SK
B=(H
1(ID
B))
msk。
密钥协商过程:
(3)用户B计算(K
1,K
2)←KDF(PS
B,X||Y||aux),
其中
是包含ID
B的一个消息集合的可为空的子集,
且可为空,aux
Y是可为空可为的消息的集合;K
1和K
2相同或不同,K
1=(K
A,K
B),K
A和K
B相同或不同;
(4)用户B发送{Y,C
B,aux
Y}给用户A;
(6)用户A使用K
B解密C
B得到
并验证
且Y=(H
1(ID
B))
y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
并将C
A发送给用户B,其中
是包含ID
A的一个消息集合的可为空的子集;用户A将会话密钥K设置为K
2或K
1或会话密钥由
导出;
基于类型-III非对称双线性对方法实现
***建立:生成***公开参数,包括:一个安全参数n,双线性对
整数q,其中G
1、G
2和G
T是三个q阶循环群,q的二进制长度(记为|q|)为n的多项式;两个哈希函数:
其中{0,1}
*表示任意长度的0-1串,
为群G
1的单位元,
表示G
1中除去
之后的元素集合;
为群G
2的单位元,
表示G
2中除去
之后的元素集合;一个密钥导出函数KDF:{0,1}
*→{0,1}
p(n),其中p(n)表示n的多项式;令g
1∈G
1为G
1的生成元,g
2∈G
2为G
2的生成元,
为群G
T的单位元;E为一个对称加密函数,E
k(m
1,...,m
k),k≥1,表示基于对称密钥k对消息m
1,...,m
k进行加密,具体而言,把m
1||...||m
k按照约定的编码方式进行加密,||表示字符串链接操作,这儿,m
1,...,m
k的先后顺序可以任意变化。D是与加密函数E对应的解密函数,D
k(c)表示基于对称密钥k对密文c进行解密;***公开参数:
***公开参数可以由***内的用户协商决定,或由可信第三方给定;私钥生成器(Private Key Generator,简称为PKG)生成用户主密钥(Master Secret Key)
(msk从
或
的一个子集中随机选取,其中
的取值范围为1到q-1中的整数,且q为一个整数);公开发布Syspar,保密保存msk。
用户私钥生成:具有身份ID∈{0,1}
*的用户在PKG注册,PKG根据主密钥msk和用户身份生成用户私钥:
其中当ID作为会话发起者时使用
当ID作为会话接收者时使用
为了描述方便起见,下述的描述中会话发起方记为A,其私钥记为
会话接收方记为B,其私钥记为
密钥协商过程:
(3)用户B计算(K
1,K
2)←KDF(PS
B,X||Y||aux),
其中
是包含ID
B的一个消息集合的可为空的子集,
且可为空,aux
Y是可为空的消息的集合;K
1和K
2相同或不同,K
1=(K
A,K
B),K
A和K
B相同或不同;
(4)用户B发送{Y,C
B,aux
Y}给用户A;
(6)用户A使用K
B解密C
B得到
并验证
且Y=(H
2(ID
B))
y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
并将C
A发送给用户B,其中
是包含ID
A的一个消息集合的可为空的子集;用户A将会话密钥K设置为K
2或K
1或会话密钥由
导出;
根据本发明的一个实施例,
其特征在于,用户B收到X之后,检查
如果检查不通过则用户B中止运行;令G
1是阶为N
1的群G′
1的q-阶子群,其中N
1是整数;检查一个元素
的方法包括:(1)显式检查:检查
且
其中
表示的是G′
1除去单位元
之后剩余元素的集合;或(2)隐式检查:令t
1=N
1/q为群G
1的伴随因子,检查X∈G′
1且
(3)PS-检查:对于类型-I实现,计算
对于类型-II实现,计算
对于类型-III的实现,
如果
或
则用户B中止运行;(4)对于一些特殊的子群安全曲线,
只需检查X∈G′
1和/或
根据本发明的一个实施例,
根据本发明的一个实施例,
对于基于类型-III非对称双线性对方法实现中,如果ID
A只是会话的发起方,则在会话密钥的生成过程中,只使用ID
A的私钥
同理,如果ID
B只是会话的接收方,则在会话密钥的生成过程中,只使用ID
B的私钥
根据本发明的一个实施例,
根据本发明的一个实施例,
本发明方法的操作步骤,在不影响功能的前提下,可以任意调换。
图1是发明方法一个实例(对称双线性配对类型-I)实现的流程图。
图2是发明方法一个实例(非对称双线性配对类型-II)实现的流程图。
图3是发明方法一个实例(非对称双线性配对类型-III)实现的流程图。
图1是发明方法一个实例(类型-I对称双线性配对)实现的流程图;其中,G
1=G
2,双线性对
其中G
1和G
T是两个q阶循环群,其中G
1是阶为N
1群G′
1的q-阶子群,其中伴随因子t
1=N
1/q,q的二进制长度(记为|q|)为安全参数n的多项式;q可以取合数或素数;一个哈希函数:
其中{0,1}
*表示任意长度的0-1串,
为群G
1的单位元,
表示G
1中除去
之后的元素集合;密钥导出函数KDF:{0,1}
*→{0,1}
klen×{0,1}
klen采用Openssl的AES算法内置KDF或HMAC或SM9所描述的密钥导出函数,其中klen是一个正整数表示加密函数E所需对称密钥的长度;
为群G
T的单位元;E为一个认证加密函数;D是与加密函数E对应的解密函数,
指的是利用密钥K
1对消息(ID
A,x)加密得到密文C
A,其中K
1的二进制长度|K
1|=klen;同理,
指的是利用密钥K
1对消息(ID
B,y)加密得到密文C
B。
指的是利用密钥K
1对密文C
A解密得到消息(ID
A,x);同理,
指的是利用密钥K
1对密文C
B解密得到消息(ID
B,y)。
表示的是x从
中随机选取,
表示的是y从
中随机选取,
表示的是从
中随机选取***主私钥msk。***公开参数:
在图1中,会话发起方记为A,其私钥记为SK
A=(H
1(ID
A))
msk;会话接收方记为B,其私钥记为SK
B=(H
1(ID
B))
msk。
密钥协商过程如下:
(4)用户B发送{Y,C
B}给用户A;
(6)用户A使用K
1解密C
B得到(ID
B,y),并验证
且Y=(H
1(ID
B))
y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
并将C
A发送给用户B;用户A将会话密钥K设置为K
2;
图2是发明方法一个实例(类型-II非对称双线性配对)实现的流程图;其中,G
1≠G
2,双线性对
其中G
1、G
2和G
T是三个q阶循环群,G
1是阶为N
1群G′
1的q-阶子群,其中伴随因子t
1=N
1/q,q的二进制长度(记为|q|),为安全参数n的多项式;q可以取合数或素数;一个哈希函数:
其中{0,1}
*表示任意长度的0-1串,
为群G
1的单位元,
表示G
1中除去
之后的元素集合;密钥导出函数KDF:{0,1}
*→{0,1}
klen×{0,1}
klen采用Openssl的AES算法内置KDF或HMAC或SM9所描述的密钥导出函数,其中klen是一个正整数表示加密函数E所需对称密钥的长度;
为群G
T的单位元;ψ:G
1→G
2是一个可有效计算的从G
1到G
2同态;E为一个认证加密函数;D是与加密函数E对应的解密函数,
指的是利用密钥K
1对消息(ID
A,x)加密得到密文C
A,其中K
1的二进制长度|K
1|=klen;同理,
指的是利用密钥K
1对消息(ID
B,y)加密得到密文C
B。
指的是利用密钥K
1对密文C
A解密得到消息(ID
A,x);同理,
指的是利用密钥K
1对密文C
B解密得到消息(ID
B,y)。
表示的是x从
中随机选取,
表示的是y从
中随机选取,
表示的是从
中随机选取***主私钥msk。***公开参数:
在图2中,会话发起方记为A,其私钥记为SK
A=(H
1(ID
A))
msk;会话接收方记为B,其私钥记为SK
B=(H
1(ID
B))
msk。
密钥协商过程如下:
(4)用户B发送{Y,C
B}给用户A;
(6)用户A使用K
1解密C
B得到(ID
B,y),并验证
且Y=(H
1(ID
B))
y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
并将C
A发送给用户B;用户A将会话密钥K设置为K
2;
图3是发明方法一个实例(类型-III非对称双线性配对)实现的流程图;其中,G
1≠G
2,双线性对
其中G
1、G
2和G
T是三个q阶循环群,G
1是阶为N
1群G′
1的q-阶子群,其中伴随因子t
1=N
1/q,q的二进制长度(记为|q|)为安全参数n的多项式;对于类型-III的配对,G
1通常是定义在有限域F
p上椭圆曲线,记为E(F
p),上阶为q的子群,其中p是一个素数;特别地,对于我国SM9标准所采用的BN曲线,t
1=1。q可以取合数或素数;两个哈希函数:
其中{0,1}
*表示任意长度的0-1串,
为群G
1的单位元,
表示G
1中除去
之后的元素集合;密钥导出函 数KDF:{0,1}
*→{0,1}
klen×{0,1}
klen采用Openssl的AES算法内置KDF或HMAC或SM9所描述的密钥导出函数,其中klen是一个正整数表示加密函数E所需对称密钥的长度;
为群G
T的单位元;E为一个认证加密加密函数;D是与加密函数E对应的解密函数,
指的是利用密钥K
1对消息(ID
A,x)加密得到密文C
A,其中K
1的二进制长度|K
1|=klen;同理,
指的是利用密钥K
1对消息(ID
B,y)加密得到密文C
B。
指的是利用密钥K
1对密文C
A解密得到消息(ID
A,x);同理,
指的是利用密钥K
1对密文C
B解密得到消息(ID
B,y)。
表示的是x从
中随机选取,
表示的是y从
中随机选取,
表示的是从
中随机选取***主私钥msk。***公开参数:
密钥协商过程如下:
(4)用户B发送{Y,C
B}给用户A;
(6)用户A使用K
1解密C
B得到(ID
B,y),并验证
且Y=(H
2(ID
B))
y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
并将C
A发送给用户B;用户A将会话密钥K设置为K
2;
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
发明方法所具有的如下特征使得该方法具有唯一性,是目前最为简洁高效、通信便利灵活、隐私保护、和强安全的身份基密钥协商协议。
(1)高效性:每个用户仅需做1个配对运算和3个模指数运算。
(2)简洁性:无需主公钥。
(3)通信便利和灵活性:通信双方无需事先知晓对方身份。
(4)隐私保护:提供身份隐藏保护,和可抵赖隐私保护。
(5)强安全性:抗临时密钥泄露的强可证明安全。
下表是发明方法的类型-III实现实例与我国SM9身份基密钥协商的对比图(具体而言,是显式认证的SM9身份基密钥协商),其中,
指的是配对运算,exp1指的是G
1上模指数运算,exp2指的是G
2上模指数运算,expT指的是G
T上的模指数运算,G-test指的是群G
1元素检验。在比较计算效率时,自方的公钥计算由于可以事先计算存储没有考虑在内(比如,以用户A为例,我们方法不考虑用户公钥H
1(ID
A)的计算代价),但是计算对方用户公钥的计算代价要考虑在内;另外,我们的协议只有接受者需要做G-test。计算效率我们仅统计最主要的配对、模指数和G-test操作数。注意,如果是BN曲线,G-test比较容易,但是如果是BLS曲线,G-test则会是一个比较耗时的操作,因此我们把G-test也列为主要操作进行比较。
应该理解的是,本发明所公开的实施例不限于这里所公开的特定处理步骤,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。
说明书中提到的“两个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少两个实施例中。因此,说明书通篇各个地方出现的短语“两个实施例”或“实施例”并不一定均指同一实施例。
虽然上述示例用于说明本发明在一个或多个应用中的原理,但对于本领域的技术人员来说,在不背离本发明的原理和思想的情况下,明显可以在形式上、用法及实施的细节上作各种修改而不用付出创造性劳动。因此,本发明由所附的权利要求书来限定。
Claims (6)
- 一种基于双线性对的身份基身份匿藏密钥协商方法,其特征在于,所述方法包括在三种类型的双线性配对中的实现方法,分别描述如下:基于类型-I对称双线性配对方法实现***建立:生成***公开参数,包括:一个安全参数n,双线性对 整数q,其中G 1和G T是三个q阶循环群,q的二进制长度(记为|q|)为n的多项式;一个哈希函数: 其中{0,1} *表示任意长度的0-1串, 为群G 1的单位元, 表示G 1中除去 之后的元素集合;一个密钥导出函数KDF:{0,1} *→{0,1} p(n),其中p(n)表示n的多项式;令g 1∈G 1为G 1的生成元, 为群G T的单位元;E为一个对称加密函数,E k(m)表示基于对称密钥k对消息m∈{0,1} *进行加密;D是与加密函数E对应的解密函数,D k(c)表示基于对称密钥k对密文c进行解密;***公开参数:***公开参数可以由***内的用户协商决定,或由可信第三方给定;私钥生成器(Private Key Generator,简称为PKG)生成用户主密钥(Master Secret Key) (msk从 或 的一个子集中随机选取,其中 的取值范围为1到q-1中的整数);公开发布SysPar,保密保存msk,用户私钥生成:具有身份ID∈{0,1} *的用户在PKG注册,PKG根据主密钥msk和用户身份生成用户私钥:SK ID=(H 1(ID)) msk,为了描述方便起见,下述的描述中会话发起方记为A,其私钥记为SK A=(H 1(ID A)) msk;会话接收方记为B,其私钥记为SK B=(H 1(ID B)) msk,密钥协商过程:(3)用户B计算(K 1,K 2)←KDF(PS B,X||Y||aux), 其中“||”是字符串联结符, 是包含ID B的一个消息集合的可为空的子集, 且可为空,aux Y是可为空的消息的集合;K 1和K 2相同或不同,K 1=(K A,K B),K A和K B相同或不同;(4)用户B发送{Y,C B,aux Y}给用户A;(6)用户A使用K B解密C B得到 并验证 是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算 并将C A发送给用户B,其中 是包含ID A,的一个消息集合的可为空的消息集合;用户A将会话密钥K设置为K 2或K 1或会话密钥由 导出;基于类型-II非对称双线性对方法实现***建立:生成***公开参数,包括:一个安全参数n,双线性对 整数q,其中G 1、G 2和G T是三个q阶循环群,q的二进制长度(记为|q|)为n的多项式;一个哈希函数: 其中{0,1} *表示任意长度的0-1串, 为群G 1的单位元, 表示G 1中除去 之后的元素集合;一个可有效计算的同态ψ:G 1→G 2;一个密钥导出函数KDF:{0,1} *→{0,1} p(n),其中p(n)表示n的多项式;令g 1∈G 1为G 1的生成元, 为群G T的单位元;E为一个对称加密函数,E k(m)表示基于对称密钥k对消息m∈{0,1} *进行加密;D是与加密函数E对应的解密函数,D k(c)表示基于对称密钥k对密文c进行解密;***公开参数:***公开参数可以由***内的用户协商决定,或由可信第三方给定;私钥生成器(Private Key Generator,简称为PKG)生成用户主密钥(Master Secret Key) (msk从 或 的一个子集中随机选取);公开发布SysPar,保密保存msk,用户私钥生成:具有身份ID∈{0,1} *的用户在PKG注册,PKG根据主密钥msk和用户身份生成用户私钥:SK ID=(H 1(ID)) msk,为了描述方便起见,下述的描述中会话发起方记为A,其私钥记为SK A=(H 1(ID A)) msk;会话接收方记为 B,其私钥记为SK B=(H 1(ID B)) msk,密钥协商过程:(3)用户B计算(K 1,K 2)←KDF(PS B,X||Y||aux), 其中 是包含ID B的一个消息集合的可为空的子集, 且可为空,aux Y是可为空可为的消息的集合;K 1和K 2相同或不同,K 1=(K A,K B),K A和K B相同或不同;(4)用户B发送{Y,C B,aux Y}给用户A;(6)用户A使用K B解密C B得到 并验证 且Y=(H 1(ID B)) y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算 并将C A发送给用户B,其中 是包含ID A的一个消息集合的可为空的子集;用户A将会话密钥K设置为K 2或K 1或会话密钥由 导出;基于类型-III非对称双线性对方法实现***建立:生成***公开参数,包括:一个安全参数n,双线性对 但没有任何G 2→G 1或G 1→G 2的有效可计算的同态,整数q,其中G 1、G 2和G T是三个q阶循环群,q的二进制长度(记为|q|)为n的多项式;两个哈希函数: 其中{0,1} *表示任意长度的0-1串, 为群G 1的单位元, 表示G 1中除去 之后的元素集合; 为群G 2的单位元, 表示G 2中除去 之后的元素集合;一个密钥导出函数KDF:{0,1} *→{0,1} p(n),其中p(n)表示n的多项式;令g 1∈G 1为 G 1的生成元,g 2∈G 2为G 2的生成元, 为群G T的单位元;E为一个对称加密函数,E k(m)表示基于对称密钥k对消息m∈{0,1} *进行加密;D是与加密函数E对应的解密函数,D k(c)表示基于对称密钥k对密文c进行解密;***公开参数:***公开参数可以由***内的用户协商决定,或由可信第三方给定;私钥生成器(Private Key Generator,简称为PKG)生成用户主密钥(Master Secret Key) (msk从 或 的一个子集中随机选取,其中 的取值范围为1到q-1中的整数,且q为一个整数);公开发布SysPar,保密保存msk,用户私钥生成:具有身份ID∈{0,1} *的用户在PKG注册,PKG根据主密钥msk和用户身份生成用户私钥: 其中当ID作为会话发起者时使用 当ID作为会话接收者时使用 为了描述方便起见,下述的描述中会话发起方记为A,其私钥记为 会话接收方记为B,其私钥记为密钥协商过程:(3)用户B计算(K 1,K 2)←KDF(PS B,X||Y||aux), 其中 是包含ID B的一个消息集合的可为空的子集, 且可为空,aux Y是可为空的消息的集合;K 1和K 2相同或不同,K 1=(K A,K B),K A和K B相同或不同;(4)用户B发送{Y,C B,aux Y}给用户A;(6)用户A使用K B解密C B得到 并验证 且Y=(H 2(ID B)) y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算 并将C A发送给用户B,其中 是包含ID A的一个消息集合的可为空的子集;用户A将会话密钥K设置为K 2或K 1或会话密钥由 导出;
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910118821.8A CN109698747B (zh) | 2019-02-15 | 2019-02-15 | 一种基于双线性对的身份基身份匿藏密钥协商方法 |
CN201910118821.8 | 2019-02-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020164252A1 true WO2020164252A1 (zh) | 2020-08-20 |
Family
ID=66234818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/112511 WO2020164252A1 (zh) | 2019-02-15 | 2019-10-22 | 一种基于双线性对的身份基身份匿藏密钥协商方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109698747B (zh) |
WO (1) | WO2020164252A1 (zh) |
Families Citing this family (4)
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 (5)
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 |
CN103634115A (zh) * | 2013-11-26 | 2014-03-12 | 常州大学 | 基于身份的认证密钥协商协议产生方法 |
CN104868993A (zh) * | 2015-05-15 | 2015-08-26 | 河海大学 | 一种基于证书的两方认证密钥协商方法及*** |
CN106453253A (zh) * | 2016-09-06 | 2017-02-22 | 赵运磊 | 一种高效的基于身份的匿签密方法 |
CN109698747A (zh) * | 2019-02-15 | 2019-04-30 | 上海扈民区块链科技有限公司 | 一种基于双线性对的身份基身份匿藏密钥协商方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 |
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 | 南京理工大学 | 一种基于身份的密钥协商构建方法与网络平台 |
-
2019
- 2019-02-15 CN CN201910118821.8A patent/CN109698747B/zh active Active
- 2019-10-22 WO PCT/CN2019/112511 patent/WO2020164252A1/zh active Application Filing
Patent Citations (5)
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 |
CN103634115A (zh) * | 2013-11-26 | 2014-03-12 | 常州大学 | 基于身份的认证密钥协商协议产生方法 |
CN104868993A (zh) * | 2015-05-15 | 2015-08-26 | 河海大学 | 一种基于证书的两方认证密钥协商方法及*** |
CN106453253A (zh) * | 2016-09-06 | 2017-02-22 | 赵运磊 | 一种高效的基于身份的匿签密方法 |
CN109698747A (zh) * | 2019-02-15 | 2019-04-30 | 上海扈民区块链科技有限公司 | 一种基于双线性对的身份基身份匿藏密钥协商方法 |
Non-Patent Citations (1)
Title |
---|
DING, HUI; YIN, XINCHUN: "New Identity-based Authenticated Key Agreement Protocol", COMPUTER ENGINEERING, vol. 36, no. 23, 31 December 2010 (2010-12-31), XP009522669, ISSN: 1000-3428 * |
Also Published As
Publication number | Publication date |
---|---|
CN109698747A (zh) | 2019-04-30 |
CN109698747B (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108173639B (zh) | 一种基于sm9签名算法的两方合作签名方法 | |
CN109462481B (zh) | 一种基于非对称双线性对的匿签密方法 | |
Gayoso Martínez et al. | A survey of the elliptic curve integrated encryption scheme | |
CN105024994B (zh) | 无对运算的安全无证书混合签密方法 | |
WO2020164252A1 (zh) | 一种基于双线性对的身份基身份匿藏密钥协商方法 | |
US12010216B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
WO2007076659A1 (fr) | Procede et systeme de chiffrement a base d'id | |
Yao et al. | A light-weight certificate-less public key cryptography scheme based on ECC | |
US11528127B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
CN106713349B (zh) | 一种能抵抗选择密文攻击的群组间代理重加密方法 | |
CN110784314A (zh) | 无证书的加密信息处理方法 | |
Savu | Signcryption scheme based on schnorr digital signature | |
TW202232913A (zh) | 共享金鑰產生技術 | |
CN106453253B (zh) | 一种高效的基于身份的匿签密方法 | |
CN117879833A (zh) | 一种基于改进椭圆曲线的数字签名生成方法 | |
JP2004534971A (ja) | 有限非可換群を用いた公開鍵暗号システム | |
Gupta et al. | A secure identity-based three-party authenticated key agreement protocol using bilinear pairings | |
Kilciauskas et al. | Authenticated key agreement protocol based on provable secure cryptographic functions | |
CN110365482B (zh) | 一种数据通信方法和装置 | |
Sheth et al. | Analysis of cryptography techniques | |
Hou et al. | Cryptanalysis on Identity-based Authenticated Key agreement protocols from Pairings | |
Garrett et al. | Blinded Diffie-Hellman: Preventing Eavesdroppers from Tracking Payments | |
Kumar | A secure and efficient authentication protocol based on elliptic curve diffie-hellman algorithm and zero knowledge property | |
Kumar et al. | A survey on various asymmetric algorithms | |
Cao et al. | A note on``a multi-instance cancelable fingerprint biometric based secure session key agreement protocol employing elliptic curve cryptography and a double hash function'' |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 19915223 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 29/11/2021) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 19915223 Country of ref document: EP Kind code of ref document: A1 |