CN102624524A - Non-forgeable knowledge proof and message signature authentication method based on bilinear pairings - Google Patents

Non-forgeable knowledge proof and message signature authentication method based on bilinear pairings Download PDF

Info

Publication number
CN102624524A
CN102624524A CN2011100278085A CN201110027808A CN102624524A CN 102624524 A CN102624524 A CN 102624524A CN 2011100278085 A CN2011100278085 A CN 2011100278085A CN 201110027808 A CN201110027808 A CN 201110027808A CN 102624524 A CN102624524 A CN 102624524A
Authority
CN
China
Prior art keywords
mrow
msubsup
msub
msup
user
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.)
Pending
Application number
CN2011100278085A
Other languages
Chinese (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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN2011100278085A priority Critical patent/CN102624524A/en
Publication of CN102624524A publication Critical patent/CN102624524A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

The invention provides a non-forged knowledge proof and message signature authentication method based on bilinear pairings. The objective of the invention is the concurrency of Non-forgeable security and knowledge extraction resistance capacity. With the method provided by the invention, a valid knowledge proof or message signature authentication is provided only when corresponding secret knowledge is known. Through regarding user identities and/or fixed DH elements as a public key, the method of the invention comprises an efficient numerical signature method and an identity-based or certificate-free signature method. Through operating the method of the invention, each side which operates the method of the invention proves the respective secret DH-knowledge knowledge. A key exchange method for authentication and an identity-based or certificate-free key exchange method for authentication are derived by the method of the invention.

Description

Non-forgeable knowledge proof and message signature authentication method based on bilinear pairings
Technical Field
The invention belongs to the technical field of passwords, and particularly relates to a bilinear pairing-based (interaction-free) non-forgeable knowledge proof and message signature authentication method. The purpose of the inventive method is concurrent non-forgeable security and knowledge extraction. Specifically, only knowledge of the corresponding secret can give a legitimate proof of knowledge or message signature authentication. By regarding the identity of the user and/or the fixed DH component as a public key, the invention method implies a high-efficiency numerical signature method and an identity-based signature method; each party (running the inventive method) proves their own secret DH-knowledge by running the inventive method and the inventive method derives an authenticated key exchange method and an authenticated identity-based key exchange method.
Background
Preliminary knowledge and symbol marking
The methods and operations described herein are based on efficient bilinear pairwise mapping
Figure BSA00000426873700011
Or
Figure BSA00000426873700012
WhereinIs NAFinite Abel group of order (for most cases)
Figure BSA00000426873700014
Is NAA cyclic group or field of order). Note the book
Figure BSA00000426873700015
As a collection of numbers
Figure BSA00000426873700016
Note the book
Figure BSA00000426873700017
All greater than 0 and less than NAAnd with NAA set of integers of primes. Remember | NAL is NAIs used to represent the length of the binary representation. In particular, if NAIs a prime number, then
Figure BSA00000426873700018
In describing the method of the present invention, we will now describe
Figure BSA00000426873700019
Are described as multiplicative groups. In some of the literature, it is known that,
Figure BSA000004268737000110
also described as an additive group. Here, we emphasize that
Figure BSA000004268737000111
The descriptions as additive or multiplicative groups are merely different in sign, and the two descriptions are isomorphic. The method described with multiplicative group tokens can be applied isomorphically to the method described with additive group tokens; also, the method described by the additive group notation may be isomorphicGround applies to the method described with multiplicative group notation. For convenience of description, we will describe
Figure BSA000004268737000112
Are described as multiplicative groups.
Figure BSA000004268737000113
Is composed ofThe production unit of (1) is provided with a production unit,
Figure BSA000004268737000115
is composed of
Figure BSA000004268737000116
The production unit of (1). In the normal case, NAIs a prime number or the product of two or more prime numbers or NA=2kK is not less than 1 or NA=qkK.gtoreq.1 wherein q is a prime number. In some cases
Figure BSA000004268737000117
At this time
Figure BSA000004268737000118
And
Figure BSA000004268737000119
may or may not be equal. If it is
Figure BSA000004268737000120
Let us call eAIs a symmetric bilinear pair, if
Figure BSA000004268737000121
Let us call eAAre asymmetric bilinear pairs. Note that for asymmetric bilinear pairs, DDH is assumed to be
Figure BSA000004268737000122
Or
Figure BSA000004268737000123
The above is still true. For asymmetric bilinear pairs
Figure BSA000004268737000124
Figure BSA000004268737000125
Is greater than the elements in
Figure BSA000004268737000126
The elements in (1) are shorter; also, for asymmetric bilinear pairs
Figure BSA000004268737000127
Figure BSA000004268737000128
Is greater than the elements in
Figure BSA000004268737000129
The elements in (1) are shorter;
is called a valid bilinear pair if the following condition (forThe effective bilinear pairs of (c) are similarly defined):
(1)
Figure BSA00000426873700022
is that
Figure BSA00000426873700023
The generator of (in particular,is not provided with
Figure BSA00000426873700025
A unit cell of (a).
(2) For arbitrary <math> <mrow> <mi>a</mi> <mo>,</mo> <mi>b</mi> <mo>&Element;</mo> <msubsup> <mi>Z</mi> <msub> <mi>N</mi> <mi>A</mi> </msub> <mo>*</mo> </msubsup> <mo>,</mo> </mrow> </math> e A ( ( g A 1 ) a , ( g A 2 ) b ) = e A ( g A 1 , g A 2 ) ab .
(3) For arbitrary
Figure BSA00000426873700028
Figure BSA00000426873700029
Can be efficiently (with N)ALength of (d) is recorded as | NAIs ginsengPolynomial time of number).
Typically, the amount of the liquid to be used,
Figure BSA000004268737000211
and/or
Figure BSA000004268737000212
Is a group (or its corresponding subgroup) of points defined on an algebraic (elliptic) curve, usually with their coordinate values located in a finite field or in an extension (extension) of a preferential field. Such as: based on finite fields (in particular, finite fields)
Figure BSA000004268737000213
Or
Figure BSA000004268737000214
Where q is a prime number, in particular q is 2, K is a positive integer), hyper-odd elliptic curves (hyper-singular curves), MNT curves, etc. More generally, the amount of the solvent to be used,
Figure BSA000004268737000215
and/or
Figure BSA000004268737000216
Is an abelian cluster (abelian variety) based on a finite Field, where elliptic curves are special abelian clusters with dimension 1.
Figure BSA000004268737000217
Usually a finite Field, which is usually a large enough extension of the finite Field. Although for the bilinear pairs known so far,
Figure BSA000004268737000218
and
Figure BSA000004268737000219
or
Figure BSA000004268737000220
Different but not different fromExclude future ability to find
Figure BSA000004268737000221
Andor
Figure BSA000004268737000223
The same bilinear pair. Weil and Tate bilinear pairs and variants thereof (e.g., variants of Tate pairs: Eta and Ate pairs) are currently commonly used bilinear pairs. When in use
Figure BSA000004268737000224
In some cases, it is possible to use,
Figure BSA000004268737000225
there is a homomorphic mapping between. When in useIn some cases, it is possible to use,the expression of the elements in
Figure BSA000004268737000228
The representation of the middle element is shorter, or,
Figure BSA000004268737000229
the expression of the elements in
Figure BSA000004268737000230
The representation of the middle element is shorter. For these special groups, the representation in which the element may belong to
Figure BSA000004268737000231
Or
Figure BSA000004268737000232
(this particular group is advantageous for increasing communication complexity). When we need oneAn assistant
Figure BSA000004268737000233
To
Figure BSA000004268737000234
When the function is hashed, the input can be simply output and the input left after the highest bit or the lowest bit of the input is removed.
Regarding the encoding representation of the elements on the elliptic curve group: generally, for a group G (or its corresponding subgroup) consisting of points defined on an algebraic (elliptic) curve, for an element X ∈ G which is a non-unit element in G, the encoding method of X (prover) commonly used is as follows: x is directly related to its coordinate value (X)X,yX) Is shown in which xXThe value of X-axis coordinate, yXThe y-axis coordinate value of X is shown. To obtain a shorter representation of the element X in G, one can use (X) directlyXAnd b) when compared to xXThe verifier may recover that there may be two different y-axis coordinate values, b e {0, 1} indicating that the y-axis coordinate values above or below the x-axis should be used (e.g., b ═ 1 indicating that the y-axis coordinate values above the x-axis should be used). There is also a more aggressive coding scheme, namely: x for element X in GXTo indicate. For the last approach, since for xXThe verifier may recover two different y-axis coordinate values and thus X ═ X (X)X,yX) Or X ═ XX,-yX). We assume that when the verifier performs a verification operation using X as one of the parameters of the bilinear pair, the code of X includes both X-axis coordinate values and y-axis coordinate values.
We assume the discrete logarithm assumption at
Figure BSA000004268737000235
The above holds, namely: given a
Figure BSA000004268737000236
(wherein x is selected from
Figure BSA000004268737000237
Selected randomly) and none (by | N)AParameterized |) probabilistic polynomial time algorithm can solve X from X with a non-negligible probability. A function f is unidirectional, given f (x), where x is chosen randomly within the domain of the function f, an algorithm without probability polynomial time (with | x | as a parameter) can solve for x with a non-negligible probability. A function is negligible if the output of the function is less than an arbitrary polynomial fraction for all sufficiently long inputs.
The inventors use the "a" symbol (e.g.,
Figure BSA00000426873700031
) To indicate a logical or "distinct" identity (identity) of a user or device, such as a name, a device serial number, an emial or IP address, even a role in the operation of the method, etc. In some cases, these identities may be accompanied or included or contained in a digital certificate. Let … be a collection of information or values.
The hash function is used to convert a string into a numeric value or a fixed-length string, etc. Typically, the input to the hash function, i.e. any one string (or a concatenation of several strings), is first encoded as a {0, 1}*And then a hash function is applied to the converted 0-1 string input to obtain a fixed-length 0-1 string output. Here {0, 1}*The set of all 0-1 strings is represented. One basic function of hash functions in cryptography is to provide a "one-way" conversion, where "one-way" means that it is difficult to find its input or look-ahead given the output of a function, and "collision-resistant" where it is difficult to find a different input given an input so that the output of the hash function is the same on the two different inputs. The hash function can be very extensive: from a simple mixing (mixing) function to a function with pseudo-random output properties. With pseudo-randomHash functions of the machine output nature are often idealized as a "random oracle" in cryptographic analysis. There are several hash functions widely used in cryptography: for example, MD5 converts data of arbitrary length into a 128-bit 0-1 string, while the output of another common hash function SHA is a 160-bit 0-1 string. In the description of the present invention, if the input of the hash function is a set of several parameters, the order of the function input parameters may be arbitrary unless otherwise specified. Generally, all input parameters are encoded according to a certain code system, then the encoded parameters are connected into a character string, and then the character string obtained by connection is used as the input of the actual operation of the function. If the output of the hash function is defined as
Figure BSA00000426873700032
The output length is | NAHash function of | 1, where | NAI denotes NAA binary length of; if the hash function outputs 0 on some inputs, the output of the hash function on these inputs may be predefined as
Figure BSA00000426873700033
One element of (1). In practical applications, all inputs of the hash function are first converted into 0-1 strings, then the converted 0-1 strings are connected into a 0-1 string (the sequence of the connection can be changed), and finally the conversion function is applied to the connected 0-1 string to obtain an output. In some applications, only part of the output of the conversion function is used. In most cases, the order of the inputs to the conversion function is not important (the order may be changed). For example, take the conversion function f as an example, let S ═ x1,…,xtT is more than or equal to 1, and is a set of t character strings
Figure BSA00000426873700034
Is x1,x2,x3,…,xt2 carry 0-1 string code representation, then
Figure BSA00000426873700041
Where "|" represents a character string junction operator. Attention is paid to
Figure BSA00000426873700042
The order of the joins may vary, but the order of joins needs to be fixed and all users interacting with the inventive method know and use the same order to perform the join operations (the order of inputs may be determined by two or more users negotiating the interaction using the inventive method, or specified by a trusted user or institution). For f (x)1,x2,…,xt) If in which x isiI is more than or equal to 1 and less than or equal to t, and is an empty string or an empty set, then f (x)1,x2,…,xt)=f(x1,…,xi-1,xi+1,…,xt)。
In general, in the description of the present invention, if the input of the function is a set of several parameters, the order of inputting the parameters of the function may be arbitrary unless otherwise specified. However, in practical applications of the inventive method, the order of function inputs needs to be fixed and all users interacting with the inventive method know and operate in the same order (the order of inputs may be determined by two or more users negotiating interactions using the inventive method or specified by a trusted user or institution). If the input to the function is an empty set, the output of the function is defined as a constant or 0.
In the conventional public key cryptosystem, a signer is assumed and noted as
Figure BSA00000426873700043
Has a public signature key U, a public signature key U and a signer identity
Figure BSA00000426873700044
Is performed by a trusted third party user or authority. Typically, a trusted third party user or institution will check
Figure BSA00000426873700045
And the validity of U, then
Figure BSA00000426873700046
Make a digital signature and will
Figure BSA00000426873700047
And the signature of the trusted third party forms a target
Figure BSA00000426873700048
Public key certificate, as
Figure BSA00000426873700049
Digital signature correlation work and comparison:
given a
Figure BSA000004268737000410
Wherein
Figure BSA000004268737000411
Are all open, eAIs oneAn efficient bilinear pairwise mapping (note that,the elements in (1) are more indicative than
Figure BSA000004268737000414
Short in (c), and therefore correspondingly short in the signature obtained below). And m is information to be signed. The signer has an identity of
Figure BSA000004268737000415
Let H1Is a domain of {0, 1}*The output belongs to
Figure BSA000004268737000416
A hash function of (1).
The best determined bilinear pair-based digital signature method in the current related work is given by Boneh and Boyen, as follows:
Boneh-Boyen signature method:
signature public key:
Figure BSA000004268737000417
H1
signature private key: x is the number of1Wherein x is1From
Figure BSA000004268737000418
The selection is carried out randomly.
Signature: for a message m, calculate
Figure BSA000004268737000419
Will tauAAs a signature on message m.
Signature verification: verifier gets m and tauAThen, computing verification
Figure BSA000004268737000420
If the equation is true, the signature is accepted, otherwise, the signature is rejected.
The disadvantages of the Boneh-Boyen protocol are: it cannot prove the full signature security, in order to get it, the public key of the Boneh-Boyen scheme needs to add a DH-component and the signature must be random (i.e. the signature itself contains a random string); in addition, the Boneh-Boyen solution does not provide sufficient unforgeable security, such as given
Figure BSA00000426873700051
A malicious adversary can forge it intoWherein H1(m′)=cH1(m) of the reaction mixture. By means of such an attack it is possible to,
Figure BSA00000426873700053
is relative to public key X'1=(X1)cThe signature for m'.
Below, we compare the Boneh-Boyen scheme with the signature scheme we have invented:
the invention discloses a signature method: \ u
Public key: the public key of the signer includes:
Figure BSA00000426873700054
and H1
Private key: x is the number of1Wherein x is1From
Figure BSA00000426873700055
The selection is carried out randomly.
Signature: signer computation
Figure BSA00000426873700056
Wherein
Figure BSA00000426873700057
Is X1Is from the x-axis coordinate value of, or delta
Figure BSA00000426873700059
With a randomly chosen constant c. Tau isAAs a signature on message m.
And (3) verification: to obtain (m, t)A) The signature verifier calculates whether to verify
Figure BSA000004268737000510
If the equation is true, the signature is accepted, otherwise, the signature is rejected. Wherein
Figure BSA000004268737000511
And
Figure BSA000004268737000512
may be calculated in advance and be part of the public signature key.
Compared with the Boneh-Boyen scheme, the signature method has the advantages that: the public signature key may contain only one DH-componentAnd is a deterministic signature. Note that to get full signature security, the public key of the Boneh-Boyen scheme requires 2 DH-components, and the signature is random and except τAA random number (therefore, both public and signature are lengthened); in particular, our forging attack against Bonen-Boyen as described above would not be applicable to the inventive signature method.
Identity-based signature correlation work and comparison:
given a
Figure BSA000004268737000514
Wherein
Figure BSA000004268737000515
Is a non-limiting disclosure of the components of,
Figure BSA000004268737000517
HAis an output belonging to
Figure BSA000004268737000518
The hash function of (1). Let eAIs one
Figure BSA000004268737000519
Efficient bilinear pairwise mapping ofIn
Figure BSA000004268737000520
And
Figure BSA000004268737000521
order to
Figure BSA000004268737000522
Is a hash function.
Trusted user public and private keys: trusted user computing
Figure BSA000004268737000523
Wherein s is selected from
Figure BSA000004268737000524
The selection is carried out randomly. From
Figure BSA000004268737000525
C is randomly selected. Order toAnd c and
Figure BSA000004268737000527
is the public key of the trusted user and s is the private key of the trusted user.
User public and private keys: all using said inventive method and the same trusted user public key PpubHas an identity of
Figure BSA000004268737000528
Is recorded as the public key of the user
Figure BSA000004268737000529
User' s
Figure BSA000004268737000530
Is marked as
Figure BSA000004268737000531
Figure BSA000004268737000532
Having a trusted user computing and transmitting to the user via a secure channel
And m is information to be signed. The signer has an identity of
Figure BSA000004268737000534
Currently, the best identity-based signature scheme is that given by Hess, as follows:
hess signature: the signer makes the following calculations
(1) ComputingWhere r is represented by the signer
Figure BSA000004268737000536
Selecting randomly;
(2) calculating v ═ h (m, R);
(3) computing U = ( g A S ) v ( g A P ) r ;
(4) (U, v) is taken as the signature for message m.
Verification of the Hess signature: after m and (U, v) are obtained, the signature verifier performs the following calculation:
(1) computing R = e A ( U , g A P ) e A ( Q A , P pub - 1 ) v ;
(2) And if v is h (m, R), the signature is accepted, and if not, the signature is rejected.
Note that: the signature computation complexity of the Hess signature is: 1 operation of a bilinear pair is carried out,
Figure BSA00000426873700063
the amount of calculation of (a) is equivalent to 1.5 exponential operations. The verification complexity of the Hess signature is: 2 bilinear pairings (one of which, i.e. one of which
Figure BSA00000426873700064
Can be pre-calculated), 1 exponential operation, 1 inversion operation and 1
Figure BSA00000426873700065
The multiplication of (2).
The Hess signature scheme only proves secure against fixed identity attacks under the random oracle (random oracle) model. Note that the fixed identity attack security section is a weak security, so the Hess scheme has not been able to achieve full security (even under the random oracle model).
Below, we compare the Hess identity-based signature scheme with our inventive identity-based signature scheme:
inventive identity-based signature method-1 (which does not require the public key of a trusted user to include c or
Figure BSA00000426873700066
):
Signature: signer computation
Figure BSA00000426873700067
Figure BSA00000426873700068
Wherein
Figure BSA00000426873700069
Will (X)1,τA) As a signature on message m. Wherein X1May be calculated in advance and be part of the public key of the signer.
And (3) verification: to obtain (m, X)1,τA) The verifier then calculates as follows: calculating whether to verify
Figure BSA000004268737000610
If the equation is true, the signature is accepted, otherwise it is rejected.
The invention relates to an identity-based signature method-1 computational complexity analysis: the signature requires 2 exponential operations to be computed without performing bilinear pairings. Since bilinear pairings correspond approximately to 1.5 or 2 exponential operations. Therefore, the signature computation amount of the identity signature method based on the invention is greatly improved compared with the Hess scheme. Signature verification of the inventive method requires 2 bilinear pairings (one of which can be computed beforehand),
Figure BSA000004268737000611
the calculation of (a) is equivalent to 1.5 exponential operations. Note that if X1As part of the public key of the signer, then
Figure BSA000004268737000612
Or may be calculated in advance. Thus, the online computation of signature verification by our inventive method can be only 1 bilinear pair operation and 1 exponential operation. Therefore, the signature verification of our inventive scheme is computationally more computationally on-line (without the need for inversion and summation) than the Hess scheme
Figure BSA000004268737000613
The multiplication operation of (c).
And (4) safety comparison: with respect to the Hess scheme, which can only be targeted to fixed-identity attacks in advance and under the random oracle model, our inventive identity-based signature scheme-1 does not require a random oracle hypothesis and is resistant to dynamic attacks directed to arbitrary identities. Thus, our inventive identity-based signature scheme provides superior security assurance compared to the Hess scheme.
Inventive identity-based signature method-2:
signature: signer computation
Figure BSA00000426873700071
Figure BSA00000426873700072
Will (X)1,τA) As a signature on message m. Wherein X1May be calculated in advance and be part of the public key of the signer.
And (3) verification: to obtain (m, X)1,τA) The verifier then calculates as follows: calculating whether to verify
Figure BSA00000426873700073
If the equation is true, the signature is accepted, otherwise it is rejected.
The invention relates to an identity-based signature method-2 computational complexity analysis: the signature requires 2 exponential operations to be computed without performing bilinear pairings. Because of the fact thatBilinear pairings correspond approximately to 1.5 or 2 exponential operations. Therefore, the signature computation amount of the identity signature method based on the invention is greatly improved compared with the Hess scheme. The signature verification of the method of the invention requires 2 bilinear pairings (one of which can be calculated in advance) and an exponential operation
Figure BSA00000426873700074
(Note that
Figure BSA00000426873700075
Directly in the public key of the trusted user). Thus, the online computation of signature verification of our inventive method-2 can be only 1 bilinear pair operation and 1 exponential operation. Therefore, the signature verification of our inventive scheme is computationally more computationally on-line (without the need for inversion and summation) than the Hess scheme
Figure BSA00000426873700076
The multiplication operation of (c).
And (4) safety comparison: with respect to the Hess scheme, which can only be targeted to fixed-identity attacks in advance and under the random oracle model, our inventive identity-based signature method-2 does not require a random oracle hypothesis and is resistant to dynamic attacks against arbitrary identities. Thus, our inventive identity-based signature scheme-2 provides superior security assurance compared to the Hess scheme.
Inventive identity-based signature method-3 (which does not require the public key of a trusted user to include c or
Figure BSA00000426873700077
):
Signature: signer computation
Figure BSA00000426873700078
Figure BSA00000426873700079
Figure BSA000004268737000710
Will (X)1,X2,τA) As a signature on message m.
And (3) verification: to obtain (m, (X)1,X2,τA) After) the verifier makes the following calculation: calculating whether to verify
Figure BSA000004268737000711
If the equation is true, the signature is accepted, otherwise it is rejected.
The invention relates to a signature method based on identity-3 computational complexity analysis: the signature requires 3 exponential operations to be computed without performing bilinear pairings. The signature verification of the method of the invention requires 2 bilinear pairings (one of which can be calculated in advance) and an exponential operation
Figure BSA000004268737000712
Thus, the online computation of signature verification of our inventive method-2 can be only 1 bilinear pair operation and 1 exponential operation. Therefore, the signature verification of our inventive scheme is computationally more computationally on-line (without the need for inversion and summation) than the Hess scheme
Figure BSA000004268737000713
The multiplication operation of (c).
And (4) safety comparison: in addition to providing security against dynamic attacks against arbitrary identities without the need for a random oracle, inventive identity-based signature method-3 has another important advantage over the Hess scheme in that: signature private key
Figure BSA000004268737000714
May be calculated only in the offline pre-calculation stage (i.e. calculation) Phase) usage, while the online phase of the signature (i.e., computation)
Figure BSA000004268737000717
The private signature key does not participate in the operation. This may further greatly improve the security of the signature scheme.
Identity-based key exchange related work and comparison:
given a
Figure BSA00000426873700081
Wherein
Figure BSA00000426873700082
Is a non-limiting disclosure of the components of,
Figure BSA00000426873700083
Figure BSA00000426873700084
HAis an output belonging toThe hash function of (1). Let eAIs one
Figure BSA00000426873700086
Efficient bilinear pairwise mapping, wherein
Figure BSA00000426873700087
And
Figure BSA00000426873700088
order to
Figure BSA00000426873700089
Is a hash function.
Trusted user public and private keys: trusted user computingWherein s is selected from
Figure BSA000004268737000811
The selection is carried out randomly. From
Figure BSA000004268737000812
C is randomly selected. Order to
Figure BSA000004268737000813
And c and
Figure BSA000004268737000814
is the public key of the trusted user and s is the private key of the trusted user. (for some inventive method implementations, it is not necessary that the trusted user's public key include c and
Figure BSA000004268737000815
)
user public and private keys: all using said inventive method and the same trusted user public key PpubHas an identity of
Figure BSA000004268737000816
Is recorded as the public key of the userUser' s
Figure BSA000004268737000818
Is marked as
Figure BSA000004268737000819
User' s
Figure BSA000004268737000820
Is marked as
Figure BSA000004268737000821
User' sIs marked as
Figure BSA000004268737000823
User' sIs marked as
Figure BSA000004268737000825
User' sIs marked as
Figure BSA000004268737000827
Figure BSA000004268737000828
Figure BSA000004268737000829
And
Figure BSA000004268737000830
calculated by a trusted user and sent to the user via a secure channel
Figure BSA000004268737000831
And
Figure BSA000004268737000832
and
Figure BSA000004268737000833
at present, the best identity-based key exchange scheme is that given by Smart, as follows
(1)ComputingWherein x is by the user
Figure BSA000004268737000836
In that
Figure BSA000004268737000837
The selection is carried out randomly. User' s
Figure BSA000004268737000838
Sending X to user
(2)
Figure BSA000004268737000840
Computing
Figure BSA000004268737000841
Wherein y is by the user
Figure BSA000004268737000842
In that
Figure BSA000004268737000843
The selection is carried out randomly. User' s
Figure BSA000004268737000844
Sending Y to user
Figure BSA000004268737000845
(3) After Y is obtained, the user
Figure BSA000004268737000846
ComputingAfter X is obtained, the userComputing
Figure BSA000004268737000849
Attention is paid to
Figure BSA000004268737000850
(4) Session key derivation: user' s
Figure BSA000004268737000851
Calculating session key K KDF (K)A) Where KDF is a deterministic key derivation function; user' s
Figure BSA000004268737000852
Calculating session key K KDF (K)B)。
Computational complexity analysis of Smart protocol: each user
Figure BSA000004268737000853
Or
Figure BSA000004268737000854
2 bilinear pairings and 2 exponents need to be computed. The online computation efficiency per user (except for values that can be computed in advance) is 1 bilinear pair operation.
Security analysis of Smart protocol: the Smart protocol cannot provide sufficient security. In particular, the known Smart protocol does not provide perfect forward security (perfect forward security). In addition, Smart protocols do not provide explicit key validation and authentication.
Another disadvantage of the Smart protocol is that it cannot be applied to three-party user key exchange.
Inventive identity-based key exchange method-1:
let uA,υB,υCEither null (i.e., a null string), or υA,υB,υCAre three numerical values different from each other. Such as: upsilon isA,υB,υCAll being empty, or upsilonA=0,υB=1,υC=2。
(1) User' s
Figure BSA00000426873700091
Compute and send
Figure BSA00000426873700092
Figure BSA00000426873700093
(2) User' s
Figure BSA00000426873700094
Compute and send
Figure BSA00000426873700095
(3) User' s
Figure BSA00000426873700097
Compute and send
Figure BSA00000426873700098
Figure BSA00000426873700099
If the inventive method is used only for two users, e.g. for
Figure BSA000004268737000910
And
Figure BSA000004268737000911
(then no user is needed)
Figure BSA000004268737000912
Participate), a key exchange is performed. User' s
Figure BSA000004268737000913
To obtain
Figure BSA000004268737000914
Figure BSA000004268737000915
Authentication
Figure BSA000004268737000916
User' s
Figure BSA000004268737000917
To obtain
Figure BSA000004268737000918
AuthenticationAnd if the verification fails, stopping the operation.
Session key derivation and authentication: user' s
Figure BSA000004268737000921
Computing
Figure BSA000004268737000922
User' s
Figure BSA000004268737000923
ComputingUser' s
Figure BSA000004268737000925
Setting the session key to K KDF (K)A,SAB) (ii) a User' s
Figure BSA000004268737000926
Setting the session key to K KDF (K)B,SAB) Wherein
Figure BSA000004268737000927
If the inventive method is implemented in three users,
Figure BSA000004268737000928
andand
Figure BSA000004268737000930
to exchange keys therebetween. User' s
Figure BSA000004268737000931
To obtain
Figure BSA000004268737000932
Figure BSA000004268737000933
And
Figure BSA000004268737000934
post verification
Figure BSA000004268737000936
Andif the verification is passed, the userComputing
Figure BSA000004268737000939
User' s
Figure BSA000004268737000940
To obtain
Figure BSA000004268737000941
Figure BSA000004268737000942
And
Figure BSA000004268737000943
Figure BSA000004268737000944
post verification
Figure BSA000004268737000945
Andif the verification is passed, the user
Figure BSA000004268737000947
Computing K B = e A ( X 1 , Z 1 ) y 1 ( = e A ( g A P , g A P ) x 1 y 1 z 1 ) .
The user obtains
Figure BSA000004268737000950
Figure BSA000004268737000951
And
Figure BSA000004268737000952
Figure BSA000004268737000953
then, verify
Figure BSA000004268737000954
And
Figure BSA000004268737000955
if the verification is passed, the user
Figure BSA000004268737000956
Computing K C = e A ( X 1 , Y 1 ) z 1 ( = e A ( g A P , g A P ) x 1 y 1 z 1 ) .
Three-party user session key derivation: order to
Figure BSA000004268737000958
User' s
Figure BSA000004268737000959
Setting the session key to K KDF (K)A,SABC) User ofSetting the session key to K KDF (K)B,SABC) User C sets the session key to K KDF (K)C,SABC)。
Comparison of the inventive identity-based key exchange method-1 with the Smart protocol:
for the case of two-party user key exchange, the inventive identity-based key exchange method-1 provides strong, non-forgeable security. In particular, a perfect forward security attack against the Smart protocol is not applicable to the inventive identity-based key exchange method-1. The inventive identity-based key exchange method-1 has perfect forward security. In addition, the inventive identity-based key exchange method-1 provides an explicit identity authentication function. In particular, the inventive identity-based key exchange method-1 can be applied to three-party user key exchange, whereas the Smart protocol cannot be used for key exchange between three users.
Inventive identity-based key exchange method-1:
let uA,υB,υCEither null (i.e., a null string), or υA,υB,υCAre three numerical values different from each other. Such as: upsilon isA,υB,υCAll being empty, or upsilonA=0,υB=1,υC=2。
(1) User' s
Figure BSA00000426873700101
Compute and send
Figure BSA00000426873700102
Figure BSA00000426873700103
Figure BSA00000426873700104
For certificateless key exchange, X may be1As a user
Figure BSA00000426873700105
Is part of the public key of (1).
(2) User' s
Figure BSA00000426873700106
Compute and send
Figure BSA00000426873700108
For certificateless key exchange, Y may be1As a user
Figure BSA000004268737001010
Is part of the public key of (1).
(3) User' s
Figure BSA000004268737001011
Compute and send
Figure BSA000004268737001012
Figure BSA000004268737001013
Figure BSA000004268737001014
For certificateless key exchange, Z may be1As a user
Figure BSA000004268737001015
Is part of the public key of (1).
If the inventive method is used only for two users, e.g. for
Figure BSA000004268737001016
And
Figure BSA000004268737001017
(then no user is needed)
Figure BSA000004268737001018
Participate), a key exchange is performed. User' s
Figure BSA000004268737001019
To obtain
Figure BSA000004268737001020
Figure BSA000004268737001021
Figure BSA000004268737001022
Authentication
Figure BSA000004268737001023
User' s
Figure BSA000004268737001024
To obtain Y 1 = ( g A P ) y 1 , Y 2 = ( g A P ) y 2 ,
Figure BSA000004268737001027
Authentication
Figure BSA000004268737001028
Session key derivation and authentication: user' s
Figure BSA000004268737001029
Computing
Figure BSA000004268737001030
Figure BSA000004268737001031
User' sComputing
Figure BSA000004268737001034
(for certificateless implementations, user
Figure BSA000004268737001035
Computing
Figure BSA000004268737001036
User' s
Figure BSA000004268737001037
Computing
Figure BSA000004268737001038
) For identity-based implementations, the user
Figure BSA000004268737001039
And
Figure BSA000004268737001040
one interaction can generate 2 session keys, one from
Figure BSA000004268737001041
And
Figure BSA000004268737001042
lead out, a from
Figure BSA000004268737001043
And
Figure BSA000004268737001044
and (6) exporting.
If the inventive method is implemented in three users,
Figure BSA000004268737001045
and
Figure BSA000004268737001046
and
Figure BSA000004268737001047
to exchange keys therebetween. User' s
Figure BSA000004268737001048
To obtain
Figure BSA000004268737001049
Figure BSA000004268737001050
Figure BSA000004268737001051
And
Figure BSA000004268737001052
Figure BSA000004268737001054
then, verifyAnd
Figure BSA000004268737001056
if the verification is passed, the user
Figure BSA000004268737001057
Computing
Figure BSA000004268737001058
And K A 2 = e A ( Y 2 , Z 2 ) x 2 ( = e A ( g A P , g A P ) x 2 y 2 z 2 ) .
user' s
Figure BSA000004268737001060
To obtain
Figure BSA000004268737001062
Figure BSA000004268737001063
And
Figure BSA000004268737001064
post verificationAnd
Figure BSA000004268737001068
if the verification is passed, the user
Figure BSA000004268737001069
Computing
Figure BSA000004268737001070
And K B 2 = e A ( X 2 , Z 2 ) y 2 ( = e A ( g A P , g A P ) x 2 y 2 z 2 ) .
user' s
Figure BSA00000426873700111
To obtain
Figure BSA00000426873700112
Figure BSA00000426873700113
Figure BSA00000426873700114
And
Figure BSA00000426873700115
Figure BSA00000426873700116
Figure BSA00000426873700117
then, verify
Figure BSA00000426873700118
And
Figure BSA00000426873700119
(if the authentication is passed, the user
Figure BSA000004268737001110
Computing
Figure BSA000004268737001111
And K C 2 = e A ( X 2 , Z 2 ) z 2 ( = e A ( g A P , g A P ) x 1 y 1 z 1 ) .
three-party user session key derivation: order to
Figure BSA000004268737001113
User' s
Figure BSA000004268737001114
Deriving two session keys as
Figure BSA000004268737001115
And
Figure BSA000004268737001116
user' s
Figure BSA000004268737001117
Deriving two session keys
Figure BSA000004268737001118
Anduser' sDeriving two session keys K 1 = KDF ( K C 1 , S ABC ) And K 2 = KDF ( K C 2 , S ABC ) .
the inventive identity-based key exchange method-2 compares the computational complexity with the Smart protocol: in order to generate 2 session keys, each user in the inventive identity-based key exchange method-2 needs to calculate 6 exponential operations and 2 bilinear pairings, while the online calculation amount of each user is 3 exponential operations and 1 bilinear pairings. For the inventive identity-based key exchange method-2, each user calculates on average 3 exponential operations and 1 bilinear pairings operation each time a session key is generated, which is superior to the computational complexity of the Smart protocol. For the identity-based key exchange method-2 of the invention, the average online calculation amount of each user is 1.5 exponential operations and 0.5 bilinear pairings operations every time one session key is generated.
The identity-based key exchange method-2 for the invention is applicable to key exchange between three-party users, but the Smart protocol cannot.
The inventive identity-based key exchange method-2 compares with the security of Smart protocol: the inventive identity-based key exchange method-2 provides robust, non-forgeable security. In particular, a perfect forward security attack against the Smart protocol is not applicable to the inventive identity-based key exchange method-2. The inventive identity-based key exchange method-2 has perfect forward security. In addition, the inventive identity-based key exchange method-2 provides an explicit authentication function, whereas the Smart protocol cannot provide an explicit authentication function.
Disclosure of Invention
The invention provides a method for non-forgeable knowledge proof and message signature authentication based on bilinear pairings. The inventive method is based on the fact that no interaction is required. The purpose of the inventive method is concurrent non-forgeable security and knowledge extraction. Specifically, only knowledge of the corresponding secret can give a legitimate proof of knowledge or message signature authentication. By taking the identity of the user and/or the DH component fixed after the user as a public key, the method disclosed by the invention contains a high-efficiency numerical signature method and a signature method based on the identity; each party (running the inventive method) proves their own secret DH-knowledge by running the inventive method and the inventive method derives an authenticated key exchange method and an authenticated identity-based key exchange method.
1. A method of non-forgeable knowledge proof and message signature authentication, the method comprising:
identity isIs obtained by the user
Figure BSA00000426873700122
n is more than or equal to 1, wherein
Figure BSA00000426873700123
Is one with NAFinite Abelian group of ordersAre each generated from
Figure BSA00000426873700125
I is more than or equal to 1 and less than or equal to n, a one-way exponential function is formed, and the output isIf the code used is only X-axis coordinate values of the element, then the y-axis coordinate values corresponding to the X-axis are calculated by the verifieriIncluding both the x-axis coordinate value and the y-axis coordinate value), each of which is based on a relative coordinate of the two axes
Figure BSA00000426873700127
I is more than or equal to 1 and less than or equal to n, constituting a certain at least one parameter
Figure BSA00000426873700128
A function of (a); each one of which is
Figure BSA00000426873700129
I is more than or equal to 1 and less than or equal to n, constituting a certain at least one parameter xiA function of wherein
Figure BSA000004268737001210
Identity is
Figure BSA000004268737001211
Get mAWherein m isAIs a collection of public information, wherein
Figure BSA000004268737001212
Is a user
Figure BSA000004268737001213
The authenticated message is to be signed (when the inventive method is used for signing,including signed information; when the inventive method is used for a key exchange,including the user
Figure BSA000004268737001216
And may also include using the inventive methods and
Figure BSA000004268737001217
identity information of other parties or multiple parties interacting with each other, and other information sent by two or more parties interacting using the method, such as random strings and the like; when the inventive method is used for encryption,
Figure BSA000004268737001218
including a portion of the ciphertext to provide authentication); user' s
Figure BSA000004268737001219
To obtain
Figure BSA000004268737001220
And the user
Figure BSA000004268737001221
To obtain mAThe sequence of (A) can be arbitrary; x as described above1,...,XnCalled user
Figure BSA000004268737001222
DH component of (1), x1,...,xnCalled userThe secret DH index of (a); x1,…,Xn,mASome are fixed values used in multiple sessions, others are temporary values used in only one session; a DH component or DH index used in a plurality of sessions is referred to as a fixed DH component, and a DH component or DH index used in only one session is referred to as a provisional DH component; the (subset of) fixed DH components may serve as the public key of the user, and correspondingly the (subset of) fixed ephemeral DH indices may serve as the private key of the user.
User' s
Figure BSA000004268737001224
Computing
Figure BSA000004268737001225
Wherein
Figure BSA000004268737001226
Form a one-way exponential function with an output of
Figure BSA000004268737001227
One of the encoding modes of an element (i.e.,
Figure BSA000004268737001228
of an element or
Figure BSA000004268737001229
If the encoding mode does not include complete information of y-axis coordinate value, the coordinate value of one element is calculated in the checking processAIs verified by tauAX-axis coordinate value of (1) other than 0 to recover tauAY-axis coordinate values of);
Figure BSA000004268737001230
is one with NAFinite Abelian group of ordersThe generation element of (a) is generated,forming a certain at least one parameter
Figure BSA000004268737001233
And its output is
Figure BSA000004268737001234
One of the elements of (a) or (b),each of 0 ≦ i ≦ n constitutes a certain value
Figure BSA000004268737001236
As a function of the input parameters. (in the usual caseI is not less than 0 and not more than n and the output is
Figure BSA000004268737001238
One element of (1). However, the inventive method can be applied to functions whose general output is an integer or real number
Figure BSA000004268737001239
0 ≦ i ≦ n, e.g., if
Figure BSA000004268737001240
Figure BSA000004268737001241
Can be directly equal toThe output for generality does not necessarily belong to
Figure BSA000004268737001243
Is/are as follows0 ≦ i ≦ n, and in general,
Figure BSA00000426873700131
is that
Figure BSA00000426873700132
An element of, even
Figure BSA00000426873700133
1. ltoreq. i.ltoreq.n are each
Figure BSA00000426873700134
One element of (1). ) Lambda [ alpha ]AForm a definite oneAs a function of the input parameters, τAIs that
Figure BSA00000426873700136
Of an element or
Figure BSA00000426873700137
A coordinate value of one element;
Figure BSA00000426873700138
is marked as
Figure BSA00000426873700139
Is disclosed. Note the bookIn the group of
Figure BSA000004268737001311
Figure BSA000004268737001312
Middle removing
Figure BSA000004268737001313
Another one out of them is noted as
Figure BSA000004268737001314
Note the book
Figure BSA000004268737001315
In the group of
Figure BSA000004268737001316
Either public or user
Figure BSA000004268737001318
All haveThe secret value of (a); if it is
Figure BSA000004268737001319
Is a userA secret value of
Figure BSA000004268737001321
And is
Figure BSA000004268737001322
Is a public parameter (e.g., in an identity-based cryptosystem, PpubIs a public key of a trusted user that generates a private key for the user), where
Figure BSA000004268737001323
Is a secret value that is a function of,e is a certain input parameter including
Figure BSA000004268737001325
As a function of (a) or (b),
Figure BSA000004268737001326
form a one-way exponential function and have an output of
Figure BSA000004268737001327
One of the elements of (a) or (b),
Figure BSA000004268737001328
forming a certain at least one parameter
Figure BSA000004268737001329
Function of fpub(s) forming a defined function of at least one parameter s; if it is
Figure BSA000004268737001330
Definition of
Figure BSA000004268737001331
WhereinIs that
Figure BSA000004268737001333
Or will beIs arranged as
Figure BSA000004268737001335
Where r is the user
Figure BSA000004268737001336
A random number is selected such that <math> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> <mo>+</mo> <msubsup> <mi>f</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>+</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>+</mo> <msubsup> <mi>f</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> <mo>&NotEqual;</mo> <mn>0</mn> <mo>.</mo> </mrow> </math>
<math> <mrow> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>=</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mfrac> <mrow> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> <mo>+</mo> <msubsup> <mi>f</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>+</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <msubsup> <mi>f</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </mfrac> </msup> <mo>&NotEqual;</mo> <msub> <mn>1</mn> <msubsup> <mi>G</mi> <mi>A</mi> <mn>2</mn> </msubsup> </msub> </mrow> </math> One of the following publicly verifiable equations is satisfied:
(1) if it is
Figure BSA000004268737001339
Are all public values and eAIs oneEfficient bilinear pairings mapping: <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> or <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>.</mo> </mrow> </math> This case corresponds to τAThe verifier may recover tau, as represented by the x-axis coordinate valuesATwo different y-axis coordinate values.
(2) Or, if
Figure BSA000004268737001343
Are all public values and eAIs oneEfficient bilinear pairings mapping: <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>,</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>t</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> or <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>,</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>t</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>;</mo> </mrow> </math> This case corresponds to τAThe verifier may recover tau, as represented by the x-axis coordinate valuesATwo different y-axis coordinate values.
(3) Or, if
Figure BSA000004268737001347
Is a secret value and eAIs one
Figure BSA000004268737001348
Efficient bilinear pairings mapping:or
Figure BSA000004268737001350
This case corresponds to τAThe verifier may recover tau, as represented by the x-axis coordinate valuesATwo different y-axis coordinate values.
(4) Or, if
Figure BSA000004268737001351
Is a secret value and eAIs one
Figure BSA000004268737001352
Efficient bilinear pairings mapping:
Figure BSA00000426873700141
orThis case corresponds to τAThe verifier may recover tau, as represented by the x-axis coordinate valuesATwo different y-axis coordinate values.
(5) Or, if
Figure BSA00000426873700143
Is a secret value and eAIs one
Figure BSA00000426873700144
Efficient bilinear pairings mapping:
Figure BSA00000426873700145
or
Figure BSA00000426873700146
This case corresponds to τAThe verifier may recover tau, as represented by the x-axis coordinate valuesATwo different y-axis coordinate values.
(6) Or,is a secret value and eAIs one
Figure BSA00000426873700148
Efficient bilinear pairings mapping:
Figure BSA00000426873700149
orThis case corresponds to τAThe verifier may recover tau, as represented by the x-axis coordinate valuesATwo different y-axis coordinate values.
Wherein e isAIs one
Figure BSA000004268737001411
Or
Figure BSA000004268737001412
An efficient bi-linear pair mapping is achieved,
Figure BSA000004268737001413
is NAIs a finite Abelian group of orders and
Figure BSA000004268737001414
or
Figure BSA000004268737001415
Is that
Figure BSA000004268737001416
The production unit of (1) is provided with a production unit,
Figure BSA000004268737001417
forming a certain at least one parameter
Figure BSA000004268737001418
And its output isOne of the elements of (a) or (b),
Figure BSA000004268737001420
is that a determined input parameter comprises
Figure BSA000004268737001421
Has an output ofOne of the elements of (a) or (b),is that a determined input parameter comprises
Figure BSA000004268737001424
Has an output ofOne element of (1);
Figure BSA000004268737001426
is that a certain input parameter comprises PpubFunction having an output of
Figure BSA000004268737001427
One of the elements of (a) or (b),is that a determined input parameter comprises
Figure BSA000004268737001429
Is output as
Figure BSA000004268737001430
One element of (1);
Figure BSA000004268737001431
i is more than or equal to 0 and less than or equal to n meets the following requirements:
1) is provided with
Figure BSA000004268737001432
Is a function of
Figure BSA000004268737001433
I is greater than or equal to 0 and less than or equal to n, then
Figure BSA000004268737001434
Or
Figure BSA000004268737001435
Comprises
Figure BSA000004268737001436
And all the temporary DH components (or the x-axis coordinate values of all the temporary DH components), or
Figure BSA000004268737001437
Comprises
Figure BSA000004268737001438
And one set of coordinate axes of all DH components (in particular, x-axis coordinate values of all DH components).
2) Given a
Figure BSA000004268737001439
Algorithms without probability polynomial time can be based on the parameter | NAProbability of non-negligible | findingOr { X'1,…,X′nThe temporary DH component contained in (b) with { X }1,…,XnContains a different temporary DH-component, wherein
Figure BSA000004268737001441
|NAI denotes NAThe binary length of (c) satisfies:
a) function(s)
Figure BSA000004268737001442
I is 0 or more and n is defined inOutput of (2) is noted
Figure BSA000004268737001444
I is more than or equal to 0 and less than or equal to n, wherein
Figure BSA00000426873700151
And function
Figure BSA00000426873700152
I is 0 or more and n is defined in
Figure BSA00000426873700153
At the output of
Figure BSA00000426873700154
I is more than or equal to 0 and is more than or equal to n.
b) And/or, is defined in
Figure BSA00000426873700155
Value of
Figure BSA00000426873700156
And is defined in
Figure BSA00000426873700157
Value of
Figure BSA00000426873700158
The same is true.
c) And/or, is defined inValue of <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msubsup> <mi>X</mi> <mn>1</mn> <mrow> <mo>&prime;</mo> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>X</mi> <mi>n</mi> <mrow> <mo>&prime;</mo> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msubsup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>)</mo> </mrow> </mrow> </math> Or <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msubsup> <mi>X</mi> <mn>1</mn> <mo>&prime;</mo> </msubsup> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msubsup> <mi>X</mi> <mi>n</mi> <mo>&prime;</mo> </msubsup> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> </mrow> </math> Or <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>,</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msubsup> <mi>X</mi> <mn>1</mn> <mrow> <mo>&prime;</mo> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>X</mi> <mi>n</mi> <mrow> <mo>&prime;</mo> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msubsup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> Or <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>,</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msubsup> <mi>X</mi> <mn>1</mn> <mrow> <mo>&prime;</mo> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>X</mi> <mi>n</mi> <mrow> <mo>&prime;</mo> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msubsup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> </mrow> </math> Is equal to e A ( t A ( g A 1 ) , B A n + 1 ( g A 2 ) ) Or e A ( B A n + 1 ( g A 2 ) , t A ( g A 1 ) ) Or
Figure BSA000004268737001516
OrWherein
3) Assumption functionI is more than or equal to 1 and less than or equal to n and the output is
Figure BSA000004268737001520
A random uniformly distributed element of (a) for any value
Figure BSA000004268737001521
Algorithm selection regardless of any polynomial time
Figure BSA000004268737001522
Satisfies the following conditions:
a) if n is 1, then
Figure BSA000004268737001523
Where ε (| N)A| is one with | N)AAnd | is a negligible function of the parameter. Epsilon (| N)AI) is negligible if for all sufficiently large NAAnd an arbitrary polynomial p (·),
Figure BSA000004268737001524
b) if n is more than or equal to 2, at most one k element {1, …, n } exists, so that for all i, 1 is more than or equal to i is not equal to k is more than or equal to n,
Figure BSA000004268737001525
alternatively, for all temporary DH components Xi,1≤i≤n,
Figure BSA000004268737001526
To obtain
Figure BSA000004268737001527
Then, identity isVerifier verification of
Figure BSA000004268737001529
I is not less than 1 and not more than t, wherein
Figure BSA000004268737001530
City of presentation
Figure BSA000004268737001531
In which unit cell is removed
Figure BSA000004268737001532
The set of elements remaining thereafter (in application,
Figure BSA000004268737001533
can be prepared by the following methodAnd (4) checking: (1)
Figure BSA000004268737001534
(2)
Figure BSA000004268737001535
wherein G is a group of order N and
Figure BSA000004268737001536
is a subgroup of G). Tau isAAnd will be τAAs a verifier
Figure BSA000004268737001537
ReceivingThe requirements of (a).
{x1,…,xnIs as
Figure BSA000004268737001539
Selected private value, { x1,…,xnEither { x } or { x }1,…,xn,gSIs as
Figure BSA000004268737001540
Secret knowledge to be certified; by running the inventive method, the user
Figure BSA000004268737001541
Proving its true knowledge of secret knowledge in a non-forgeable secure manner x1,…,xnEither { x } or { x }1,…,xn,gSAnd are right to
Figure BSA000004268737001542
Signature authentication is performed.
In the above-mentioned inventive process, wherein,disclosed is
Figure BSA000004268737001544
Function(s)
Figure BSA000004268737001545
And E, Bpub,fs
Figure BSA000004268737001546
fA,λAφA,tAAre fixed and the same for a group of users or are negotiated by two or more users connected through a network or device.
2. The method as described in 1 above, if
Figure BSA00000426873700161
Is a user
Figure BSA00000426873700162
The secret value of (2), then:
Figure BSA00000426873700163
wherein
Figure BSA00000426873700164
Is that a determined input parameter comprises
Figure BSA00000426873700165
Is output as
Figure BSA00000426873700166
One of the elements (in general,
Figure BSA00000426873700167
),fs(s) is a function of a determined input parameter including s;
Figure BSA00000426873700168
is part of the public key of a trusted user CA; part or all of the public key of CA is contained in mAPerforming the following steps; using the method and public key for each with an identity ID
Figure BSA00000426873700169
User of (1), CA calculation
Figure BSA000004268737001610
And will be
Figure BSA000004268737001611
The user ID is sent over a secure channel.
3. The method as described in the above 2, wherein <math> <mrow> <mo>{</mo> <msub> <mi>X</mi> <mn>1</mn> </msub> <mo>=</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>1</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>f</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mi>X</mi> <mi>n</mi> </msub> <mo>=</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mi>n</mi> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>f</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>m</mi> <mi>A</mi> </msub> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>}</mo> </mrow> </math> Then, the verifier calculates <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> Or <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> Or <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>,</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>t</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> Or <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>,</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>t</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>;</mo> </mrow> </math> Or
Figure BSA000004268737001617
Or
Figure BSA000004268737001618
Or
Figure BSA000004268737001619
Or
Figure BSA000004268737001620
Or
Figure BSA000004268737001621
OrOr
Figure BSA000004268737001623
Or
Figure BSA000004268737001624
To verify tauA(iii) correctness (note that all of the above verifications require public information); for all DH-components or temporary DH-components XiI is more than or equal to 1 and less than or equal to n, and verified and/or not verified by a verifier
Figure BSA000004268737001625
And/orAnd/or XiAre not 0, and will be verified if such verification is performed
Figure BSA000004268737001627
And/or
Figure BSA000004268737001628
And/or XiThe X-axis coordinate value of (a) is not 0 as an acceptance { X [ ]1,…,Xn,mA,τAThe requirement of (b) }, whereinIs shown as
Figure BSA000004268737001630
The number of the unit cells of (a),
Figure BSA000004268737001631
is shown as
Figure BSA000004268737001632
A set of elements other than a unit cell. To verify or not verify
Figure BSA000004268737001633
Or
Figure BSA000004268737001634
Wherein
Figure BSA000004268737001635
Is shown as
Figure BSA000004268737001636
A unit cell of (a). Verification of tauAAnd
Figure BSA000004268737001637
and/or
Figure BSA000004268737001638
And/or XiThe x-axis coordinate value of (1) is not 0 and verification
Figure BSA000004268737001639
Or
Figure BSA000004268737001640
The order of (d) can be arbitrary (in general, due to the verification of τ)ANeeds to perform bilinear pair operation, so verifying tauAIs usually placed last).
4. In the method as described in the above 3, wherein
Figure BSA000004268737001641
A subset of (if not an identity-based cryptosystem, may be a null set), and a subset of fixed DH-components and mAAs a subset of the user (e.g., certain security parameters, functions, pre-computable values, etc.)
Figure BSA00000426873700171
A portion of the public key of (a); m isAAs part of the trusted user CA public key; if it is
Figure BSA00000426873700172
And is
Figure BSA00000426873700173
Only the information that is disclosed is included,
Figure BSA00000426873700174
as a subset of (may be empty) users
Figure BSA00000426873700175
Or part of the public key of the trusted user CA.
Figure BSA00000426873700176
Figure BSA00000426873700177
As a subset of (may be empty) users
Figure BSA00000426873700178
Or part of the public key of the trusted user CA.
5. The method as described in 3 above, wherein mAInvolving users
Figure BSA00000426873700179
Information exchanged with other users, and/or,
Figure BSA000004268737001710
and/or disclosed
Figure BSA000004268737001711
And/or comprises PpubPart or all of the public key of the trusted user CA;
Figure BSA000004268737001712
involving users
Figure BSA000004268737001713
And/or
Figure BSA000004268737001714
And/or
Figure BSA000004268737001715
(in an identity-based cryptosystem, the identity of the user and
Figure BSA000004268737001716
or
Figure BSA000004268737001717
Interchangeable) and/or public key information and/or timestamp information, and/or contain PpubOf the public key of the trusted user CA, and/or
Figure BSA000004268737001718
Information exchanged with other users using said method via a network or a device
Figure BSA000004268737001719
And/or
Figure BSA000004268737001720
Containing a value vAWherein upsilon isAEither a null value or a value associated with a role (e.g., protocol initiator, protocol responder) (i.e., different protocol roles for different upsilons)AValue). For example, for multiple users
Figure BSA000004268737001721
(wherein
Figure BSA000004268737001722
One subset may be the same user, or even the same user
Figure BSA000004268737001723
Correspond to the same oneUser-selectable), let υA=0,υB=1,υCIs labeled 2Different roles of (a).
6. The method as described in the above 5, wherein
Figure BSA000004268737001725
Comprises that
Figure BSA000004268737001726
And other random numbers, and/or coordinate values of a subset of (temporary) DH-components, and/or identity and/or public key information and/or timestamp information, which are mutually exchanged by users using the method via a network or a device.
7. The method as described in 3, 4, 5, 6 above, wherein the function
Figure BSA000004268737001727
I is more than or equal to 0 and less than or equal to n, and the method is realized as follows:
1)
Figure BSA000004268737001728
constituting an output (the input comprising a subset of the public information of the fixed DH-component and/or the user identity) belonging to
Figure BSA000004268737001729
Or ifIs a point on an elliptic curve
Figure BSA000004268737001731
Wherein
Figure BSA000004268737001732
Is that
Figure BSA000004268737001733
X-axis coordinate value of (1), or if
Figure BSA000004268737001734
Order to
Figure BSA000004268737001735
Or if
Figure BSA000004268737001736
Order to
Figure BSA000004268737001737
Is equal to
Figure BSA000004268737001738
One length of (1) is | NASub-string of | e (e.g. removing the most significant or least significant value, which corresponds to a particular output belonging to
Figure BSA000004268737001739
Hash function of) or
Figure BSA000004268737001740
Or
Figure BSA000004268737001741
Wherein
Figure BSA000004268737001742
(in general c)1Is that
Figure BSA000004268737001743
Randomly selecting a constant and using the constant as a user
Figure BSA000004268737001744
Part of, or with, the public key
Figure BSA000004268737001745
The interactive user generates and sends to
Figure BSA000004268737001746
Or with
Figure BSA000004268737001747
A coordinate value of a DH component of the interactive user contribution), or
Figure BSA000004268737001748
Containing only usersA subset of the DH components is fixed (e.g.,
Figure BSA000004268737001750
or
Figure BSA000004268737001751
Wherein
Figure BSA000004268737001752
Is X1Of (2), in particular, X1X-axis coordinate value of (2), or X1Exclusive or of coordinate values, etc.); or if
Figure BSA000004268737001753
Wherein
Figure BSA00000426873700181
Order toWherein
Figure BSA00000426873700183
Is that a determined input parameter comprises
Figure BSA00000426873700184
The output belongs to
Figure BSA00000426873700185
Or if
Figure BSA00000426873700186
Order to
Figure BSA00000426873700187
Figure BSA00000426873700188
Is that a determined input parameter comprises
Figure BSA00000426873700189
The output belongs toA function of or
Figure BSA000004268737001811
Or
Figure BSA000004268737001812
Wherein∩mA(c1Can be used as a user
Figure BSA000004268737001814
Part of a public key) or
Figure BSA000004268737001815
Is a function of the fixed DH composition (coordinate values) (e.g.,
Figure BSA000004268737001816
output a coordinate value of a certain fixed DH component, in particular, a coordinate value of the x-axis); if it is
Figure BSA000004268737001817
Then
Figure BSA000004268737001818
1 ≦ j ≦ n constitutes an output
Figure BSA000004268737001819
A function of, or
Figure BSA000004268737001820
Or if
Figure BSA000004268737001821
Wherein
Figure BSA000004268737001822
Is composed of
Figure BSA000004268737001823
Coordinate values of
Figure BSA000004268737001824
Or
Figure BSA000004268737001825
Or
Figure BSA000004268737001826
Or
Figure BSA000004268737001827
Or ifThen
Figure BSA000004268737001829
If for some j, 1 ≦ j ≦ n,
Figure BSA000004268737001830
orIs not a group
Figure BSA000004268737001832
One element (or no group) of
Figure BSA000004268737001833
One of the coordinate values of one of the elements), then
Figure BSA000004268737001834
Form an output belonging to
Figure BSA000004268737001835
Such as a hash function, or a function on (coordinate values of) a subset of the DH components, and other outputs belong toA function of). In particular, it is possible to use, for example,wherein
Figure BSA000004268737001838
Is a hash function; or
Figure BSA000004268737001839
Or
Figure BSA000004268737001840
Or
Figure BSA000004268737001841
Wherein
Figure BSA000004268737001842
Is XiX-axis coordinate value of (c)2Is (user)
Figure BSA000004268737001843
Or a trusted user or
Figure BSA000004268737001844
Interactive user) fromOf a value (can let c be a value) selected at random2As usersOr part of the public key of a trusted user, or, alternatively, with
Figure BSA000004268737001847
The interactive user or the trusted user is generated and sent toOf (d); or,
Figure BSA000004268737001849
wherein
Figure BSA000004268737001850
Is XiX-axis coordinate values of;
2)
Figure BSA000004268737001851
i is not less than 0 and not more than n, from F (S)F) Deriving, where F is a certain input parameter including
Figure BSA000004268737001852
Or the input parameters of F at least comprise
Figure BSA000004268737001853
And a transient DH component.
8. The method as described in the above 7, wherein <math> <mrow> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>.</mo> <mo>.</mo> <mo>.</mo> <msubsup> <mi>X</mi> <mi>n</mi> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msubsup> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> </msup> <mo>,</mo> </mrow> </math> WhereinIs shown as
Figure BSA000004268737001856
In that
Figure BSA000004268737001857
The inverse of (1).
9. The method as described in claim 8, wherein the function φA,HAIs a function of the same function as the function,
Figure BSA000004268737001858
containing only user identities
Figure BSA000004268737001859
Or in addition to the user identity
Figure BSA000004268737001860
Outer cover
Figure BSA000004268737001861
Further comprises a compound containing PpubOf a trusted user CA and/or a user
Figure BSA000004268737001862
A subset of the fixed DH components of (a); if it is
Figure BSA000004268737001863
And is
Figure BSA000004268737001864
Is a user
Figure BSA000004268737001865
Secret value ofAnd n is more than or equal to 2.
10. The method as described in the above 9, wherein
Figure BSA000004268737001867
HAIs an output belonging toThe hash function of (a) of (b),
Figure BSA000004268737001869
Figure BSA000004268737001870
fpub(s)=s,fs(s)=s,
Figure BSA000004268737001872
Figure BSA000004268737001873
Figure BSA000004268737001874
each of which constitutes a cyclic group or domain; n is a radical ofAIs a prime number, or the product of two or more prime numbers.
11. The method as described in the above 10, whereinIf it is
Figure BSA00000426873700192
Is a value that is disclosed as a value,
Figure BSA00000426873700193
or <math> <mrow> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>&NotEqual;</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>.</mo> </mrow> </math>
12. The method as described in 10, wherein if n is 1, τAThe following calculation method is adopted:
(1)
Figure BSA00000426873700195
or
Figure BSA00000426873700196
Wherein
Figure BSA00000426873700197
Figure BSA00000426873700198
Or is equal to
Figure BSA00000426873700199
(in general, c)2C is randomly and uniformly distributed in
Figure BSA000004268737001910
C and/orCan be used as a user
Figure BSA000004268737001912
Part of the public key, { c2A subset of c could be made available to the user
Figure BSA000004268737001913
Can also be generated by
Figure BSA000004268737001914
The interactive user generates and sends to) Or is or
Figure BSA000004268737001916
Is X1A function of the coordinate values (e.g.,
Figure BSA000004268737001917
is X1One of the two coordinate values, in particular the x-axis coordinate value, for NAModulo) or with
Figure BSA000004268737001918
One coordinate value (particularly x-axis coordinate value) for a DH component generated by an interactive user for NAAnd (6) taking a mold.
(2) Or,
Figure BSA000004268737001919
orWhereinIs an output belonging to
Figure BSA000004268737001922
The hash function of (a) of (b),
Figure BSA000004268737001923
either a hash function or
Figure BSA000004268737001924
A function of the coordinate values. For example,
Figure BSA000004268737001925
or
Figure BSA000004268737001926
Or
(3) Or, <math> <mrow> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mfrac> <mn>1</mn> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </mfrac> </msup> </mrow> </math> or
Figure BSA000004268737001929
Wherein
Figure BSA000004268737001930
(4) Or,
Figure BSA000004268737001931
whereinAnd
Figure BSA000004268737001933
is an output belongs to
Figure BSA000004268737001934
The hash function of (a) of (b),
Figure BSA000004268737001936
(5) or,
Figure BSA000004268737001937
whereinAnd
Figure BSA000004268737001939
is an output belongs to
Figure BSA000004268737001940
A hash function of
Figure BSA000004268737001941
(i.e., the order of input of the functions here is forced to be different).
(6) Or, <math> <mrow> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mfrac> <mn>1</mn> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <msub> <mi>t</mi> <mn>1</mn> </msub> <mo>+</mo> <msub> <mi>t</mi> <mn>0</mn> </msub> </mrow> </mfrac> </msup> <mo>,</mo> </mrow> </math> wherein
Figure BSA000004268737001943
Figure BSA000004268737001944
Figure BSA000004268737001945
Wherein
Figure BSA000004268737001946
H is a hash function, "| |" represents the connection of character strings, l ≧ 1.
If n > 1, then τAThe following calculation method is adopted:
(7) <math> <mrow> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mfrac> <mn>1</mn> <mrow> <msub> <mi>x</mi> <mn>1</mn> </msub> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>x</mi> <mn>2</mn> </msub> <msubsup> <mi>h</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>+</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>+</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> <mo>+</mo> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </mfrac> </msup> <mo>,</mo> </mrow> </math> wherein
Figure BSA000004268737001948
(8) Or,
Figure BSA000004268737001949
wherein
Figure BSA000004268737001950
(9) Or,
Figure BSA000004268737001951
(10) or,
Figure BSA000004268737001952
wherein DH component X1Is fixed for use in multiple sessions;
(11) or,
Figure BSA000004268737001953
or
Figure BSA000004268737001954
Or
Figure BSA00000426873700201
Or
Figure BSA00000426873700202
Wherein n is 2, the total weight of the compound, <math> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mn>2</mn> </msub> <mo>,</mo> <msub> <mi>X</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> <mo>&NotEqual;</mo> <msubsup> <mi>h</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mn>1</mn> </msub> <mo>,</mo> <msub> <mi>X</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> <mo>.</mo> </mrow> </math>
13. the method as described in 12 above, wherein
Figure BSA00000426873700204
And/or X1And/or X2And/or
Figure BSA00000426873700205
And/or
Figure BSA00000426873700206
And/or
Figure BSA00000426873700207
As users
Figure BSA00000426873700208
A portion of the public key of (a);
Figure BSA00000426873700209
and/or
Figure BSA000004268737002010
And/or
Figure BSA000004268737002011
As part of the public key of the trusted user CA; and/or
Figure BSA000004268737002012
Or
Figure BSA000004268737002013
Or
Figure BSA000004268737002014
Figure BSA000004268737002015
As a subset of (may be empty) users
Figure BSA000004268737002016
Or part of the public key of the trusted user CA. c can be used by users
Figure BSA000004268737002017
Can also be generated by
Figure BSA000004268737002018
The interactive user generates and sends to
Figure BSA000004268737002019
(if c is a group consisting ofThe interactive user generates and sends toC is generally not as
Figure BSA000004268737002022
Part of the public key of).
14. The method as described in the above 7, wherein F (S)F)=H(1,SF)||…||H(l,SF) H is a hash function, l ≧ 1.
Drawings
FIG. 1 is a knowledge proof and signature authenticator
Figure BSA000004268737002023
A schematic of the information obtained and generated; FIG. 2 is two users of the operational aspect method, knowledge proof and signature authenticatorAnd verifier
Figure BSA000004268737002025
A schematic flow chart of the method of the invention was run.
Detailed Description
Based on the above summary, we present some preferred embodiments.
Signature implementation:
given a
Figure BSA000004268737002026
WhereinAre all open, eAIs one
Figure BSA000004268737002028
An efficient bilinear pairwise mapping (note that,
Figure BSA000004268737002029
the elements in (1) are more indicative than
Figure BSA000004268737002030
Short in (c), and therefore correspondingly short in the signature obtained below). Based onAn efficient bilinear pair mapping can be obtained accordingly.
Figure BSA000004268737002032
Andeither in the same cyclic group or in different groups (
Figure BSA000004268737002034
Andwith a different more preferred). If it is
Figure BSA000004268737002036
And
Figure BSA000004268737002037
in the same way, the first and second,
Figure BSA000004268737002038
and
Figure BSA000004268737002039
may or may not be equal. And m is information to be signed. The signer has an identity of
Figure BSA000004268737002040
Signature embodiment-1:
public key: the public key of the signer includes:the public key of the signer may also contain a value that the verifier can calculate in advance:
Figure BSA000004268737002042
and/or
Figure BSA000004268737002043
And/or delta, wherein
Figure BSA000004268737002044
Figure BSA000004268737002045
Is X1Is from the x-axis coordinate value of, or delta
Figure BSA000004268737002046
Of a randomly selected constant c, or
Figure BSA000004268737002047
HδIs an output belonging to
Figure BSA00000426873700211
The hash function of (a) of (b),is that
Figure BSA00000426873700213
A subset of (a). In some interactive application environments, δ may be defined by the userThe other users of the interaction generate and send to
Figure BSA00000426873700215
Private key: x is the number of1Wherein x is1From
Figure BSA00000426873700216
The selection is carried out randomly.
Signature: signer computation
Figure BSA00000426873700217
Wherein H1Is a domain of {0, 1}*The output belongs to
Figure BSA00000426873700218
A hash function of (1). Tau isAAs a signature on message m. Note that: the computational complexity of the signer is equivalent to an exponential operation. In some applications, the identity of the signer may also be used
Figure BSA00000426873700219
As H1One of the parameters is input. If x1H1(X1M) + δ equal to 0, let
Figure BSA000004268737002110
Or orderWhere r is a random number and (r, τ)A) As a signature. Above for τAA treatment method which is not defined (i.e. the denominator of the numerator in the index is zero) is similarly applicable to all embodiments of the inventive method (for the sake of brevity of description this treatment is omitted in the following embodiments).
And (3) verification: to obtain (m, t)A) Or (m, r, τ)A) If, if
Figure BSA000004268737002112
The signature verifier calculates whether to verify
Figure BSA000004268737002113
Or
Figure BSA000004268737002114
If it is
Figure BSA000004268737002115
Verifier verification
Figure BSA000004268737002116
The establishment of the equation is that the verifier accepts tauAAs a prerequisite for the signature of the message m. In the authentication
Figure BSA000004268737002117
Previously, the signature verifier could also check
Figure BSA000004268737002118
And/or tauAIs not zero and will notAnd/or tauAThe non-zero x-axis coordinate value of the same is also used as the acceptance TAAs a prerequisite for the signature of the message m (these additional checks apply equally to the following signature embodiments and to other embodiments of the inventive method). Wherein,
Figure BSA000004268737002120
and/orCan be calculated and stored in advance by the signature verifier, or
Figure BSA000004268737002122
And/or
Figure BSA000004268737002123
As part of the signer public key. By pre-computing, the computational complexity of the verifier can be reduced to an exponential and a bilinear pairwise operation.
To shorten the yield of the signature, only τ may be usedAAs a signature. At this time, the verifier needs to calculate τ by himself/herselfAAnd the y-axis coordinate value of (2), and
Figure BSA000004268737002124
or
Figure BSA000004268737002125
As acceptance τAAs a prerequisite for the signature of the message m. (this treatment may also be applied to other embodiments of the inventive method.)
Signature embodiment-2:
public key: the public key of the signer includes:
Figure BSA000004268737002126
and
Figure BSA000004268737002127
the public key of the signer may also contain a value that can be calculated in advance by the verifier.
Private key: x is the number of1,x2Wherein x is1,x2From
Figure BSA000004268737002128
The selection is carried out randomly.
Signature: signer computationWherein H1Is an output belonging to
Figure BSA000004268737002130
A hash function of (1). δ is 0(δ — 0 is a preferred embodiment), or δ is a member of the group
Figure BSA000004268737002131
In which a randomly selected constant, or δ is X1,X2One of the x-axis coordinate values of (a) to NATaking a model, or
Figure BSA000004268737002132
Wherein HδIs an output belonging to
Figure BSA000004268737002133
The hash function of (a) of (b),
Figure BSA000004268737002134
is that
Figure BSA000004268737002135
A subset of (a). In some interactive application environments, δ may be defined by the user
Figure BSA00000426873700221
The other users of the interaction generate and send to
Figure BSA00000426873700222
τAAs a signature on message m. In some applications, the identity of the signer may also be usedAs H1One of the parameters is input.
And (3) verification: to obtain (m, t)A) The signature verifier calculates whether to verify
Figure BSA00000426873700224
The establishment of the equation is that the verifier accepts tauAAs a prerequisite for the signature of the message m. Wherein,
Figure BSA00000426873700225
and/orCan be calculated and stored in advance by the signature verifier, or
Figure BSA00000426873700227
And/or
Figure BSA00000426873700228
As part of the signer public key.
This embodiment has the advantage that the computational complexity of signature verification can be reduced by one exponential operation if δ is 0 (the disadvantage is the longer public and private keys). To shorten the yield of the signature, only τ may be usedAAs a signature. At this time, the verifier needs to calculate τ by himself/herselfAAnd the y-axis coordinate value of (2), and
Figure BSA00000426873700229
orAs acceptance τAAs a prerequisite for the signature of the message m.
Signature embodiment-3:
public key: the public key of the signer includes:and
Figure BSA000004268737002212
the public key of the signer may also contain a value that can be calculated in advance by the verifier.
Private key: x is the number of1,x2Wherein x is1,x2FromThe selection is carried out randomly.
Signature: signer computation
Figure BSA000004268737002214
Wherein H1Is an output belonging to
Figure BSA000004268737002215
A hash function of (1). δ is 0(δ — 0 is a preferred embodiment), or δ is a member of the group
Figure BSA000004268737002216
In which a randomly selected constant, or δ is X1,X2One of the x-axis coordinate values of (a) to NATaking a model, or
Figure BSA000004268737002217
Wherein HδIs an output belonging to
Figure BSA000004268737002218
The hash function of (a) of (b),
Figure BSA000004268737002219
is that
Figure BSA000004268737002220
A subset of (a). In some interactive applicationsIn the use environment, delta can be defined by the user
Figure BSA000004268737002221
The other users of the interaction generate and send to
Figure BSA000004268737002222
τAAs a signature on message m. In some applications, the identity of the signer may also be used
Figure BSA000004268737002223
As H1One of the parameters is input.
And (3) verification: to obtain (m, t)A) The signature verifier calculates whether to verify
Figure BSA000004268737002224
The establishment of the equation is that the verifier accepts tauAAs a prerequisite for the signature of the message m. Wherein,
Figure BSA000004268737002225
and/or
Figure BSA000004268737002226
Can be calculated and stored in advance by the signature verifier, orAnd/or
Figure BSA000004268737002228
As part of the signer public key.
This embodiment has the advantage that the computational complexity of signature verification can be reduced by one exponential operation if δ is 0 (the disadvantage is the longer public and private keys). To shorten the yield of the signature, only τ may be usedAAs a signature. At this time, the verifier needs to calculate τ by himself/herselfAAnd the y-axis coordinate value of (2), andor
Figure BSA000004268737002230
As acceptance τAAs a prerequisite for the signature of the message m.
Signature embodiment-4:
public key: the public key of the signer includes:
Figure BSA000004268737002231
and
Figure BSA000004268737002232
the public key of the signer may also contain a value that the verifier can calculate in advance:
Figure BSA000004268737002233
and
Figure BSA000004268737002234
and
Figure BSA000004268737002235
private key: x is the number of1,x2Wherein x is1,x2From
Figure BSA00000426873700231
The selection is carried out randomly.
Signature: signer computation
Figure BSA00000426873700232
Wherein
Figure BSA00000426873700233
Is an output belonging to
Figure BSA00000426873700234
A hash function of (if
Figure BSA00000426873700235
Can order
Figure BSA00000426873700236
),
Figure BSA00000426873700237
Each of which constitutes an output belonging to
Figure BSA00000426873700238
Or the value of the x-axis coordinate of the output input to NAThe modulus value of (1); if it is
Figure BSA00000426873700239
Can order
Figure BSA000004268737002310
i belongs to {1, 2}, if
Figure BSA000004268737002311
Can order
Figure BSA000004268737002312
Output XiOne length of (1) is | NAA substring of | s. Tau isAAs a signature on message m. Note that: the computational complexity of the signer is equivalent to an exponential operation. In some applications, the identity of the signer may also be used
Figure BSA000004268737002313
As
Figure BSA000004268737002314
Of one subset of input parameters.
And (3) verification: to obtain (m, t)A) The signature verifier calculates whether to verify
Figure BSA000004268737002315
The establishment of the equation is that the verifier accepts tauAAs a prerequisite for the signature of the message m. Wherein,and
Figure BSA000004268737002317
and
Figure BSA000004268737002318
can be calculated and stored in advance by the signature verifier, orAnd
Figure BSA000004268737002320
and
Figure BSA000004268737002321
as part of the public key of the signer.
This embodiment has the advantage that the online computational complexity of signature verification can be only for one common generator
Figure BSA000004268737002322
And a bilinear pair computation. To shorten the yield of the signature, only τ may be usedAAs a signature. At this time, the verifier needs to calculate τ by himself/herselfAAnd the y-axis coordinate value of (2), and
Figure BSA000004268737002323
or
Figure BSA000004268737002324
As acceptance τAAs a prerequisite for the signature of the message m.
Signature embodiment-5:
public key: the public key of the signer includes:
Figure BSA000004268737002325
signer's official certificateThe key may also contain a value that the verifier can calculate in advance:
Figure BSA000004268737002326
and/or
Private key: x is the number of1Wherein x is1FromThe selection is carried out randomly.
Signature: signer computation
Figure BSA000004268737002329
τAAs a signature on message m. Note that: the computational complexity of the signer is equivalent to an exponential operation. In some applications, the identity of the signer may also be used
Figure BSA000004268737002330
As
Figure BSA000004268737002331
Or
Figure BSA000004268737002332
One of the parameters is input.
And (3) verification: to obtain (m, t)A) The signature verifier calculates whether to verify
Figure BSA000004268737002333
The establishment of the equation is that the verifier accepts tauAAs a prerequisite for the signature of the message m. Wherein,
Figure BSA000004268737002334
and/or
Figure BSA000004268737002335
Can be calculated and stored in advance by the signature verifier,or
Figure BSA000004268737002336
And/or
Figure BSA000004268737002337
As part of the public key of the signer.
To shorten the yield of the signature, only τ may be usedAAs a signature. At this time, the verifier needs to calculate τ by himself/herselfAAnd the y-axis coordinate value of (2), and
Figure BSA000004268737002338
or
Figure BSA000004268737002339
As acceptance τAAs a prerequisite for the signature of the message m.
Key exchange implementation:
given a
Figure BSA00000426873700241
Wherein
Figure BSA00000426873700242
Are all disclosed.And
Figure BSA00000426873700244
either in the same cyclic group or in different groups. If it is
Figure BSA00000426873700245
And
Figure BSA00000426873700246
in the same way, the first and second,
Figure BSA00000426873700247
and
Figure BSA00000426873700248
may or may not be equal. The inventive method may be used to establish the session key(s) before two users or three users. For ease of description, we describe three user embodiments. For convenience of description, we assume that all users use the same parameters
Figure BSA00000426873700249
And a function
Figure BSA000004268737002410
In practical applications, different (partly) parameters and functions may be selected by different usersThe following description is directed to eAIs one
Figure BSA000004268737002412
Efficient bilinear pair mapping. Based on
Figure BSA000004268737002413
An efficient key exchange implementation of bilinear pairwise mappings may be obtained accordingly.
Each time the key exchange method is run as a session, each session may be marked by an identity sid. Generally, the sid includes a random number and/or a temporary DH-component (or some coordinate value of the temporary DH component) and/or identity and public key information of the users that are exchanged with each other by the users interacting using a key exchange method; the sid may also contain some timestamp information; sid may also be empty.
User' s
Figure BSA000004268737002414
Calculated and sent (or published) with the inventive method:
Figure BSA000004268737002415
here, generally, X may be made1And/or X2As users
Figure BSA000004268737002416
The public key of (a) is stored,
Figure BSA000004268737002417
involving usersIdentity and/or public key information of
Figure BSA000004268737002419
Involving usersIdentity and/or public key information of and
Figure BSA000004268737002421
identity and/or public key information of the other or both parties of the interaction,
Figure BSA000004268737002422
it may also contain a session identifier sid and/or some time stamp information. In particular, it is possible to use, for example,
Figure BSA000004268737002423
can be taken as a functionThe input of (1);
user' s
Figure BSA000004268737002425
Calculated and sent (or published) with the inventive method:
Figure BSA000004268737002426
here, generally, Y may be made1And/or Y2As users
Figure BSA000004268737002427
The public key of (a) is stored,
Figure BSA000004268737002428
involving users
Figure BSA000004268737002429
Identity and/or public key information of
Figure BSA000004268737002430
Involving usersIdentity and/or public key information of and
Figure BSA000004268737002432
identity and/or public key information of the other or both parties of the interaction,
Figure BSA000004268737002433
it may also contain a session identifier sid and/or some time stamp information. In particular, it is possible to use, for example,can be taken as a function
Figure BSA000004268737002435
The input of (1);
user' sCalculated and sent (or published) with the inventive method:
Figure BSA000004268737002437
here, in general, Z can be made1And/or Z2As users
Figure BSA000004268737002438
The public key of (a) is stored,
Figure BSA000004268737002439
involving users
Figure BSA000004268737002440
Identity and/or public key information ofInvolving users
Figure BSA000004268737002442
Identity and/or public key information of and
Figure BSA000004268737002443
identity and/or public key information of the other or both parties of the interaction,
Figure BSA000004268737002444
it may also contain a session identifier sid and/or some time stamp information. In particular, it is possible to use, for example,
Figure BSA000004268737002445
can be taken as a function
Figure BSA000004268737002446
The input of (1);
if the above-described key exchange method is used for two-party users, such as usersAnd
Figure BSA000004268737002448
user' s
Figure BSA000004268737002449
Will tauBAs an acceptance { Y }1,…,Yn,τB,mBA requirement of user
Figure BSA000004268737002450
Will tauAAn experiment ofCertify correctness as Accept { X1,…,Xn,τA,mAA requirement of. (each user checks or does not check the DH component of the other user, particularly the temporary DH component, isOf (1). ) If the user is
Figure BSA00000426873700252
Accept { Y1,…,Yn,τB,mB}, user
Figure BSA00000426873700253
Computing
Figure BSA00000426873700254
Is denoted as KA(ii) a If the user is
Figure BSA00000426873700255
Accept { X1,…,Xn,τA,mA}, user
Figure BSA00000426873700256
Computing
Figure BSA00000426873700257
Is denoted as KB=KA. For each KB=KAIn (1)
Figure BSA00000426873700258
OrI is equal to or less than 1, j is equal to or less than n, and a session key is derived using a predefined key derivation function KDF. Typically the input to the KDF comprises
Figure BSA000004268737002510
Or
Figure BSA000004268737002511
And the x-axis coordinate values of (a) and the identity of the user participating in the interaction (this key derivation method applies to all embodiments of the inventive method). In particular, X for session key generationiY j1 ≦ i, j ≦ n is each a temporary DH component; the above method can also be used for X participating in session key generationiY j1 ≦ i, j ≦ n is a fixed DH component (e.g., for public key encryption or signcryption schemes). User' s
Figure BSA000004268737002512
And
Figure BSA000004268737002513
n can be derived by running the one-time key exchange method2(a subset of) session keys. In practical application, we can order
Figure BSA000004268737002514
Wherein each xj,yjIs a temporary DH index. User' s
Figure BSA000004268737002515
And
Figure BSA000004268737002516
the generated session key may then be utilized for encryption and/or authentication, among other operations. In the above description of the key exchange method, we assume that the user is
Figure BSA000004268737002517
And
Figure BSA000004268737002518
the same (n) DH components are contributed, and different users can send different numbers of DH components in practical applications.
If the key exchange method is used for the situation of three-party users, the users
Figure BSA000004268737002519
Will tauBAnd τCAs an acceptance { Y }1,…,Yn,τB,mBAnd { Z }1,…,Zn,τC,mCA requirement of. User' s
Figure BSA000004268737002520
Will tauA,τCAs acceptance { X)1,…,Xn,τA,mAAnd { Z }1,…,Zn,τC,mCA requirement of. User' s
Figure BSA000004268737002521
Will tauA,τBAs acceptance { X)1,…,Xn,τA,mAAnd { Y }1,…,Yn,τB,mBA requirement of. (each user checks to confirm or not to confirm DH components, particularly temporary DH components, of the other two users belonging to) If both users receive the information sent by the other side, the users
Figure BSA000004268737002523
Computing
Figure BSA000004268737002524
Is denoted as KAUser of
Figure BSA000004268737002525
Computing
Figure BSA000004268737002526
Is denoted as KBUser of
Figure BSA000004268737002527
Computing
Figure BSA000004268737002528
Is denoted as KCWherein
Figure BSA000004268737002529
To a certain subset of (a). For each one
Figure BSA000004268737002530
A session key is derived using a predefined key derivation function KDF. Typically, the input to the KDF includes
Figure BSA000004268737002531
OrAnd the x-axis coordinate values of (a) and the identity of the user participating in the interaction (here, the identity of the three-party user). In particular, X for session key generationi,YjZ k1 ≦ i, j, k ≦ n is a temporary DH component; the above method can also be used for X participating in session key generationi,Yj,ZkSome subset of 1 ≦ i, j, k ≦ n is a fixed DH component (e.g., for public key encryption or signcryption schemes). User' s
Figure BSA000004268737002533
And
Figure BSA000004268737002534
and
Figure BSA000004268737002535
n can be derived by running the one-time key exchange method3(a subset of) session keys. In practical application, we can orderWherein each xi,yj,zjIs a temporary DH index. By usingHousehold
Figure BSA000004268737002537
And
Figure BSA000004268737002538
and
Figure BSA000004268737002539
the generated session key may then be utilized for encryption and/or authentication, among other operations. In the above description of the key exchange method, we assume that the user isAnd
Figure BSA00000426873700262
and
Figure BSA00000426873700263
the same (n) DH components are contributed, and different users can send different numbers of DH components in practical applications.
Identity-based (or certificateless) signature implementation:
given a
Figure BSA00000426873700264
Wherein
Figure BSA00000426873700265
Is a non-limiting disclosure of the components of,
Figure BSA00000426873700266
Figure BSA00000426873700267
HAis an output belonging toThe hash function of (1).
Figure BSA00000426873700269
And
Figure BSA000004268737002610
either in the same cyclic group or in different groups. Here, for the convenience of description, we assume that all users use the same
Figure BSA000004268737002611
In practical applications, users with different ID may use different parameters
Figure BSA000004268737002612
The following description is directed to eAIs one
Figure BSA000004268737002613
Efficient bilinear pair mapping. Based on
Figure BSA000004268737002614
An efficient implementation of bilinear pairwise mapping may be obtained accordingly. In particular, for certificateless signature implementations, the signature is based on
Figure BSA000004268737002615
Efficient bilinear mapping implementation is more preferable (because of the signature, i.e., τ, at this time)AShorter).
Trusted user public and private keys: trusted user computing
Figure BSA000004268737002616
Wherein s is selected from
Figure BSA000004268737002617
The selection is carried out randomly. Order to
Figure BSA000004268737002618
Is the public key of the trusted user and s is the private key of the trusted user.
User public and private keys: all using said inventive method and the same trusted applicationUser public key PpubThe public key of the user with the identity ID is recorded as QID=HID(ID) or QID=HID(ID,Ppub) In which H isIDIs an output belonging toThe hash function of (1); the private key of the user ID is noted
Figure BSA000004268737002620
Figure BSA000004268737002621
There is a trusted user calculation and sends to the user ID over a secure channel. If used in a certificateless cryptographic system implementation, a subset of the fixed DH components contributed by each user is also part of the user's public key.
By the user
Figure BSA000004268737002622
For example, the public key is
Figure BSA000004268737002623
Or
Figure BSA000004268737002624
The private key is marked as
Figure BSA000004268737002625
And m is information to be signed. The signer has an identity of
Figure BSA000004268737002626
Identity-based signature embodiment-1:
order to g A S = g A 1 , g A P = g A 2 .
Signature: signer computation
Figure BSA000004268737002629
Figure BSA000004268737002630
Wherein H1Is an output belonging to
Figure BSA000004268737002632
A hash function of (1). (X)1,X2,τA) As a signature on message m. In some applications, the identity of the signer may also be used
Figure BSA000004268737002633
And/or creditable user public key PpubAs H1One of the parameters is input. X1,X2Can be calculated in advance by the signer; for certificateless signature implementation, X1And/or X2As part of the signer public key.
And (3) verification: to obtain (m, X)1,X2,τA) If, if
Figure BSA000004268737002634
The signature verifier calculates whether to verify
Figure BSA000004268737002635
The establishment of the equation is accepted by the verifier (X)1,X2,τA) As a necessary strip for signing message mAnd (3) a component. Wherein e isA(QA,Ppub) Can be calculated and stored in advance by the signature verifier, or eA(QA,Ppub) As part of the signer public key. Verifier verification or non-verification X1
Figure BSA00000426873700271
If X is verified1
Figure BSA00000426873700272
Then X will be1
Figure BSA00000426873700273
As receiving (X)1,X2,τA) As a prerequisite for the signature of the message m. Verification of X1And verification
Figure BSA00000426873700275
The order of (A) can be arbitrary, in general, X is checked first1
Figure BSA00000426873700276
And/or
Figure BSA00000426873700277
Post verification
Figure BSA00000426873700278
The advantages of this embodiment are: (1) efficient signature verification. By pre-calculation, the calculation complexity of the verifier can be reduced to an exponential and a bilinear pairing operation; (2) signature private key
Figure BSA00000426873700279
Can be used only in pre-calculation, and can better protect the private signature key.
Based on bodySignature embodiment of shares-2:
order to g A S = g A 2 , g A P = g A 1 .
Signature: signer computation
Figure BSA000004268737002712
Figure BSA000004268737002713
Wherein H1Is an output belonging to
Figure BSA000004268737002714
A hash function of (1). Delta is X1Or QAOr PpubIs one of the coordinate values of (in particular, the x-axis coordinate), or δ is from
Figure BSA000004268737002715
Of a randomly selected constant c, or
Figure BSA000004268737002716
HδIs an output belonging to
Figure BSA000004268737002717
The hash function of (a) of (b),
Figure BSA000004268737002718
is that
Figure BSA000004268737002719
A subset of (a).In some interactive application environments, δ may be defined by the user
Figure BSA000004268737002720
The other users of the interaction generate and send to
Figure BSA000004268737002721
(X1,τA) As a signature on message m. In some applications, the identity of the signer may also be used
Figure BSA000004268737002722
And/or creditable user public key PpubAs H1One of the parameters is input. X1Can be calculated in advance by the signer; for certificateless signature implementation, X1As part of the signer public key. To facilitate signature verification, δ and/orAs part of the public key of the signer and/or as part of the public key of the trusted user.
And (3) verification: to obtain (m, X)1,τA) If, if
Figure BSA000004268737002724
The signature verifier calculates whether to verify
Figure BSA000004268737002725
The establishment of the equation is accepted by the verifier (X)1,τA) As a prerequisite for the signature of the message m. Wherein e isA(Ppub,Q1) Can be calculated and stored in advance by the signature verifier, or eA(Ppub,Q1) As part of the signer public key. Verifier verification or non-verification
Figure BSA000004268737002726
If it is verified
Figure BSA000004268737002727
Then will be
Figure BSA000004268737002728
As a prerequisite for the signature of the message m. Authentication
Figure BSA000004268737002729
And verification
Figure BSA000004268737002730
The order of (A) can be arbitrary, in general, first checking
Figure BSA000004268737002731
Post verification
Figure BSA000004268737002732
Identity-based signature implementation-3:
order to g A S = g A 2 , g A P = g A 1 .
Signature: signer computation Wherein
Figure BSA000004268737002737
Form an output belonging to
Figure BSA000004268737002738
Or outputs a coordinate value (particularly, x-axis coordinate) of its input; for example,
Figure BSA000004268737002739
if it is
Figure BSA000004268737002740
Can order
Figure BSA000004268737002741
If it is
Figure BSA000004268737002742
Can order
Figure BSA000004268737002743
Output XiOne length of (1) is | NAA substring of | s. In some applications, the identity of the signer may also be used
Figure BSA000004268737002744
And/or creditable user public key PpubAs H0And/orOne of the parameters is input. X1Can be calculated in advance by the signer; for certificateless signature implementation, X1OrAs part of the signer public key.
And (3) verification: to obtain (m, X)1,τA) If, if
Figure BSA00000426873700281
The signature verifier calculates whether to verify
Figure BSA00000426873700282
The establishment of the equation is accepted by the verifier (X)1,τA) As a prerequisite for the signature of the message m. Wherein e isA(Ppub,QA) Can be calculated and stored in advance by the signature verifier, or eA(Ppub,QA) As part of the signer public key. Verifier verification or non-verification
Figure BSA00000426873700283
If it is verified
Figure BSA00000426873700284
Then will be
Figure BSA00000426873700285
As a prerequisite for the signature of the message m. Authentication
Figure BSA00000426873700286
And/orAnd verification
Figure BSA00000426873700288
The order of (A) can be arbitrary, in general, first checkingAnd/or
Figure BSA000004268737002810
Post verification
Figure BSA000004268737002811
Identity-based signature implementation-4:
order to g A S = g A 2 , g A P = g A 1 .
Signature: signer computation
Figure BSA000004268737002814
Figure BSA000004268737002815
Wherein H1Is an output belonging to
Figure BSA000004268737002817
A hash function of (1). (X)1,X2,τA) As a signature on message m. In some applications, the identity of the signer may also be used
Figure BSA000004268737002818
And/or creditable user public key PpubAs H1One of the parameters is input. X1,X2Can be calculated in advance by the signer; for certificateless signature implementation, X1And/or X2As part of the signer public key.
And (3) verification: to obtain (m, X)1,X2,τA) If, if
Figure BSA000004268737002819
The signature verifier calculates whether to verify
Figure BSA000004268737002820
The establishment of the equation is accepted by the verifier (X)1,X2,τA) As a prerequisite for the signature of the message m. Wherein e isA(Ppub,QA) Can be calculated and stored in advance by the signature verifier, or eA(Ppub,QA) As part of the signer public key.
Identity-based signature implementation-5:
order to g A S = g A 2 , g A P = g A 1 .
Signature: signer computation
Figure BSA000004268737002824
Wherein
Figure BSA000004268737002826
Is an output belonging to
Figure BSA000004268737002827
A hash function of (if
Figure BSA000004268737002828
Can order),Each of which constitutes an output belonging to
Figure BSA000004268737002831
Or outputs a coordinate value (particularly, x-axis coordinate) of its input; if it is
Figure BSA000004268737002832
Can order
Figure BSA000004268737002833
i belongs to {1, 2}, if
Figure BSA000004268737002834
Can order
Figure BSA000004268737002835
Output XiOne length of (1) is | NAA substring of | s. (X)1,X2,τA) As a signature on message m. In some applications, the identity of the signer may also be used
Figure BSA000004268737002836
And/or creditable user public key PpubAs
Figure BSA000004268737002837
Of one subset of input parameters. For certificateless signature implementation, X1And/or X2As part of the signer public key.
τAThere is also the following calculation:
Figure BSA000004268737002838
or,
Figure BSA000004268737002839
or,wherein δ is X1Or X2Or QAOr PpubCoordinates of (2)One of the values, or δ is from
Figure BSA000004268737002841
Of a randomly selected constant c, or
Figure BSA000004268737002842
HδIs an output belonging to
Figure BSA000004268737002843
The hash function of (a) of (b),
Figure BSA00000426873700291
is that
Figure BSA00000426873700292
Or a subset thereof. In some interactive application environments, δ may be defined by the user
Figure BSA00000426873700293
The other users of the interaction generate and send to
Figure BSA00000426873700294
And (3) verification: to obtain (m, X)1,X2,τA) If, if
Figure BSA00000426873700295
The signature verifier calculates whether to verify
Figure BSA00000426873700296
The establishment of the equation is accepted by the verifier (X)1,X2,τA) As a prerequisite for the signature of the message m. Wherein e isA(Ppub,QA) Can be calculated and stored in advance by the signature verifier, or eA(Ppub,QA) As part of the signer public key. Verifier verification or non-verification X1
Figure BSA00000426873700297
If X is verified1
Figure BSA00000426873700298
Then X will be1
Figure BSA00000426873700299
As receiving (X)1,X2,τA) As a prerequisite for the signature of the message m. Verification of X1
Figure BSA000004268737002910
And/or
Figure BSA000004268737002911
And verification
Figure BSA000004268737002912
The order of (A) can be arbitrary, in general, X is checked first1
Figure BSA000004268737002913
And/or
Figure BSA000004268737002914
Post verification <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>X</mi> <mn>1</mn> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> </mrow> </msubsup> <msup> <msub> <mi>X</mi> <mn>2</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mrow> <mo>(</mo> <msub> <mi>X</mi> <mn>2</mn> </msub> <mo>)</mo> </mrow> </mrow> </msup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mi>P</mi> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <mi>m</mi> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>P</mi> <mi>pub</mi> </msub> <mo>,</mo> <msub> <mi>Q</mi> <mi>A</mi> </msub> <mo>)</mo> </mrow> <mo>.</mo> </mrow> </math>
Identity (or certificateless) based key exchange implementation:
given a
Figure BSA000004268737002916
And a function
Figure BSA000004268737002917
Wherein
Figure BSA000004268737002918
Is a non-limiting disclosure of the components of,
Figure BSA000004268737002920
HAis an output belonging toThe hash function of (1).
Figure BSA000004268737002922
Andeither in the same cyclic group or in different groups. Here, for the convenience of description, we assume that all users use the same
Figure BSA000004268737002924
And a function
Figure BSA000004268737002925
When applied in a multi-user environment,
Figure BSA000004268737002926
1 ≦ i ≦ n indicates that the user ID is calculated τIDFunction of time
Figure BSA000004268737002927
Is input. In practical applications, users with different ID may use different parameters
Figure BSA000004268737002928
Andthe following description is directed to eAIs oneEfficient bilinear pair mapping. Based on
Figure BSA000004268737002931
An efficient implementation of bilinear pairwise mapping may be obtained accordingly.
Trusted user public and private keys: trusted user computing
Figure BSA000004268737002932
Wherein s is selected fromThe selection is carried out randomly. Order to
Figure BSA000004268737002934
Is the public key of the trusted user and s is the private key of the trusted user.
User public and private keys: all using said inventive method and the same trusted user public key PpubThe public key of the user with the identity ID is recorded as QID=HID(ID) or QID=HID(ID,Ppub) In which H isIDIs an output belonging to
Figure BSA000004268737002935
The hash function of (1); the private key of the user ID is noted
Figure BSA000004268737002936
There is a trusted user calculation and sends to the user ID over a secure channel. If used in a certificateless cryptographic system implementation, a subset of the fixed DH components contributed by each user is also part of the user's public key.
For convenience of description, we assume that all users use the same
Figure BSA000004268737002938
Order to
Figure BSA000004268737002939
Figure BSA000004268737002940
Figure BSA000004268737002941
The inventive method may be used to establish the session key(s) before two users or three users. Order user
Figure BSA000004268737002942
Has a public key of
Figure BSA000004268737002943
Or
Figure BSA000004268737002944
The private key is marked as
Figure BSA000004268737002945
User' s
Figure BSA000004268737002946
Has a public key ofOrThe private key is marked asUser' sHas a public key of
Figure BSA00000426873700302
Or
Figure BSA00000426873700303
The private key is marked as
Figure BSA00000426873700304
In the following description, users with different identity IDs use
Figure BSA00000426873700305
Different generators of
Figure BSA00000426873700306
To calculate tauID. Some values may be pre-calculated or may be calculatedAs part of the public key of the user or trusted user. E.g. eA(Ppub,QA) And/or
Figure BSA00000426873700307
Can be used as a user
Figure BSA00000426873700308
Part of the public key, eA(Ppub,QB) And/or
Figure BSA00000426873700309
Can be used as a user
Figure BSA000004268737003010
Part of the public key, eA(Ppub,QC) And/or
Figure BSA000004268737003011
Can be used as a user
Figure BSA000004268737003012
A part of the public key. Fixed DH components for user contribution, e.g. if XiWhere 1. ltoreq. i. ltoreq. n is the user
Figure BSA000004268737003013
A contributed immobilized DH component of
Figure BSA000004268737003014
As users
Figure BSA000004268737003015
A public key and/or a part of a trusted user public key.
Each time the key exchange method is run as a session, each session may be marked by an identity sid. Generally, the sid includes random numbers and/or temporary DH-components (or some coordinate value of the temporary DH component) and/or identity and/or public key and/or role information of the users that interact with each other using a key exchange method; the sid may also contain some timestamp information; sid may also be empty.
User' s
Figure BSA000004268737003016
Calculated and sent (or published) with the inventive method:
Figure BSA000004268737003017
here, to obtain a certificateless implementation, in general, X may be made1And/or X2And/or
Figure BSA000004268737003018
And/or
Figure BSA000004268737003019
As usersIs part of the public key of (accordingly, x)1And/or x2As users
Figure BSA000004268737003021
A portion of the private key of).
Figure BSA000004268737003022
Involving users
Figure BSA000004268737003023
Identity and/or public key information of
Figure BSA000004268737003024
Involving users
Figure BSA000004268737003025
Identity and/or public key information of and
Figure BSA000004268737003026
identity and/or public key information of the other or both parties of the interaction,
Figure BSA000004268737003027
it may also contain a session identifier sid and/or some time stamp information and/or the public key of the trusted user. In particular, it is possible to use, for example,
Figure BSA000004268737003028
can be taken as a function
Figure BSA000004268737003029
The input of (1);
user' s
Figure BSA000004268737003030
Calculated and sent (or published) with the inventive method:
Figure BSA000004268737003031
wherein, tauBIs a user
Figure BSA000004268737003032
By its private key
Figure BSA000004268737003033
Calculated as a basis. Here, to obtain a certificateless implementation, generally, Y may be made1And/or Y2And/or
Figure BSA000004268737003034
And/or
Figure BSA000004268737003035
As users
Figure BSA000004268737003036
As part of the public key of the user
Figure BSA000004268737003037
Is part of the public key of (accordingly, y)1And/or y2As users
Figure BSA000004268737003038
A portion of the private key of).
Figure BSA000004268737003039
Involving users
Figure BSA000004268737003040
Identity and/or public key information of
Figure BSA000004268737003041
Involving users
Figure BSA000004268737003042
Identity and/or public key information of and
Figure BSA000004268737003043
identity and/or public key information of the other or both parties of the interaction,
Figure BSA000004268737003044
it may also contain a session identifier sid and/or some time stamp information and/or the public key of the trusted user. In particular, it is possible to use, for example,
Figure BSA000004268737003045
can be taken as a function
Figure BSA000004268737003046
The input of (1);
user' s
Figure BSA000004268737003047
Calculated and sent (or published) with the inventive method:
Figure BSA000004268737003048
wherein, tauCIs a user
Figure BSA000004268737003049
By its private keyAs a basis to calculateIn (1). Here, to obtain a certificateless implementation, in general, Z may be made1And/or Z2And/or
Figure BSA000004268737003051
And/orAs usersAs part of the public key of the userIs part of the public key of (accordingly, z)1And/or z2As usersA portion of the private key of).
Figure BSA000004268737003056
Involving usersIdentity and/or public key information of
Figure BSA000004268737003058
Involving usersIdentity and/or public key information of and
Figure BSA000004268737003060
identity and/or public key information of the other or both parties of the interaction,
Figure BSA000004268737003061
it may also contain a session identifier sid and/or some time stamp information and/or the public key of the trusted user. In particular, it is possible to use, for example,
Figure BSA00000426873700311
can be taken as a function
Figure BSA00000426873700312
The input of (1);
if the above-described key exchange method is used for two-party users, such as users
Figure BSA00000426873700313
And
Figure BSA00000426873700314
user' s
Figure BSA00000426873700315
Validating correctness of τ B, i.e.As acceptance { Y1,…,Yn,τB,mBA requirement of user
Figure BSA00000426873700317
Will tauAIs verified for correctness, i.e.
Figure BSA00000426873700318
As receiving { X1,…,Xn,τA,mAA requirement of. Each user checks whether or not the DH component (particularly, temporary DH component) of the user of the confirmation partner belongs to
Figure BSA00000426873700319
Or
Figure BSA000004268737003110
If the user is
Figure BSA000004268737003111
Accept { Y1,…,Yn,τB,mB}, user
Figure BSA000004268737003112
Computing
Figure BSA000004268737003113
Is denoted as KA(ii) a If the user is
Figure BSA000004268737003114
Accept { X1,…,Xn,τA,mA}, user
Figure BSA000004268737003115
Computing
Figure BSA000004268737003116
Is denoted as KB=KA. For each KB=KAIn (1)
Figure BSA000004268737003117
Or
Figure BSA000004268737003118
I is less than or equal to 1, j is less than or equal to n, a session key is derived using a predefined key derivation function KDF, wherein KDF is a certain input parameter comprising
Figure BSA000004268737003119
Or
Figure BSA000004268737003120
1 ≦ i, j ≦ n. In particular, X for session key generationiY j1 ≦ i, j ≦ n is each a temporary DH component; the above method can also be used for X participating in session key generationiY j1 ≦ i, j ≦ n is a fixed DH component (e.g., for public key encryption or signcryption schemes). User' s
Figure BSA000004268737003121
And
Figure BSA000004268737003122
n can be derived by running the one-time key exchange method2(a subset of) session keys. In practical application, we can order
Figure BSA000004268737003123
Wherein each xj,yjIs a temporary DH index. User' s
Figure BSA000004268737003124
And
Figure BSA000004268737003125
the generated session key may then be utilized for encryption and/or authentication, among other operations. In the above description of the key exchange method, we assume that the user is
Figure BSA000004268737003126
And
Figure BSA000004268737003127
the same (n) DH components are contributed, and different users can send different numbers of DH components in practical applications.
If the key exchange method is used for the situation of three-party users, the users
Figure BSA000004268737003128
Will tauBAnd τCIs verified for correctness, i.e.
Figure BSA000004268737003129
And is
Figure BSA000004268737003130
As acceptance { Y1,…,Yn,τB,mBAnd { Z }1,…,Zn,τC,mCA requirement of. User' sWill tauA,τCAs acceptance { X)1,…,Xn,τA,mAAnd { Z }1,…,Zn,τC,mCA requirement of. User' s
Figure BSA000004268737003132
Will tauA,τBAs acceptance { X)1,…,Xn,τA,mAAnd { Y }1,…,Yn,τB,mBA requirement of. Each user checks whether or not to confirm that the DH components (particularly, temporary DH components) of the other two users belong to
Figure BSA000004268737003133
OrIf the user is
Figure BSA000004268737003135
Accept { Y1,…,Yn,τB,mBAnd { Z }1,…,Zn,τC,mC}, user
Figure BSA000004268737003136
Computing
Figure BSA000004268737003137
Is denoted as KA(ii) a If the user is
Figure BSA000004268737003138
Accept { X1,…,Xn,τA,mAAnd { Z }1,…,Zn,τC,mC}, userComputing
Figure BSA000004268737003140
Is denoted as KB(ii) a If the user isAccept { X1,…,Xn,τA,mAAnd { Y }1,…,Yn,τB,mB}, user
Figure BSA000004268737003142
Computing
Figure BSA000004268737003143
Is denoted as KCWherein
Figure BSA000004268737003144
To a certain subset of (a). For each oneA session key is derived using a predefined key derivation function KDF. In particular, X for session key generationi,YjZ k1 ≦ i, j, k ≦ n is a temporary DH component; the above method can also be used for X participating in session key generationi,Yj,ZkSome subset of 1 ≦ i, j, k ≦ n is a fixed DH component (e.g., for public key encryption or signcryption schemes). User' s
Figure BSA00000426873700321
Andand
Figure BSA00000426873700323
n can be derived by running the one-time key exchange method3(a subset of) session keys. In practical application, we can order
Figure BSA00000426873700324
Wherein each xi,yj,zjIs a temporary DH index. User' s
Figure BSA00000426873700325
Andand
Figure BSA00000426873700327
the generated session key may then be utilized for encryption and/or authentication, among other operations. In the above description of the key exchange method, we assume that the user is
Figure BSA00000426873700328
And
Figure BSA00000426873700329
and
Figure BSA000004268737003210
the same (n) DH components are contributed, and different users can send different numbers of DH components in practical applications.
Identity (or certificateless) based key exchange implementation-1:
as described in the identity-based (or certificateless) key exchange implementation, wherein,
Figure BSA000004268737003211
wherein
Figure BSA000004268737003212
Involving users
Figure BSA000004268737003213
Identity and/or public key information of, and/or user
Figure BSA000004268737003214
Is a role value vAAnd/or user
Figure BSA000004268737003215
Identity and/or public key information of, and/or user
Figure BSA000004268737003216
And/or public key information, and/or session identifier sid; in particular, let
Figure BSA000004268737003217
Or
Figure BSA000004268737003218
If XiI is 1. ltoreq. n is a fixed DH component, such thatAs users
Figure BSA000004268737003220
A public key and/or a portion of a trusted user public key; and/or eA(Ppub,QA) As part of the user's public key, and/or
Figure BSA000004268737003221
And/or
Figure BSA000004268737003222
As usersA public key and/or a part of a trusted user public key.
Figure BSA000004268737003224
Wherein
Figure BSA000004268737003225
Involving users
Figure BSA000004268737003226
Identity and/or public key information of, and/or user
Figure BSA000004268737003227
Is a role value vBAnd/or user
Figure BSA000004268737003228
Identity and/or public key information of, and/or user
Figure BSA000004268737003229
And/or public key information, and/or session identifier sid;
Figure BSA000004268737003230
wherein
Figure BSA000004268737003231
Involving usersIdentity and/or public key information of, and/or user
Figure BSA000004268737003233
Is a role value vCAnd/or user
Figure BSA000004268737003234
Identity and/or public key information of, and/or user
Figure BSA000004268737003235
And/or public key information, and/or session identifier sid.
Identity (or certificateless) based key exchange implementation-2:
as described in the identity-based (or certificateless) key exchange implementation, where let n-2,wherein H1Is a transmissionOut of
Figure BSA000004268737003237
The hash function of (a) of (b),
Figure BSA000004268737003238
involving users
Figure BSA000004268737003239
Identity and/or public key information of, and/or userIs a role value vAAnd/or user
Figure BSA000004268737003241
Identity and/or public key information of, and/or user
Figure BSA000004268737003242
And/or public key information, and/or session identifier sid; in particular, it is possible to use, for example,orOrOr
Figure BSA000004268737003246
WhereinInvolving users
Figure BSA000004268737003249
Identity and/or public key information of, and/or userIs a role value vBAnd/or userIdentity and/or public key information of, and/or user
Figure BSA000004268737003252
And/or public key information, and/or session identifier sid; in particular, it is possible to use, for example,
Figure BSA000004268737003253
or
Figure BSA000004268737003254
OrOr
Figure BSA000004268737003256
Figure BSA00000426873700331
Wherein
Figure BSA00000426873700332
Involving users
Figure BSA00000426873700333
Identity and/or public key information of, and/or user
Figure BSA00000426873700334
Is a role value vCAnd/or, users
Figure BSA00000426873700335
Identity and/or public key information of, and/or, user
Figure BSA00000426873700336
And/or the identity and/or public key information of (a), and/or the session identifier sid; in particular, it is possible to use, for example,or
Figure BSA00000426873700338
Or
Figure BSA00000426873700339
Or
Identity key exchange based implementation-3:
as described in the identity-based (or certificateless) key exchange implementation, where let n-1,
Figure BSA000004268737003311
or,
Figure BSA000004268737003312
wherein,
Figure BSA000004268737003313
involving users
Figure BSA000004268737003314
Identity and/or public key information and/or Q ofAAnd/or user
Figure BSA000004268737003315
Is a role value vAAnd/or user
Figure BSA000004268737003316
Identity and/or public key information and/or Q ofBAnd/or userIdentity and/or public key information and/or Q ofCAnd/or a session identifier sid; in particular, it is possible to use, for example,
Figure BSA000004268737003318
or
Figure BSA000004268737003319
OrOrδAIs X1Or QAOr PpubOne of the coordinate values of (1), or δAIs fromOf a randomly selected constant c (the constant c or/and
Figure BSA000004268737003323
may be fixed and be part of the public key of the user or trusted user), or
Figure BSA000004268737003324
HδIs an output belonging to
Figure BSA000004268737003325
The hash function of (a) of (b),is thatA subset of (a). In some interactive application environments, δA(e.g., δ)AIs a random number) can be communicated to the user
Figure BSA000004268737003328
The other users of the interaction generate and send to
Figure BSA000004268737003329
To facilitate signature verification, δAAnd/or
Figure BSA000004268737003330
And/or
Figure BSA000004268737003331
As part of the public key of the signer and/or as part of the public key of the trusted user.
Or,
Figure BSA000004268737003333
wherein,
Figure BSA000004268737003334
involving users
Figure BSA000004268737003335
Identity and/or public key information and/or Q ofBAnd/or userIs a role value vBAnd/or user
Figure BSA000004268737003337
Identity and/or public key information and/or Q ofAAnd/or user
Figure BSA000004268737003338
Identity and/or public key information and/or Q ofCAnd/or a session identifier sid; in particular, it is possible to use, for example,
Figure BSA000004268737003339
or
Figure BSA000004268737003340
OrOr
Figure BSA000004268737003342
δBIs Y1Or QBOr PpubOne of the coordinate values of (1), or δBIs from
Figure BSA000004268737003343
Of a randomly selected constant c (the constant c or/and
Figure BSA000004268737003344
may be fixed and be part of the public key of the user or trusted user), or
Figure BSA000004268737003345
Figure BSA000004268737003346
Is that
Figure BSA000004268737003347
A subset of (a). In some interactive application environments, δB(e.g., δ)BIs a random number) can be communicated to the user
Figure BSA000004268737003348
The other users of the interaction generate and send to
Figure BSA000004268737003349
To facilitate signature verification, δBAnd/or
Figure BSA000004268737003350
And/orAs part of the public key of the signer and/or as part of the public key of the trusted user.
Figure BSA000004268737003352
Or,
Figure BSA000004268737003353
wherein,
Figure BSA000004268737003354
involving users
Figure BSA000004268737003355
Identity and/or public key information and/or Q ofCAnd/or user
Figure BSA000004268737003356
Is a role value vCAnd/or userIdentity and/or public key information and/or Q ofAAnd/or user
Figure BSA000004268737003358
Identity and/or public key information and/or Q ofBAnd/or a session identifier sid; in particular, it is possible to use, for example,
Figure BSA000004268737003359
or
Figure BSA000004268737003360
Or
Figure BSA000004268737003361
Or
Figure BSA000004268737003362
δCIs Z1Or QCOr PpubOne of the coordinate values of (1), or δCIs from
Figure BSA000004268737003363
Of a randomly selected constant c (the constant c or/and
Figure BSA000004268737003364
may be fixed and be part of the public key of the user or trusted user), or
Figure BSA00000426873700341
Figure BSA00000426873700342
Is that
Figure BSA00000426873700343
A subset of (a). In some interactive application environments, δC(e.g., δ)CIs a random number) can be communicated to the user
Figure BSA00000426873700344
The other users of the interaction generate and send to
Figure BSA00000426873700345
To facilitate signature verification, δCAnd/or
Figure BSA00000426873700346
And/orAs part of the public key of the signer and/or as part of the public key of the trusted user.
Identity-based key exchange implementation-4:
given a
Figure BSA00000426873700348
WhereinIs a non-limiting disclosure of the components of,
Figure BSA000004268737003410
Figure BSA000004268737003411
HAis an output belonging to
Figure BSA000004268737003412
The hash function of (1). Let eAIs one
Figure BSA000004268737003413
Efficient bilinear pairwise mapping, wherein
Figure BSA000004268737003414
And
Figure BSA000004268737003415
order to
Figure BSA000004268737003416
Is a hash function.
Trusted user public and private keys: trusted user computing
Figure BSA000004268737003417
Wherein s is selected from
Figure BSA000004268737003418
The selection is carried out randomly. FromC is randomly selected. Order to
Figure BSA000004268737003420
And c and
Figure BSA000004268737003421
is the public key of the trusted user and s is the private key of the trusted user. (for some inventive method implementations, it is not necessary that the trusted user's public key include c and)
user public and private keys: all usesSaid invention method and same credible user public key PpubHas an identity of
Figure BSA000004268737003423
Is recorded as the public key of the userUser' s
Figure BSA000004268737003425
Is marked as
Figure BSA000004268737003426
User' s
Figure BSA000004268737003427
Is marked as
Figure BSA000004268737003428
User' s
Figure BSA000004268737003429
Is marked as
Figure BSA000004268737003430
User' s
Figure BSA000004268737003431
Is marked asUser' s
Figure BSA000004268737003433
Is marked as
Figure BSA000004268737003434
Figure BSA000004268737003435
Figure BSA000004268737003436
And
Figure BSA000004268737003437
calculated by a trusted user and sent to the user via a secure channel
Figure BSA000004268737003438
And
Figure BSA000004268737003439
and
Figure BSA000004268737003440
let uA,υB,υCEither null (i.e., a null string), or υA,υB,υCAre three numerical values different from each other. Such as: upsilon isA,υB,υCAll being empty, or upsilonA=0,υB=1,υC=2。
(1) User' s
Figure BSA000004268737003441
Compute and send
Figure BSA000004268737003442
Wherein
Figure BSA000004268737003443
sid is the session identifier. Each operation of the inventive method is denoted as a session, each session having a unique identifier, such as sid rA||rB(for two-party users
Figure BSA000004268737003444
And
Figure BSA000004268737003445
in the case of (1) or sid ═ rA||rB||rC(for three-party users
Figure BSA000004268737003446
And
Figure BSA000004268737003447
and
Figure BSA000004268737003448
in the case of (1)), where r)A,rB,rCAre respectively users
Figure BSA000004268737003449
And
Figure BSA000004268737003450
andthe transmitted random number. Or, for both users
Figure BSA000004268737003452
And
Figure BSA000004268737003453
in the case of performing a key exchange, let
Figure BSA000004268737003454
At this time the user
Figure BSA000004268737003455
Only after receiving Y1Then calculates and transmits tauA(e.g., user)
Figure BSA000004268737003456
Sending X in the first round1And on the third round, tA) (ii) a Or, for three-party users
Figure BSA000004268737003457
And
Figure BSA000004268737003458
and
Figure BSA000004268737003459
carry out key exchangeIn the alternative, let
Figure BSA000004268737003460
(2) User' s
Figure BSA000004268737003461
Compute and send
Figure BSA000004268737003462
Wherein <math> <mrow> <msub> <mi>&delta;</mi> <msub> <mi>Y</mi> <mn>1</mn> </msub> </msub> <mo>=</mo> <msub> <mi>x</mi> <msub> <mi>Y</mi> <mn>1</mn> </msub> </msub> <mi>mod</mi> <msub> <mi>N</mi> <mi>A</mi> </msub> <mo>.</mo> </mrow> </math>
(3) User' sCompute and send
Figure BSA000004268737003465
Wherein <math> <mrow> <msub> <mi>&delta;</mi> <msub> <mi>z</mi> <mn>1</mn> </msub> </msub> <mo>=</mo> <msub> <mi>x</mi> <msub> <mi>z</mi> <mn>1</mn> </msub> </msub> <mi>mod</mi> <msub> <mi>N</mi> <mi>A</mi> </msub> <mo>.</mo> </mrow> </math>
If the inventive method is used only for two users, e.g. for
Figure BSA00000426873700351
And
Figure BSA00000426873700352
(then no user is needed)
Figure BSA00000426873700353
Participate), a key exchange is performed. User' s
Figure BSA00000426873700354
To obtain Authentication
Figure BSA00000426873700357
(user)Can also verify) User' s
Figure BSA000004268737003510
To obtain
Figure BSA000004268737003511
Then, verify(user)
Figure BSA000004268737003513
Verification can also be verified
Figure BSA000004268737003514
). If the verification fails, the operation is stopped;
session key derivation and authentication: user' s
Figure BSA000004268737003515
ComputingUser' s
Figure BSA000004268737003517
Computing
Figure BSA000004268737003518
If the key confirmation is carried out in the session, the userComputing
Figure BSA000004268737003520
User' s
Figure BSA000004268737003521
Calculation (K)1,K2)=kf(KA,SAB) Wherein
Figure BSA000004268737003522
User' s
Figure BSA000004268737003523
Is sending
Figure BSA000004268737003524
While simultaneously transmitting a utilization K1Computing an authentication value, e.g. Auth (K)10) where Auth is a deterministic function (e.g., a hash function, a message authentication code function, a pseudorandom function, etc.); receiving user
Figure BSA000004268737003525
By K1After the calculated authentication value, the userBy K1And (6) carrying out verification. User' s
Figure BSA000004268737003527
Next (in the third round) use K1Sending a different authentication value, e.g. Auth (K)1,1). Receive fromUser' s
Figure BSA000004268737003528
By K1After the calculated authentication value, the user
Figure BSA000004268737003529
By K1And (6) carrying out verification. If the verification is passed, the user
Figure BSA000004268737003530
Andwill K2As their session key.
If the key confirmation is not carried out in the session, the user
Figure BSA000004268737003532
Setting session key to K KDF (K) directlyA,SAB) (ii) a User' s
Figure BSA000004268737003533
Setting session key to K KDF (K) directlyB,SAB)。
If the inventive method is implemented in three users,and
Figure BSA000004268737003535
andto exchange keys therebetween. User' s
Figure BSA000004268737003537
To obtain
Figure BSA000004268737003538
And
Figure BSA000004268737003539
post verification
Figure BSA000004268737003540
And
Figure BSA000004268737003541
(user)
Figure BSA000004268737003542
Can also verifyAnd
Figure BSA000004268737003544
) If the verification is passed, the user
Figure BSA000004268737003545
Computing K A = e A ( Y 1 , Z 1 ) x 1 ( = e A ( g A P , g A P ) x 1 y 1 z 1 ) .
User' s
Figure BSA000004268737003547
To obtain
Figure BSA000004268737003548
And
Figure BSA000004268737003549
post verification
Figure BSA000004268737003550
And
Figure BSA000004268737003551
(user)
Figure BSA000004268737003552
Can also verify
Figure BSA000004268737003553
And
Figure BSA000004268737003554
) If the verification is passed, the user
Figure BSA000004268737003555
Computing K B = e A ( X 1 , Z 1 ) y 1 ( = e A ( g A P , g A P ) x 1 y 1 z 1 ) .
User' s
Figure BSA000004268737003557
To obtain
Figure BSA000004268737003558
And
Figure BSA000004268737003559
then, verify
Figure BSA000004268737003560
And
Figure BSA000004268737003561
(user)Can also verify
Figure BSA000004268737003563
And) If the verification is passed, the user
Figure BSA000004268737003565
Computing K C = e A ( X 1 , Y 1 ) z 1 ( = e A ( g A P , g A P ) x 1 y 1 z 1 ) .
Three-party user session key derivation: order to
Figure BSA000004268737003567
User' s
Figure BSA000004268737003568
Setting the session key to K KDF (K)A,SABC) User of
Figure BSA000004268737003569
Setting the session key to K KDF (K)B,SABC) User C sets the session key to K KDF (K)C,SABC)。
Identity-based key exchange implementation-5:
given a
Figure BSA00000426873700361
eA,HA,NAWherein
Figure BSA00000426873700362
Is a non-limiting disclosure of the components of,
Figure BSA00000426873700363
HAis an output belonging to
Figure BSA00000426873700364
The hash function of (1). Let eAIs one
Figure BSA00000426873700365
Efficient bilinear pairwise mapping, wherein
Figure BSA00000426873700366
Order to
Figure BSA00000426873700367
Is a hash function.
Trusted user public and private keys: trusted user computing
Figure BSA00000426873700368
Wherein s is selected fromThe selection is carried out randomly. From
Figure BSA000004268737003610
C is randomly selected. Order to
Figure BSA000004268737003611
And c and
Figure BSA000004268737003612
is the public key of the trusted user and s is the private key of the trusted user. (for some inventive method implementations, it is not necessary that the trusted user's public key include c and
Figure BSA000004268737003613
)
user public and private keys: all using said inventive method and the same trusted user public key PpubHas an identity of
Figure BSA000004268737003614
Is recorded as the public key of the user
Figure BSA000004268737003615
User' s
Figure BSA000004268737003616
Is marked as
Figure BSA000004268737003617
User' s
Figure BSA000004268737003618
Is marked as
Figure BSA000004268737003619
User' s
Figure BSA000004268737003620
Is marked as
Figure BSA000004268737003621
User' sIs marked asUser' s
Figure BSA000004268737003624
Is marked as
Figure BSA000004268737003625
Andcalculated by a trusted user and sent to the user via a secure channel
Figure BSA000004268737003627
And
Figure BSA000004268737003628
and
Figure BSA000004268737003629
let uA,υB,υ CEither null (i.e., a null string), or υA,υB,υCAre three numerical values different from each other. Such as: upsilon isA,υB,υCAll being empty, or upsilonA=0,υB=1,υC=2。
(1) User' s
Figure BSA000004268737003630
Compute and send
Figure BSA000004268737003631
(2) User' sCompute and send
Figure BSA000004268737003633
(3) User' s
Figure BSA000004268737003634
Compute and send
Figure BSA000004268737003635
If the inventive method is used only for two users, e.g. for
Figure BSA000004268737003636
And
Figure BSA000004268737003637
(then no user is needed)
Figure BSA000004268737003638
Participate), a key exchange is performed. User' s
Figure BSA000004268737003639
To obtain
Figure BSA000004268737003640
Authentication
Figure BSA000004268737003641
(user)
Figure BSA000004268737003642
Verification can also be verified). User' s
Figure BSA000004268737003644
To obtain
Figure BSA000004268737003645
Authentication(user)
Figure BSA000004268737003647
Can also verify
Figure BSA000004268737003648
) If the verification fails, the operation is stopped;
session key derivation and authentication: user' s
Figure BSA000004268737003649
Computing
Figure BSA000004268737003650
User' s
Figure BSA000004268737003651
Computing
Figure BSA000004268737003652
If the key confirmation is carried out in the session, the user
Figure BSA000004268737003653
Calculation (K)1,K2)=kf(KB,SAB) User of
Figure BSA000004268737003654
Calculation (K)1,K2)=kf(KA,SAB) Wherein
Figure BSA000004268737003655
User' sIs sending
Figure BSA000004268737003657
While simultaneously transmitting a utilization K1Computing an authentication value, e.g. Auth (K)10) where Auth is a deterministic function (e.g., a hash function, a message authentication code function, a pseudorandom function, etc.); receiving user
Figure BSA000004268737003658
By K1After the calculated authentication value, the user
Figure BSA000004268737003659
By K1And (6) carrying out verification. User' sNext (in the third round) use K1Sending a different authentication value, e.g. Auth (K)1,1). Receiving user
Figure BSA000004268737003661
By K1After the calculated authentication value, the user
Figure BSA000004268737003662
By K1And (6) carrying out verification. If the verification is passed, the user
Figure BSA00000426873700371
And
Figure BSA00000426873700372
will K2As their session key.
If the key confirmation is not carried out in the session, the userSetting session key to K KDF (K) directlyA,SAB) (ii) a User' s
Figure BSA00000426873700374
Setting session key to K KDF (K) directlyB,SAB)。
If the inventive method is implemented in three users,
Figure BSA00000426873700375
and
Figure BSA00000426873700376
and
Figure BSA00000426873700377
to exchange keys therebetween. User' s
Figure BSA00000426873700378
To obtain
Figure BSA00000426873700379
And
Figure BSA000004268737003710
post verification
Figure BSA000004268737003711
And(user)
Figure BSA000004268737003713
Can also verify
Figure BSA000004268737003714
And
Figure BSA000004268737003715
) If the verification is passed, the user
Figure BSA000004268737003716
Computing K A = e A ( Y 1 , Z 1 ) x 1 ( = e A ( g A P , g A P ) x 1 y 1 z 1 ) .
User' sTo obtain
Figure BSA000004268737003719
And
Figure BSA000004268737003720
post verification
Figure BSA000004268737003721
And(user)
Figure BSA000004268737003723
Can also verifyAnd
Figure BSA000004268737003725
) If the verification is passed, the userComputing
Figure BSA000004268737003727
User' s
Figure BSA000004268737003728
To obtain
Figure BSA000004268737003729
And
Figure BSA000004268737003730
then, verify
Figure BSA000004268737003731
And
Figure BSA000004268737003732
(user)
Figure BSA000004268737003733
Can also verify
Figure BSA000004268737003734
And
Figure BSA000004268737003735
) If the verification is passed, the user
Figure BSA000004268737003736
Computing
Figure BSA000004268737003737
Three-party user session key derivation: order to
Figure BSA000004268737003738
User' s
Figure BSA000004268737003739
Setting the session key to K KDF (K)A,SABC) User ofSetting the session key to K KDF (K)B,SABC) User C sets the session key to K KDF (K)C,SABC)。
Identity-based key exchange implementation-6:
given aeA,HA,NAWherein
Figure BSA000004268737003742
Is a non-limiting disclosure of the components of,
Figure BSA000004268737003743
Figure BSA000004268737003744
HAis an output belonging to
Figure BSA000004268737003745
The hash function of (1). Let eAIs one
Figure BSA000004268737003746
Efficient bilinear pairwise mapping, whereinAnd
Figure BSA000004268737003748
order to
Figure BSA000004268737003749
Is a hash function.
Trusted user public and private keys: trusted user computing
Figure BSA000004268737003750
Wherein s is selected fromThe selection is carried out randomly. From
Figure BSA000004268737003752
C is randomly selected. Order to
Figure BSA000004268737003753
And c and
Figure BSA000004268737003754
is the public key of the trusted user and s is the private key of the trusted user. (for some inventive method implementations, it is not necessary that the trusted user's public key include c and
Figure BSA000004268737003755
)
user public and private keys: all using said inventive method and the same trusted user public key PpubHas an identity of
Figure BSA000004268737003756
Is recorded as the public key of the user
Figure BSA000004268737003757
User' sIs marked as
Figure BSA000004268737003759
User' s
Figure BSA000004268737003760
Is marked asUser' s
Figure BSA000004268737003762
Is marked as
Figure BSA000004268737003763
User' s
Figure BSA000004268737003764
Is marked as
Figure BSA000004268737003765
User' s
Figure BSA000004268737003766
Is marked as
Figure BSA000004268737003767
Figure BSA000004268737003768
Figure BSA000004268737003769
And
Figure BSA000004268737003770
calculated by a trusted user and sent to the user via a secure channel
Figure BSA000004268737003771
And
Figure BSA000004268737003772
and
Figure BSA000004268737003773
let uA,υB,υCEither null (i.e., a null string), or υA,υB,υCAre three numerical values different from each other. Such as: upsilon isA,υB,υCAll being empty, or upsilonA=0,υB=1,υC=2。
(1) User' s
Figure BSA00000426873700381
Compute and sendFor certificateless key exchange, X may be1As a user
Figure BSA00000426873700383
Is part of the public key of (1).
(2) User' s
Figure BSA00000426873700384
Compute and send
Figure BSA00000426873700385
For certificateless key exchange, Y may be1As a user
Figure BSA00000426873700386
Is part of the public key of (1).
(3) User' s
Figure BSA00000426873700387
Compute and sendFor certificateless key exchange, Z may be1As a user
Figure BSA00000426873700389
Is part of the public key of (1).
If the inventive method is used only for two users, e.g. for
Figure BSA000004268737003810
And
Figure BSA000004268737003811
(then no user is needed)
Figure BSA000004268737003812
Participate), a key exchange is performed. User' s
Figure BSA000004268737003813
To obtain
Figure BSA000004268737003814
Authentication
Figure BSA000004268737003815
(user)Verification can also be verified
Figure BSA000004268737003817
And
Figure BSA000004268737003818
). User' s
Figure BSA000004268737003819
To obtain
Figure BSA000004268737003820
Authentication
Figure BSA000004268737003821
(user)
Figure BSA000004268737003822
Can also verify
Figure BSA000004268737003823
And
Figure BSA000004268737003824
) If the verification fails, the operation is stopped;
session key derivation and authentication: user' s
Figure BSA000004268737003825
Computing
Figure BSA000004268737003826
User' sComputing
Figure BSA000004268737003828
(for certificateless implementations, user
Figure BSA000004268737003829
ComputingUser' s
Figure BSA000004268737003831
Computing
Figure BSA000004268737003832
) For identity-based implementations, the user
Figure BSA000004268737003833
Andone interaction can generate 2 session keys, one from
Figure BSA000004268737003835
And
Figure BSA000004268737003836
lead out, a from
Figure BSA000004268737003837
And
Figure BSA000004268737003838
and (6) exporting. If only one session key needs to be generated, the session key can also be generated
Figure BSA000004268737003839
And
Figure BSA000004268737003840
and (6) exporting.
If the key confirmation is carried out in the session, the user
Figure BSA000004268737003841
Computing
Figure BSA000004268737003842
Wherein
Figure BSA000004268737003843
KBIs composed of
Figure BSA000004268737003844
A non-empty subset of; user' s
Figure BSA000004268737003845
Calculation (K)1,K2)=kf(KA,SAB) In which K isA=KBIs composed of
Figure BSA000004268737003846
Is not an empty subset. (for example,
Figure BSA000004268737003847
) User' s
Figure BSA000004268737003848
Is sendingWhile simultaneously transmitting a utilization K1Computing an authentication value, e.g. Auth (K)10) where Auth is a deterministic function (e.g., a hash function, a message authentication code function, a pseudorandom function, etc.); receiving user
Figure BSA000004268737003850
By K1After the calculated authentication value, the user
Figure BSA000004268737003851
By K1And (6) carrying out verification. User' s
Figure BSA000004268737003852
Next (in the third round) use K1Sending a different authentication value, e.g. Auth (K)1,1). Receiving user
Figure BSA000004268737003853
By K1After the calculated authentication value, the user
Figure BSA000004268737003854
By K1And (6) carrying out verification. If the verification is passed, the user
Figure BSA000004268737003855
And
Figure BSA000004268737003856
will K2As their session key.
If the key confirmation is not carried out in the session, the userSetting session key to K KDF (K) directlyA,SAB) (ii) a User' s
Figure BSA00000426873700391
Setting session key to K KDF (K) directlyB,SAB)。
If the inventive method is implemented in three users,
Figure BSA00000426873700392
and
Figure BSA00000426873700393
and
Figure BSA00000426873700394
to exchange keys therebetween. User' s
Figure BSA00000426873700395
To obtainAnd
Figure BSA00000426873700397
then, verify
Figure BSA00000426873700398
And
Figure BSA00000426873700399
(user)Can also verify Y1
Figure BSA000004268737003911
And Z1
Figure BSA000004268737003912
) If the verification is passed, the user
Figure BSA000004268737003913
Computing K A 1 = e A ( Y 1 , Z 1 ) x 1 ( = e A ( g A P , g A P ) x 1 y 1 z 1 ) And K A 2 = e A ( Y 1 , Z 1 ) x 2 ( = e A ( g A P , g A P ) x 2 y 2 z 2 ) .
user' s
Figure BSA000004268737003916
To obtain
Figure BSA000004268737003917
And
Figure BSA000004268737003918
post verification
Figure BSA000004268737003919
And
Figure BSA000004268737003920
(user)
Figure BSA000004268737003921
Can also verify X1
Figure BSA000004268737003922
And Z1
Figure BSA000004268737003923
) If the verification is passed, the user Computing K B 1 = e A ( X 1 , Z 1 ) y 1 ( = e A ( g A P , g A P ) x 1 y 1 z 1 ) And K A 2 = e A ( X 2 , Z 2 ) y 2 ( = e A ( g A P , g A P ) x 2 y 2 z 2 ) .
user' sTo obtain
Figure BSA000004268737003928
And
Figure BSA000004268737003929
then, verify
Figure BSA000004268737003930
And
Figure BSA000004268737003931
(user)
Figure BSA000004268737003932
Can also verify X1
Figure BSA000004268737003933
And Y1
Figure BSA000004268737003934
) If the verification is passed, the user
Figure BSA000004268737003935
Computing K C 1 = e A ( X 1 , Y 1 ) z 1 ( = e A ( g A P , g A P ) x 1 y 1 z 1 ) And K C 2 = e A ( X 2 , Y 2 ) z 2 ( = e A ( g A P , g A P ) x 1 y 1 z 1 ) .
three-party user session key derivation: order toUser' s
Figure BSA000004268737003939
Setting the session key to K KDF (K)A,SABC) User of
Figure BSA000004268737003940
Setting the session key to K KDF (K)B,SABC) User C sets the session key to K KDF (K)C,SABC). Wherein
Figure BSA000004268737003941
And K isA=KB=KC. For certificateless implementations, let
Figure BSA000004268737003942
Identity-based key exchange implementation-7:
given a
Figure BSA000004268737003943
eA,HA,HAWherein
Figure BSA000004268737003944
Is a non-limiting disclosure of the components of,
Figure BSA000004268737003945
HAis an output belonging toThe hash function of (1). Let eAIs one
Figure BSA000004268737003947
Efficient bilinear pairwise mapping, wherein
Figure BSA000004268737003948
Andorder to
Figure BSA000004268737003950
Is a hash function.
Trusted user public and private keys: trusted user computing
Figure BSA000004268737003951
Wherein s is selected from
Figure BSA000004268737003952
The selection is carried out randomly. From
Figure BSA000004268737003953
C is randomly selected. Order to
Figure BSA000004268737003954
And c and
Figure BSA000004268737003955
is the public key of the trusted user and s is the private key of the trusted user. (for some inventive method implementations, it is not necessary that the trusted user's public key include c and
Figure BSA000004268737003956
)
user public and private keys: all using said inventive method and the same trusted user public key PpubHas an identity ofIs recorded as the public key of the user
Figure BSA000004268737003958
User' s
Figure BSA000004268737003959
Is marked asUser' s
Figure BSA000004268737003961
Is marked as
Figure BSA000004268737003962
User' s
Figure BSA000004268737003963
Is marked as
Figure BSA000004268737003964
Calculated by a trusted user, anRespectively sent to users through a secure channelAnd
Figure BSA00000426873700402
(1) user' s
Figure BSA00000426873700403
Compute and send
Figure BSA00000426873700404
Wherein <math> <mrow> <msub> <mi>&delta;</mi> <msub> <mi>Y</mi> <mn>1</mn> </msub> </msub> <mo>=</mo> <msub> <mi>x</mi> <msub> <mi>Y</mi> <mn>1</mn> </msub> </msub> <mi>mod</mi> <msub> <mi>N</mi> <mi>A</mi> </msub> <mo>.</mo> </mrow> </math>
(2) User' s
Figure BSA00000426873700407
Compute and send
Figure BSA00000426873700408
Figure BSA00000426873700409
Wherein <math> <mrow> <msub> <mi>&delta;</mi> <msub> <mi>X</mi> <mn>1</mn> </msub> </msub> <mo>=</mo> <msub> <mi>x</mi> <msub> <mi>X</mi> <mn>1</mn> </msub> </msub> <mi>mod</mi> <msub> <mi>N</mi> <mi>A</mi> </msub> <mo>.</mo> </mrow> </math>
If the inventive method is used only for two users, e.g. for
Figure BSA000004268737004011
And
Figure BSA000004268737004012
(then no user is needed)
Figure BSA000004268737004013
Participate), a key exchange is performed. User' s
Figure BSA000004268737004014
To obtain
Figure BSA000004268737004015
Figure BSA000004268737004016
Authentication
Figure BSA000004268737004017
(user)
Figure BSA000004268737004018
Can also verify
Figure BSA000004268737004019
) User' sTo obtain
Figure BSA000004268737004021
Figure BSA000004268737004022
Then, verify
Figure BSA000004268737004023
(user)
Figure BSA000004268737004024
Verification can also be verified
Figure BSA000004268737004025
). And if the verification fails, stopping the operation.
Session key derivation and authentication: user' s
Figure BSA000004268737004026
Computing
Figure BSA000004268737004027
User' s
Figure BSA000004268737004028
Computing
Figure BSA000004268737004029
Session key managementAnd
Figure BSA000004268737004031
and (6) exporting.
Identity-based key exchange implementation-8:
given a
Figure BSA000004268737004032
eA,HA,NAWherein
Figure BSA000004268737004033
Is a non-limiting disclosure of the components of,
Figure BSA000004268737004034
HAis an output belonging to
Figure BSA000004268737004035
The hash function of (1). Let eAIs one
Figure BSA000004268737004036
Efficient bilinear pairwise mapping, wherein
Figure BSA000004268737004037
And
Figure BSA000004268737004038
order to
Figure BSA000004268737004039
Is a hash function.
Trusted user public and private keys: trusted user computing
Figure BSA000004268737004040
Wherein s is selected from
Figure BSA000004268737004041
The selection is carried out randomly. From
Figure BSA000004268737004042
C is randomly selected. Order toAnd c and
Figure BSA000004268737004044
is the public key of the trusted user and s is the private key of the trusted user. (for some inventive method implementations, it is not necessary that the trusted user's public key include c and)
user public and private keys: all using said inventive method and the same trusted user public key PpubHas an identity of
Figure BSA000004268737004046
Is recorded as the public key of the user
Figure BSA000004268737004047
User' s
Figure BSA000004268737004048
Is marked as
Figure BSA000004268737004049
User' s
Figure BSA000004268737004050
Is marked as
Figure BSA000004268737004051
User' s
Figure BSA000004268737004052
Is marked as
Figure BSA000004268737004053
Calculated by a trusted user and sent to the user via a secure channel
Figure BSA000004268737004054
And
Figure BSA000004268737004055
(1) user' s
Figure BSA000004268737004056
Compute and send X 1 = ( g A P ) x 1 ;
(2) User' s
Figure BSA000004268737004058
Computing
Figure BSA000004268737004059
Figure BSA000004268737004060
(3) User' s
Figure BSA000004268737004061
Compute and send
Figure BSA000004268737004062
User' sTo obtainThen, verify
Figure BSA000004268737004065
(user)
Figure BSA000004268737004066
Can also verify
Figure BSA000004268737004067
) User' s
Figure BSA000004268737004068
To obtain
Figure BSA000004268737004069
Then, verify
Figure BSA000004268737004070
(user)
Figure BSA00000426873700411
Verification can also be verified
Figure BSA00000426873700412
). And if the verification fails, stopping the operation.
Session key derivation and authentication: user' s
Figure BSA00000426873700413
Computing
Figure BSA00000426873700414
User' s
Figure BSA00000426873700415
Computing
Figure BSA00000426873700416
Session key managementAnd
Figure BSA00000426873700418
and (6) exporting.
Identity-based or certificateless key exchange implementation-9:
given a
Figure BSA00000426873700419
eA,HA,NAWhereinIs a non-limiting disclosure of the components of,
Figure BSA000004268737004111
Figure BSA000004268737004112
HAis an output belonging toThe hash function of (1). Let eAIs oneEfficient bilinear pairwise mapping, wherein
Figure BSA000004268737004115
And
Figure BSA000004268737004116
order to
Figure BSA000004268737004117
Is a hash function.
Trusted user public and private keys: trusted user computingWherein s is selected from
Figure BSA000004268737004119
The selection is carried out randomly. From
Figure BSA000004268737004120
C is randomly selected. Order to
Figure BSA000004268737004121
And c and
Figure BSA000004268737004122
is the public key of the trusted user and s is the private key of the trusted user. (for some inventive method implementations, it is not necessary that the trusted user's public key include c and
Figure BSA000004268737004123
)
user public and private keys: all using said inventive method and the same trusted user public key PuubHas an identity of
Figure BSA000004268737004124
Is recorded as the public key of the user
Figure BSA000004268737004125
User' s
Figure BSA000004268737004126
Is marked as
Figure BSA000004268737004127
User' s
Figure BSA000004268737004128
Is marked as
Figure BSA000004268737004129
User' s
Figure BSA000004268737004130
Is marked as
Figure BSA000004268737004131
Figure BSA000004268737004132
Figure BSA000004268737004133
Calculated by a trusted user and sent to the user via a secure channel
Figure BSA000004268737004134
And
Figure BSA000004268737004135
(1) user' s
Figure BSA000004268737004136
Compute and send
Figure BSA000004268737004137
Figure BSA000004268737004138
For certificateless key exchange, X may be1As a user
Figure BSA000004268737004139
Is part of the public key of (1).
(2) User' s
Figure BSA000004268737004140
Compute and send
Figure BSA000004268737004141
Figure BSA000004268737004143
For certificateless key exchange, Y may be1As a user
Figure BSA000004268737004144
Is part of the public key of (1).
(3) User' s
Figure BSA000004268737004145
Compute and sendUser' s
Figure BSA000004268737004147
To obtain
Figure BSA000004268737004148
Figure BSA000004268737004149
Then, verify
Figure BSA000004268737004151
(user)
Figure BSA000004268737004152
Can also verify
Figure BSA000004268737004153
And
Figure BSA000004268737004154
) User' s
Figure BSA000004268737004155
To obtain
Figure BSA000004268737004156
Figure BSA000004268737004158
Then, verify
Figure BSA000004268737004159
(user)
Figure BSA000004268737004160
Verification can also be verified
Figure BSA000004268737004161
And). If the verification fails, the operation is stopped;
session key derivation and authentication: user' s
Figure BSA000004268737004163
Computing
Figure BSA000004268737004164
Figure BSA000004268737004165
User' sComputing(for certificateless implementations, user
Figure BSA000004268737004168
Computing
Figure BSA000004268737004169
User' s
Figure BSA000004268737004170
Computing
Figure BSA000004268737004171
) For identity-based implementations, the user
Figure BSA000004268737004172
And
Figure BSA000004268737004173
one interaction can generate 2 session keys, one from
Figure BSA000004268737004174
And
Figure BSA000004268737004175
lead out, a from
Figure BSA000004268737004176
And
Figure BSA000004268737004177
and (6) exporting. If only one session key needs to be generated, the session key can also be generated
Figure BSA000004268737004178
And
Figure BSA000004268737004179
and (6) exporting.

