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

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

Info

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
Application number
PCT/CN2019/112511
Other languages
English (en)
French (fr)
Inventor
赵运磊
黄兴忠
Original Assignee
上海扈民区块链科技有限公司
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 上海扈民区块链科技有限公司 filed Critical 上海扈民区块链科技有限公司
Publication of WO2020164252A1 publication Critical patent/WO2020164252A1/zh

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

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记为加法群时同样工作),并且在这些群中离散对数问题是难的。一般而言,一个双线性对
Figure PCTCN2019112511-appb-000001
就是一个从G 1×G 2到G T的双线性映射,并满足下面性质:
(1)双线性性:设g 1∈G 1,g 2∈G 2,x,y∈Z q,有
Figure PCTCN2019112511-appb-000002
(2)非退化性:对于每一个
Figure PCTCN2019112511-appb-000003
总存在一个g 2∈G 2,使得
Figure PCTCN2019112511-appb-000004
其中,
Figure PCTCN2019112511-appb-000005
是G 1的单位元,
Figure PCTCN2019112511-appb-000006
是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)。
(3)利用配对检查:令Y∈G 1或Y∈G 2,检查
Figure PCTCN2019112511-appb-000007
Figure PCTCN2019112511-appb-000008
(4)对于一些特殊的子群安全曲线,
Figure PCTCN2019112511-appb-000009
只需检查X∈G′ 1和/或
Figure PCTCN2019112511-appb-000010
本发明所描述的方法可以在上述三种类型双线性对任一类型上都可以工作,区别在于:对于类型-I双线性对,G 1=G 2;对于类型-II双线性对,***公开参数中需要有一个可有效计算的同态ψ:G 1→G 2,即ψ为将G 1中元素映射到G 2的可有效计算的同态;对于类型-III双线性对,***公开参数中不需要有一个可有效计算的同态ψ:G 1→G 2,但每个用户的私钥由一个增加到两个,分别用于会话发起和会话接收。
发明内容
为解决上述问题,本发明提供了一种在双线性配对环境下高效的基于身份的身份匿藏密钥协商方法,所述方法包括:
基于类型-I对称双线性配对方法实现
***建立:生成***公开参数,包括:一个安全参数n,双线性对
Figure PCTCN2019112511-appb-000011
整数q,其中G 1和G T是三个q阶循环群,q的二进制长度(记为 |q|)为n的多项式;一个哈希函数:
Figure PCTCN2019112511-appb-000012
其中{0,1} *表示任意长度的0-1串,
Figure PCTCN2019112511-appb-000013
为群G 1的单位元,
Figure PCTCN2019112511-appb-000014
表示G 1中除去
Figure PCTCN2019112511-appb-000015
之后的元素集合;一个密钥导出函数KDF:{0,1} *→{0,1} p(n),其中p(n)表示n的多项式;令g 1∈G 1为G 1的生成元,
Figure PCTCN2019112511-appb-000016
为群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可以是一个带有附加数据的认证加密函数。***公开参数包括:
Figure PCTCN2019112511-appb-000017
***公开参数可以由***内的用户协商决定,或由可信第三方给定;私钥生成器(Private Key Generator,简称为PKG)生成用户主密钥(Master Secret Key)
Figure PCTCN2019112511-appb-000018
(msk从
Figure PCTCN2019112511-appb-000019
Figure PCTCN2019112511-appb-000020
的一个子集中随机选取,其中
Figure PCTCN2019112511-appb-000021
的取值范围为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
密钥协商过程:
(1)用户A选取
Figure PCTCN2019112511-appb-000022
计算X=(H 1(ID A)) x,用户A将{X,aux X}发送给用户B,其中aux X是可为空的消息的集合,在实际应用中aux X可以包含认证加密的附加数据;
(2)用户B接收到{X,aux X}后,选取
Figure PCTCN2019112511-appb-000023
计算Y=(H 1(ID B)) y,以及
Figure PCTCN2019112511-appb-000024
Figure PCTCN2019112511-appb-000025
则重新选取y,并重新计算Y和PS B
(3)用户B计算(K 1,K 2)←KDF(PS B,X||Y||aux),
Figure PCTCN2019112511-appb-000026
其中“||”是字符串联结符,在本发明中“||”联结的字符串的顺序可以任意,
Figure PCTCN2019112511-appb-000027
是包含ID B的一个消息集合的可为空的子集,
Figure PCTCN2019112511-appb-000028
Figure PCTCN2019112511-appb-000029
且可为空,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可以包含认证加密的附加数据
(5)用户A接收到{Y,C B,aux Y}后,计算
Figure PCTCN2019112511-appb-000030
Figure PCTCN2019112511-appb-000031
则中止协议运行,否则计算(K 1,K 2)←KDF(PS A,X||Y||aux);
(6)用户A使用K B解密C B得到
Figure PCTCN2019112511-appb-000032
并验证
Figure PCTCN2019112511-appb-000033
且Y=(H 1(ID B)) y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
Figure PCTCN2019112511-appb-000034
并将C A发送给用户B,其中
Figure PCTCN2019112511-appb-000035
是包含ID A,的一个消息集合的可为空的消息集合;用户A将会话密钥K设置为K 2或K 1或会话密钥由
Figure PCTCN2019112511-appb-000036
导出;
(7)用户B接收到C A后,使用K A解密C A得到
Figure PCTCN2019112511-appb-000037
验证
Figure PCTCN2019112511-appb-000038
且X=(H 1(ID A)) x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K 2或K 1或会话密钥由
Figure PCTCN2019112511-appb-000039
导出;
基于类型-II非对称双线性对方法实现
***建立:生成***公开参数,包括:一个安全参数n,双线性对
Figure PCTCN2019112511-appb-000040
整数q,其中G 1、G 2和G T是三个q阶循环群,q的二进制长度(记为|q|)为n的多项式;一个哈希函数:
Figure PCTCN2019112511-appb-000041
其中{0,1} *表示任意长度的0-1串,
Figure PCTCN2019112511-appb-000042
为群G 1的单位元,
Figure PCTCN2019112511-appb-000043
表示G 1中除去
Figure PCTCN2019112511-appb-000044
之后的元素集合;一个可有效计算的同态ψ:G 1→G 2;一个密钥导出函数KDF:{0,1} *→{0,1} p(n),其中p(n)表示n的多项式;令g 1∈G 1为G 1的生成元,
Figure PCTCN2019112511-appb-000045
为群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进行解密;***公开参数:
Figure PCTCN2019112511-appb-000046
***公开参数可以由***内的用户协商决定,或由可信第三方给定;私钥生成器(Private Key Generator,简称为PKG)生成用户主密钥(Master Secret Key)
Figure PCTCN2019112511-appb-000047
(msk从
Figure PCTCN2019112511-appb-000048
Figure PCTCN2019112511-appb-000049
的一个子集中随机选取);公开发布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
密钥协商过程:
(1)用户A选取
Figure PCTCN2019112511-appb-000050
计算X=(H 1(ID A)) x,用户A将{X,aux X}发送给用户B,其中aux X是可为空的消息的集合;
(2)用户B接收到{X,aux X}后,选取
Figure PCTCN2019112511-appb-000051
计算Y=(H 1(ID B)) y,以及
Figure PCTCN2019112511-appb-000052
Figure PCTCN2019112511-appb-000053
则重新选取y,并重新计算Y和PS B
(3)用户B计算(K 1,K 2)←KDF(PS B,X||Y||aux),
Figure PCTCN2019112511-appb-000054
其中
Figure PCTCN2019112511-appb-000055
是包含ID B的一个消息集合的可为空的子集,
Figure PCTCN2019112511-appb-000056
Figure PCTCN2019112511-appb-000057
且可为空,aux Y是可为空可为的消息的集合;K 1和K 2相同或不同,K 1=(K A,K B),K A和K B相同或不同;
(4)用户B发送{Y,C B,aux Y}给用户A;
(5)用户A接收到{Y,C B,aux Y}后,计算
Figure PCTCN2019112511-appb-000058
Figure PCTCN2019112511-appb-000059
则中止协议运,否则计算(K 1,K 2)←KDF(PS A,X||Y||aux);
(6)用户A使用K B解密C B得到
Figure PCTCN2019112511-appb-000060
并验证
Figure PCTCN2019112511-appb-000061
且Y=(H 1(ID B)) y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
Figure PCTCN2019112511-appb-000062
并将C A发送给用户B,其中
Figure PCTCN2019112511-appb-000063
是包含ID A的一个消息集合的可为空的子集;用户A将会话密钥K设置为K 2或K 1或会话密钥由
Figure PCTCN2019112511-appb-000064
导出;
(7)用户B接收到C A后,使用K A解密C A得到
Figure PCTCN2019112511-appb-000065
验证
Figure PCTCN2019112511-appb-000066
且X=(H 1(ID A)) x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K 2或K 1或会话密钥由
Figure PCTCN2019112511-appb-000067
导出。
基于类型-III非对称双线性对方法实现
***建立:生成***公开参数,包括:一个安全参数n,双线性对
Figure PCTCN2019112511-appb-000068
整数q,其中G 1、G 2和G T是三个q阶循环群,q的二进制长度(记为|q|)为n的多项式;两个哈希函数:
Figure PCTCN2019112511-appb-000069
Figure PCTCN2019112511-appb-000070
其中{0,1} *表示任意长度的0-1串,
Figure PCTCN2019112511-appb-000071
为群G 1的单位元,
Figure PCTCN2019112511-appb-000072
表示G 1中除去
Figure PCTCN2019112511-appb-000073
之后的元素集合;
Figure PCTCN2019112511-appb-000074
为群G 2的单位元,
Figure PCTCN2019112511-appb-000075
表示G 2中除去
Figure PCTCN2019112511-appb-000076
之后的元素集合;一个密钥导出函数KDF:{0,1} *→{0,1} p(n),其中p(n)表示n的多项式;令g 1∈G 1为G 1的生成元,g 2∈G 2为G 2的生成元,
Figure PCTCN2019112511-appb-000077
为群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进行解密;***公开参数:
Figure PCTCN2019112511-appb-000078
***公开参数可以由***内的用户协商决定,或由可信第三方给定;私钥生成器(Private Key Generator,简称为PKG)生成用户主密钥(Master Secret Key)
Figure PCTCN2019112511-appb-000079
(msk从
Figure PCTCN2019112511-appb-000080
Figure PCTCN2019112511-appb-000081
的一个子集中随机选取,其中
Figure PCTCN2019112511-appb-000082
的取值范围为1到q-1中的整数,且q为一个整数);公开发布Syspar,保密保存msk。
用户私钥生成:具有身份ID∈{0,1} *的用户在PKG注册,PKG根据主密钥msk和用户身份生成用户私钥:
Figure PCTCN2019112511-appb-000083
其中当ID作为会话发起者时使用
Figure PCTCN2019112511-appb-000084
当ID作为会话接收者时使用
Figure PCTCN2019112511-appb-000085
为了描述方便起见,下述的描述中会话发起方记为A,其私钥记为
Figure PCTCN2019112511-appb-000086
Figure PCTCN2019112511-appb-000087
会话接收方记为B,其私钥记为
Figure PCTCN2019112511-appb-000088
Figure PCTCN2019112511-appb-000089
密钥协商过程:
(1)用户A选取
Figure PCTCN2019112511-appb-000090
计算X=(H 1(ID A)) x,用户A将{X,aux X}发送给用户B,其中aux X是可为空的消息的集合;
(2)用户B接收到{X,aux X}后,选取
Figure PCTCN2019112511-appb-000091
计算Y=(H 2(ID B)) y,以及
Figure PCTCN2019112511-appb-000092
Figure PCTCN2019112511-appb-000093
则重新选取y,并重新计算Y和PS B
(3)用户B计算(K 1,K 2)←KDF(PS B,X||Y||aux),
Figure PCTCN2019112511-appb-000094
其中
Figure PCTCN2019112511-appb-000095
是包含ID B的一个消息集合的可为空的子集,
Figure PCTCN2019112511-appb-000096
Figure PCTCN2019112511-appb-000097
且可为空,aux Y是可为空的消息的集合;K 1和K 2相同或不同,K 1=(K A,K B),K A和K B相同或不同;
(4)用户B发送{Y,C B,aux Y}给用户A;
(5)用户A接收到{Y,C B,aux Y}后,计算
Figure PCTCN2019112511-appb-000098
Figure PCTCN2019112511-appb-000099
则中止协议运行,否则计算(K 1,K 2)←KDF(PS A,X||Y||aux);
(6)用户A使用K B解密C B得到
Figure PCTCN2019112511-appb-000100
并验证
Figure PCTCN2019112511-appb-000101
且Y=(H 2(ID B)) y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
Figure PCTCN2019112511-appb-000102
并将C A发送给用户B,其中
Figure PCTCN2019112511-appb-000103
是包含ID A的一个消息集合的可为空的子集;用户A将会话密钥K设置为K 2或K 1或会话密钥由
Figure PCTCN2019112511-appb-000104
导出;
(7)用户B接收到C A后,使用K A解密C A得到
Figure PCTCN2019112511-appb-000105
验证
Figure PCTCN2019112511-appb-000106
且X=(H 1(ID A)) x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K 2或K 1或会话密钥由
Figure PCTCN2019112511-appb-000107
导出。
根据本发明的一个实施例,
其特征在于,用户B收到X之后,检查
Figure PCTCN2019112511-appb-000108
如果检查不通过则用户B中止运行;令G 1是阶为N 1的群G′ 1的q-阶子群,其中N 1是整数;检查一个元素
Figure PCTCN2019112511-appb-000109
的方法包括:(1)显式检查:检查
Figure PCTCN2019112511-appb-000110
Figure PCTCN2019112511-appb-000111
其中
Figure PCTCN2019112511-appb-000112
表示的是G′ 1除去单位元
Figure PCTCN2019112511-appb-000113
之后剩余元素的集合;或(2)隐式检查:令t 1=N 1/q为群G 1的伴随因子,检查X∈G′ 1
Figure PCTCN2019112511-appb-000114
(3)PS-检查:对于类型-I实现,计算
Figure PCTCN2019112511-appb-000115
对于类型-II实现,计算
Figure PCTCN2019112511-appb-000116
Figure PCTCN2019112511-appb-000117
对于类型-III的实现,
Figure PCTCN2019112511-appb-000118
如果
Figure PCTCN2019112511-appb-000119
Figure PCTCN2019112511-appb-000120
则用户B中止运行;(4)对于一些特殊的子群安全曲线,
Figure PCTCN2019112511-appb-000121
只需检查X∈G′ 1和/或
Figure PCTCN2019112511-appb-000122
根据本发明的一个实施例,
其特征在于,令G 2是阶为N 2的群G′ 2的q-阶子群,用户A收到Y之后,检查
Figure PCTCN2019112511-appb-000123
如果检查不通过则用户A中止运行。
根据本发明的一个实施例,
对于基于类型-III非对称双线性对方法实现中,如果ID A只是会话的发起方,则在会话密钥的生成过程中,只使用ID A的私钥
Figure PCTCN2019112511-appb-000124
同理,如果ID B只是会话的接收方,则在会话密钥的生成过程中,只使用ID B的私钥
Figure PCTCN2019112511-appb-000125
根据本发明的一个实施例,
Figure PCTCN2019112511-appb-000126
Figure PCTCN2019112511-appb-000127
和/或q是素数,和/或,E是一个认证加密函数,和/或x从
Figure PCTCN2019112511-appb-000128
Figure PCTCN2019112511-appb-000129
的一个子集中均匀选取,y从
Figure PCTCN2019112511-appb-000130
Figure PCTCN2019112511-appb-000131
的一个子集中均匀选取。
根据本发明的一个实施例,
Figure PCTCN2019112511-appb-000132
Figure PCTCN2019112511-appb-000133
本发明方法的操作步骤,在不影响功能的前提下,可以任意调换。
附图说明
图1是发明方法一个实例(对称双线性配对类型-I)实现的流程图。
图2是发明方法一个实例(非对称双线性配对类型-II)实现的流程图。
图3是发明方法一个实例(非对称双线性配对类型-III)实现的流程图。
具体实施方式
图1是发明方法一个实例(类型-I对称双线性配对)实现的流程图;其中,G 1=G 2,双线性对
Figure PCTCN2019112511-appb-000134
其中G 1和G T是两个q阶循环群,其中G 1是阶为N 1群G′ 1的q-阶子群,其中伴随因子t 1=N 1/q,q的二进制长度(记为|q|)为安全参数n的多项式;q可以取合数或素数;一个哈希函数:
Figure PCTCN2019112511-appb-000135
Figure PCTCN2019112511-appb-000136
其中{0,1} *表示任意长度的0-1串,
Figure PCTCN2019112511-appb-000137
为群G 1的单位元,
Figure PCTCN2019112511-appb-000138
表示G 1中除去
Figure PCTCN2019112511-appb-000139
之后的元素集合;密钥导出函数KDF:{0,1} *→{0,1} klen×{0,1} klen采用Openssl的AES算法内置KDF或HMAC或SM9所描述的密钥导出函数,其中klen是一个正整数表示加密函数E所需对称密钥的长度;
Figure PCTCN2019112511-appb-000140
为群G T的单位元;E为一个认证加密函数;D是与加密函数E对应的解密函数,
Figure PCTCN2019112511-appb-000141
Figure PCTCN2019112511-appb-000142
指的是利用密钥K 1对消息(ID A,x)加密得到密文C A,其中K 1的二进制长度|K 1|=klen;同理,
Figure PCTCN2019112511-appb-000143
指的是利用密钥K 1对消息(ID B,y)加密得到密文C B
Figure PCTCN2019112511-appb-000144
指的是利用密钥K 1对密文C A解密得到消息(ID A,x);同理,
Figure PCTCN2019112511-appb-000145
指的是利用密钥K 1对密文C B解密得到消息(ID B,y)。
Figure PCTCN2019112511-appb-000146
表示的是x从
Figure PCTCN2019112511-appb-000147
中随机选取,
Figure PCTCN2019112511-appb-000148
表示的是y从
Figure PCTCN2019112511-appb-000149
中随机选取,
Figure PCTCN2019112511-appb-000150
表示的是从
Figure PCTCN2019112511-appb-000151
中随机选取***主私钥msk。***公开参数:
Figure PCTCN2019112511-appb-000152
Figure PCTCN2019112511-appb-000153
在图1中,会话发起方记为A,其私钥记为SK A=(H 1(ID A)) msk;会话接收方记为B,其私钥记为SK B=(H 1(ID B)) msk
密钥协商过程如下:
(1)用户A选取
Figure PCTCN2019112511-appb-000154
计算X=(H 1(ID A)) x,用户A将X发送给用户B;
(2)用户B接收到X后,检查X∈G′ 1,如果检查不通过则中止运行;选取
Figure PCTCN2019112511-appb-000155
计算Y=(H 1(ID B)) y,以及
Figure PCTCN2019112511-appb-000156
Figure PCTCN2019112511-appb-000157
则中止运行;
(3)用户B计算(K 1,K 2)←KDF(PS B,X||Y),
Figure PCTCN2019112511-appb-000158
(4)用户B发送{Y,C B}给用户A;
(5)用户A接收到{Y,C B}后,计算
Figure PCTCN2019112511-appb-000159
(K 1,K 2)←KDF(PS A,X||Y);
(6)用户A使用K 1解密C B得到(ID B,y),并验证
Figure PCTCN2019112511-appb-000160
且Y=(H 1(ID B)) y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
Figure PCTCN2019112511-appb-000161
并将C A发送给用户B;用户A将会话密钥K设置为K 2
(7)用户B接收到C A后,使用K 1解密C A得到(ID A,x),验证
Figure PCTCN2019112511-appb-000162
且X=(H 1(ID A)) x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K 2
图2是发明方法一个实例(类型-II非对称双线性配对)实现的流程图;其中,G 1≠G 2,双线性对
Figure PCTCN2019112511-appb-000163
其中G 1、G 2和G T是三个q阶循环群,G 1是阶为N 1群G′ 1的q-阶子群,其中伴随因子t 1=N 1/q,q的二进制长度(记为|q|),为安全参数n的多项式;q可以取合数或素数;一个哈希函数:
Figure PCTCN2019112511-appb-000164
Figure PCTCN2019112511-appb-000165
其中{0,1} *表示任意长度的0-1串,
Figure PCTCN2019112511-appb-000166
为群G 1的单位元,
Figure PCTCN2019112511-appb-000167
表示G 1中除去
Figure PCTCN2019112511-appb-000168
之后的元素集合;密钥导出函数KDF:{0,1} *→{0,1} klen×{0,1} klen采用Openssl的AES算法内置KDF或HMAC或SM9所描述的密钥导出函数,其中klen是一个正整数表示加密函数E所需对称密钥的长度;
Figure PCTCN2019112511-appb-000169
为群G T的单位元;ψ:G 1→G 2是一个可有效计算的从G 1到G 2同态;E为一个认证加密函数;D是与加密函数E对应的解密函数,
Figure PCTCN2019112511-appb-000170
指的是利用密钥K 1对消息(ID A,x)加密得到密文C A,其中K 1的二进制长度|K 1|=klen;同理,
Figure PCTCN2019112511-appb-000171
Figure PCTCN2019112511-appb-000172
指的是利用密钥K 1对消息(ID B,y)加密得到密文C B
Figure PCTCN2019112511-appb-000173
Figure PCTCN2019112511-appb-000174
指的是利用密钥K 1对密文C A解密得到消息(ID A,x);同理,
Figure PCTCN2019112511-appb-000175
Figure PCTCN2019112511-appb-000176
指的是利用密钥K 1对密文C B解密得到消息(ID B,y)。
Figure PCTCN2019112511-appb-000177
表示的是x从
Figure PCTCN2019112511-appb-000178
中随机选取,
Figure PCTCN2019112511-appb-000179
表示的是y从
Figure PCTCN2019112511-appb-000180
中随机选取,
Figure PCTCN2019112511-appb-000181
表示的是从
Figure PCTCN2019112511-appb-000182
中随机选取***主私钥msk。***公开参数:
Figure PCTCN2019112511-appb-000183
Figure PCTCN2019112511-appb-000184
在图2中,会话发起方记为A,其私钥记为SK A=(H 1(ID A)) msk;会话接收方记为B,其私钥记为SK B=(H 1(ID B)) msk
密钥协商过程如下:
(1)用户A选取
Figure PCTCN2019112511-appb-000185
计算X=(H 1(ID A)) x,用户A将X发送给用户B;
(2)用户B接收到X后,检查X∈G′ 1,如果检查不通过则中止运行;选取
Figure PCTCN2019112511-appb-000186
计算Y=(H 1(ID B)) y,以及
Figure PCTCN2019112511-appb-000187
Figure PCTCN2019112511-appb-000188
Figure PCTCN2019112511-appb-000189
则中止运行;
(3)用户B计算(K 1,K 2)←KDF(PS B,X||Y),
Figure PCTCN2019112511-appb-000190
(4)用户B发送{Y,C B}给用户A;
(5)用户A接收到{Y,C B}后,计算
Figure PCTCN2019112511-appb-000191
(K 1,K 2)←KDF(PS A,X||Y);
(6)用户A使用K 1解密C B得到(ID B,y),并验证
Figure PCTCN2019112511-appb-000192
且Y=(H 1(ID B)) y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
Figure PCTCN2019112511-appb-000193
并将C A发送给用户B;用户A将会话密钥K设置为K 2
(7)用户B接收到C A后,使用K 1解密C A得到(ID A,x),验证
Figure PCTCN2019112511-appb-000194
且X=(H 1(ID A)) x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K 2
图3是发明方法一个实例(类型-III非对称双线性配对)实现的流程图;其中,G 1≠G 2,双线性对
Figure PCTCN2019112511-appb-000195
其中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可以取合数或素数;两个哈希函数:
Figure PCTCN2019112511-appb-000196
其中{0,1} *表示任意长度的0-1串,
Figure PCTCN2019112511-appb-000197
为群G 1的单位元,
Figure PCTCN2019112511-appb-000198
表示G 1中除去
Figure PCTCN2019112511-appb-000199
之后的元素集合;密钥导出函 数KDF:{0,1} *→{0,1} klen×{0,1} klen采用Openssl的AES算法内置KDF或HMAC或SM9所描述的密钥导出函数,其中klen是一个正整数表示加密函数E所需对称密钥的长度;
Figure PCTCN2019112511-appb-000200
为群G T的单位元;E为一个认证加密加密函数;D是与加密函数E对应的解密函数,
Figure PCTCN2019112511-appb-000201
指的是利用密钥K 1对消息(ID A,x)加密得到密文C A,其中K 1的二进制长度|K 1|=klen;同理,
Figure PCTCN2019112511-appb-000202
Figure PCTCN2019112511-appb-000203
指的是利用密钥K 1对消息(ID B,y)加密得到密文C B
Figure PCTCN2019112511-appb-000204
Figure PCTCN2019112511-appb-000205
指的是利用密钥K 1对密文C A解密得到消息(ID A,x);同理,
Figure PCTCN2019112511-appb-000206
Figure PCTCN2019112511-appb-000207
指的是利用密钥K 1对密文C B解密得到消息(ID B,y)。
Figure PCTCN2019112511-appb-000208
表示的是x从
Figure PCTCN2019112511-appb-000209
中随机选取,
Figure PCTCN2019112511-appb-000210
表示的是y从
Figure PCTCN2019112511-appb-000211
中随机选取,
Figure PCTCN2019112511-appb-000212
表示的是从
Figure PCTCN2019112511-appb-000213
中随机选取***主私钥msk。***公开参数:
Figure PCTCN2019112511-appb-000214
Figure PCTCN2019112511-appb-000215
在图3中,会话发起方记为A,其私钥记为
Figure PCTCN2019112511-appb-000216
Figure PCTCN2019112511-appb-000217
会话接收方记为B,其私钥记为
Figure PCTCN2019112511-appb-000218
Figure PCTCN2019112511-appb-000219
密钥协商过程如下:
(1)用户A选取
Figure PCTCN2019112511-appb-000220
计算X=(H 1(ID A)) x,用户A将X发送给用户B;
(2)用户B接收到X后,检查X∈G′ 1,如果检查不通过则中止运行;选取
Figure PCTCN2019112511-appb-000221
计算Y=(H 2(ID B)) y,以及
Figure PCTCN2019112511-appb-000222
Figure PCTCN2019112511-appb-000223
则中止运行;
(3)用户B计算(K 1,K 2)←KDF(PS B,X||Y),
Figure PCTCN2019112511-appb-000224
(4)用户B发送{Y,C B}给用户A;
(5)用户A接收到{Y,C B}后,计算
Figure PCTCN2019112511-appb-000225
(K 1,K 2)←KDF(PS A,X||Y);
(6)用户A使用K 1解密C B得到(ID B,y),并验证
Figure PCTCN2019112511-appb-000226
且Y=(H 2(ID B)) y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
Figure PCTCN2019112511-appb-000227
并将C A发送给用户B;用户A将会话密钥K设置为K 2
(7)用户B接收到C A后,使用K 1解密C A得到(ID A,x),验证
Figure PCTCN2019112511-appb-000228
且X=(H 1(ID A)) x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K 2
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
发明方法所具有的如下特征使得该方法具有唯一性,是目前最为简洁高效、通信便利灵活、隐私保护、和强安全的身份基密钥协商协议。
(1)高效性:每个用户仅需做1个配对运算和3个模指数运算。
(2)简洁性:无需主公钥。
(3)通信便利和灵活性:通信双方无需事先知晓对方身份。
(4)隐私保护:提供身份隐藏保护,和可抵赖隐私保护。
(5)强安全性:抗临时密钥泄露的强可证明安全。
下表是发明方法的类型-III实现实例与我国SM9身份基密钥协商的对比图(具体而言,是显式认证的SM9身份基密钥协商),其中,
Figure PCTCN2019112511-appb-000229
指的是配对运算,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也列为主要操作进行比较。
Figure PCTCN2019112511-appb-000230
应该理解的是,本发明所公开的实施例不限于这里所公开的特定处理步骤,而应当延伸到相关领域的普通技术人员所理解的这些特征的等同替代。还应当理解的是,在此使用的术语仅用于描述特定实施例的目的,而并不意味着限制。
说明书中提到的“两个实施例”或“实施例”意指结合实施例描述的特定特征、结构或特性包括在本发明的至少两个实施例中。因此,说明书通篇各个地方出现的短语“两个实施例”或“实施例”并不一定均指同一实施例。
虽然上述示例用于说明本发明在一个或多个应用中的原理,但对于本领域的技术人员来说,在不背离本发明的原理和思想的情况下,明显可以在形式上、用法及实施的细节上作各种修改而不用付出创造性劳动。因此,本发明由所附的权利要求书来限定。

Claims (6)

  1. 一种基于双线性对的身份基身份匿藏密钥协商方法,其特征在于,所述方法包括在三种类型的双线性配对中的实现方法,分别描述如下:
    基于类型-I对称双线性配对方法实现
    ***建立:生成***公开参数,包括:一个安全参数n,双线性对
    Figure PCTCN2019112511-appb-100001
    整数q,其中G 1和G T是三个q阶循环群,q的二进制长度(记为|q|)为n的多项式;一个哈希函数:
    Figure PCTCN2019112511-appb-100002
    其中{0,1} *表示任意长度的0-1串,
    Figure PCTCN2019112511-appb-100003
    为群G 1的单位元,
    Figure PCTCN2019112511-appb-100004
    表示G 1中除去
    Figure PCTCN2019112511-appb-100005
    之后的元素集合;一个密钥导出函数KDF:{0,1} *→{0,1} p(n),其中p(n)表示n的多项式;令g 1∈G 1为G 1的生成元,
    Figure PCTCN2019112511-appb-100006
    为群G T的单位元;E为一个对称加密函数,E k(m)表示基于对称密钥k对消息m∈{0,1} *进行加密;D是与加密函数E对应的解密函数,D k(c)表示基于对称密钥k对密文c进行解密;***公开参数:
    Figure PCTCN2019112511-appb-100007
    ***公开参数可以由***内的用户协商决定,或由可信第三方给定;私钥生成器(Private Key Generator,简称为PKG)生成用户主密钥(Master Secret Key)
    Figure PCTCN2019112511-appb-100008
    (msk从
    Figure PCTCN2019112511-appb-100009
    Figure PCTCN2019112511-appb-100010
    的一个子集中随机选取,其中
    Figure PCTCN2019112511-appb-100011
    的取值范围为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
    密钥协商过程:
    (1)用户A选取
    Figure PCTCN2019112511-appb-100012
    计算X=(H 1(ID A)) x,用户A将{X,aux X}发送给用户B,其中aux X是可为空的消息的集合;
    (2)用户B接收到{X,aux X}后,检查
    Figure PCTCN2019112511-appb-100013
    如果检查失败则中止运行;选取
    Figure PCTCN2019112511-appb-100014
    计算Y=(H 1(ID B)) y,以及
    Figure PCTCN2019112511-appb-100015
    (3)用户B计算(K 1,K 2)←KDF(PS B,X||Y||aux),
    Figure PCTCN2019112511-appb-100016
    其中“||”是字符串联结符,
    Figure PCTCN2019112511-appb-100017
    是包含ID B的一个消息集合的可为空的子集,
    Figure PCTCN2019112511-appb-100018
    且可为空,aux Y是可为空的消息的集合;K 1和K 2相同或不同,K 1=(K A,K B),K A和K B相同或不同;
    (4)用户B发送{Y,C B,aux Y}给用户A;
    (5)用户A接收到{Y,C B,aux Y}后,检查或不检查
    Figure PCTCN2019112511-appb-100019
    计算
    Figure PCTCN2019112511-appb-100020
    Figure PCTCN2019112511-appb-100021
    计算(K 1,K 2)←KDF(PS A,X||Y||aux);
    (6)用户A使用K B解密C B得到
    Figure PCTCN2019112511-appb-100022
    并验证
    Figure PCTCN2019112511-appb-100023
    是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
    Figure PCTCN2019112511-appb-100024
    并将C A发送给用户B,其中
    Figure PCTCN2019112511-appb-100025
    是包含ID A,的一个消息集合的可为空的消息集合;用户A将会话密钥K设置为K 2或K 1或会话密钥由
    Figure PCTCN2019112511-appb-100026
    导出;
    (7)用户B接收到C A后,使用K A解密C A得到
    Figure PCTCN2019112511-appb-100027
    验证
    Figure PCTCN2019112511-appb-100028
    且X=(H 1(ID A)) x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K 2或K 1或会话密钥由
    Figure PCTCN2019112511-appb-100029
    基于类型-II非对称双线性对方法实现
    ***建立:生成***公开参数,包括:一个安全参数n,双线性对
    Figure PCTCN2019112511-appb-100030
    整数q,其中G 1、G 2和G T是三个q阶循环群,q的二进制长度(记为|q|)为n的多项式;一个哈希函数:
    Figure PCTCN2019112511-appb-100031
    其中{0,1} *表示任意长度的0-1串,
    Figure PCTCN2019112511-appb-100032
    为群G 1的单位元,
    Figure PCTCN2019112511-appb-100033
    表示G 1中除去
    Figure PCTCN2019112511-appb-100034
    之后的元素集合;一个可有效计算的同态ψ:G 1→G 2;一个密钥导出函数KDF:{0,1} *→{0,1} p(n),其中p(n)表示n的多项式;令g 1∈G 1为G 1的生成元,
    Figure PCTCN2019112511-appb-100035
    为群G T的单位元;E为一个对称加密函数,E k(m)表示基于对称密钥k对消息m∈{0,1} *进行加密;D是与加密函数E对应的解密函数,D k(c)表示基于对称密钥k对密文c进行解密;***公开参数:
    Figure PCTCN2019112511-appb-100036
    Figure PCTCN2019112511-appb-100037
    ***公开参数可以由***内的用户协商决定,或由可信第三方给定;私钥生成器(Private Key Generator,简称为PKG)生成用户主密钥(Master Secret Key)
    Figure PCTCN2019112511-appb-100038
    (msk从
    Figure PCTCN2019112511-appb-100039
    Figure PCTCN2019112511-appb-100040
    的一个子集中随机选取);公开发布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
    密钥协商过程:
    (1)用户A选取
    Figure PCTCN2019112511-appb-100041
    计算X=(H 1(ID A)) x,用户A将{X,aux X}发送给用户B,其中aux X是可为空的消息的集合;
    (2)用户B接收到{X,aux X}后,检查
    Figure PCTCN2019112511-appb-100042
    如果检查失败则中止运行;选取
    Figure PCTCN2019112511-appb-100043
    计算Y=(H 1(ID B)) y,以及
    Figure PCTCN2019112511-appb-100044
    (3)用户B计算(K 1,K 2)←KDF(PS B,X||Y||aux),
    Figure PCTCN2019112511-appb-100045
    其中
    Figure PCTCN2019112511-appb-100046
    是包含ID B的一个消息集合的可为空的子集,
    Figure PCTCN2019112511-appb-100047
    Figure PCTCN2019112511-appb-100048
    且可为空,aux Y是可为空可为的消息的集合;K 1和K 2相同或不同,K 1=(K A,K B),K A和K B相同或不同;
    (4)用户B发送{Y,C B,aux Y}给用户A;
    (5)用户A接收到{Y,C B,aux Y}后,检查或不检查
    Figure PCTCN2019112511-appb-100049
    计算
    Figure PCTCN2019112511-appb-100050
    Figure PCTCN2019112511-appb-100051
    计算(K 1,K 2)←KDF(PS A,X||Y||aux);
    (6)用户A使用K B解密C B得到
    Figure PCTCN2019112511-appb-100052
    并验证
    Figure PCTCN2019112511-appb-100053
    且Y=(H 1(ID B)) y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
    Figure PCTCN2019112511-appb-100054
    并将C A发送给用户B,其中
    Figure PCTCN2019112511-appb-100055
    是包含ID A的一个消息集合的可为空的子集;用户A将会话密钥K设置为K 2或K 1或会话密钥由
    Figure PCTCN2019112511-appb-100056
    导出;
    (7)用户B接收到C A后,使用K A解密C A得到
    Figure PCTCN2019112511-appb-100057
    验证
    Figure PCTCN2019112511-appb-100058
    且X=(H 1(ID A)) x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K 2或K 1或会话密钥由
    Figure PCTCN2019112511-appb-100059
    导出,
    基于类型-III非对称双线性对方法实现
    ***建立:生成***公开参数,包括:一个安全参数n,双线性对
    Figure PCTCN2019112511-appb-100060
    但没有任何G 2→G 1或G 1→G 2的有效可计算的同态,整数q,其中G 1、G 2和G T是三个q阶循环群,q的二进制长度(记为|q|)为n的多项式;两个哈希函数:
    Figure PCTCN2019112511-appb-100061
    Figure PCTCN2019112511-appb-100062
    其中{0,1} *表示任意长度的0-1串,
    Figure PCTCN2019112511-appb-100063
    为群G 1的单位元,
    Figure PCTCN2019112511-appb-100064
    表示G 1中除去
    Figure PCTCN2019112511-appb-100065
    之后的元素集合;
    Figure PCTCN2019112511-appb-100066
    为群G 2的单位元,
    Figure PCTCN2019112511-appb-100067
    表示G 2中除去
    Figure PCTCN2019112511-appb-100068
    之后的元素集合;一个密钥导出函数KDF:{0,1} *→{0,1} p(n),其中p(n)表示n的多项式;令g 1∈G 1为 G 1的生成元,g 2∈G 2为G 2的生成元,
    Figure PCTCN2019112511-appb-100069
    为群G T的单位元;E为一个对称加密函数,E k(m)表示基于对称密钥k对消息m∈{0,1} *进行加密;D是与加密函数E对应的解密函数,D k(c)表示基于对称密钥k对密文c进行解密;***公开参数:
    Figure PCTCN2019112511-appb-100070
    ***公开参数可以由***内的用户协商决定,或由可信第三方给定;私钥生成器(Private Key Generator,简称为PKG)生成用户主密钥(Master Secret Key)
    Figure PCTCN2019112511-appb-100071
    (msk从
    Figure PCTCN2019112511-appb-100072
    Figure PCTCN2019112511-appb-100073
    的一个子集中随机选取,其中
    Figure PCTCN2019112511-appb-100074
    的取值范围为1到q-1中的整数,且q为一个整数);公开发布SysPar,保密保存msk,
    用户私钥生成:具有身份ID∈{0,1} *的用户在PKG注册,PKG根据主密钥msk和用户身份生成用户私钥:
    Figure PCTCN2019112511-appb-100075
    其中当ID作为会话发起者时使用
    Figure PCTCN2019112511-appb-100076
    当ID作为会话接收者时使用
    Figure PCTCN2019112511-appb-100077
    为了描述方便起见,下述的描述中会话发起方记为A,其私钥记为
    Figure PCTCN2019112511-appb-100078
    Figure PCTCN2019112511-appb-100079
    会话接收方记为B,其私钥记为
    Figure PCTCN2019112511-appb-100080
    Figure PCTCN2019112511-appb-100081
    密钥协商过程:
    (1)用户A选取
    Figure PCTCN2019112511-appb-100082
    计算X=(H 1(ID A)) x,用户A将{X,aux X}发送给用户B,其中aux X是可为空的消息的集合;
    (2)用户B接收到{X,aux X}后,检查
    Figure PCTCN2019112511-appb-100083
    如果检查失败则中止运行;选取
    Figure PCTCN2019112511-appb-100084
    计算Y=(H 2(ID B)) y,以及
    Figure PCTCN2019112511-appb-100085
    (3)用户B计算(K 1,K 2)←KDF(PS B,X||Y||aux),
    Figure PCTCN2019112511-appb-100086
    其中
    Figure PCTCN2019112511-appb-100087
    是包含ID B的一个消息集合的可为空的子集,
    Figure PCTCN2019112511-appb-100088
    Figure PCTCN2019112511-appb-100089
    且可为空,aux Y是可为空的消息的集合;K 1和K 2相同或不同,K 1=(K A,K B),K A和K B相同或不同;
    (4)用户B发送{Y,C B,aux Y}给用户A;
    (5)用户A接收到{Y,C B,aux Y}后,检查或不检查
    Figure PCTCN2019112511-appb-100090
    计算
    Figure PCTCN2019112511-appb-100091
    计算(K 1,K 2)←KDF(PS A,X||Y||aux);
    (6)用户A使用K B解密C B得到
    Figure PCTCN2019112511-appb-100092
    并验证
    Figure PCTCN2019112511-appb-100093
    且Y=(H 2(ID B)) y是否成立;如果验证不通过,用户A中止协议运行;如果验证成功,A进一步计算
    Figure PCTCN2019112511-appb-100094
    并将C A发送给用户B,其中
    Figure PCTCN2019112511-appb-100095
    是包含ID A的一个消息集合的可为空的子集;用户A将会话密钥K设置为K 2或K 1或会话密钥由
    Figure PCTCN2019112511-appb-100096
    导出;
    (7)用户B接收到C A后,使用K A解密C A得到
    Figure PCTCN2019112511-appb-100097
    验证
    Figure PCTCN2019112511-appb-100098
    且X=(H 1(ID A)) x;若验证失败,用户B中止协议运行;如果验证通过,用户B将会话密钥K设置为K 2或K 1或会话密钥由
    Figure PCTCN2019112511-appb-100099
    导出。
  2. 如权利要求1所述的方法,其特征在于,用户B收到X之后,检查
    Figure PCTCN2019112511-appb-100100
    Figure PCTCN2019112511-appb-100101
    如果检查不通过则用户B中止运行;令G 1是阶为N 1的群G′ 1的q-阶子群,其中N 1是整数;检查一个元素
    Figure PCTCN2019112511-appb-100102
    的方法包括:(1)显式检查:检查
    Figure PCTCN2019112511-appb-100103
    Figure PCTCN2019112511-appb-100104
    其中
    Figure PCTCN2019112511-appb-100105
    表示的是G′ 1除去单位元
    Figure PCTCN2019112511-appb-100106
    之后剩余元素的集合;或(2)隐式检查:令t 1=N 1/q为群G 1的伴随因子,检查X∈G′ 1
    Figure PCTCN2019112511-appb-100107
    (3)PS-检查:对于类型-I实现,计算
    Figure PCTCN2019112511-appb-100108
    对于类型-II实现,计算
    Figure PCTCN2019112511-appb-100109
    对于类型-III的实现,
    Figure PCTCN2019112511-appb-100110
    Figure PCTCN2019112511-appb-100111
    如果
    Figure PCTCN2019112511-appb-100112
    Figure PCTCN2019112511-appb-100113
    则用户B中止运行;(4)对于一些特殊的子群安全曲线,
    Figure PCTCN2019112511-appb-100114
    只需检查X∈G′ 1和/或
    Figure PCTCN2019112511-appb-100115
  3. 如权利要求1所述的方法,其特征在于,令G 2是阶为N 2的群G′ 2的q-阶子群,用户A收到Y之后,检查
    Figure PCTCN2019112511-appb-100116
    如果检查不通过则用户A中止运行。
  4. 如权利要求1所述的方法,对于基于类型-III非对称双线性对方法实现中,如果ID A只是会话的发起方,则在会话密钥的生成过程中,只使用ID A的私钥
    Figure PCTCN2019112511-appb-100117
    同理,如果ID B只是会话的接收方,则在会话密钥的生成过程中,只使用ID B的私钥
    Figure PCTCN2019112511-appb-100118
  5. 如权利要求1所述的方法,其特征在于,
    Figure PCTCN2019112511-appb-100119
    Figure PCTCN2019112511-appb-100120
    Figure PCTCN2019112511-appb-100121
    和/或q是素数,和/或,E是一个认证加密函数,和/或x从
    Figure PCTCN2019112511-appb-100122
    Figure PCTCN2019112511-appb-100123
    的一个子集中均匀选取,y从
    Figure PCTCN2019112511-appb-100124
    Figure PCTCN2019112511-appb-100125
    的一个子集中均匀选取。
  6. 如权利要求1所述的方法,其特征在于,
    Figure PCTCN2019112511-appb-100126
    Figure PCTCN2019112511-appb-100127
    Figure PCTCN2019112511-appb-100128
PCT/CN2019/112511 2019-02-15 2019-10-22 一种基于双线性对的身份基身份匿藏密钥协商方法 WO2020164252A1 (zh)

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)

* 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 (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
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)

* Cited by examiner, † Cited by third party
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 南京理工大学 一种基于身份的密钥协商构建方法与网络平台

Patent Citations (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
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)

* Cited by examiner, † Cited by third party
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