Proxy signature is a very useful technique which allows the original signer to delegate the signing capability to a proxy signer to perform the signing operation. It finds wide applications especially in the distributed environment where the entities such as the wireless sensors are short of computational power and needed to be convinced to the authenticity of the server. Due to less proxy signature schemes in the post-quantum cryptography aspect, in this article, we investigate the proxy signature in the post-quantum setting so that it can resist against the potential attacks from the quantum adversaries. A general multivariate public key cryptographic proxy scheme based on a multivariate public key cryptographic signature scheme is proposed, and a heuristic security proof is given for our general construction. We show that the construction can reach Existential Unforgeability under an Adaptive Chosen Message Attack with Proxy Key Exposure assuming that the underlying signature is Existential Unforgeability under an Adaptive Chosen Message Attack. We then use our general scheme to construct practical proxy signature schemes for three well-known and promising multivariate public key cryptographic signature schemes. We implement our schemes and compare with several previous constructions to show our efficiency advantage, which further indicates the potential application prospect in the distributed network environment.
The characteristic that some specified agents have the capability to proceed with the signing operations on behalf of the original signer turns out to be very attractive in case of the original signers temporal absence, short of computational power, and so on. It has already been shown in many previous researches that the proxy signature can be very helpful especially for application in the environments such as the wireless sensor networks,1 Internet of things,2 distributed shared object systems,3 grid computing,4 global distribution networks,5 and so on. However, most of the previous constructions are based on the hardness of number theory such as the integer factorization and discrete logarithm. According to Shor’s algorithm,6 Rivest–Shamir–Adleman (RSA) and some other algorithms based on the number theory will be broken in polynomial time after the emergence of quantum computers. And as a result, it will eventually lead to the break of most of the traditional cryptosystem.
To deal with the upcoming quantum computers, cryptographic researchers from different countries are beginning to devote themselves to explore the cryptosystems that can resist quantum computer attacks, that is, researching on the post-quantum cryptography.7 Post-quantum cryptography can be divided into five categories: code-based cryptography, lattice-based cryptography, hash-based cryptography, multivariate public key cryptography (MPKC), and isogeny-based cryptography. The National Institute for Standards and Technology (NIST) has announced a formal call for proposals for post-quantum cryptography in fall 2016.8 Thereafter, it formally provided the first round (round 1) submissions of post-quantum cryptographic standard protocols in December 2017.
The security of MPKC is based on solving a set of random quadratic multivariate equations on a finite field. So far, evidence does not reveal that quantum computers could solve this kind of questions effectively. Plus, MPKC schemes are in general much more effective than RSA in computing. But there are two drawbacks that become obstacles to use MPKCs. The first one is the large key sizes. The second drawback is that the security of MPKCs relies both on the multivariate quadratic (MQ) problem and on the Isomorphism of Polynomials (IP) problem, so the schemes in MPKCs are subjected to not only direct attacks but also structural attacks. This makes many MPKCs insecure, such as Matsumoto–Imai scheme,9 balanced Oil, and Vinegar.10 Under this situation, a number of attempts have been undertaken in order to tackle these two problems. For example, Courtois11 studied provable security against key-only attack on Quartz, but the security against the chosen-message attack is unclear. Beyond these techniques, the Unbalanced Oil and Vinegar (UOV) scheme12 is a well-known and deeply studied scheme in MPKC, Bulygin et al.13 then presented an idea to reduce the public key size of the UOV signature scheme and provided provable security against direct attacks. Then, Sakumoto et al.14 gave provable security of UOV against chosen-message attack, using the idea given in the study by Bellare and Rogaway,15 which concatenates a random seed with the signing message so as to make the basic trapdoor one-way function of UOV become full domain hash (FDH). In Crypto2011, Sakumoto et al.16 proposed provably secure identification/signature schemes based on the MQ problem, which is a great improvement for the security of MPKCs.
According to NIST Computer Security Resource Center (CSRC): Cryptographic Technology Group,8 MPKC is popular for its efficient signature scheme in the post-quantum cryptography (PQC) aspect and signature schemes are promising. As shown in the submission, there are nine signature schemes, named double exponentiation with matrix exponent (DME),8 DualModeMS,17 GeMSS,18 Gui,19 Hi-MQ, lifted unbalanced oil and vinegar scheme (LUOV)20 (a variant of UOV), multivariate quadratic digital signature scheme (MQDSS),21 Rainbow,22 TPSig.23 Among them, only Rainbow is the old scheme, and others are all published in the recent 5 years and the best scheme is LUOV, which has a combined not more than 20 kB size. However, it is the newest one which need time to confirm its security. Another promising scheme is MQDSS, which is provable secure one and the key size is relatively small. However, its resultant signature is too large compared with the original small message. Also, the running time of two schemes is not fast which in fact is the most advantage of MPKC schemes compared with other PQC schemes. Other schemes such as Rainbow is good at the running time and the security consideration but suffers from large key size.
Also, multivariate signature schemes with special properties, such as proxy signature, ring signature, are proposed. For example, Tang and Xu24 proposed the first MPKC proxy signature scheme based on the problem of IP. Petzoldt et al.25 proposed the first provable MPKC threshold ring signature scheme based on the result of Sakumoto et al.14 Chen et al.26 proposed the first online/offline signature based on UOV by utilizing the linear construction of the central map of UOV, so that the proposed scheme can be distributed in the wireless sensor networks. In addition, multivariate sequential aggregate signature scheme by Petzoldt et al.27 and multivariate blind signature scheme by El Bansarkhani et al.28 are proposed to enrich this area.
Since proxy signature scheme is widely used as a communication solution in distributed sensor networks, that is, the solution in healthcare wireless sensor networks in Verma et al.29 In this article, we focus on developing multivariate signature schemes with special properties and investigate how to build an MPKC proxy scheme and then we will use this idea to build a series of MPKC proxy schemes based on current promising MPKCs (UOV, Rainbow, MQDSS). A highlight of our work is the general proxy scheme is formally provable security under the assumption that the basing scheme is secure, so based on the promising MPKC signature shcemes, our practical resultant proxy schemes from the general construction are considered promising proxy MPKC schemes.
This article is structured as follows: First, we introduce how to build a general MPKC proxy scheme, specifically we give a formal proof for the general scheme assuming the underlying MPKC scheme is secure. Then we propose three practical proxy signature schemes: Proxy-UOV, Proxy-Rainbow, and Proxy-MQ. Next, we run some experiments to verify the security and efficiencies of our schemes. Finally, we draw a conclusion.
Preliminaries
In this section, we give the preliminaries of this article.
Proxy signature scheme
A proxy signature protocol allows an entity, called the original signer, to delegate another entity, called a proxy signer, to sign messages on behalf of itself, in case of temporal absence, lack of time or computational power, and so on. The first efficient proxy signature was introduced by Mambo et al.30 A proxy signature scheme consists of the following algorithms: Setup, KeyGen, Delegate, ProxyKeyGen, ProxySign, ProxyVerify, where the Setup and KeyGen correspond with an ordinary signature scheme . Assume and generated by KeyGen are the public/private key pairs of the original signer and the proxy signer, respectively. Delegate is a randomized algorithm for the delegation of signing right, that is, is run by the original signer. The input can be regarded as a warrant. In general, includes the original signer’s public key , the proxy signer’s public key , a delegated time period , and other information. ProxyKeyGen algorithm generates the proxy key for the proxy signer. For a message , the proxy signer can generate a proxy signature by ProxySign, that is, . Anyone who receives the proxy signature can verify the validity of the signature by ProxyVerify. ProxyVerify outputs 1 if the signature is valid; otherwise, it outputs 0.
MPKC signature scheme
Usually, an MPKC scheme over a finite field is defined as
in which is a set of quadratic multivariate polynomials in variables, is an affine transformation from to , and is an affine transformation from to .
For an MPKC digital signature scheme, the setup algorithm Setup () takes as input and then outputs the system parameter which mainly contains , and all the arithmetic operations hereafter are over this finite field.
The key generation algorithm KeyGen() takes as input and then outputs and .
The signing algorithm Sign() is described in Algorithm 1.
Algorithm 1.Sign().
Input
: the message;
: , the private key;
Output
: the signature on message ;
Begin
Step 1. The signer computes ;
Step 2. The signer computes ;
Step 3. The signer computes ;
Step 4. Return ;
End
Finally, the verification algorithm Verify(, , ) returns 1 if , otherwise returns 0.
Security model for MPKC signature scheme
We quantify the security of MPKC signature scheme from the idea in Bellare and Rogaway.15 A signature scheme is said to be if an attacker, given the public key, allowed to run in time , and allowed a chosen-message attack in which he or she can get legitimate message–signature pairs, can be successful in forging the signature of a new message with probability at most .
Definition 1
We say that the MPKC signature scheme is if there is no forger who takes a public key generated through , after at most signature queries, and processing time, then outputs a valid signature with probability at least .
UOV and Rainbow
The UOV scheme is one of the earliest MPKC signature scheme. Even though its construction is very simple, it turns out to be one of the most secure MPKC scheme so far. However, Rainbow is one of the most popular schemes in MPKC schemes and rapid development in recent years. It could be regarded as an extension of UOV and has obvious advantages over efficiency and key size.
The central map of UOV is composed of a set of so-called Oil–Vinegar polynomials which have the following form
In this polynomial, there are two kinds of variables: Oil variables () and Vinegar variables (). Once we assign a set of random values for Vinegar variables, the central map becomes a set of linear polynomials and can be easily inverted. When , this scheme is called UOV scheme, the construction of a UOV scheme is as follows
where is an affine translation from to . The construction does not have to compose an invertible affine transformation on the left.
In the case of Rainbow, Rainbow is an extension of UOV scheme. It could be viewed as a multi-layer UOV scheme. Each layer is an independent UOV and each layer’s variables (including Oil variables and Vinegar variables) are Vinegar variables of the next layer. Specifically, let us assume a Rainbow has layers. We use to represent the number of Vinegar variables of the ith layer and to represent the number of Oil variables of the ith layer. Then we have and . Each layer’s Vinegar variables set and Oil variables set are represented as and the ith layer’s polynomials have the form of
We can see that the above polynomial has the basic Oil–Vinegar polynomial form. Finally, the construction of a Rainbow scheme is given as follows
The MQ-based signature scheme
At CRYPTO 2011 Sakumoto et al.16 presented a new identification scheme whose security is solely based on the MQ problem. In the scheme, every user chooses a vector as his secret key and computes his public key as . To identify himself to a verifier, he or she has to show that he or she indeed knows (without revealing any information about ). Thus, to create a zero-knowledge proof of the vector , we need the polar form of the multivariate system , which is defined as
Note that is bilinear in and , the knowledge of is equivalent to knowing a tuple satisfying
and . The five-pass identification scheme between a prover and a verifier is as follows
The prover chooses randomly , set and computes commitments and then sends to the verifier.
The verifier chooses randomly a choice and sends to the prover.
After receive , the prover computes and then sends to the verifier.
The verifier chooses randomly the challenge and sends to the prover.
If , the prover sends back; if , the prover sends back.
If the verifier chooses 0 as the challenge , he or she checks whether hold. If the verifier chooses 1 as the challenge , he or she checks whether holds.
This scheme has a cheating probability per round of 3/4 when . Therefore, one needs at least 133 rounds to reduce the impersonation probability to less than . Sakumoto et al.16 propose for their five-pass schemes that to achieve a security level of 80 bits.
Using the Fiat–Shamir paradigm,31 anyone can transform the MQ identification scheme into a signature scheme, and a good example is the MQDSS21 which is transformed from five-pass MQ identification scheme. Below we give a short description of the MQ signature scheme. For the full description of the MQ scheme, we recommend to read.21 The setup and key generation process for the signature scheme work just the same as the identification scheme.
To generate a signature for a message , the signer gathers the commitments for all rounds, creates the commitments , and then uses a hash function to produce the challenge vector and compute the according responses . Finally, the signature is .
To verify the authenticity of a signature, the verifier parses , computes the challenge vector , and tests for each if is a correct response to according to .
Security model for proxy signature
Schuldt et al.32 presented the security notion Existential Unforgeability under an Adaptive Chosen Message Attack with Proxy Key Exposure (ps-uf-pke) for multilevel proxy signature scheme. Later, Tang and Xu24 modified this notion to single-level proxy signature scheme and adopted as the security model for a proxy signature. In the analysis of our proxy scheme, we also use this model, and we recommend to read more information about this model in Tang and Xu.24 We summarize the security model for a proxy signature in the following.
In our security model for proxy signature, the definition is the same as that in Tang and Xu.24 In the security model in Tang and Xu,24 it uses only one list to store the proxy key which generated by , but it does not use lists to store the original signature query and the proxy query, this is ambiguous for someone to calculate the number and kinds of query oracle. So, in our security model, we use three initialized empty lists: , , which are maintained by a challenger . The stores all the signatures which are queried by the original signature query, and the stores the submitted warrants and the corresponding delegation. The stores all the proxy key which is generated by from the warrants in the . Using these three lists, we can follow the security proof more clearly. More precisely, by calculating the list , we can know how many times of ordinary signature oracle have been queried, and from , we can know the number of query of proxy signature oracle. The security model is based on the following game which is played between a challenger and an adversary :
Setup. The challenger runs Setup with input and generates for by running the KeyGen () of an ordinary signature scheme. After that, sends to the adversary and stores .
Queries. The adversary can adaptively access to any of the following queries which are answered by :
Ordinary signature. submits a message to , generates a signature on by . returns to and adds to the list.
Delegation to . transmits to , interacts with through the Delegate and the ProxyKeyGen with . After the process finished, will obtain a delegation of signing right with and a proxy key . Then, adds and to the list and the list, respectively.
Delegation from .
Delegation of : submits to and want to give a delegation of signing right to . generates a delegation for by Delegate and adds to the list.
Self-delegation: interacts with itself through Delegate and ProxyKeyGen on input . generates a delegation of signing right and a proxy key , adds and to the list and the , respectively. Then sends to .
Proxy signature. transmits to and wants to obtain a proxy signature of . finds the proxy key which correspond with in . If exists, returns to . Otherwise, returns ⊥ to .
Proxy key exposure. transmits w to , returns the proxy key to if such a key exists in . Otherwise, returns ⊥ to .
Forgery. The successful forgery of can be one of the following forms:
Forge an ordinary signature of . outputs which can be verified by Verify and has not been submitted in an ordinary signature query.
Forge a proxy signature of . outputs where the corresponds to the public key . This forgery is said to be valid if it can be verified by ProxyVerify with has not been queried and has not been queried.
Self-proxy signature on behalf of . outputs where corresponds to the public key . This forgery is said to be valid if it can be verified by ProxyVerify with has not been queried.
If one of the above cases happens, the game returns 1. Otherwise, it returns 0.
Definition 2
An adversary is said to be a -forger of a proxy signature scheme if has advantage at least in the above game, runs in time at most , and makes at most and delegation and signing queries to the challenger. A proxy signature scheme is said to be -secure if no -forger exists.
The general construction of MPKC proxy signature scheme
General proxy signature scheme
Assume we have an above MPKC signature scheme, we now describe our general proxy signature scheme as follows.
Setup: Let and be two positive integers, is a finite field and all the arithmetic operations hereafter are over this finite field. is a cryptographic hash function.
KeyGen: This algorithm generates the public key and the private key of a user. The detail process is the same as that of the key generation of an MPKC signature scheme. After this algorithm, we set the private key of user is , and the public key , where . Similarly, the private key and public key of user are and , respectively.
Delegate: On input a warrant where , this algorithm is performed by user and generates a delegation of signing right to user .
Randomly choose two invertible affine transformations and , which in the forms of and , respectively. Then, compute , , and
Compute .
Send and the warrant to user through an authenticated channel.
ProxyKeyGen: This algorithm generates a proxy key for the proxy signer with input . It is performed by user as follows:
Verify the validity of and . If they are true, goto the next step. Otherwise, output 0.
Select two random invertible affine transformations and , respectively, compute
and
3. Compute a signature on through running Sign with , that is, .
4. Output as a proxy key of user which uses to generate proxy signatures on behalf of user , and the corresponding public key is .
Remark 1
Note that since , to invert , we do not need the secret key of user A, but the public key of user , what we need to choose is the linear transformations such that the map can still be easily inverted. This is the key point in the construction; otherwise, the construction cannot work. In some cases of MPKCs, the linear transformations are totally random, such as our proxy signature for MQ-based signature shown in section “Proxy-MQ: our MQ-based proxy signature scheme,” and the proxy signature in Tang and Xu.24 In some cases of MPKCs, we need to choose some special linear transformations, for example, in section “Practical implementations for these two schemes,” we will show how to choose the linear transformations in the practical implementation of our proposed proxy schemes for UOV and Rainbow.
ProxySign: Suppose is the message to be signed. This algorithm generates a proxy signature on the message by user .
User applies , , and the central map to the basic MPKC signature algorithm described in Algorithm 1 to generate the signature on
Then the proxy signature on message by user is .
ProxyVerify: On input , anyone can verify the validity of the proxy signature by executing this algorithm. This algorithm includes the following steps:
Check the validity of on by running Verify with : . If it is ture, goto the next step. Otherwise, output 0.
Check the validity of on by running Verify with : . If it is true, goto the next step. Otherwise, output 0.
Check the validity of on message by running Verify with : . If it is true, output 1. Otherwise, output 0.
The verifier accepts the proxy signature if and only if the three conditions of ProxySign are all true. Otherwise, the verifier rejects the proxy signature.
Security analysis of the general proxy signature scheme
Theorem 1
If the basic MPKC signature scheme is secure, then the general proxy signature scheme is secure, where , and .
Proof
Let be an adversary who can break our proxy signature scheme, then there exists an attacker who can break the corresponding MPKC signature scheme using . Assume that receives a random public key of MPKC signature scheme and has the right to access to an MPKC signing oracle . Before beginning the security game, the attacker flips a uniform coin . The result of is hidden from , unless the security game aborts. If , sets , and , where Ø means empty set. Otherwise, generates a fresh key pair where , and chooses .
As the challenger in the security game, will maintain three lists , , . Here, the list stores the intermediate result which will be considered in the following. Furthermore, is allowed to make ordinary signature queries and delegation queries which will answer in the security game as follows:
Ordinary signature. On input from , if , simply makes query to the MPKC signing oracle and obtains an answer ; if , generates a signature by running . adds to the list and sends to .
Delegation to . transmits a delegation message where . verifies whether both and are correct. If , chooses randomly two invertible affine transformations and , and computes , , and . Let and . makes a query to the MPKC signing oracle for and obtains a signature . In this case, would be added to the list. If and this is not the query, similarly chooses randomly two invertible affine transformations and , and computes , , and . Let and . Then runs . If and this is the query, directly lets , and runs . Finally, stores and to the and , respectively.
Delegation from .
Delegation of . submits to , where . chooses randomly two invertible affine transformations and computes . If , then makes a query to the MPKC signing oracle and obtains a signature on . The later is added to the list by . If , then generates by running and sends the delegation message to . Of course, adds to the list.
Self-delegation. interacts with itself with which submitted by . If or and this is not the query, chooses randomly two invertible affine transformations , computes , makes a query to the MPKC signing oracle, and obtains a signature on with . Then, also makes a query to the MPKC signing oracle for and obtains a signature . If and this is the query, directly lets and computes . Finally, adds to the and to the . If the is obtained by the MPKC signing oracle, also adds it to the list.
Proxy signature. Once receiving submitted by , finds the relevant information with from and . parses and the proxy key as . Then, makes a query to the MPKC signing oracle for and obtains a signature if . Otherwise, computes . Then sends to .
Proxy key exposure. On input from , finds relevant information from and and parses it as . If , aborts the game. Otherwise, returns to .
If the above game is not forced to abort by , will eventually output a forgery. The forgeries are classified into two different cases:
Case 1: forges (1) a valid MPKC signature or (2) a valid proxy signature which the corresponding public key was not generated by , or (3) a valid proxy signature where was not submitted to the ordinary signature query.
Case 2: forges a valid signature which is not in case 1.
In the case , sets . If constructs a valid forgery in case 2, will abort the game. Otherwise, if constructs a valid forgery in case 1, then
If the forgery is of type 1, that is, , it shows that has not requested a signature on . Then, will not have submitted to an MPKC signature oracle. That is, is a valid forgery of an MPKC signature under the public key .
If the forgery is of type 2, that is, is a valid signature for under the public key , then will not have submitted to MPKC signing oracle. Therefore, will be a valid MPKC signature forgery under the public key .
If the forgery is of type 3, that is, derives that is a valid forgery for , and will therefore not have submitted to the signing oracle. Hence is a valid forgery of an MPKC signature under the public key .
Now, let us consider the case where inserts as a proxy public key. In this case, if the forgery is in case 1, then will abort the game. However, if the forgery is in case 2 which forgery where , then outputs as a valid forgery for signature scheme. Otherwise, aborts. Note that if constructs such a forgery, then will not have queried the proxy key with .
We define the following events associated with the above security game: be the event that constructs a forgery in case 1, be the event that . constructs a forgery in case 2, and denotes that guesses the correct value of in a forgery for case 2. The success probability of is . Then the success probability of can be
Remark 2
Note that the above proof is only a heuristic security proof, since the underlying signature schemes in the area of MPKC are mostly not provable secure, more discussion will be done next, and we propose the additional analysis in section “Practical implementations for these two schemes” for our practical implementation.
Furthermore, we can obtain that anyone can determine the proxy signer by the verification of the warrant and the signature . Then, the proxy signer is required to sign and the public key of the proxy signature. Under the assumption that the underlying signature scheme is secure, we can conclude that any proxy signer cannot deny the proxy signature he or she created due to the existence of . At the same time, the private key of the original signer is only directly used to sign the warrant . And no one can obtain the private key of the original signer from the proxy key because of the selected random transformations in Delegate. The above discussions show that our scheme meets all the security properties of a proxy signature scheme.
The proposed MPKC proxy signature schemes
In this section, we will propose three proxy schemes based on three well-known MPKC schemes: UOV,12 Rainbow22 and MQ-based scheme.16
Proxy-UOV: proxy scheme based on UOV
Now we describe the process of our proxy scheme based on UOV using our general construction.
Setup: Let and be two positive integers, is a finite field and all the arithmetic operations hereafter are over this finite field. is a cryptographic hash function.
KeyGen: This algorithm generates the public key and the private key of a user. The detail process is the same as that of the key generation of an MPKC signature scheme. After this algorithm, we set the private key of user A is , and the public key , where . Similarly, the private key and public key of user are: , , respectively.
Delegate: randomly chooses a bijective affine transformation , then computes , and .
The affine should be kept secret by . sends and the warrant to through an authenticated channel, where , is a time period which denotes that is valid in time and is a signature on generated by using our proposed signing algorithm, that is, .
ProxyKeyGen: After receiving , first checks the validity of by checking if and . Then selects a random bijective affine transformation and computes , and . Let , and . Then is a private key for ordinary signature, and the corresponding public key is , that is because the following equality holds
Then computes a signature by running
and sets as the proxy signing key that uses to generate proxy signatures on behalf of and sets and as the proxy verifying key.
ProxySign: Suppose is the message to be signed. This algorithm generates a proxy signature on the message by user .
User applies and the central map to the basic MPKC signature algorithm described in Algorithm 1 to generate the signature on
Then the proxy signature on message by user is .
ProxyVerify: On input , anyone can verify the validity of the proxy signature by executing this algorithm. This algorithm includes the following steps:
Check the validity of on by running Verify with : . If it is ture, go to the next step. Otherwise, output 0.
Check the validity of on by running Verify with : . If it is true, go to the next step. Otherwise, output 0.
Check the validity of on message by running Verify with : . If it is true, output 1. Otherwise, output 0.
The verifier accepts the proxy signature if and only if the three conditions of ProxySign are all true. Otherwise, the verifier rejects the proxy signature.
Proxy-Rainbow: proxy scheme based on Rainbow
Since the main difference of this proxy signature schemes lies on the Delegate step and ProxyKeyGen process compared to the general construction, we just only describe the processes Delegate step and ProxyKeyGen.
Setup: Let and be two positive integers, is a finite field, and all the arithmetic operations hereafter are over this finite field. is a cryptographic hash function.
KeyGen: This algorithm generates the public key and the private key of a user. The detail process is the same as that of the key generation of an MPKC signature scheme. After this algorithm, we set the private key of user is , and the public key , where . Similarly, the private key and public key of user are and , respectively.
Delegate: randomly chooses two invertible affine transformations and respectively, then computes , and . . The affine and should be kept secret by . sends and the warrant to through an authenticated channel, where , is a time period which denotes that is valid in time and θ is a signature on generated by using Rainbow signing algorithm, that is, .
ProxyKeyGen: After receiving , randomly chooses two invertible affine transformations and , respectively, and computes , , and . Let , and . Then is a private key for ordinary signature, and the corresponding public key is , that is, because the following equality holds
Then computes a signature by running
and sets as the proxy signing key that uses to generate proxy signatures on behalf of , and sets and as the proxy verifying key.
Practical implementations for these two schemes
In Petzoldt et al.,33 the result indicates that has security level higher than for UOV scheme, where is the order of the finite field, is the number of polynomials and is equal to the number of Oil variate, and is the number of Vinegar variate. We will choose this parameter set.
Next, also the extremely important setting of our construction, we should choose appropriate affine transformations that could preserve the special structure of UOV scheme. Specifically, after composing an affine transformation, the polynomials in the new central map, the public key should still stay in the form of Oil–Vinegar polynomials. If we represent a UOV scheme’s central polynomial by its corresponding matrix, then the matrices of the polynomials in central map should be in the form of following.
Next, also the extremely important setting of our construction, we should choose appropriate affine transformations that could preserve the special structure of UOV scheme. Specifically, after composing an affine transformation, the polynomials in the new central map, the public key should still stay in the form of Oil–Vinegar polynomials. If we represent a UOV scheme’s central polynomial by its corresponding matrix, the Vinegar variables are denoted by its first variables. Then the matrices of the polynomials in central map should be in the form of Figure 1. In Figure 1, the gray areas represent the random entries while blank areas denote zero entries. The rest part of this article follows the same rules. Thereby, our problem is transformed to choose an affine transformation that could keep the shape of the above matrix of central equation. To achieve that goal, we could pick the invertible affine transformations of the form as shown in Figure 2.
Oil–Vinegar scheme corresponding matrix.
The affine transformation form for Proxy-UOV.
Once and are choosing in this form, we will get that , which means that the matrices form of central map is
Thus, this will make sure that the map can still be easily inverted.
Currently, the Rainbow prevails now is two-layer based and layer structure (18,12,12) and is enough to resist all the attacks mentioned above (security level is greater than ).34 Thereby, we plan to use this parameter set of Rainbow for our Proxy-Rainbow scheme. The Rainbow’s corresponding matrices have the following forms in Figure 3.
Rainbow scheme corresponding matrix.
Moreover, to keep the multi-layer structure of central equation, the structure of the left affine transformation and should have the shapes as shown below. By choosing these structures, we can make sure that the map of Proxy-Rainbow can still be easily inverted (Figures 4 and 5).
The left affine transformation form for Proxy-Rainbow.
The right affine transformation form for Proxy-Rainbow.
Proxy-MQ: our MQ-based proxy signature scheme
Using our general method to propose a proxy signature scheme based on the basic MQ-based signature scheme described in section “The general construction of MPKC proxy signature scheme,” we need to make some changes in the key generation phase KeyGen.
Below is the full description of our proxy signature for the MQ scheme.
Setup: Let and be two positive integers, is a finite field and all the arithmetic operations hereafter are over this finite field. is a cryptographic hash function.
KeyGen: Let be a vector from that every element is randomly chosen in (i.e. , the superscript T denotes transposition), to get private key, A first randomly chooses a bijective affine transformation , and its private key is calculated by , then the corresponding public key is that satisfies . Similarly, B’s private key is calculated by where is a randomly bijective affine transformation, and the corresponding public key is that satisfies . Then , and , are published to the public bulletin board.
Delegate: Let , randomly chooses a bijective affine transformation , then computes
The affine should be kept secret by . sends and the warrant to through an authenticated channel, where and is a time period which denotes that is valid in time , and is a signature on generated by using our proposed signing algorithm, that is, .
ProxyKeyGen: Let , after receiving , selects a random bijective affine transformation and computes
Let . Then is a private key for ordinary signature, and the corresponding public key is , that is because the following equality holds
Then computes a signature by running
and sets as the proxy signing key that uses to generate proxy signatures on behalf of , and sets and as the proxy verifying key.
ProxySign: Suppose is the message to be signed. This algorithm generates a proxy signature on the message by user .
User applies , and the central map to the basic MPKC signature algorithm described in Algorithm 1 to generate the signature on
Then the proxy signature on message by user is .
ProxyVerify: On input , anyone can verify the validity of the proxy signature by executing this algorithm. This algorithm includes the following steps:
Check the validity of on by running Verify with : . If it is ture, goto the next step. Otherwise, output 0.
Check the validity of on by running Verify with : . If it is true, goto the next step. Otherwise, output 0.
Check the validity of on message by running Verify with : . If it is true, output 1. Otherwise, output 0.
The verifier accepts the proxy signature if and only if the three conditions of ProxySign are all true. Otherwise, the verifier rejects the proxy signature.
Practical implementation for Proxy-MQ
After the changes, it is easy to see that we modify the randomly selected vector into an invertible transformation and a public known random vector, so the scheme is based not only on MQ problem, but also on IP problem. In contrast to Sakumoto et al.,16 we suggest to use a determined system for the MQ-based signature scheme (i.e. ). The reason for this is that a greater number of variables does not increase the security of this scheme.35 And we propose for the scheme the parameters , where is the number of the signer gathers the commitments in our modified MQ signature scheme.
A toy example and deployment in real distributed scenario
To illustrate how our proxy signature scheme works, we propose a toy example for Proxy-UOV in this section (others are similar). The following example comes from our running test on Magma.36
In our toy example, we choose the parameter of Proxy-UOV as .
First, we set the private key of user is , the public key , the private key and public key of user are and , respectively
where , .
Delegate: randomly chooses a bijective affine transformation as follows
Then computes , , and . The results are
In addition, generates a warrant (assume that ), signs it using the regular UOV signing algorithm, and gets ,
Finally, sends and the warrant to through an authenticated channel.
ProxyKeyGen: Afterreceiving , first checks the validity of by checking and . Then selects a random bijective affine transformation and computes , and , where
Let , and . Then is a private key for ordinary signature, and the corresponding public key is .
Assume the hash value of is , computes a signature by running
and sets as the proxy signing key that uses to generate proxy signatures on behalf of , and sets and as the proxy verifying key.
ProxySign: Suppose is the message to be signed.
User generates the signature on using the proxy key
Then the proxy signature on message by user is .
ProxyVerify: On input , a verifier can verify the validity of the proxy signature by executing this algorithm. This algorithm includes the following steps:
1. Compute and check whether it is equal to . Since it is true, go to the next step.
2. Compute and check whether it is equal to . Since it is true, go to the next step.
3. Compute and check whether it is equal to . Since it is also valid, the algorithm outputs 1.
In addition, let us consider a communication scenario in a distributed sensor network and see how we can deploy our proxy scheme into this scenario. To develop a secure communication in a distributed sensor network, sensors digitally sign the data (i.e. the message ) and communicate to a server. It is expected that the server must be convinced to the authenticity of the sender (i.e. sensor deployed in the distributed network) and the sender (i.e. sensor) must also be convinced to the authenticity of the receiver (i.e. server). To develop such authentication method, a designated receiver delegation method is the most promising. In this method, the deploying authority (DA) (server administrator or network developer) delegates its signing power to sensor and also designates the trained professional as a receiver. Thus, DA is original signer, sensor is a proxy signer and the server is designated receiver. As shown in the above toy example, in this scenario, the DA is acting as , the sensors are acting as , and finally, it can generate a proxy signature on message as . Finally, the server is acting as a verifier and thus can convince to the authenticity of the sensors.
Performance and comparisons of our proxy signature schemes
The complexity and running time of each procedure of our proxy signature schemes, and comparison with Tang’s scheme24 (the only proxy scheme of MPKC we have known) and Mambo’s scheme30 (the first proxy scheme), Hu–Zhang (HZ) scheme37 (an improved efficient secure proxy scheme) is shown in Table 1. We set the parameters in HZ scheme37 with . From Table 1, we can see that the proxy signature generation and the proxy signature verification of our schemes are more efficient than Tang’s schemes in Table 1. According to recent research result, the time of generating a large prime is more than 20 times than that of generating a system of polynomials, and an exponentiation evaluation costs about half times than an evaluation operation, while choosing proper parameters with security level more than 80 bits. So, in this situation, all our schemes and Tang’s scheme24 have better initialization time and verify process time than that of Mambo’s scheme30 and HZ scheme.37
Computing complexity requirements by ours and compared with other schemes.
Notation for Table 1: : the number of layers, polynomials, and variables in a scheme, respectively; : average time required by a Gaussian Elimination function to solve linear equations; : the length of output bits of the hash function for Tang scheme;24: the iterative rounds for MQ-based signature; : the time for generating a large prime, one exponentiation computation, one modular multiplication computation, and hash function computation, respectively; : the size of the public key in a secure RSA scheme and the size of a secure hash function, respectively.The running time of our proposed Proxy-UOV and Proxy-Rainbow schemes (using our suggested parameters) compared with Mambo’s scheme30 and HZ scheme37 (2048 bits) is shown in Table 2. From the experiments’ results, we can see that our schemes’ proxy signature generation time is between RSA and elliptic curve cryptography (ECC), while the initialization and verifying time are much faster than both of them. Consequently, even though our scheme is a bit slower than the proxy share generation time, but it is applicable in real life.
Running time requirements by Proxy-UOV and Proxy-Rainbow and compared with other schemes.
Proxy-UOV
Proxy-Rainbow
Mambo scheme
HZ scheme
Initialization (ms)
Proxy share generation (ms)
Proxy signature generation (ms)
Signature verify (ms)
UOV: Unbalanced Oil and Vinegar; HZ: Hu–Zhang.
While running in Magma, the memory will be overflowed when using the suggested parameters of Proxy-MQ and Tang’s scheme in Tang and Xu,24 we have to modify the parameter to formulate the running time ( for Proxy-MQ, for Tang’s scheme), and the result is shown in Table 3.
Running time requirements by Proxy-MQ and compared with Tang scheme.
Proxy-MQ
Tang’s scheme
Initialization (ms)
Proxy share generation (ms)
Proxy signature generation (ms)
Signature verify (ms)
MQ: multivariate quadratic.
From the result shows, the proxy signature scheme based on MQ is slightly more efficient than Tang’s scheme24 and is a promising proxy scheme by taking into account its post-quantum property in multivariate cryptography.
Conclusion
A general proxy signature scheme based on MPKC signature scheme is proposed, which invokes three number of times of the underlying signature scheme, and can satisfy all the security requirement of a proxy scheme. Through formal security analysis, our general scheme is proved to be cured on Existential Unforgeability under an Adaptive Chosen Message Attack with Proxy Key Exposure assuming that the underlying MPKC signature is Existential Unforgeability under an Adaptive Chosen Message Attack. Thereafter, we propose three practical proxy schemes based on three promising MPKC schemes: UOV, Rainbow, and MQ-based scheme. Although the security of the underlying MPKC is still an open problem, the method to construct our proxy scheme and the method to formally prove the security of our proxy scheme are good exploration in the area of MPKC.
In the future work, we plan to construct other primitives based on multivariate signature scheme, such as identity-based signature, forward secure signature, and so on.
Footnotes
Handling Editor: José Camacho
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research,authorship,and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research,authorship,and/or publication of this article: This work is supported by the Key Areas Research and Development Program of Guangdong Province under Grant 2019B010139002,National Natural Science Foundation of China under Grant 61972094,National Natural Science Foundation of China under Grant 61902079,and the project of Guangzhou Science and Technology (Grant 201902020006 and 201902020007).
ORCID iD
Jiageng Chen
References
1.
VaradharajanVAllenPBlackS. An analysis of the proxy problem in distributed systems. In: Proceedings of the 1991 IEEE computer society symposium on research in security and privacy, Oakland, CA, 20–22 May 1991, pp.255–275. New York: IEEE.
2.
ParkHULeeIY. A digital nominative proxy signature scheme for mobile communication. In: Proceedings of the international conference on information and communications security, Xi’an, China, 13–16 November 2001, pp.451–455. Berlin; Heidelberg: Springer.
3.
LeiwoJHnleCHomburgP, et al. Disallowing unauthorized state changes of distributed shared objects. In: Proceedings of the IFIP international information security conference, Beijing, China, 22–24 August 2000, pp.381–390., Boston, MA: Springer.
4.
FosterIKesselmanCTsudikG, et al. A security architecture for computational grids. In: Proceedings of the 5th ACM conference on computer and communications security, San Francisco, CA, November 1998, pp.83–92. New York: ACM.
5.
BakkerAVan SteenMTanenbaumAS. A law-abiding peer-to-peer network for free-software distribution. In: Proceedings of the 2001 IEEE international symposium on network computing and applications, Cambridge, MA, 8–10 October 2001, pp.60–67. New York: IEEE.
6.
ShorPW.Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer. SIAM J Comput1997; 26: 1484–1509.
MatsumotoTImaiH. Public quadratic polynomial-tuples for efficient signature-verification and message-encryption. In: Proceedings of the 7th international workshop on the theory and application of cryptographic techniques (EUROCRYPT’08), Davos, 25–27 May 1988, pp.419–453. Berlin: Springer
10.
PatarinJ. The oil and vinegar signature scheme. In: Dagstuhl workshop on cryptography, Schloss Dagstuhl, 22–26 September 1997. Dagstuhl.
11.
CourtoisN. Generic attacks and the security of Quartz. In: DesmedtY (ed.) Proceedings of the 6th international workshop on practice and theory in public key cryptography (PKC 2003), Miami, FL, 6–8 January 2003. Berlin: Springer, 2003, pp.351–364.
12.
KipnisAPatarinJGoubinL. Unbalanced oil and vinegar signature schemes. In: Proceedings of the 18th annual international conference theory and application of cryptographic techniques (EUROCRYPT’99), Prague, 2–6 May 1999, pp.206–222. Berlin: Springer.
13.
BulyginSPetzoldtABuchmannJ.Towards provable security of the unbalanced oil and vinegar signature scheme under direct attacks. In: GongGGuptaK (eds) Progress in Cryptology—INDOCRYPT 2010, lecture notes in computer science, 6498. Berlin; Heidelberg: Springer, 2010, pp.17–32.
14.
SakumotoKShiraiTHiwatariH. On provable security of UOV and HFE signature schemes against chosen-message attack. In: Proceedings of the 4th international conference on post-quantum cryptography (PQCrypto’2011), Taipei, Taiwan, 29 November—2 December 2011, pp.68–82. Berlin: Springer.
15.
BellareMRogawayP. The exact security of digital signatures-how to sign with RSA and Rabin. In: Proceedings of the 15th annual international conference on theory and application of cryptographic techniques (EUROCRYPT’06), Saragossa, 12–16 May 1996, pp.399–416. Berlin: Springer.
16.
SakumotoKShiraiTHiwatariH. Public-key identification schemes based on multivariate quadratic polynomials. In: Proceedings of the 31st annual international cryptology conference (CRYPTO’ 2011), Santa Barbara, CA, 14–18 August 2011, pp.706–723. Berlin: Springer.
PetzoldtAChenM-SYangB-Y, et al. Design principles for HFEV-based multivariate signature schemes. In: Proceedings of the 21th international conference on the theory and application of cryptology and information security (ASIACRYPT’2015), Auckland, New Zealand, November 29–December 3 2015, pp.311–334. Berlin: Springer.
20.
BeullensWPreneelB.Field lifting for smaller UOV public keys. In: PatraASmartN (eds) International conference in cryptology in India—INDOCRYPT 2017, LNCS, vol. 10698. Heidelberg: Springer, 2017, pp.227–246.
21.
ChenM-SHülsingAJoostA, et al. From 5-pass MQ-based identification to MQ-based signatures. In: Advances in cryptology—ASIACRYPT 2016, LNCS, vol. 10032. Heidelberg: Springer, 2016, pp.135–165.
22.
DingJSchmidtD. Rainbow a new multivariable polynomial signature scheme. In: Proceedings of the 3th international conference on applied cryptography and network security (ACNS’2005), New York, 7–10 June 2005, pp.164–175. Berlin: Springer.
23.
PeretzY.On multivariable encryption schemes based on simultaneous algebraic Riccati equations over finite fields. Finite Fields Th App2016; 39: 1–35.
24.
TangSXuL.Towards provably secure proxy signature scheme based on isomorphisms of polynomials. Future Gener Comp Sy2014; 30: 91–97.
25.
PetzoldtABulyginSBuchmannJ.A multivariate based threshold ring signature scheme: applicable algebra in engineering. Commun Comput2013; 24: 255–275.
26.
ChenJTangSHeD, et al. Online/offline signature based on UOV in wireless sensor networks. Wirel Netw2017; 23: 1719–1730.
El BansarkhaniRMohamedMSEPetzoldtA. MQSAS: a multivariate sequential aggregate signature scheme. In: Proceedings of the 19th international conference on information security (ISC 2016), Honolulu, HI, 3–6 September 2016, pp.426–439. Cham: Springer.
29.
VermaGKSinghBBSinghH.Bandwidth efficient designated verifier proxy signature scheme for healthcare wireless sensor networks. Ad Hoc Netw2018; 81: 100–108.
30.
MamboMUsudaKOkamotoE.Proxy signatures: delegation of the power to sign messages. IEICE T Fund Elec Commun Comp Sci1996; 79: 1338–1354.
31.
FiatAShamirA. How to prove yourself: practical solutions to identification and signature problems. In: OdlyzkoA (ed.) Proceedings of the 6th annual international cryptology conference (CRYPTO’06), Santa Barbara, CA. Berlin: Springer, 1987, pp.186–194.
32.
SchuldtJMatsuuraKPatersonK. Proxy signatures secure against proxy key exposure. In: Proceedings of the 11th international conference on theory and practice of public key cryptography (PKC 2008), Barcelona, 9–12 March 2008, pp.141–161. Berlin: Springer.
33.
PetzoldtABulyginSBuchmannJ. Linear recurring sequences for the UOV key generation. In: Proceedings of the 14th international conference on theory and practice of public key cryptography (PKC 2011), Taormina, 6–9 March 2011, pp.335–350. Berlin: Springer.
34.
PetzoldtABulyginSBuchmannJ.A multivariate signature scheme with a partially cyclic public key. In: GongGGuptaKC (eds) Proceedings of SCC. Berlin: Springer, 2010, pp.33–48.
35.
PatarinJGoubinL. Trapdoor one-way permutations and multivariate polynomials. In: Proceedings of the 1st international conference on information security and cryptology (ICISC 1997), Beijing, China, 11–14 November 1997, pp.53–66. Berlin: Springer.
36.
BosmaWCannonJPlayoustC.The Magma algebra system I: the user language. J Symb Comput1997; 24: 235–265.
37.
HuJZhangJ.Cryptanalysis and improvement of a threshold proxy signature scheme. Comp Stand Inter2009; 31: 169–173.