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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 171
- 238000012795 verification Methods 0.000 claims description 108
- 238000013507 mapping Methods 0.000 claims description 34
- 238000004364 calculation method Methods 0.000 claims description 25
- 230000002452 interceptive effect Effects 0.000 claims description 16
- 241000764238 Isis Species 0.000 claims description 10
- 239000004576 sand Substances 0.000 claims description 9
- 238000004519 manufacturing process Methods 0.000 claims description 7
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 125000004122 cyclic group Chemical group 0.000 claims description 6
- 229940037201 oris Drugs 0.000 claims description 6
- 150000001875 compounds Chemical class 0.000 claims description 4
- 230000001052 transient effect Effects 0.000 claims description 2
- 238000010200 validation analysis Methods 0.000 claims description 2
- XOOUIPVCVHRTMJ-UHFFFAOYSA-L zinc stearate Chemical group [Zn+2].CCCCCCCCCCCCCCCCCC([O-])=O.CCCCCCCCCCCCCCCCCC([O-])=O XOOUIPVCVHRTMJ-UHFFFAOYSA-L 0.000 claims description 2
- 238000000605 extraction Methods 0.000 abstract description 3
- 230000003993 interaction Effects 0.000 description 22
- 238000009795 derivation Methods 0.000 description 20
- 238000012790 confirmation Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 238000006243 chemical reaction Methods 0.000 description 5
- 239000000654 additive Substances 0.000 description 4
- 230000000996 additive effect Effects 0.000 description 4
- 101100272279 Beauveria bassiana Beas gene Proteins 0.000 description 2
- 241000156867 Cryptodacus tau Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 229960004717 insulin aspart Drugs 0.000 description 1
- 239000007788 liquid Substances 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- QVRVXSZKCXFBTE-UHFFFAOYSA-N n-[4-(6,7-dimethoxy-3,4-dihydro-1h-isoquinolin-2-yl)butyl]-2-(2-fluoroethoxy)-5-methylbenzamide Chemical compound C1C=2C=C(OC)C(OC)=CC=2CCN1CCCCNC(=O)C1=CC(C)=CC=C1OCCF QVRVXSZKCXFBTE-UHFFFAOYSA-N 0.000 description 1
- VOMXSOIBEJBQNF-UTTRGDHVSA-N novorapid Chemical compound C([C@H](NC(=O)[C@H](CC(C)C)NC(=O)[C@H](CO)NC(=O)[C@H](CS)NC(=O)[C@H]([C@@H](C)CC)NC(=O)[C@H](CO)NC(=O)[C@H]([C@@H](C)O)NC(=O)[C@H](CS)NC(=O)[C@H](CS)NC(=O)[C@H](CCC(N)=O)NC(=O)[C@H](CCC(O)=O)NC(=O)[C@H](C(C)C)NC(=O)[C@@H](NC(=O)CN)[C@@H](C)CC)C(=O)N[C@@H](CCC(N)=O)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CCC(O)=O)C(=O)N[C@@H](CC(N)=O)C(=O)N[C@@H](CC=1C=CC(O)=CC=1)C(=O)N[C@@H](CS)C(=O)N[C@@H](CC(N)=O)C(O)=O)C1=CC=C(O)C=C1.C([C@@H](C(=O)N[C@@H](CC(C)C)C(=O)N[C@H](C(=O)N[C@@H](CCC(O)=O)C(=O)N[C@@H](C)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](CC=1C=CC(O)=CC=1)C(=O)N[C@@H](CC(C)C)C(=O)N[C@@H](C(C)C)C(=O)N[C@@H](CS)C(=O)NCC(=O)N[C@@H](CCC(O)=O)C(=O)N[C@@H](CCCNC(N)=N)C(=O)NCC(=O)N[C@@H](CC=1C=CC=CC=1)C(=O)N[C@@H](CC=1C=CC=CC=1)C(=O)N[C@@H](CC=1C=CC(O)=CC=1)C(=O)N[C@@H]([C@@H](C)O)C(=O)N[C@@H](CC(O)=O)C(=O)N[C@@H](CCCCN)C(=O)N[C@@H]([C@@H](C)O)C(O)=O)C(C)C)NC(=O)[C@H](CO)NC(=O)CNC(=O)[C@H](CS)NC(=O)[C@H](CC(C)C)NC(=O)[C@H](CC=1NC=NC=1)NC(=O)[C@H](CCC(N)=O)NC(=O)[C@H](CC(N)=O)NC(=O)[C@@H](NC(=O)[C@@H](N)CC=1C=CC=CC=1)C(C)C)C1=CN=CN1 VOMXSOIBEJBQNF-UTTRGDHVSA-N 0.000 description 1
- 239000011541 reaction mixture Substances 0.000 description 1
- 239000002904 solvent Substances 0.000 description 1
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
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 mappingOrWhereinIs NAFinite Abel group of order (for most cases)Is NAA cyclic group or field of order). Note the bookAs a collection of numbersNote the bookAll 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, thenIn describing the method of the present invention, we will now describeAre described as multiplicative groups. In some of the literature, it is known that,also described as an additive group. Here, we emphasize thatThe 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 describeAre described as multiplicative groups.Is composed ofThe production unit of (1) is provided with a production unit,is composed ofThe 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 casesAt this timeAndmay or may not be equal. If it isLet us call eAIs a symmetric bilinear pair, ifLet us call eAAre asymmetric bilinear pairs. Note that for asymmetric bilinear pairs, DDH is assumed to beOrThe above is still true. For asymmetric bilinear pairs Is greater than the elements inThe elements in (1) are shorter; also, for asymmetric bilinear pairs Is greater than the elements inThe elements in (1) are shorter;
is called a valid bilinear pair if the following condition (forThe effective bilinear pairs of (c) are similarly defined):
(2) For arbitrary <math>
<mrow>
<mi>a</mi>
<mo>,</mo>
<mi>b</mi>
<mo>∈</mo>
<msubsup>
<mi>Z</mi>
<msub>
<mi>N</mi>
<mi>A</mi>
</msub>
<mo>*</mo>
</msubsup>
<mo>,</mo>
</mrow>
</math>
(3) For arbitrary 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,and/orIs 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)OrWhere 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,and/orIs an abelian cluster (abelian variety) based on a finite Field, where elliptic curves are special abelian clusters with dimension 1.Usually a finite Field, which is usually a large enough extension of the finite Field. Although for the bilinear pairs known so far,andorDifferent but not different fromExclude future ability to findAndorThe 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 useIn some cases, it is possible to use,there is a homomorphic mapping between. When in useIn some cases, it is possible to use,the expression of the elements inThe representation of the middle element is shorter, or,the expression of the elements inThe representation of the middle element is shorter. For these special groups, the representation in which the element may belong toOr(this particular group is advantageous for increasing communication complexity). When we need oneAn assistantToWhen 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 atThe above holds, namely: given a(wherein x is selected fromSelected 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.,) 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 asThe 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 asOne 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 stringsIs x1,x2,x3,…,xt2 carry 0-1 string code representation, thenWhere "|" represents a character string junction operator. Attention is paid toThe 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 asHas a public signature key U, a public signature key U and a signer identityIs performed by a trusted third party user or authority. Typically, a trusted third party user or institution will checkAnd the validity of U, thenMake a digital signature and willAnd the signature of the trusted third party forms a targetPublic key certificate, as
Digital signature correlation work and comparison:
given aWhereinAre all open, eAIs oneAn efficient bilinear pairwise mapping (note that,the elements in (1) are more indicative thanShort in (c), and therefore correspondingly short in the signature obtained below). And m is information to be signed. The signer has an identity ofLet H1Is a domain of {0, 1}*The output belongs toA 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 verification: verifier gets m and tauAThen, computing verificationIf 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 givenA malicious adversary can forge it intoWherein H1(m′)=cH1(m) of the reaction mixture. By means of such an attack it is possible to,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
Signature: signer computationWherein Is X1Is from the x-axis coordinate value of, or deltaWith 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 verifyIf the equation is true, the signature is accepted, otherwise, the signature is rejected. WhereinAndmay 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 aWhereinIs a non-limiting disclosure of the components of, HAis an output belonging toThe hash function of (1). Let eAIs oneEfficient bilinear pairwise mapping ofInAndorder toIs a hash function.
Trusted user public and private keys: trusted user computingWherein s is selected fromThe selection is carried out randomly. FromC is randomly selected. Order toAnd c andis 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 ofIs recorded as the public key of the userUser' sIs marked as Having a trusted user computing and transmitting to the user via a secure channel
Currently, the best identity-based signature scheme is that given by Hess, as follows:
hess signature: the signer makes the following calculations
(2) calculating v ═ h (m, R);
(3) computing
(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
(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,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 whichCan be pre-calculated), 1 exponential operation, 1 inversion operation and 1The 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):
Signature: signer computation WhereinWill (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 verifyIf 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),the calculation of (a) is equivalent to 1.5 exponential operations. Note that if X1As part of the public key of the signer, thenOr 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 schemeThe 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 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 verifyIf 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(Note thatDirectly 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 schemeThe 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):
And (3) verification: to obtain (m, (X)1,X2,τA) After) the verifier makes the following calculation: calculating whether to verifyIf 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 operationThus, 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 schemeThe 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 keyMay be calculated only in the offline pre-calculation stage (i.e. calculation) Phase) usage, while the online phase of the signature (i.e., computation)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 aWhereinIs a non-limiting disclosure of the components of, HAis an output belonging toThe hash function of (1). Let eAIs oneEfficient bilinear pairwise mapping, whereinAndorder toIs a hash function.
Trusted user public and private keys: trusted user computingWherein s is selected fromThe selection is carried out randomly. FromC is randomly selected. Order toAnd c andis 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 ofIs recorded as the public key of the userUser' sIs marked asUser' sIs marked asUser' sIs marked asUser' sIs marked asUser' sIs marked as Andcalculated by a trusted user and sent to the user via a secure channelAndand
at present, the best identity-based key exchange scheme is that given by Smart, as follows
(1)ComputingWherein x is by the userIn thatThe selection is carried out randomly. User' sSending X to user
(2)ComputingWherein y is by the userIn thatThe selection is carried out randomly. User' sSending Y to user
(3) After Y is obtained, the userComputingAfter X is obtained, the userComputingAttention is paid to
(4) Session key derivation: user' sCalculating session key K KDF (K)A) Where KDF is a deterministic key derivation function; user' sCalculating session key K KDF (K)B)。
Computational complexity analysis of Smart protocol: each userOr2 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。
If the inventive method is used only for two users, e.g. forAnd(then no user is needed)Participate), a key exchange is performed. User' sTo obtain AuthenticationUser' sTo obtain AuthenticationAnd if the verification fails, stopping the operation.
Session key derivation and authentication: user' sComputingUser' sComputingUser' sSetting the session key to K KDF (K)A,SAB) (ii) a User' sSetting the session key to K KDF (K)B,SAB) Wherein
If the inventive method is implemented in three users,andandto exchange keys therebetween. User' sTo obtain And post verificationAndif the verification is passed, the userComputing
Three-party user session key derivation: order toUser' sSetting 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' sCompute and send For certificateless key exchange, X may be1As a userIs part of the public key of (1).
(2) User' sCompute and send For certificateless key exchange, Y may be1As a userIs part of the public key of (1).
(3) User' sCompute and send For certificateless key exchange, Z may be1As a userIs part of the public key of (1).
If the inventive method is used only for two users, e.g. forAnd(then no user is needed)Participate), a key exchange is performed. User' sTo obtain AuthenticationUser' sTo obtain Authentication
Session key derivation and authentication: user' sComputing User' sComputing (for certificateless implementations, userComputingUser' sComputing) For identity-based implementations, the userAndone interaction can generate 2 session keys, one fromAndlead out, a fromAndand (6) exporting.
If the inventive method is implemented in three users,andandto exchange keys therebetween. User' sTo obtain And then, verifyAndif the verification is passed, the userComputingAnd
three-party user session key derivation: order toUser' sDeriving two session keys asAnduser' sDeriving two session keysAnduser' sDeriving two session keys And
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 usern is more than or equal to 1, whereinIs one with NAFinite Abelian group of ordersAre each generated fromI 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 axesI is more than or equal to 1 and less than or equal to n, constituting a certain at least one parameterA function of (a); each one of which isI is more than or equal to 1 and less than or equal to n, constituting a certain at least one parameter xiA function of whereinIdentity isGet mAWherein m isAIs a collection of public information, whereinIs a userThe 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 userAnd may also include using the inventive methods andidentity 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,including a portion of the ciphertext to provide authentication); user' sTo obtainAnd the userTo obtain mAThe sequence of (A) can be arbitrary; x as described above1,...,XnCalled userDH 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' sComputingWhereinForm a one-way exponential function with an output ofOne of the encoding modes of an element (i.e.,of an element orIf 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);is one with NAFinite Abelian group of ordersThe generation element of (a) is generated,forming a certain at least one parameterAnd its output isOne of the elements of (a) or (b),each of 0 ≦ i ≦ n constitutes a certain valueAs a function of the input parameters. (in the usual caseI is not less than 0 and not more than n and the output isOne element of (1). However, the inventive method can be applied to functions whose general output is an integer or real number0 ≦ i ≦ n, e.g., if Can be directly equal toThe output for generality does not necessarily belong toIs/are as follows0 ≦ i ≦ n, and in general,is thatAn element of, even1. ltoreq. i.ltoreq.n are eachOne element of (1). ) Lambda [ alpha ]AForm a definite oneAs a function of the input parameters, τAIs thatOf an element orA coordinate value of one element;is marked asIs disclosed. Note the bookIn the group of Middle removingAnother one out of them is noted asNote the bookIn the group of Either public or userAll haveThe secret value of (a); if it isIs a userA secret value ofAnd isIs 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), whereIs a secret value that is a function of,e is a certain input parameter includingAs a function of (a) or (b),form a one-way exponential function and have an output ofOne of the elements of (a) or (b),forming a certain at least one parameterFunction of fpub(s) forming a defined function of at least one parameter s; if it isDefinition ofWhereinIs thatOr will beIs arranged asWhere r is the userA 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>≠</mo>
<mn>0</mn>
<mo>.</mo>
</mrow>
</math>
(1) if it isAre 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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
<msub>
<mi>τ</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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
<msub>
<mi>τ</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, ifAre all public values and eAIs oneEfficient bilinear pairings mapping: <math>
<mrow>
<msub>
<mi>e</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>τ</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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</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>τ</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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</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, ifIs a secret value and eAIs oneEfficient bilinear pairings mapping:orThis case corresponds to τAThe verifier may recover tau, as represented by the x-axis coordinate valuesATwo different y-axis coordinate values.
(4) Or, ifIs a secret value and eAIs oneEfficient bilinear pairings mapping:orThis case corresponds to τAThe verifier may recover tau, as represented by the x-axis coordinate valuesATwo different y-axis coordinate values.
(5) Or, ifIs a secret value and eAIs oneEfficient bilinear pairings mapping:orThis 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 oneEfficient bilinear pairings mapping: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 oneOrAn efficient bi-linear pair mapping is achieved,is NAIs a finite Abelian group of orders andorIs thatThe production unit of (1) is provided with a production unit,forming a certain at least one parameterAnd its output isOne of the elements of (a) or (b),is that a determined input parameter comprisesHas an output ofOne of the elements of (a) or (b),is that a determined input parameter comprisesHas an output ofOne element of (1);is that a certain input parameter comprises PpubFunction having an output ofOne of the elements of (a) or (b),is that a determined input parameter comprisesIs output asOne element of (1);i is more than or equal to 0 and less than or equal to n meets the following requirements:
1) is provided withIs a function ofI is greater than or equal to 0 and less than or equal to n, thenOrComprisesAnd all the temporary DH components (or the x-axis coordinate values of all the temporary DH components), orComprisesAnd one set of coordinate axes of all DH components (in particular, x-axis coordinate values of all DH components).
2) Given aAlgorithms 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|NAI denotes NAThe binary length of (c) satisfies:
a) function(s)I is 0 or more and n is defined inOutput of (2) is notedI is more than or equal to 0 and less than or equal to n, whereinAnd functionI is 0 or more and n is defined inAt the output ofI is more than or equal to 0 and is more than or equal to n.
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>′</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>′</mo>
<msubsup>
<mi>h</mi>
<mi>A</mi>
<mn>1</mn>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</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>′</mo>
<msubsup>
<mi>h</mi>
<mi>A</mi>
<mi>n</mi>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</mo>
</msup>
<mi>A</mi>
<mi>n</mi>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
</msubsup>
<mo>,</mo>
<msub>
<mi>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</mo>
</msup>
<mi>A</mi>
<mi>λ</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
<msub>
<mi>τ</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>′</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>′</mo>
</msubsup>
<mrow>
<msubsup>
<mi>h</mi>
<mi>A</mi>
<mn>1</mn>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</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>′</mo>
</msubsup>
<mrow>
<msubsup>
<mi>h</mi>
<mi>A</mi>
<mi>n</mi>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</mo>
</msup>
<mi>A</mi>
<mi>n</mi>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
</msup>
<mo>,</mo>
<msub>
<mi>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</mo>
</msup>
<mi>A</mi>
<mi>λ</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
<msub>
<mi>τ</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>τ</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>′</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>′</mo>
<msubsup>
<mi>h</mi>
<mi>A</mi>
<mn>1</mn>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</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>′</mo>
<msubsup>
<mi>h</mi>
<mi>A</mi>
<mi>n</mi>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</mo>
</msup>
<mi>A</mi>
<mi>n</mi>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
</msubsup>
<mo>,</mo>
<msub>
<mi>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</mo>
</msup>
<mi>A</mi>
<mi>λ</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>τ</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>′</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>′</mo>
<msubsup>
<mi>h</mi>
<mi>A</mi>
<mn>1</mn>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</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>′</mo>
<msubsup>
<mi>h</mi>
<mi>A</mi>
<mi>n</mi>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</mo>
</msup>
<mi>A</mi>
<mi>n</mi>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
</msubsup>
<mo>,</mo>
<msub>
<mi>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</mo>
</msup>
<mi>A</mi>
<mi>λ</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 Or OrOrWherein
3) Assumption functionI is more than or equal to 1 and less than or equal to n and the output isA random uniformly distributed element of (a) for any valueAlgorithm selection regardless of any polynomial timeSatisfies the following conditions:
a) if n is 1, thenWhere ε (| 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 (·),
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,alternatively, for all temporary DH components Xi,1≤i≤n,
To obtainThen, identity isVerifier verification ofI is not less than 1 and not more than t, whereinCity of presentationIn which unit cell is removedThe set of elements remaining thereafter (in application,can be prepared by the following methodAnd (4) checking: (1)(2)wherein G is a group of order N andis a subgroup of G). Tau isAAnd will be τAAs a verifierReceivingThe 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 toSignature authentication is performed.
In the above-mentioned inventive process, wherein,disclosed isFunction(s)And E, Bpub,fs,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, ifIs a userThe secret value of (2), then:whereinIs that a determined input parameter comprisesIs output asOne of the elements (in general,),fs(s) is a function of a determined input parameter including s;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 IDUser of (1), CA calculationAnd will beThe 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>τ</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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
<msub>
<mi>τ</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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
<msub>
<mi>τ</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>τ</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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</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>τ</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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</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> OrOrOrOrOrOrOrOrTo 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 verifierAnd/orAnd/or XiAre not 0, and will be verified if such verification is performedAnd/orAnd/or XiThe X-axis coordinate value of (a) is not 0 as an acceptance { X [ ]1,…,Xn,mA,τAThe requirement of (b) }, whereinIs shown asThe number of the unit cells of (a),is shown asA set of elements other than a unit cell. To verify or not verifyOrWhereinIs shown asA unit cell of (a). Verification of tauAAndand/orAnd/or XiThe x-axis coordinate value of (1) is not 0 and verificationOrThe 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, whereinA 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.)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,as a subset of (may be empty) usersOr part of the public key of the trusted user CA. As a subset of (may be empty) usersOr part of the public key of the trusted user CA.
5. The method as described in 3 above, wherein mAInvolving usersInformation exchanged with other users, and/or,and/or disclosedAnd/or comprises PpubPart or all of the public key of the trusted user CA;involving usersAnd/orAnd/or(in an identity-based cryptosystem, the identity of the user andorInterchangeable) and/or public key information and/or timestamp information, and/or contain PpubOf the public key of the trusted user CA, and/orInformation exchanged with other users using said method via a network or a deviceAnd/orContaining 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(whereinOne subset may be the same user, or even the same userCorrespond 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, whereinComprises thatAnd 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 functionI is more than or equal to 0 and less than or equal to n, and the method is realized as follows:
1)constituting an output (the input comprising a subset of the public information of the fixed DH-component and/or the user identity) belonging toOr ifIs a point on an elliptic curveWhereinIs thatX-axis coordinate value of (1), or ifOrder toOr ifOrder toIs equal toOne 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 toHash function of) orOrWherein(in general c)1Is thatRandomly selecting a constant and using the constant as a userPart of, or with, the public keyThe interactive user generates and sends toOr withA coordinate value of a DH component of the interactive user contribution), orContaining only usersA subset of the DH components is fixed (e.g.,orWhereinIs X1Of (2), in particular, X1X-axis coordinate value of (2), or X1Exclusive or of coordinate values, etc.); or ifWhereinOrder toWhereinIs that a determined input parameter comprisesThe output belongs toOr ifOrder to Is that a determined input parameter comprisesThe output belongs toA function of orOrWherein∩mA(c1Can be used as a userPart of a public key) orIs a function of the fixed DH composition (coordinate values) (e.g.,output a coordinate value of a certain fixed DH component, in particular, a coordinate value of the x-axis); if it isThen1 ≦ j ≦ n constitutes an outputA function of, orOr ifWhereinIs composed ofCoordinate values ofOrOrOrOr ifThenIf for some j, 1 ≦ j ≦ n,orIs not a groupOne element (or no group) ofOne of the coordinate values of one of the elements), thenForm an output belonging toSuch 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,whereinIs a hash function; orOrOrWhereinIs XiX-axis coordinate value of (c)2Is (user)Or a trusted user orInteractive 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, withThe interactive user or the trusted user is generated and sent toOf (d); or,whereinIs XiX-axis coordinate values of;
2)i is not less than 0 and not more than n, from F (S)F) Deriving, where F is a certain input parameter includingOr the input parameters of F at least compriseAnd 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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>)</mo>
</mrow>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
</msup>
<mo>,</mo>
</mrow>
</math> WhereinIs shown asIn thatThe 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,containing only user identitiesOr in addition to the user identityOuter coverFurther comprises a compound containing PpubOf a trusted user CA and/or a userA subset of the fixed DH components of (a); if it isAnd isIs a userSecret value ofAnd n is more than or equal to 2.
10. The method as described in the above 9, whereinHAIs an output belonging toThe hash function of (a) of (b), fpub(s)=s,fs(s)=s, 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 isIs a value that is disclosed as a value,or <math>
<mrow>
<msubsup>
<mi>g</mi>
<mi>A</mi>
<mn>1</mn>
</msubsup>
<mo>≠</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)orWherein Or is equal to(in general, c)2C is randomly and uniformly distributed inC and/orCan be used as a userPart of the public key, { c2A subset of c could be made available to the userCan also be generated byThe interactive user generates and sends to) Or is orIs X1A function of the coordinate values (e.g.,is X1One of the two coordinate values, in particular the x-axis coordinate value, for NAModulo) or withOne coordinate value (particularly x-axis coordinate value) for a DH component generated by an interactive user for NAAnd (6) taking a mold.
(2) Or,orWhereinIs an output belonging toThe hash function of (a) of (b),either a hash function orA function of the coordinate values. For example,orOr
(3) Or, <math>
<mrow>
<msub>
<mi>τ</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> orWherein
(5) or,whereinAndis an output belongs toA hash function of(i.e., the order of input of the functions here is forced to be different).
(6) Or, <math>
<mrow>
<msub>
<mi>τ</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 WhereinH 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>τ</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
(11) or,orOrOrWherein 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>≠</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, whereinAnd/or X1And/or X2And/orAnd/orAnd/orAs usersA portion of the public key of (a);and/orAnd/orAs part of the public key of the trusted user CA; and/orOrOr As a subset of (may be empty) usersOr part of the public key of the trusted user CA. c can be used by usersCan also be generated byThe interactive user generates and sends to(if c is a group consisting ofThe interactive user generates and sends toC is generally not asPart 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
Detailed Description
Based on the above summary, we present some preferred embodiments.
Signature implementation:
given aWhereinAre all open, eAIs oneAn efficient bilinear pairwise mapping (note that,the elements in (1) are more indicative thanShort in (c), and therefore correspondingly short in the signature obtained below). Based onAn efficient bilinear pair mapping can be obtained accordingly.Andeither in the same cyclic group or in different groups (Andwith a different more preferred). If it isAndin the same way, the first and second,andmay or may not be equal. And m is information to be signed. The signer has an identity of
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:and/orAnd/or delta, wherein Is X1Is from the x-axis coordinate value of, or deltaOf a randomly selected constant c, orHδIs an output belonging toThe hash function of (a) of (b),is thatA subset of (a). In some interactive application environments, δ may be defined by the userThe other users of the interaction generate and send to
Signature: signer computationWherein H1Is a domain of {0, 1}*The output belongs toA 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 usedAs H1One of the parameters is input. If x1H1(X1M) + δ equal to 0, letOr 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, ifThe signature verifier calculates whether to verifyOrIf it isVerifier verificationThe establishment of the equation is that the verifier accepts tauAAs a prerequisite for the signature of the message m. In the authenticationPreviously, the signature verifier could also checkAnd/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,and/orCan be calculated and stored in advance by the signature verifier, orAnd/orAs 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), andorAs 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:andthe public key of the signer may also contain a value that can be calculated in advance by the verifier.
Signature: signer computationWherein H1Is an output belonging toA hash function of (1). δ is 0(δ — 0 is a preferred embodiment), or δ is a member of the groupIn which a randomly selected constant, or δ is X1,X2One of the x-axis coordinate values of (a) to NATaking a model, orWherein HδIs an output belonging toThe hash function of (a) of (b),is thatA subset of (a). In some interactive application environments, δ may be defined by the userThe other users of the interaction generate and send toτ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 verifyThe establishment of the equation is that the verifier accepts tauAAs a prerequisite for the signature of the message m. Wherein,and/orCan be calculated and stored in advance by the signature verifier, orAnd/orAs 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), andorAs acceptance τAAs a prerequisite for the signature of the message m.
Signature embodiment-3:
public key: the public key of the signer includes:andthe 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 computationWherein H1Is an output belonging toA hash function of (1). δ is 0(δ — 0 is a preferred embodiment), or δ is a member of the groupIn which a randomly selected constant, or δ is X1,X2One of the x-axis coordinate values of (a) to NATaking a model, orWherein HδIs an output belonging toThe hash function of (a) of (b),is thatA subset of (a). In some interactive applicationsIn the use environment, delta can be defined by the userThe other users of the interaction generate and send toτ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 verifyThe establishment of the equation is that the verifier accepts tauAAs a prerequisite for the signature of the message m. Wherein,and/orCan be calculated and stored in advance by the signature verifier, orAnd/orAs 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), andorAs acceptance τAAs a prerequisite for the signature of the message m.
Signature embodiment-4:
public key: the public key of the signer includes:andthe public key of the signer may also contain a value that the verifier can calculate in advance:andand
Signature: signer computationWhereinIs an output belonging toA hash function of (ifCan order),Each of which constitutes an output belonging toOr the value of the x-axis coordinate of the output input to NAThe modulus value of (1); if it isCan orderi belongs to {1, 2}, ifCan orderOutput 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 usedAsOf one subset of input parameters.
And (3) verification: to obtain (m, t)A) The signature verifier calculates whether to verifyThe establishment of the equation is that the verifier accepts tauAAs a prerequisite for the signature of the message m. Wherein,andandcan be calculated and stored in advance by the signature verifier, orAndandas 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 generatorAnd 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), andorAs acceptance τAAs a prerequisite for the signature of the message m.
Signature embodiment-5:
public key: the public key of the signer includes:signer's official certificateThe key may also contain a value that the verifier can calculate in advance:and/or
Private key: x is the number of1Wherein x is1FromThe selection is carried out randomly.
Signature: signer computationτ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 usedAsOrOne of the parameters is input.
And (3) verification: to obtain (m, t)A) The signature verifier calculates whether to verifyThe establishment of the equation is that the verifier accepts tauAAs a prerequisite for the signature of the message m. Wherein,and/orCan be calculated and stored in advance by the signature verifier,orAnd/orAs 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), andorAs acceptance τAAs a prerequisite for the signature of the message m.
Key exchange implementation:
given aWhereinAre all disclosed.Andeither in the same cyclic group or in different groups. If it isAndin the same way, the first and second,andmay 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 parametersAnd a functionIn practical applications, different (partly) parameters and functions may be selected by different usersThe following description is directed to eAIs oneEfficient bilinear pair mapping. Based onAn 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' sCalculated and sent (or published) with the inventive method:here, generally, X may be made1And/or X2As usersThe public key of (a) is stored,involving usersIdentity and/or public key information ofInvolving usersIdentity and/or public key information of andidentity and/or public key information of the other or both parties of the interaction,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 functionThe input of (1);
user' sCalculated and sent (or published) with the inventive method:here, generally, Y may be made1And/or Y2As usersThe public key of (a) is stored,involving usersIdentity and/or public key information ofInvolving usersIdentity and/or public key information of andidentity and/or public key information of the other or both parties of the interaction,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 functionThe input of (1);
user' sCalculated and sent (or published) with the inventive method:here, in general, Z can be made1And/or Z2As usersThe public key of (a) is stored,involving usersIdentity and/or public key information ofInvolving usersIdentity and/or public key information of andidentity and/or public key information of the other or both parties of the interaction,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 functionThe input of (1);
if the above-described key exchange method is used for two-party users, such as usersAnduser' sWill tauBAs an acceptance { Y }1,…,Yn,τB,mBA requirement of userWill 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 isAccept { Y1,…,Yn,τB,mB}, userComputingIs denoted as KA(ii) a If the user isAccept { X1,…,Xn,τA,mA}, userComputingIs denoted as KB=KA. For each KB=KAIn (1)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 comprisesOrAnd 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 generationi,Y j1 ≦ i, j ≦ n is each a temporary DH component; the above method can also be used for X participating in session key generationi,Y j1 ≦ i, j ≦ n is a fixed DH component (e.g., for public key encryption or signcryption schemes). User' sAndn can be derived by running the one-time key exchange method2(a subset of) session keys. In practical application, we can orderWherein each xj,yjIs a temporary DH index. User' sAndthe 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 isAndthe 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 usersWill tauBAnd τCAs an acceptance { Y }1,…,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' sWill 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 usersComputingIs denoted as KAUser ofComputingIs denoted as KBUser ofComputingIs denoted as KCWhereinTo a certain subset of (a). For each oneA session key is derived using a predefined key derivation function KDF. Typically, the input to the KDF includesOrAnd 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,Yj,Z 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' sAndandn 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 usingHouseholdAndandthe 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 isAndandthe 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 aWhereinIs a non-limiting disclosure of the components of, HAis an output belonging toThe hash function of (1).Andeither in the same cyclic group or in different groups. Here, for the convenience of description, we assume that all users use the sameIn practical applications, users with different ID may use different parametersThe following description is directed to eAIs oneEfficient bilinear pair mapping. Based onAn efficient implementation of bilinear pairwise mapping may be obtained accordingly. In particular, for certificateless signature implementations, the signature is based onEfficient bilinear mapping implementation is more preferable (because of the signature, i.e., τ, at this time)AShorter).
Trusted user public and private keys: trusted user computingWherein s is selected fromThe selection is carried out randomly. Order toIs 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 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 userFor example, the public key isOrThe private key is marked asAnd m is information to be signed. The signer has an identity of
Identity-based signature embodiment-1:
order to
Signature: signer computation Wherein H1Is an output belonging toA 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 usedAnd/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, ifThe signature verifier calculates whether to verifyThe 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,If X is verified1,Then X will be1,As receiving (X)1,X2,τA) As a prerequisite for the signature of the message m. Verification of X1,And verificationThe order of (A) can be arbitrary, in general, X is checked first1,And/orPost verification
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 keyCan be used only in pre-calculation, and can better protect the private signature key.
Based on bodySignature embodiment of shares-2:
order to
Signature: signer computation Wherein H1Is an output belonging toA hash function of (1). Delta is X1Or QAOr PpubIs one of the coordinate values of (in particular, the x-axis coordinate), or δ is fromOf a randomly selected constant c, orHδIs an output belonging toThe hash function of (a) of (b),is thatA subset of (a).In some interactive application environments, δ may be defined by the userThe other users of the interaction generate and send to(X1,τA) As a signature on message m. In some applications, the identity of the signer may also be usedAnd/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, ifThe signature verifier calculates whether to verifyThe 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-verificationIf it is verifiedThen will beAs a prerequisite for the signature of the message m. AuthenticationAnd verificationThe order of (A) can be arbitrary, in general, first checkingPost verification
Identity-based signature implementation-3:
order to
Signature: signer computation WhereinForm an output belonging toOr outputs a coordinate value (particularly, x-axis coordinate) of its input; for example,if it isCan orderIf it isCan orderOutput XiOne length of (1) is | NAA substring of | s. In some applications, the identity of the signer may also be usedAnd/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, ifThe signature verifier calculates whether to verifyThe 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-verificationIf it is verifiedThen will beAs a prerequisite for the signature of the message m. AuthenticationAnd/orAnd verificationThe order of (A) can be arbitrary, in general, first checkingAnd/orPost verification
Identity-based signature implementation-4:
order to
Signature: signer computation Wherein H1Is an output belonging toA 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 usedAnd/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, ifThe signature verifier calculates whether to verifyThe 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
Signature: signer computation WhereinIs an output belonging toA hash function of (ifCan order),Each of which constitutes an output belonging toOr outputs a coordinate value (particularly, x-axis coordinate) of its input; if it isCan orderi belongs to {1, 2}, ifCan orderOutput 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 usedAnd/or creditable user public key PpubAsOf one subset of input parameters. For certificateless signature implementation, X1And/or X2As part of the signer public key.
τAThere is also the following calculation:or,or,wherein δ is X1Or X2Or QAOr PpubCoordinates of (2)One of the values, or δ is fromOf a randomly selected constant c, orHδIs an output belonging toThe hash function of (a) of (b),is thatOr a subset thereof. In some interactive application environments, δ may be defined by the userThe other users of the interaction generate and send to
And (3) verification: to obtain (m, X)1,X2,τA) If, ifThe signature verifier calculates whether to verifyThe 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,If X is verified1,Then X will be1,As receiving (X)1,X2,τA) As a prerequisite for the signature of the message m. Verification of X1,And/orAnd verificationThe order of (A) can be arbitrary, in general, X is checked first1,And/orPost 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>τ</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 aAnd a functionWhereinIs a non-limiting disclosure of the components of, HAis an output belonging toThe hash function of (1).Andeither in the same cyclic group or in different groups. Here, for the convenience of description, we assume that all users use the sameAnd a functionWhen applied in a multi-user environment,1 ≦ i ≦ n indicates that the user ID is calculated τIDFunction of timeIs input. In practical applications, users with different ID may use different parametersAndthe following description is directed to eAIs oneEfficient bilinear pair mapping. Based onAn efficient implementation of bilinear pairwise mapping may be obtained accordingly.
Trusted user public and private keys: trusted user computingWherein s is selected fromThe selection is carried out randomly. Order toIs 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 toThe hash function of (1); the private key of the user ID is noted 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 sameOrder to The inventive method may be used to establish the session key(s) before two users or three users. Order userHas a public key ofOrThe private key is marked asUser' sHas a public key ofOrThe private key is marked asUser' sHas a public key ofOrThe private key is marked asIn the following description, users with different identity IDs useDifferent generators ofTo 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/orCan be used as a userPart of the public key, eA(Ppub,QB) And/orCan be used as a userPart of the public key, eA(Ppub,QC) And/orCan be used as a userA part of the public key. Fixed DH components for user contribution, e.g. if XiWhere 1. ltoreq. i. ltoreq. n is the userA contributed immobilized DH component ofAs usersA 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' sCalculated and sent (or published) with the inventive method:here, to obtain a certificateless implementation, in general, X may be made1And/or X2And/orAnd/orAs usersIs part of the public key of (accordingly, x)1And/or x2As usersA portion of the private key of).Involving usersIdentity and/or public key information ofInvolving usersIdentity and/or public key information of andidentity and/or public key information of the other or both parties of the interaction,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,can be taken as a functionThe input of (1);
user' sCalculated and sent (or published) with the inventive method:wherein, tauBIs a userBy its private keyCalculated as a basis. Here, to obtain a certificateless implementation, generally, Y may be made1And/or Y2And/orAnd/orAs usersAs part of the public key of the userIs part of the public key of (accordingly, y)1And/or y2As usersA portion of the private key of).Involving usersIdentity and/or public key information ofInvolving usersIdentity and/or public key information of andidentity and/or public key information of the other or both parties of the interaction,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,can be taken as a functionThe input of (1);
user' sCalculated and sent (or published) with the inventive method:wherein, tauCIs a userBy its private keyAs a basis to calculateIn (1). Here, to obtain a certificateless implementation, in general, Z may be made1And/or Z2And/orAnd/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).Involving usersIdentity and/or public key information ofInvolving usersIdentity and/or public key information of andidentity and/or public key information of the other or both parties of the interaction,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,can be taken as a functionThe input of (1);
if the above-described key exchange method is used for two-party users, such as usersAnduser' sValidating correctness of τ B, i.e.As acceptance { Y1,…,Yn,τB,mBA requirement of userWill tauAIs verified for correctness, i.e.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 toOrIf the user isAccept { Y1,…,Yn,τB,mB}, userComputingIs denoted as KA(ii) a If the user isAccept { X1,…,Xn,τA,mA}, userComputingIs denoted as KB=KA. For each KB=KAIn (1)OrI 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 comprisingOr1 ≦ i, j ≦ n. In particular, X for session key generationi,Y j1 ≦ i, j ≦ n is each a temporary DH component; the above method can also be used for X participating in session key generationi,Y j1 ≦ i, j ≦ n is a fixed DH component (e.g., for public key encryption or signcryption schemes). User' sAndn can be derived by running the one-time key exchange method2(a subset of) session keys. In practical application, we can orderWherein each xj,yjIs a temporary DH index. User' sAndthe 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 isAndthe 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 usersWill tauBAnd τCIs verified for correctness, i.e.And isAs 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' sWill 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 toOrIf the user isAccept { Y1,…,Yn,τB,mBAnd { Z }1,…,Zn,τC,mC}, userComputingIs denoted as KA(ii) a If the user isAccept { X1,…,Xn,τA,mAAnd { Z }1,…,Zn,τC,mC}, userComputingIs denoted as KB(ii) a If the user isAccept { X1,…,Xn,τA,mAAnd { Y }1,…,Yn,τB,mB}, userComputingIs denoted as KCWhereinTo 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,Yj,Z 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' sAndandn 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. User' sAndandthe 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 isAndandthe 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,whereinInvolving usersIdentity and/or public key information of, and/or userIs a role value vAAnd/or userIdentity and/or public key information of, and/or userAnd/or public key information, and/or session identifier sid; in particular, letOrIf XiI is 1. ltoreq. n is a fixed DH component, such thatAs usersA 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/orAnd/orAs usersA public key and/or a part of a trusted user public key.
WhereinInvolving usersIdentity and/or public key information of, and/or userIs a role value vBAnd/or userIdentity and/or public key information of, and/or userAnd/or public key information, and/or session identifier sid;whereinInvolving usersIdentity and/or public key information of, and/or userIs a role value vCAnd/or userIdentity and/or public key information of, and/or userAnd/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 ofThe hash function of (a) of (b),involving usersIdentity and/or public key information of, and/or userIs a role value vAAnd/or userIdentity and/or public key information of, and/or userAnd/or public key information, and/or session identifier sid; in particular, it is possible to use, for example,orOrOr
WhereinInvolving usersIdentity and/or public key information of, and/or userIs a role value vBAnd/or userIdentity and/or public key information of, and/or userAnd/or public key information, and/or session identifier sid; in particular, it is possible to use, for example,orOrOr
WhereinInvolving usersIdentity and/or public key information of, and/or userIs a role value vCAnd/or, usersIdentity and/or public key information of, and/or, userAnd/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,orOrOr
Identity key exchange based implementation-3:
as described in the identity-based (or certificateless) key exchange implementation, where let n-1,or,wherein,involving usersIdentity and/or public key information and/or Q ofAAnd/or userIs a role value vAAnd/or userIdentity 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,orOrOrδAIs X1Or QAOr PpubOne of the coordinate values of (1), or δAIs fromOf a randomly selected constant c (the constant c or/andmay be fixed and be part of the public key of the user or trusted user), orHδIs an output belonging toThe 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 userThe other users of the interaction generate and send toTo facilitate signature verification, δAAnd/orAnd/orAs part of the public key of the signer and/or as part of the public key of the trusted user.
Or,wherein,involving usersIdentity and/or public key information and/or Q ofBAnd/or userIs a role value vBAnd/or userIdentity and/or public key information and/or Q ofAAnd/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,orOrOrδBIs Y1Or QBOr PpubOne of the coordinate values of (1), or δBIs fromOf a randomly selected constant c (the constant c or/andmay be fixed and be part of the public key of the user or trusted user), or Is thatA subset of (a). In some interactive application environments, δB(e.g., δ)BIs a random number) can be communicated to the userThe other users of the interaction generate and send toTo facilitate signature verification, δBAnd/orAnd/orAs part of the public key of the signer and/or as part of the public key of the trusted user.
Or,wherein,involving usersIdentity and/or public key information and/or Q ofCAnd/or userIs a role value vCAnd/or userIdentity and/or public key information and/or Q ofAAnd/or userIdentity and/or public key information and/or Q ofBAnd/or a session identifier sid; in particular, it is possible to use, for example,orOrOrδCIs Z1Or QCOr PpubOne of the coordinate values of (1), or δCIs fromOf a randomly selected constant c (the constant c or/andmay be fixed and be part of the public key of the user or trusted user), or Is thatA subset of (a). In some interactive application environments, δC(e.g., δ)CIs a random number) can be communicated to the userThe other users of the interaction generate and send toTo facilitate signature verification, δCAnd/orAnd/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 aWhereinIs a non-limiting disclosure of the components of, HAis an output belonging toThe hash function of (1). Let eAIs oneEfficient bilinear pairwise mapping, whereinAndorder toIs a hash function.
Trusted user public and private keys: trusted user computingWherein s is selected fromThe selection is carried out randomly. FromC is randomly selected. Order toAnd c andis 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 ofIs recorded as the public key of the userUser' sIs marked asUser' sIs marked asUser' sIs marked asUser' sIs marked asUser' sIs marked as Andcalculated by a trusted user and sent to the user via a secure channelAndandlet 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' sCompute and sendWhereinsid 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 usersAndin the case of (1) or sid ═ rA||rB||rC(for three-party usersAndandin the case of (1)), where r)A,rB,rCAre respectively usersAndandthe transmitted random number. Or, for both usersAndin the case of performing a key exchange, letAt this time the userOnly after receiving Y1Then calculates and transmits tauA(e.g., user)Sending X in the first round1And on the third round, tA) (ii) a Or, for three-party usersAndandcarry out key exchangeIn the alternative, let
(2) User' sCompute and sendWherein <math>
<mrow>
<msub>
<mi>δ</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 sendWherein <math>
<mrow>
<msub>
<mi>δ</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. forAnd(then no user is needed)Participate), a key exchange is performed. User' sTo obtain Authentication(user)Can also verify) User' sTo obtainThen, verify(user)Verification can also be verified). If the verification fails, the operation is stopped;
session key derivation and authentication: user' sComputingUser' sComputingIf the key confirmation is carried out in the session, the userComputingUser' sCalculation (K)1,K2)=kf(KA,SAB) WhereinUser' sIs 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 userBy K1After the calculated authentication value, the userBy K1And (6) carrying out verification. User' sNext (in the third round) use K1Sending a different authentication value, e.g. Auth (K)1,1). Receive fromUser' sBy K1After the calculated authentication value, the userBy K1And (6) carrying out verification. If the verification is passed, the userAndwill 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' sSetting session key to K KDF (K) directlyB,SAB)。
If the inventive method is implemented in three users,andandto exchange keys therebetween. User' sTo obtainAndpost verificationAnd(user)Can also verifyAnd) If the verification is passed, the userComputing
User' sTo obtainAndpost verificationAnd(user)Can also verifyAnd) If the verification is passed, the userComputing
User' sTo obtainAndthen, verifyAnd(user)Can also verifyAnd) If the verification is passed, the userComputing
Three-party user session key derivation: order toUser' sSetting 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-5:
given aeA,HA,NAWhereinIs a non-limiting disclosure of the components of,HAis an output belonging toThe hash function of (1). Let eAIs oneEfficient bilinear pairwise mapping, whereinOrder toIs a hash function.
Trusted user public and private keys: trusted user computingWherein s is selected fromThe selection is carried out randomly. FromC is randomly selected. Order toAnd c andis 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 ofIs recorded as the public key of the userUser' sIs marked asUser' sIs marked asUser' sIs marked asUser' sIs marked asUser' sIs marked asAndcalculated by a trusted user and sent to the user via a secure channelAndandlet 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。
If the inventive method is used only for two users, e.g. forAnd(then no user is needed)Participate), a key exchange is performed. User' sTo obtainAuthentication(user)Verification can also be verified). User' sTo obtainAuthentication(user)Can also verify) If the verification fails, the operation is stopped;
session key derivation and authentication: user' sComputingUser' sComputingIf the key confirmation is carried out in the session, the userCalculation (K)1,K2)=kf(KB,SAB) User ofCalculation (K)1,K2)=kf(KA,SAB) WhereinUser' sIs 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 userBy K1After the calculated authentication value, the userBy K1And (6) carrying out verification. User' sNext (in the third round) use K1Sending a different authentication value, e.g. Auth (K)1,1). Receiving userBy K1After the calculated authentication value, the userBy K1And (6) carrying out verification. If the verification is passed, the userAndwill 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' sSetting session key to K KDF (K) directlyB,SAB)。
If the inventive method is implemented in three users,andandto exchange keys therebetween. User' sTo obtainAndpost verificationAnd(user)Can also verifyAnd) If the verification is passed, the userComputing
User' sTo obtainAndpost verificationAnd(user)Can also verifyAnd) If the verification is passed, the userComputing
User' sTo obtainAndthen, verifyAnd(user)Can also verifyAnd) If the verification is passed, the userComputing
Three-party user session key derivation: order toUser' sSetting 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,NAWhereinIs a non-limiting disclosure of the components of, HAis an output belonging toThe hash function of (1). Let eAIs oneEfficient bilinear pairwise mapping, whereinAndorder toIs a hash function.
Trusted user public and private keys: trusted user computingWherein s is selected fromThe selection is carried out randomly. FromC is randomly selected. Order toAnd c andis 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 ofIs recorded as the public key of the userUser' sIs marked asUser' sIs marked asUser' sIs marked asUser' sIs marked asUser' sIs marked as Andcalculated by a trusted user and sent to the user via a secure channelAndandlet 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' sCompute and sendFor certificateless key exchange, X may be1As a userIs part of the public key of (1).
(2) User' sCompute and sendFor certificateless key exchange, Y may be1As a userIs part of the public key of (1).
(3) User' sCompute and sendFor certificateless key exchange, Z may be1As a userIs part of the public key of (1).
If the inventive method is used only for two users, e.g. forAnd(then no user is needed)Participate), a key exchange is performed. User' sTo obtainAuthentication(user)Verification can also be verifiedAnd). User' sTo obtainAuthentication(user)Can also verifyAnd) If the verification fails, the operation is stopped;
session key derivation and authentication: user' sComputingUser' sComputing(for certificateless implementations, userComputingUser' sComputing) For identity-based implementations, the userAndone interaction can generate 2 session keys, one fromAndlead out, a fromAndand (6) exporting. If only one session key needs to be generated, the session key can also be generatedAndand (6) exporting.
If the key confirmation is carried out in the session, the userComputingWhereinKBIs composed ofA non-empty subset of; user' sCalculation (K)1,K2)=kf(KA,SAB) In which K isA=KBIs composed ofIs not an empty subset. (for example,) User' sIs 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 userBy K1After the calculated authentication value, the userBy K1And (6) carrying out verification. User' sNext (in the third round) use K1Sending a different authentication value, e.g. Auth (K)1,1). Receiving userBy K1After the calculated authentication value, the userBy K1And (6) carrying out verification. If the verification is passed, the userAndwill 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' sSetting session key to K KDF (K) directlyB,SAB)。
If the inventive method is implemented in three users,andandto exchange keys therebetween. User' sTo obtainAndthen, verifyAnd(user)Can also verify Y1,And Z1,) If the verification is passed, the user Computing And
user' sTo obtainAndpost verificationAnd(user)Can also verify X1,And Z1,) If the verification is passed, the user Computing And
user' sTo obtainAndthen, verifyAnd(user)Can also verify X1,And Y1,) If the verification is passed, the user Computing And
three-party user session key derivation: order toUser' sSetting 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). WhereinAnd K isA=KB=KC. For certificateless implementations, let
Identity-based key exchange implementation-7:
given aeA,HA,HAWhereinIs a non-limiting disclosure of the components of,HAis an output belonging toThe hash function of (1). Let eAIs oneEfficient bilinear pairwise mapping, whereinAndorder toIs a hash function.
Trusted user public and private keys: trusted user computingWherein s is selected fromThe selection is carried out randomly. FromC is randomly selected. Order toAnd c andis 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 ofIs recorded as the public key of the userUser' sIs marked asUser' sIs marked asUser' sIs marked asCalculated by a trusted user, anRespectively sent to users through a secure channelAnd
(1) user' sCompute and send Wherein <math>
<mrow>
<msub>
<mi>δ</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' sCompute and send Wherein <math>
<mrow>
<msub>
<mi>δ</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. forAnd(then no user is needed)Participate), a key exchange is performed. User' sTo obtain Authentication(user)Can also verify) User' sTo obtain Then, verify(user)Verification can also be verified). And if the verification fails, stopping the operation.
Session key derivation and authentication: user' sComputingUser' sComputingSession key managementAndand (6) exporting.
Identity-based key exchange implementation-8:
given aeA,HA,NAWhereinIs a non-limiting disclosure of the components of,HAis an output belonging toThe hash function of (1). Let eAIs oneEfficient bilinear pairwise mapping, whereinAndorder toIs a hash function.
Trusted user public and private keys: trusted user computingWherein s is selected fromThe selection is carried out randomly. FromC is randomly selected. Order toAnd c andis 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 ofIs recorded as the public key of the userUser' sIs marked asUser' sIs marked asUser' sIs marked asCalculated by a trusted user and sent to the user via a secure channelAnd。
User' sTo obtainThen, verify(user)Can also verify) User' sTo obtainThen, verify(user)Verification can also be verified). And if the verification fails, stopping the operation.
Session key derivation and authentication: user' sComputingUser' sComputingSession key managementAndand (6) exporting.
Identity-based or certificateless key exchange implementation-9:
given aeA,HA,NAWhereinIs a non-limiting disclosure of the components of, HAis an output belonging toThe hash function of (1). Let eAIs oneEfficient bilinear pairwise mapping, whereinAndorder toIs a hash function.
Trusted user public and private keys: trusted user computingWherein s is selected fromThe selection is carried out randomly. FromC is randomly selected. Order toAnd c andis 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 PuubHas an identity ofIs recorded as the public key of the userUser' sIs marked asUser' sIs marked asUser' sIs marked as Calculated by a trusted user and sent to the user via a secure channelAnd
(1) user' sCompute and send For certificateless key exchange, X may be1As a userIs part of the public key of (1).
(2) User' sCompute and send For certificateless key exchange, Y may be1As a userIs part of the public key of (1).
(3) User' sCompute and sendUser' sTo obtain Then, verify(user)Can also verifyAnd) User' sTo obtain Then, verify(user)Verification can also be verifiedAnd). If the verification fails, the operation is stopped;
session key derivation and authentication: user' sComputing User' sComputing(for certificateless implementations, userComputingUser' sComputing) For identity-based implementations, the userAndone interaction can generate 2 session keys, one fromAndlead out, a fromAndand (6) exporting. If only one session key needs to be generated, the session key can also be generatedAndand (6) exporting.
Claims (14)
1. A method of non-forgeable knowledge proof and message signature authentication, the method comprising:
identity isIs obtained by the usern is more than or equal to 1, whereinIs one with NAFinite Abelian group of ordersAre each generated fromI is more than or equal to 1 and less than or equal to n, a one-way exponential function is formed, and the output isOne element of eachI is more than or equal to 1 and less than or equal to n, constituting a certain at least one parameterA function of (a); each one of which isI 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
Identity isGet mAWherein m isAIs a collection of public information, whereinIs a userA message to be signed for authentication; user' sTo obtainAnd the userTo obtain mAThe sequence of (A) can be arbitrary; x as described above1,...,XnCalled userDH 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;
user' sComputingWhereinIs one with NAFinite Abelian group of ordersThe generation element of (a) is generated,forming a certain at least one parameterAnd its output isAn element of (1), τAIs thatOf an element orThe coordinate value of one of the elements in (b),each of 0 ≦ i ≦ n constitutes a certain valueAs a function of the input parameter, λAForm a definite oneAs a function of the input parameters, τAIs thatOf an element orA coordinate value of one element;is marked asIs disclosed. Note the bookIn the group of Middle removingAnother one out of them is noted asNote the bookIn the group of Either public or userThe owned secret value; if it isIs a userA secret value ofAnd isIs a public parameter, whereinIs a secret value that is a function of,e is a certain input parameter includingAs a function of (a) or (b),form a one-way exponential function and have an output ofOne of the elements of (a) or (b),forming a certain at least one parameterFunction 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 isAre 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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
<msub>
<mi>τ</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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
<msub>
<mi>τ</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, ifAre all public values and eA is oneEfficient bilinear pairings mapping: <math>
<mrow>
<msub>
<mi>e</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>τ</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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</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>τ</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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</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>
Wherein e isAIs oneOrAn efficient bi-linear pair mapping is achieved,is NAIs a finite Abelian group of orders andorIs thatThe production unit of (1) is provided with a production unit,forming a certain at least one parameterAnd its output isOne of the elements of (a) or (b),is that a determined input parameter comprisesHas an output ofOne of (1)The elements are selected from the group consisting of,is that a determined input parameter comprisesHas an output ofOne element of (1);is that a certain input parameter comprises PpubFunction having an output ofOne of the elements of (a) or (b),is that a determined input parameter comprisesIs output asOne element of (1);the following requirements are met:
1) is provided withIs a function ofIs a set of all input parameters, thenOrComprisesAnd the x-axis coordinate values of all the provisional DH components or all the provisional DH components, orComprisesAnd a set of coordinate axes for all DH components;
2) given aAlgorithms without probability polynomial time can be based on the parameter | NAProbability of non-negligible | findingOrThe temporary DH component and { X } contained in (1)1,…,XnContains a different temporary DH-component, wherein|NAI denotes NAThe binary length of (c) satisfies:
a) function(s)I is 0 or more and n is defined inOutput of (2) is notedI is more than or equal to 0 and less than or equal to n, whereinAnd functionI is 0 or more and n is defined inAt the output ofI is more than or equal to 0 and is more than or equal to n;
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>′</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>′</mo>
<msubsup>
<mi>h</mi>
<mi>A</mi>
<mn>1</mn>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</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>′</mo>
<msubsup>
<mi>h</mi>
<mi>A</mi>
<mi>n</mi>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</mo>
</msup>
<mi>A</mi>
<mi>n</mi>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
</msubsup>
<mo>,</mo>
<msub>
<mi>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</mo>
</msup>
<mi>A</mi>
<mi>λ</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
<msub>
<mi>τ</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>′</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>′</mo>
</msubsup>
<mrow>
<msubsup>
<mi>h</mi>
<mi>A</mi>
<mn>1</mn>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</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>′</mo>
</msubsup>
<mrow>
<msubsup>
<mi>h</mi>
<mi>A</mi>
<mi>n</mi>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</mo>
</msup>
<mi>A</mi>
<mi>n</mi>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
</msup>
<mo>,</mo>
<msub>
<mi>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</mo>
</msup>
<mi>A</mi>
<mi>λ</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
<msub>
<mi>τ</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>τ</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>′</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>′</mo>
<msubsup>
<mi>h</mi>
<mi>A</mi>
<mn>1</mn>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</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>′</mo>
<msubsup>
<mi>h</mi>
<mi>A</mi>
<mi>n</mi>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</mo>
</msup>
<mi>A</mi>
<mi>n</mi>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
</msubsup>
<mo>,</mo>
<msub>
<mi>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</mo>
</msup>
<mi>A</mi>
<mi>λ</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>τ</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>′</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>′</mo>
<msubsup>
<mi>h</mi>
<mi>A</mi>
<mn>1</mn>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</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>′</mo>
<msubsup>
<mi>h</mi>
<mi>A</mi>
<mi>n</mi>
</msubsup>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</mo>
</msup>
<mi>A</mi>
<mi>n</mi>
</msubsup>
<mo>)</mo>
</mrow>
</mrow>
</msubsup>
<mo>,</mo>
<msub>
<mi>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<msup>
<mi>S</mi>
<mo>′</mo>
</msup>
<mi>A</mi>
<mi>λ</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 toOrOrOrWherein
3) Assumption functionI is more than or equal to 1 and less than or equal to n and the output isA random uniformly distributed element of (a) for any valueAlgorithm selection regardless of any polynomial timeSatisfies the following conditions:
a) if n is 1, thenWhere ε (| 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 (·),
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,alternatively, for all temporary DH components Xi,1≤i≤n,To obtainThen, identity isVerifier of (d) verifies tauAAnd will be τAAs a verifierReceivingThe 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 toSignature authentication is carried out; wherein,disclosed isFunction(s)And E, Bpub,fs,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 of claim 1, ifIs a userThe secret value of (2), then:whereinIs that a determined input parameter comprisesIs output asAn element of (1), fs(s) is a function of a determined input parameter including s;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 IDUser of (1), CA calculationAnd will beSending the user ID through a secure channel; if it isDefinition ofWhereinIs thatOr will beIs arranged asWhere r is the userA random number is selected such that
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>τ</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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
<msub>
<mi>τ</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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>)</mo>
</mrow>
<mo>,</mo>
<msub>
<mi>τ</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>τ</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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</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>τ</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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</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> OrOrOrOrOrOrOrOrTo verify tauAThe correctness of the test; if it isCheck validationFor 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/orAnd/or XiAre not 0, and will be verified if such verification is performedAnd/orAnd/or XiThe X-axis coordinate value of (a) is not 0 as an acceptance { X [ ]1,…,Xn,mA,τAThe requirement of (b) }, whereinIs shown asThe number of the unit cells of (a),is shown asA set of elements other than the unit cell; to verify or not verifyOrWhereinIs shown asA unit cell of (a); verification of tauAAndand/orAnd/or XiThe x-axis coordinate value of (1) is not 0 and verificationOrThe order of (a) and (b) may be arbitrary.
4. The method as claimed in claim 3, whereinA subset of (2) and a subset of fixed DH-components and mAAs a subset of usersA portion of the public key of (a); m isAAs part of the trusted user CA public key;
5. The method of claim 3, wherein mAInvolving usersInformation exchanged with other users, and/or,and/or disclosedAnd/or comprises PpubPart or all of the public key of the trusted user CA;involving usersAnd/orAnd/orAnd/or public key information and/or time stamp information, and/or contains PpubOf the public key of the trusted user CA, and/orInformation exchanged with other users using said method via a network or a deviceAnd/orContaining a value vAWherein upsilon isAEither a null value or a role-specific value (i.e., different protocol roles for different upsilons)AValue).
7. The method of claims 3, 4, 5, 6, whereinMiddle functionI is more than or equal to 0 and less than or equal to n, and the method is realized as follows:
1)form an output belonging toA function of, or ifIs a point on an elliptic curveWhereinIs thatX-axis coordinate value of (1), or ifOrder toOr ifOrder toIs equal toOne length of (1) is | NAA substring of |, orOrWhereinOrContaining only usersFixing a subset of the DH components; or ifWhereinOrder toWhereinIs that a determined input parameter comprisesThe output belongs toA function of, or ifOrder to Is that a determined input parameter comprisesThe output belongs toA function of orOrWhereinOrIs a function of the fixed DH component; if it isThen1 ≦ j ≦ n constitutes an outputA function of, or "", or ifWhereinIs composed ofCoordinate values ofOrOrOrOr ifThenIf for some j, 1 ≦ j ≦ n,orIs not a groupAn element of (1), thenForm an output belonging toThe hash function of (1); in particular, it is possible to use, for example,whereinIs a hash function; orOrOrWhereinIs XiX-axis coordinate value of (c)2Is a userOr a trusted user orInteractive user interfaceSelecting a value randomly from the Chinese characters;
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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</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>λ</mi>
<mi>A</mi>
</msub>
<mrow>
<mo>(</mo>
<msubsup>
<mi>S</mi>
<mi>A</mi>
<mi>λ</mi>
</msubsup>
<mo>)</mo>
</mrow>
<mo>)</mo>
</mrow>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</msup>
</msup>
<mo>,</mo>
</mrow>
</math> WhereinIs shown asIn thatThe inverse of (1).
9. The method of claim 8, wherein the function φA,HAIs a function of the same function as the function,containing only user identitiesOr in addition to the user identityOuter coverFurther comprises a compound containing PpubOf a trusted user CA and/or a userA subset of the fixed DH components of (a); if it isAnd isIs a userSecret value ofAnd n is more than or equal to 2.
12. The method of claim 10, wherein τ is provided if n-1AThe following calculation method is adopted:
(2) or,whereinIn (1)Either one being an output belonging toThe hash function of (a) of (b),either a hash function orA function of the coordinate values;
(6) Or,wherein 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:
13. the method as described in 12 above, whereinAnd/or X1And/or X2And/orAnd/orAnd/orAs usersA portion of the public key of (a);and/orAnd/orAs part of the public key of the trusted user CA; and/orOrOrAs a subset of usersPart of the public key of the trusted user CA or part of the public key of the trusted user CA; c orOrCan be both used by usersCan also be generated byThe interactive user generates and sends to
14. The method of claim 7, wherein F (S)F)=H(1,SF)||…||H(l,SF) H is a hash function, l ≧ 1.
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)
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 |
-
2011
- 2011-01-26 CN CN2011100278085A patent/CN102624524A/en active Pending
Cited By (4)
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'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 |