Claims (14)

1. A method of non-forgeable knowledge proof and message signature authentication, the method comprising:
identity isIs obtained by the user
Figure FSA00000426873600012
n is more than or equal to 1, wherein
Figure FSA00000426873600013
Is one with NAFinite Abelian group of ordersAre each generated from
Figure FSA00000426873600015
I is more than or equal to 1 and less than or equal to n, a one-way exponential function is formed, and the output is
Figure FSA00000426873600016
One element of each
Figure FSA00000426873600017
I is more than or equal to 1 and less than or equal to n, constituting a certain at least one parameter
Figure FSA00000426873600018
A function of (a); each one of which is
Figure FSA00000426873600019
I is more than or equal to 1 and less than or equal to n, constituting a certain at least one parameter xiA function of wherein
Figure FSA000004268736000110
Identity is
Figure FSA000004268736000111
Get mAWherein m isAIs a collection of public information, wherein
Figure FSA000004268736000112
Is a user
Figure FSA000004268736000113
A message to be signed for authentication; user' s
Figure FSA000004268736000114
To obtain
Figure FSA000004268736000115
And the userTo obtain mAThe sequence of (A) can be arbitrary; x as described above1,...,XnCalled user
Figure FSA000004268736000117
DH component of (1), x1,...,xnCalled user
Figure FSA000004268736000118
The secret DH index of (a); x1,…,Xn,mASome are fixed values used in multiple sessions, others are temporary values used in only one session; a DH component or DH index used in a plurality of sessions is referred to as a fixed DH component, and a DH component or DH index used in only one session is referred to as a provisional DH component;
user' s
Figure FSA000004268736000119
Computing
Figure FSA000004268736000120
Wherein
Figure FSA000004268736000121
Is one with NAFinite Abelian group of orders
Figure FSA000004268736000122
The generation element of (a) is generated,
Figure FSA000004268736000123
forming a certain at least one parameterAnd its output is
Figure FSA000004268736000125
An element of (1), τAIs that
Figure FSA000004268736000126
Of an element or
Figure FSA000004268736000127
The coordinate value of one of the elements in (b),
Figure FSA000004268736000128
each of 0 ≦ i ≦ n constitutes a certain value
Figure FSA000004268736000129
As a function of the input parameter, λAForm a definite one
Figure FSA000004268736000130
As a function of the input parameters, τAIs thatOf an element or
Figure FSA000004268736000132
A coordinate value of one element;
Figure FSA000004268736000133
is marked asIs disclosed. Note the book
Figure FSA000004268736000135
In the group of
Figure FSA000004268736000136
Figure FSA000004268736000137
Middle removing
Figure FSA000004268736000138
Another one out of them is noted as
Figure FSA000004268736000139
Note the book
Figure FSA000004268736000140
In the group of
Figure FSA000004268736000141
Either public or user
Figure FSA000004268736000143
The owned secret value; if it is
Figure FSA000004268736000144
Is a user
Figure FSA000004268736000145
A secret value of
Figure FSA000004268736000146
And is
Figure FSA000004268736000147
Is a public parameter, wherein
Figure FSA000004268736000148
Is a secret value that is a function of,
Figure FSA000004268736000149
e is a certain input parameter including
Figure FSA000004268736000150
As a function of (a) or (b),
Figure FSA000004268736000151
form a one-way exponential function and have an output of
Figure FSA000004268736000152
One of the elements of (a) or (b),
Figure FSA000004268736000153
forming a certain at least one parameter
Figure FSA000004268736000154
Function of fpub(s) forming a defined function of at least one parameter s;one of the following publicly verifiable equations is satisfied:
(1) if it is
Figure FSA000004268736000156
Are all public values and eAIs one
Figure FSA000004268736000157
Efficient bilinear pairings mapping: <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> or <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>;</mo> </mrow> </math>
(2) Or, if
Figure FSA00000426873600022
Are all public values and eA is one
Figure FSA00000426873600023
Efficient bilinear pairings mapping: <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>,</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>t</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> or <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>,</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>t</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>;</mo> </mrow> </math>
(3) Or, if
Figure FSA00000426873600026
Is a secret value and eAIs one
Figure FSA00000426873600027
Efficient bilinear pairings mapping:
Figure FSA00000426873600028
or
Figure FSA00000426873600029
(4) Or, if
Figure FSA000004268736000210
Is a secret value and eAIs one
Figure FSA000004268736000211
Efficient bilinear pairings mapping:
Figure FSA000004268736000212
or
Figure FSA000004268736000213
(5) Or, if
Figure FSA000004268736000214
Is a secret value and eAIs one
Figure FSA000004268736000215
Efficient bilinear pairings mapping:
Figure FSA000004268736000216
or
Figure FSA000004268736000217
(6) Or,
Figure FSA000004268736000218
is a secret value and eAIs one
Figure FSA000004268736000219
Efficient bilinear pairings mapping:
Figure FSA000004268736000220
or
Figure FSA000004268736000221
Wherein e isAIs one
Figure FSA000004268736000222
Or
Figure FSA000004268736000223
An efficient bi-linear pair mapping is achieved,
Figure FSA000004268736000224
is NAIs a finite Abelian group of orders and
Figure FSA000004268736000225
or
Figure FSA000004268736000226
Is that
Figure FSA000004268736000227
The production unit of (1) is provided with a production unit,
Figure FSA000004268736000228
forming a certain at least one parameter
Figure FSA000004268736000229
And its output is
Figure FSA000004268736000230
One of the elements of (a) or (b),
Figure FSA000004268736000231
is that a determined input parameter comprisesHas an output of
Figure FSA000004268736000233
One of (1)The elements are selected from the group consisting of,is that a determined input parameter comprises
Figure FSA000004268736000235
Has an output of
Figure FSA000004268736000236
One element of (1);
Figure FSA000004268736000237
is that a certain input parameter comprises PpubFunction having an output ofOne of the elements of (a) or (b),
Figure FSA000004268736000239
is that a determined input parameter comprises
Figure FSA000004268736000240
Is output as
Figure FSA000004268736000241
One element of (1);
Figure FSA000004268736000242
the following requirements are met:
1) is provided with
Figure FSA000004268736000243
Is a function of
Figure FSA000004268736000244
Is a set of all input parameters, then
Figure FSA000004268736000245
OrComprisesAnd the x-axis coordinate values of all the provisional DH components or all the provisional DH components, or
Figure FSA000004268736000248
Comprises
Figure FSA000004268736000249
And a set of coordinate axes for all DH components;
2) given a
Figure FSA000004268736000250
Algorithms without probability polynomial time can be based on the parameter | NAProbability of non-negligible | finding
Figure FSA000004268736000251
OrThe temporary DH component and { X } contained in (1)1,…,XnContains a different temporary DH-component, wherein
Figure FSA00000426873600031
|NAI denotes NAThe binary length of (c) satisfies:
a) function(s)
Figure FSA00000426873600032
I is 0 or more and n is defined inOutput of (2) is noted
Figure FSA00000426873600034
I is more than or equal to 0 and less than or equal to n, wherein
Figure FSA00000426873600035
And function
Figure FSA00000426873600036
I is 0 or more and n is defined in
Figure FSA00000426873600037
At the output ofI is more than or equal to 0 and is more than or equal to n;
b) and/or, is defined inValue of
Figure FSA000004268736000310
And is defined inValue of
Figure FSA000004268736000312
The same;
c) and/or, is defined in
Figure FSA000004268736000313
Value of <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msubsup> <mi>X</mi> <mn>1</mn> <mrow> <mo>&prime;</mo> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>X</mi> <mi>n</mi> <mrow> <mo>&prime;</mo> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msubsup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>)</mo> </mrow> </mrow> </math> Or <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msubsup> <mi>X</mi> <mn>1</mn> <mo>&prime;</mo> </msubsup> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msubsup> <mi>X</mi> <mi>n</mi> <mo>&prime;</mo> </msubsup> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> </mrow> </math> Or <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>,</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msubsup> <mi>X</mi> <mn>1</mn> <mrow> <mo>&prime;</mo> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>X</mi> <mi>n</mi> <mrow> <mo>&prime;</mo> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msubsup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> Or <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>,</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msubsup> <mi>X</mi> <mn>1</mn> <mrow> <mo>&prime;</mo> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msubsup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msubsup> <mi>X</mi> <mi>n</mi> <mrow> <mo>&prime;</mo> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msubsup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <msup> <mi>S</mi> <mo>&prime;</mo> </msup> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>,</mo> </mrow> </math> Is equal to
Figure FSA000004268736000318
Or
Figure FSA000004268736000319
Or
Figure FSA000004268736000320
OrWherein
Figure FSA000004268736000322
3) Assumption function
Figure FSA000004268736000323
I is more than or equal to 1 and less than or equal to n and the output is
Figure FSA000004268736000324
A random uniformly distributed element of (a) for any value
Figure FSA000004268736000325
Algorithm selection regardless of any polynomial time
Figure FSA000004268736000326
Satisfies the following conditions:
a) if n is 1, then
Figure FSA000004268736000327
Where ε (| N)A| is one with | N)AAnd | is a negligible function of the parameter. Epsilon (| N)AI) is negligible if for all sufficiently large NAAnd an arbitrary polynomial p (·),
Figure FSA000004268736000328
b) if n is more than or equal to 2, at most one k element {1, …, n } exists, so that for all i, 1 is more than or equal to i is not equal to k is more than or equal to n,
Figure FSA000004268736000329
alternatively, for all temporary DH components Xi,1≤i≤n,
Figure FSA000004268736000330
To obtainThen, identity isVerifier of (d) verifies tauAAnd will be τAAs a verifier
Figure FSA000004268736000333
Receiving
Figure FSA000004268736000334
The requirements of (A);
{x1,…,xnis asSelected private value, { x1,…,xnEither { x } or { x }1,…,xn,gSIs asSecret knowledge to be certified; by running the inventive method, the userProving its true knowledge of secret knowledge in a non-forgeable secure manner x1,…,xnEither { x } or { x }1,…,xn,gSAnd are right to
Figure FSA000004268736000338
Signature authentication is carried out; wherein,disclosed is
Figure FSA000004268736000340
Function(s)
Figure FSA000004268736000341
And E, Bpub,fs
Figure FSA000004268736000342
fA,λA
Figure FSA000004268736000343
φA,tAAre fixed and the same for a group of users or are negotiated by two or more users connected through a network or device.
2. The method of claim 1, if
Figure FSA000004268736000344
Is a userThe secret value of (2), then:wherein
Figure FSA00000426873600042
Is that a determined input parameter comprises
Figure FSA00000426873600043
Is output as
Figure FSA00000426873600044
An element of (1), fs(s) is a function of a determined input parameter including s;
Figure FSA00000426873600045
is part of the public key of a trusted user CA; part or all of the public key of CA is contained in mAPerforming the following steps; for each oneUse of the method and public key with identity ID
Figure FSA00000426873600046
User of (1), CA calculation
Figure FSA00000426873600047
And will be
Figure FSA00000426873600048
Sending the user ID through a secure channel; if it is
Figure FSA00000426873600049
Definition of
Figure FSA000004268736000410
Wherein
Figure FSA000004268736000411
Is that
Figure FSA000004268736000412
Or will be
Figure FSA000004268736000413
Is arranged as
Figure FSA000004268736000414
Where r is the user
Figure FSA000004268736000415
A random number is selected such that
Figure FSA000004268736000416
3. The method of claim 2, wherein <math> <mrow> <mo>{</mo> <msub> <mi>X</mi> <mn>1</mn> </msub> <mo>=</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>1</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>f</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mn>1</mn> </msub> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msub> <mi>X</mi> <mi>n</mi> </msub> <mo>=</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mi>n</mi> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>f</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msub> <mi>x</mi> <mi>n</mi> </msub> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>m</mi> <mi>A</mi> </msub> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>}</mo> </mrow> </math> Then, the verifier calculates <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> Or <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>t</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> Or <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>,</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>t</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> Or <math> <mrow> <msub> <mi>e</mi> <mi>A</mi> </msub> <msup> <mrow> <mo>(</mo> <msub> <mi>&tau;</mi> <mi>A</mi> </msub> <mo>,</mo> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> <mo>=</mo> <msub> <mi>e</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mrow> <mi>n</mi> <mo>+</mo> <mn>1</mn> </mrow> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>2</mn> </msubsup> <mo>)</mo> </mrow> <mo>,</mo> <msub> <mi>t</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>,</mo> </mrow> </math> Or
Figure FSA000004268736000422
Or
Figure FSA000004268736000423
Or
Figure FSA000004268736000424
Or
Figure FSA000004268736000425
Or
Figure FSA000004268736000426
OrOr
Figure FSA000004268736000428
Or
Figure FSA000004268736000429
To verify tauAThe correctness of the test; if it is
Figure FSA000004268736000430
Check validation
Figure FSA000004268736000431
For all DH-components or temporary DH-components XiI is more than or equal to 1 and less than or equal to n, and verified and/or not verified by a verifierAnd/or
Figure FSA000004268736000433
And/or XiAre not 0, and will be verified if such verification is performed
Figure FSA000004268736000434
And/or
Figure FSA000004268736000435
And/or XiThe X-axis coordinate value of (a) is not 0 as an acceptance { X [ ]1,…,Xn,mA,τAThe requirement of (b) }, whereinIs shown as
Figure FSA000004268736000437
The number of the unit cells of (a),is shown as
Figure FSA000004268736000439
A set of elements other than the unit cell; to verify or not verify
Figure FSA000004268736000440
Or
Figure FSA000004268736000441
Wherein
Figure FSA000004268736000442
Is shown as
Figure FSA000004268736000443
A unit cell of (a); verification of tauAAnd
Figure FSA000004268736000444
and/or
Figure FSA000004268736000445
And/or XiThe x-axis coordinate value of (1) is not 0 and verification
Figure FSA000004268736000446
Or
Figure FSA000004268736000447
The order of (a) and (b) may be arbitrary.
4. The method as claimed in claim 3, wherein
Figure FSA00000426873600051
A subset of (2) and a subset of fixed DH-components and mAAs a subset of users
Figure FSA00000426873600052
A portion of the public key of (a); m isAAs part of the trusted user CA public key;
if it isAnd isOnly the information that is disclosed is included,
Figure FSA00000426873600055
as a subset of (may be empty) users
Figure FSA00000426873600056
Part of the public key of the trusted user CA or part of the public key of the trusted user CA;
Figure FSA00000426873600057
Figure FSA00000426873600058
as a subset of users
Figure FSA00000426873600059
Or part of the public key of the trusted user CA.
5. The method of claim 3, wherein mAInvolving usersInformation exchanged with other users, and/or,
Figure FSA000004268736000511
and/or disclosed
Figure FSA000004268736000512
And/or comprises PpubPart or all of the public key of the trusted user CA;
Figure FSA000004268736000513
involving users
Figure FSA000004268736000514
And/or
Figure FSA000004268736000515
And/or
Figure FSA000004268736000516
And/or public key information and/or time stamp information, and/or contains PpubOf the public key of the trusted user CA, and/or
Figure FSA000004268736000517
Information exchanged with other users using said method via a network or a device
Figure FSA000004268736000518
And/orContaining a value vAWherein upsilon isAEither a null value or a role-specific value (i.e., different protocol roles for different upsilons)AValue).
6. The method of claim 5, wherein
Figure FSA000004268736000520
Comprises that
Figure FSA000004268736000521
Random numbers, and/or a subset of DH-components and/or other random numbers, which are mutually exchanged by users using the method via a network or a device
Figure FSA000004268736000522
And/or
Figure FSA000004268736000523
And/or identity and/or public key information and/or timestamp information.
7. The method of claims 3, 4, 5, 6, whereinMiddle function
Figure FSA000004268736000524
I is more than or equal to 0 and less than or equal to n, and the method is realized as follows:
1)
Figure FSA000004268736000525
form an output belonging to
Figure FSA000004268736000526
A function of, or if
Figure FSA000004268736000527
Is a point on an elliptic curveWhereinIs that
Figure FSA000004268736000530
X-axis coordinate value of (1), or ifOrder to
Figure FSA000004268736000532
Or if
Figure FSA000004268736000533
Order to
Figure FSA000004268736000534
Is equal to
Figure FSA000004268736000535
One length of (1) is | NAA substring of |, or
Figure FSA000004268736000536
Or
Figure FSA000004268736000537
WhereinOr
Figure FSA000004268736000539
Containing only usersFixing a subset of the DH components; or if
Figure FSA000004268736000541
WhereinOrder to
Figure FSA000004268736000543
WhereinIs that a determined input parameter comprisesThe output belongs to
Figure FSA000004268736000546
A function of, or if
Figure FSA000004268736000547
Order to
Figure FSA000004268736000548
Figure FSA000004268736000549
Is that a determined input parameter comprises
Figure FSA000004268736000550
The output belongs to
Figure FSA000004268736000551
A function of or
Figure FSA000004268736000552
OrWherein
Figure FSA000004268736000554
Or
Figure FSA000004268736000555
Is a function of the fixed DH component; if it is
Figure FSA000004268736000556
Then
Figure FSA000004268736000557
1 ≦ j ≦ n constitutes an output
Figure FSA000004268736000558
A function of, or "
Figure FSA000004268736000559
", or if
Figure FSA000004268736000560
Wherein
Figure FSA000004268736000561
Is composed of
Figure FSA000004268736000562
Coordinate values of
Figure FSA000004268736000563
Or
Figure FSA000004268736000564
Or
Figure FSA000004268736000565
Or
Figure FSA000004268736000566
Or ifThen
Figure FSA000004268736000568
If for some j, 1 ≦ j ≦ n,
Figure FSA000004268736000569
or
Figure FSA000004268736000570
Is not a groupAn element of (1), thenForm an output belonging to
Figure FSA000004268736000573
The hash function of (1); in particular, it is possible to use, for example,
Figure FSA00000426873600061
wherein
Figure FSA00000426873600062
Is a hash function; or
Figure FSA00000426873600063
Or
Figure FSA00000426873600064
Or
Figure FSA00000426873600065
Wherein
Figure FSA00000426873600066
Is XiX-axis coordinate value of (c)2Is a user
Figure FSA00000426873600067
Or a trusted user orInteractive user interface
Figure FSA00000426873600069
Selecting a value randomly from the Chinese characters;
2)
Figure FSA000004268736000610
i is not less than 0 and not more than n, from F (S)F) Deriving, where F is a certain input parameter including
Figure FSA000004268736000611
Or the input parameters of F at least comprise
Figure FSA000004268736000612
And a transient DH component.
8. The method of claim 7, wherein <math> <mrow> <msub> <mi>f</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <mo>.</mo> <mo>.</mo> <mo>.</mo> <mo>,</mo> <msup> <msub> <mi>X</mi> <mi>n</mi> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>,</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>B</mi> <mi>A</mi> <mn>0</mn> </msubsup> <msup> <mrow> <mo>(</mo> <msubsup> <mi>g</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>0</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <msup> <msub> <mi>X</mi> <mn>1</mn> </msub> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mn>1</mn> </msubsup> <mo>)</mo> </mrow> </mrow> </msup> <mo>.</mo> <mo>.</mo> <mo>.</mo> <msubsup> <mi>X</mi> <mi>n</mi> <mrow> <msubsup> <mi>h</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>n</mi> </msubsup> <mo>)</mo> </mrow> </mrow> </msubsup> <mo>)</mo> </mrow> <msup> <mrow> <mo>(</mo> <msub> <mi>&lambda;</mi> <mi>A</mi> </msub> <mrow> <mo>(</mo> <msubsup> <mi>S</mi> <mi>A</mi> <mi>&lambda;</mi> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> </mrow> <mrow> <mo>-</mo> <mn>1</mn> </mrow> </msup> </msup> <mo>,</mo> </mrow> </math> WhereinIs shown as
Figure FSA000004268736000615
In that
Figure FSA000004268736000616
The inverse of (1).
9. The method of claim 8, wherein the function φA,HAIs a function of the same function as the function,
Figure FSA000004268736000617
containing only user identities
Figure FSA000004268736000618
Or in addition to the user identity
Figure FSA000004268736000619
Outer cover
Figure FSA000004268736000620
Further comprises a compound containing PpubOf a trusted user CA and/or a user
Figure FSA000004268736000621
A subset of the fixed DH components of (a); if it is
Figure FSA000004268736000622
And is
Figure FSA000004268736000623
Is a user
Figure FSA000004268736000624
Secret value ofAnd n is more than or equal to 2.
10. The method of claim 9, wherein
Figure FSA000004268736000626
HAIs an output belonging to
Figure FSA000004268736000627
The hash function of (a) of (b),
Figure FSA000004268736000628
Figure FSA000004268736000629
fpub(s)=s,fs(s)=s,
Figure FSA000004268736000631
Figure FSA000004268736000632
each of which constitutes a cyclic group or domain; n is a radical ofAIs a prime number, or the product of two or more prime numbers.
11. The method of claim 10, wherein
Figure FSA000004268736000634
If it is
Figure FSA000004268736000635
Is a value that is disclosed as a value,or
Figure FSA000004268736000637
12. The method of claim 10, wherein τ is provided if n-1AThe following calculation method is adopted:
(1)
Figure FSA000004268736000638
wherein
Figure FSA000004268736000639
Or is equal to
Figure FSA000004268736000640
Or
Figure FSA000004268736000641
Is X1Or
Figure FSA000004268736000642
Or
Figure FSA000004268736000643
A function of the coordinate values;
(2) or,whereinIn (1)Either one being an output belonging to
Figure FSA000004268736000646
The hash function of (a) of (b),
Figure FSA000004268736000647
either a hash function or
Figure FSA000004268736000648
A function of the coordinate values;
(3) or,
Figure FSA000004268736000649
or
Figure FSA000004268736000650
Wherein
Figure FSA000004268736000651
(4) Or,wherein
Figure FSA000004268736000653
And
Figure FSA000004268736000654
is an output belongs to
Figure FSA000004268736000655
The hash function of (a) of (b),
Figure FSA000004268736000656
Figure FSA000004268736000657
(5) or,
Figure FSA000004268736000658
wherein
Figure FSA000004268736000659
And
Figure FSA000004268736000660
is an output belongs to
Figure FSA000004268736000661
A hash function of
Figure FSA000004268736000662
(6) Or,
Figure FSA00000426873600071
wherein
Figure FSA00000426873600072
Figure FSA00000426873600073
WhereinH is a hash function, "| |" represents the connection of character strings, l is more than or equal to 1; if n > 1, then τAThe following calculation method is adopted:
(1)
Figure FSA00000426873600076
wherein
Figure FSA00000426873600077
(2) Or,wherein
Figure FSA00000426873600079
(3) Or,
Figure FSA000004268736000710
(4) or,
Figure FSA000004268736000711
wherein DH component X1Is fixed for use in multiple sessions;
(5) or,
Figure FSA000004268736000712
or
Figure FSA000004268736000713
Or
Figure FSA000004268736000714
Or
Figure FSA000004268736000715
Wherein n is 2, the total weight of the compound,
Figure FSA000004268736000716
13. the method as described in 12 above, wherein
Figure FSA000004268736000717
And/or X1And/or X2And/orAnd/or
Figure FSA000004268736000719
And/or
Figure FSA000004268736000720
As users
Figure FSA000004268736000721
A portion of the public key of (a);
Figure FSA000004268736000722
and/or
Figure FSA000004268736000723
And/or
Figure FSA000004268736000724
As part of the public key of the trusted user CA; and/or
Figure FSA000004268736000725
Or
Figure FSA000004268736000726
OrAs a subset of users
Figure FSA000004268736000728
Part of the public key of the trusted user CA or part of the public key of the trusted user CA; c orOr
Figure FSA000004268736000730
Can be both used by users
Figure FSA000004268736000731
Can also be generated byThe interactive user generates and sends to
Figure FSA000004268736000733
14. The method of claim 7, wherein F (S)F)=H(1,SF)||…||H(l,SF) H is a hash function, l ≧ 1.
CN2011100278085A 2011-01-26 2011-01-26 Non-forgeable knowledge proof and message signature authentication method based on bilinear pairings Pending CN102624524A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011100278085A CN102624524A (en) 2011-01-26 2011-01-26 Non-forgeable knowledge proof and message signature authentication method based on bilinear pairings

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011100278085A CN102624524A (en) 2011-01-26 2011-01-26 Non-forgeable knowledge proof and message signature authentication method based on bilinear pairings

Publications (1)

Publication Number Publication Date
CN102624524A true CN102624524A (en) 2012-08-01

Family

ID=46564216

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011100278085A Pending CN102624524A (en) 2011-01-26 2011-01-26 Non-forgeable knowledge proof and message signature authentication method based on bilinear pairings

Country Status (1)

Country Link
CN (1) CN102624524A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103746811A (en) * 2013-12-27 2014-04-23 西安邮电大学 Anonymous signcryption method from identity public key system to certificate public key system
CN106936593A (en) * 2017-05-12 2017-07-07 西安电子科技大学 Based on the efficient anonymity of elliptic curve without certificate multi-receiver label decryption method

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103746811A (en) * 2013-12-27 2014-04-23 西安邮电大学 Anonymous signcryption method from identity public key system to certificate public key system
CN103746811B (en) * 2013-12-27 2017-01-25 西安邮电大学 Anonymous signcryption method from identity public key system to certificate public key system
CN106936593A (en) * 2017-05-12 2017-07-07 西安电子科技大学 Based on the efficient anonymity of elliptic curve without certificate multi-receiver label decryption method
CN106936593B (en) * 2017-05-12 2019-12-17 西安电子科技大学 Certificateless multi-receiver signcryption method based on elliptic curve efficient anonymity

Similar Documents

Publication Publication Date Title
CN109584978B (en) Information processing method and system based on signature aggregation medical health monitoring network model
CN110912708B (en) Ring signature generation method based on SM9 digital signature algorithm
US8464060B2 (en) Method and structure for self-sealed joint proof-of-knowledge and diffie-hellman key-exchange protocols
CN107733648B (en) Identity-based RSA digital signature generation method and system
CN111342973B (en) Safe bidirectional heterogeneous digital signature method between PKI and IBC
CN107659395B (en) Identity-based distributed authentication method and system in multi-server environment
CN102387019B (en) Certificateless partially blind signature method
CN107437993A (en) One kind is based on without the side&#39;s authentication key agreement method of certificate two and device
CN104767612B (en) It is a kind of from the label decryption method without certificate environment to PKIX environment
CN111130804B (en) SM2 algorithm-based collaborative signature method, device, system and medium
CN108650097B (en) Efficient digital signature aggregation method
CN107342859A (en) Anonymous authentication method and application thereof
CN103563288B (en) Single round key exchange protocol based on password
CN101626364A (en) Method for authentication for resisting secrete data disclosure and key exchange based on passwords
CN107248909A (en) It is a kind of based on SM2 algorithms without Credential-Security endorsement method
CN104767611B (en) It is a kind of from PKIX environment to the label decryption method without certificate environment
CN106936584B (en) Method for constructing certificateless public key cryptosystem
CN111654366A (en) Secure bidirectional heterogeneous strong-designation verifier signature method between PKI and IBC
CN113132104A (en) Active and safe ECDSA (electronic signature SA) digital signature two-party generation method
Mu et al. Secure two-party SM9 signing
CN113179153B (en) User authentication and key agreement method based on certificateless
Chait et al. An enhanced RSA-based aggregate signature scheme to reduce blockchain size
CN112636918B (en) Efficient two-party collaborative signature method based on SM2
CN101645870B (en) Method for exchanging secret key effectively and fairly
CN102624524A (en) Non-forgeable knowledge proof and message signature authentication method based on bilinear pairings

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20120801