Certificateless public key cryptography (CL-PKC) was introduced to solve two important problems in public key cryptography. One was the presence of certificates in traditional public-key cryptography (TPKC), the other was the key escrow problem in ID-based public-key cryptography (ID-PKC). In recent years, several certificateless signature schemes (CLS) have been proposed in the random oracle model (ROM) and the standard model. However, many implementations of the random oracle may result in insecure schemes. Some CLS schemes in the standard model were insecure against key replacement attack and were not strongly unforgeable. In order to solve these problems, we construct a CLS scheme in the ROM in this paper. Based on the Computational Diffie-Hellman (CDH) assumption and collision-resistant hash (CRH) assumption and partially depending on the ROM, we prove that the scheme has strong unforgeability. In addition, we show that the proposed scheme enjoys higher computational efficiency.
A user’s pubic key requires the digital certificate authentication in TPKC, therefore TPKC has to face with the certificate management problem. To eliminate the need for pubic key certificates, ID-PKC is introduced. In ID-PKC, a user’s pubic key may be an arbitrary string related to his personal information. However, since the private key generator (PKG) generates each user’s private key, ID-PKC has to face with the key escrow problem. To solve these problems, Al-Riyami and Paterson [1] introduced the notion of the CL-PKC. In CL-PKC, a user’s private key is generated by the cooperation of the key generation center (KGC) and the user. The KGC generates the user’s partial private key which eliminates the use of the public key certificate. On the other hand, the user generates the secret value and secret key which the KGC don’t acquire; therefore, CL-PKC solves the key escrow problem. In recent years, many scholars have concerned with the CL-PKC and have proposed related signature schemes in succession (e.g. [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]). Huang et al. [2] presented the security notions for CLS schemes in 2005 and pointed out that Al-Riyami et al.’s scheme was insecure. Hu et al. [3] enhanced the security notions and security models for CL-PKC in 2006. Huang et al. [4] proposed a certificateless short signature scheme in 2007, but Shim [5] proved their scheme insecure against the key replacement attack. Tso et al. [6] constructed a safe and efficient certificateless short signature scheme in 2008. To reduce the computational cost, Wang et al. [7] proposed a CLS scheme without bilinear pairing in 2012, but Wang and Zhang [8] pointed out that their scheme was insecure. Moreover, Wang improved their scheme and proved that the modified scheme was secure. The schemes above are all designed in the ROM, but Bellare et al. [9] proved that the realization of ROM might cause insecurity. To overcome this problem, Liu et al. [10] proposed the first CLS scheme in the standard model (SM) in 2007. However, Xiong et al. [11] proved their scheme was insecure against the malicious KGC’s attack. Yuan et al. [12] proposed a CLS scheme in the SM which was secure against malicious KGC’s attack, but it suffered from low computational efficiency with seven bilinear pairs operations in the verifying algorithm. In addition, Xia et al. [13] proved that Yuan et al.’s scheme was insure against the public key replacement attack in 2012. Li et al. [14] constructed a secure CLS scheme in the SM which enjoyed high computational efficiency with three bilinear pairings operations. However, this scheme had low security property under the existential unforgeability. Cheng et al. [15] pointed out that strong unforegeability should be included in more secure models for CLS scheme when they analyzed existing secure models. Therefore, based on the security models in Hu et al. [3], Cheng et al. [15], we construct a CLS scheme with strong unforgeability in the ROM. In addition, we prove it secure against both Type1 and Type2 adversaries, under the CDH and CRH assumptions and partially depending on the ROM.
Preliminaries
Required definition
.
Assume that a signature scheme is existentially unforgeable against adaptive chosen-message attack. Given a signature on some message , if an adversary can’t generate a new signature on , then we say that this signature scheme is strongly unforgeable.
.
(CDH assumption) Given a group of prime order with generator and for unknown . If no probabilistic polynomial-time (PPT) adversary can compute running within time with probability at least , then we say that CDH assumption holds in for ().
.
(CRH assumption) Let be a family of CRH functions, where is an index and is a fixed bit length. If no PPT adversary running within time can break the collision resistance of with probability at least , then we say that CRH assumption holds for ().
Composition of a strongly unforgeable CLS scheme
A strongly unforgeable CLS scheme consists of two kinds of entities, namely, users and a KGC, which includes five algorithms as follows [1].
Setup: On inputting a security parameter , the KGC generates the master secret key msk and public parameters params. Master secret key msk is conserved secretly by the KGC.
Extract-Partial-Private-Key-Extract: Given a user’s identity and msk, the KGC generates the user’s partial key which is sent to the user secretly.
Set-User-Key: Given a user’s ID and params, the user generates his secret value , private key and public key .
Sign: Given a user’s and a message , the user generates a signature on ().
Verify: Given params, a user’s and a signature on , the verifier outputs either “accept” or “reject”.
Adversarial model
Based on the security models in Hu et al. [3], Cheng et al. [15], we present two kinds of adversaries, namely, Type1 adversary and Type 2 adversary . Type1 adversary acts as a dishonest user. Except for the target user’s partial private key query, Type1 adversary can make queries for the public key, secret value, private key, signing, partial private key and the replacement of the public key of any user. However, doesn’t know the master secret key. Finally, the aim of is to construct a signature, namely, () which satisfies the following conditions:
() is valid;
Type1 adversary doesn’t successfully make the query for the partial private key of ;
() has never appeared during the signing queries.
On the other hand, Type2 adversary acts as an honest-but-curious KGC. Type2 adversary knows the master secret key but cannot perform public key replacement. Except for the target user’s secret value and private key query, the Type2 adversary can make queries for the public key, signing, secret value and private key of any user. Similarly, the aim of is to construct a signature, namely, () which satisfies the following conditions:
() is valid;
Type2 adversary doesn’t successfully make the query for the secret value and private key of ;
() has never appeared during the signing queries.
A CLS scheme with strong unforgeability in the ROM
Based on the security models in Hu et al. [3], Cheng et al. [15], we construct a CLS scheme in the ROM and prove its strong unforgeability.
The construction of our CLS scheme
Setup: The KGC chooses two cyclic multiplicative groups and of prime order , a bilinear map . Let be a generator of . The KGC randomly selects , and sets , where the master key is . Moreover, the KGC randomly chooses four hash functions as follows.
Additionally, the KGC randomly selects , , , , , and three vectors , , of length , and , respectively. Finally, the KGC publishes the parameters and secretly conserves the master key , where
Partial-Private-Key-Extract: Given a user’s identity ID, the KGC inquires Random Oracle on ID and gets its answer . Moreover, the KGC randomly selects and computes the user’s partial private key , where . Then, the KGC secretly sends to the user.
Set-User-Key: The user selects at random as his secret value and computes his public key . Moreover, the user inquires Random Oracle on and gets its answer . Then, the user computes his private key , where .
Sign: Given a user’s identity ID, partial private key , private key and a message , the user randomly selects , the user inquires Random Oracle on and gets its answer . Similarly, the user gets and creates a signature on , where
Verify: Given a user’s public key and a signature on (), the verifier checks whether the following equality holds:
where . Output accept, if it holds, otherwise, output reject.
Note that the equality in the verifying algorithm is correct as follows:
Security analysis
.
Let the CDH assumption hold in for () and the CRH assumption hold for (). Then, our CLS scheme in the ROM is strongly unforgeable against Type1 adversary for . Concretely, if can break our scheme with an advantage , within running time , who makes at most partial private key queries, signing queries and user key queries, then we have
Here and are the computational costs of a scalar multiplication operation and an exponentiation operation in , respectively.
Proof. It is enough to prove that if Type1 adversary can forge a valid signature, then there is an algorithm to solve the CDH problem or to find a collision of hash functions. Given a random instance () of the CDH problem, the algorithm is asked to compute . In order to use Type1 adversary to solve the problem above, the algorithm should simulate the KGC to answer all queries of as follows.
Setup: Firstly, randomly chooses four hash functions:
It sets , , , where , , . It selects three integers , and at random, where , , . selects the following random integers: , , , , . inquires Random Oracle on ID and gets its answer . Similarly, it gets , . Next, constructs the following functions:
Afterwards, sets , and pretends to know the master key . also sets , , , , . Moreover, sets three vectors , and of length , and , respectively. Note that the following equalities are frequently used:
Finally, publishes the parameters:
Query-Partial-Private-Key: maintains a list of tuples , which is initially empty. When makes this query on ID, inquires Random Oracle on ID and gets its answer . computes . If , aborts. Otherwise, selects random integer and computes partial private key . Then, returns it to and adds to it in the list . Let .
It ensures that is valid, since
Query-User-Key: maintains a list of tuples , which is initially empty. When makes this query on the public key of ID, looks up the list . If the list contains ID, returns to . Otherwise, randomly selects and computes . inquires Random Oracle on and gets its answer . computes . returns to and adds to the tuple in the list . Similarly, can answer queries for the secret value and private key of ID.
Replace-Public-Key: When submits to , looks up the list . If the list contains ID, replaces the original tuple for the new tuple . Otherwise, adds to the tuple in the list directly.
Query-Signature: When makes this query on , looks up the list . If ID isn’t in the list , creates the tuple as in the user key queries and adds to it in the list and extracts . Otherwise, gets directly. Then randomly selects . inquires Random Oracle on ID and gets its answer . Similarly, gets , , . computes , , , . If , aborts. Otherwise, considers the following two cases.
Assume that the public key of ID is replaced with . If , looks up the list . If ID is not in the list , creates the tuple as in the partial private key queries, adds to it in the list , and extracts . Otherwise, gets directly. Then, can create the signature on and returns it to , where
Let . Since
It ensures that is valid.
On the other hand, if , randomly chooses and creates the signature on and returns it to , where
As above, it ensures that is valid.
Assume that the public key of ID is not replaced. The algorithm finds the list to get . If , it looks up the list . If ID isn’t in the list , it creates the tuple as in the partial private key queries and adds to it in the list . It can create the signature on regularly and returns it to . If , can create the signature on and returns it to , where
It can be verified that is valid.
Forge: Finally, when forges a valid signature , should consider two cases.
Case 1. When did not appear in the signing queries, looks up the list to get the public key of . inquires Random Oracle onID and gets its answer Similarly, gets , , , . computes , , , , . If , can compute as follows.
Otherwise, aborts.
Case 2. When has appeared in the signing queries. Namely, has gotten a signature on , but . If , namely, , then can compute as in Case 1. Otherwise, if , then . Namely, , where , . However, , can get a collision of .
In the following, we analyze the probabilities of events that the algorithm does not abort. Let
Let denote the probabilities which doesn’t abort in Case 1 and Case 2, respectively. Combining with the literature [14], we conclude that
Namely, , .
From the description above, requires scalar multiplication operations and exponentiation operations in each partial private key query. In each user key query, requires scalar multiplication operations and exponentiation operations. requires scalar multiplication operations an exponentiation operations in each signing query. Therefore, the total running time required for is
Here, and are the computational costs of a scalar multiplication operation and an exponentiation operation, respectively.
.
Let the CDH assumption hold in for and the CRH assumption hold for . Then, our CLS scheme in the ROM is strongly unforgeable against Type2 adversary for . Concretely, if can break our scheme with an advantage , within running time , who makes at most user key queries and signing queries, then we have
Here, and are the computational costs of a scalar multiplication operation and an exponentiation operation in , respectively.
Proof. It is enough to prove that if Type2 adversary can forge a valid signature, then there is an algorithm to solve the CDH problem or to find a collision of hash functions. Given a random instance of the CDH problem, the algorithm is asked to compute . In order to use Type2 adversary to solve the problem above, the algorithm should simulate the KGC and all queries of Type2 adversary as follows.
Setup: The algorithm randomly chooses and sets , . It computes the master key and sends it to secretly. Since knows the master key, the settings of parameters are omissible and the computation of is omissible. The rest of parameters and functions settings are accord with settings in Theorem 1. The algorithm publishes the parameters.
Query-User-Key: maintains two list with tuples and , respectively, which is initially empty. It randomly selects a target user , set and adds to in the list . When makes this query for the private key of ID, if , aborts. Otherwise, looks up the list . returns to , if the list contains ID. Otherwise, creates . It returns to and adds to the tuples in the list . When makes this query for the public key of ID, if , returns to . Otherwise, answers queries Similar to the answer for the private key of ID.
Query-Signature: When makes this query on , randomly selects . inquires Random Oracle on ID and gets its answer . Similarly, gets , , .
It computes , , , . If , aborts. Otherwise, considers the following cases.
When , runs the partial private key generation algorithm to get , and adds to it in the list . Then, can create a signature on and returns it to , where
It can be verified that is valid.
When , can creates a signature on regularly and returns it to .
Forge: Finally, when forges a valid signature , should consider two cases.
Case 1. When has not appeared in the signing queries, if , aborts. Otherwise, looks up the list to get the public key of . inquires Random Oracle on ID and gets its answer . Similarly, gets , , . computes , , . If , , can compute as follows.
Otherwise, aborts.
Case 2. When has appeared in the signing queries, we can consider the situation similar to Theorem 1. Similar to the proof of Theorem 1, we can conclude that
Properties comparing of several CLS schemes
Yuan et al.’s
Li et al.’s
Ours
Signing algorithm
Verifying algorithm
Against Type1 adversary
No
No
Yes
Against Type2 adversary
Yes
No
Yes
Security properties
existential unforgeability
existential unforgeability
strong unforgeability
Conclusions
We construct a CLS scheme in the ROM, which is strongly unforgeable against both Type1 and Type2 adversaries. To demonstrate the advantage of our scheme, we compare with the scheme of Yuan et al. and Li et al. Since can be computed in advance, the computational costs of this part in verifying algorithm is ignored. Let denote the computational cost of an exponentiation operation in or . Let denote the computational cost of a bilinear pairing operation. From Table 1, compared with the scheme of Yuan et al., we conclude that our scheme enjoys higher computational efficiency because of less exponentiation operations in signing algorithm and less bilinear pairing operations in verifying algorithm. Since our scheme is strongly unforgeable, compared with the scheme of Yuan et al. and Li et al., we conclude that our scheme enjoys better security property. Moreover, the scheme of Li et al. and our scheme have signature length. However, compared with the scheme of Li et al. which requires in key generation algorithm, our scheme requires in key generation algorithm which has better performance.
Footnotes
Acknowledgments
The authors would like to thank the Provincial Nature Science Research Project (KJ2015A161; 2014KJ004) and Provincial Quality Project (2015GXK041; 2015JYXM25) for financial support.
References
1.
Al-RiymiS.S. and PatersonK.G., Certificateless public key cryptography, in: Proceedings of the Asiacypt’2003, 2003, pp. 452–473.
2.
HuangX.Y.SusiloW.MuY. et al., On the security of certificateless signature schemes from Asiacypt 2003, in: Proceedings of the CANS’2005, 2005, pp. 13–45.
3.
HuB.C.WongD.S.ZhangZ.F. et al., Key replacement attack against a generic construction of certificateless signature, in: Proceedings of the ACISP’2006, 2006, pp. 235–246.
4.
HuangX.Y.MuY.SusiloW. et al., Certificateless signature revisited, in: Proceedings of the ACISP’2007, 2007, pp. 308–322.
5.
ShimK., Breaking the certificateless signature scheme, Information Science179 (2009), 303–306.
6.
TsoR.YiX. and HuangX.Y., Efficient and short certificateless signature scheme, in: Proceedings of the CANS’2008, 2008, pp. 64–79.
7.
WangS.B.LiuW.H. and XieQ., Certificateless signature scheme without bilinear pairing, Journal on Communications33 (2012), 93–98.
8.
WangY.F. and ZhangR.Z., Strongly secure certificateless signature scheme without bilinear pairing, Chinese Journal of Journal on Communications34 (2013), 94–99.
9.
BellareM.BoldyrevaA. and PalacioA., A uninstantiable random oracle-model scheme for a hybrid-encryption problem, in: Proceedings of the Eurocrypt’2004, 2004, pp. 171–188.
10.
LiuJ.K.AuM.H. and SusiloW., Self-generated-certificate public key cryptography and certificateless signature/encryption scheme in the standard model, in: Proceedings of the ASIACCS’2007, 2007, pp. 273–283.
11.
XiongH.QinZ. and LiF., An improved certificateless signature scheme in the standard model, Fundamental Informaticae88 (2008), 193–206.
12.
YuanY.LiD.TianL. et al., Certificateless signature scheme without random oracle, in: Proceedings of ISA’2009, 2009, pp. 31–40.
13.
XiaQ.XuC.X. and YuY., Key replacement attack on two certificateless signature scheme without random oracles, Key Engineering Materials (2012), 439–440.
14.
LiY.Q.LiJ.G. and ZhangY.C., Certificateless signature scheme without random oracles, Journal on Communications36 (2015), 1–10.
15.
ChengL.WenQ.JinZ.P. et al., On the security of a certificateless signature scheme in the standard model, Cryptology ePrint Archieve, Report 2013, 153.
16.
ZhangJ.H., A verifiably encypted signature scheme with strong unforgeability, in: INFOSCALE2007, 2007, pp. 935–938.
17.
YuY.MuY.WangG. et al., Improved certificateless signature scheme provably secure in the standard model, IET Information Security6 (2012), 102–110.
18.
KumbhakarD., Condensed matrix method for implicit type scheme in imaginary distance beam propagation method, J Comput Methods Sci Eng8 (2008), 139–146.
19.
MukhopadhyayS.GhoshD. and DebnathN., A new framework for an efficient ticket booking scheme based on mechanism design, J Comput Methods Sci Eng12(Suppl 1) (2012), S13–S27.