Next Article in Journal
Algorithmic Improvements of the KSU-STEM Method Verified on a Fund Portfolio Selection
Previous Article in Journal
Selecting a Secure Cloud Provider—An Empirical Study and Multi Criteria Approach
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A New Approach to Keep the Privacy Information of the Signer in a Digital Signature Scheme

1
Institute of Cybersecurity and Cryptology, School of Computing and Information Technology, University of Wollongong, Northfields Avenue, Wollongong, NSW 2500, Australia
2
Faculty of Information and Communication Technology, Hong Duc University, 565 Quang Trung, Thanh Hoa, Vietnam
*
Author to whom correspondence should be addressed.
Information 2020, 11(5), 260; https://doi.org/10.3390/info11050260
Submission received: 8 April 2020 / Revised: 6 May 2020 / Accepted: 8 May 2020 / Published: 11 May 2020

Abstract

:
In modern applications, such as Electronic Voting, e-Health, e-Cash, there is a need that the validity of a signature should be verified by only one responsible person. This is opposite to the traditional digital signature scheme where anybody can verify a signature. There have been several solutions for this problem, the first one is we combine a signature scheme with an encryption scheme; the second one is to use the group signature; and the last one is to use the strong designated verifier signature scheme with the undeniable property. In this paper, we extend the traditional digital signature scheme to propose a new solution for the aforementioned problem. Our extension is in the sense that only a designated verifier (responsible person) can verify a signer’s signature, and if necessary (in case the signer refuses to admit his/her signature) the designated verifier without revealing his/her secret key is able to prove to anybody that the signer has actually generated the signature. The comparison between our proposed solution and the three existing solutions shows that our proposed solution is the best one in terms of both security and efficiency.

1. Introduction

The digital signature scheme has been widely used in practical applications today. As a handwritten signature, the validity of a digital signature should be publicly verified by anyone. However, in some specific modern applications, such as Electronic Voting, e-Health, e-Cash, etc, we would like that only the responsible person can verify the validity of a signature. For example, in an Electronic Voting system (similarly for e-Health application, e-Payment application or e-Bidding application) where a responsible person (the host such as the government for example) usually would like to ask users (voters) to agree or disagree on a plan. To this aim, a voter signs on an agreeing or disagreeing message, then uploads his/her signature on a public server. However, in some specific plans, the voter is not willing to let other voters in the system know whether or not he/she agrees or disagrees on these plans. In fact, the voter would like that there is only one responsible person who can know whether or not he/she agrees or disagrees on a given plan. On the other hand, if necessary, in case the voter refuses to admit his/her signature, the responsible person without revealing his/her secret key should be able to prove to anybody that the voter has actually generated the signature. To deal with this problem, there exist several following methods:
  • Method 1: using additional a public key encryption scheme. A voter encrypts his/her signature under the public key of the responsible person, so only the responsible person with his/her corresponding secret key at hands can decrypt and then check the validity of the voter’s signature. Other voters in the system cannot decrypt, hence they cannot verify the voter’s signature, or they cannot know whether or not the voter agrees or disagrees on a given plan.
  • Method 2: using the group signature scheme [1]. In a group signature scheme, a user in a group can generate a signature on behalf of the group, and only the group manager can know exactly who has actually generated the signature. So, if the group includes all users in the system and the responsible person plays the role of the group manager, only the responsible person can know whether or not the voter agrees or disagrees on a given plan.
  • Method 3: using the recently introduced strong designated verifier signature scheme [2] ( SDVS for short). In a SDVS scheme, a signature only can be checked by a chosen designated verifier, but a signature can be generated by both the signer and the designated verifier. That means no one can tell a signature has been actually generated by the signer or the designated verifier. This special property is useful in some specific practical scenarios as mentioned in [2,3,4,5,6,7], however it is undesirable in some other scenarios such as Electronic Voting, e-Health, e-Payment applications. In fact, in the e-Voting system, if we use the SDVS scheme, then the responsible person (the host such as the government for example) will play the role of the designated verifier. Moreover, the responsible person also can generate the voter’s signature. This leads to the fact that if the responsible person would like that a voter agrees on a given plan, he/she simply forges the signature of this voter, and the voter cannot prove to anybody that he/she actually hasn’t generated this signature. In contrast, in some cases, the voter also can refuse that he/she has already generated this signature, and of course the responsible person also cannot prove that the voter has actually generated this signature. This obviously is not a desirable property for the e-Voting system. Recent works [8,9,10] extended the SDVS scheme to propose a new method to deal with the above problem, the proposed schemes are named SDVS schemes with the undeniable property. In this type of scheme, we have a judge who can decide that a given signature is generated by a signer or a designated verifier. This type of scheme can deal with well the disputing between the signer and designated verifier, it, however, has the shortcoming that the judgment should be honest (this could face problems when the scheme is used in practice), and obviously to maintain the judgment, the system has to pay the cost on the storage, computation complexity and communication overhead.
We also note that in method 2 and method 3, the user cannot generate the usual signature (anyone can verify the signature). So, when we use method 2 or method 3 in the e-Voting system for example, to support the functionality of generating the usual signature we have to use an additional traditional signature scheme.
We motivate from the aforementioned problem to ask a question that whether or not there exists an efficient signature scheme where a signer can freely choose to generate either a usual signature (anyone can verify this signature) or a designated verifier signature (only the designated verifier can verify this signature, and the designated verifier cannot generate this signature as in SDVS scheme). Moreover, if necessary, in case the signer refuses to admit his/her signature, the designated verifier without revealing his/her secret key is able to prove to anybody that the signer has actually produced the signature. Regarding the application, we believe that besides Electronic Voting, e-Health, e-Payment, this type of scheme could also find many other applications in practice.

1.1. Our Contribution

In this paper, we affirmatively answer the above question by proposing an efficient signature scheme where a user can choose to produce either a usual signature or a designated verifier signature. Concretely, our scheme has the following properties:
  • only the designated verifier can verify the signer’s designated verifier signature, it, therefore, can keep the privacy information of the signer;
  • the designated verifier cannot forge the signer’s designated verifier signature. This means that the responsible person cannot forge the voter’s signature as in the case of Electronic Voting application;
  • in case the signer refuses to admit his/her designated verifier signature, the designated verifier without revealing his/her secret key is able to prove to anybody that the signer has actually generated this signature. By this way, there is no need to have a judgment in the system, and more importantly, this forces the signer to be honest;
  • the user can choose to generate either a usual signature or a designated verifier signature. That means our proposed scheme can be seen as an improvement of the traditional signature scheme in terms of functionality. Note that in the existing group signature scheme and SDVS scheme, the signer cannot generate the usual signature.
We name our scheme signer privacy-preserving digital signature scheme with undeniable property ( SPPS for short) scheme. In our scheme, to achieve the privacy information of the signer, technically we prove that everyone (except the designated verifier) is not able to distinguish between the signer’s designated verifier signature and random elements. That means everyone (except the designated verifier) cannot verify the signer’s designated verifier signature. The comparison Table 1 shows that our proposed method is one of the most efficient ones: using additional encryption scheme (method 1—M1); using group signature (method 2—M2); and finally using SDVS schemes with undeniable property (method 3—M3). As shown in the comparison table, our scheme just needs two exponentiations for signing and three pairings for verifying. Note that the time to compute one pairing is very fast and it is practical even for lightweight devices. More precisely, we refer to Section 5.3 in the paper [11], where the authors have tested that the time to compute one paring using a weak device is about 5.5 ms and the time to compute one exponentiation in two groups G ˜ and G are about 6.4 ms and 0.6 ms, respectively. One also can argue that in method 1, if we use RSA or Elliptic-curve cryptography (ECC) for the signature and encryption schemes instead of Pairing-based cryptography, this method will be efficient. We however note that Pairing-based signature schemes provide more advanced properties than RSA or Elliptic-curve-based signature schemes (that is why Pairing-based signature schemes currently still have deeply studied) such that short signature size, randomizable signature, aggregate signature, full security in the standard model, etc. Fortunately, our scheme is an extension of the Pointcheval-Sanders signature scheme [12] which supports all the above-advanced properties, therefore our scheme naturally also supports all the above-advanced properties. In addition, when using method 1, the security of the combined scheme (signature scheme and encryption scheme) should be carefully considered.
We also note that our SPPS scheme can be applied in any context that the privacy of the signer is needed.

1.2. Related Work and Organization of the Paper

The anonymity of the signer is also supported in attribute-based signature scheme, which was first introduced in [15]. In this system, each user possesses a set of attributes and then receives a corresponding secret key from the authority. To generate a signature on a given message m, the user relies on his/her secret key and a predicate which is satisfied by his/her attribute set. That means any user whose attribute set satisfies this predicate is able to generate this signature. The anonymity of the signer here is in the sense that from a given signature, anybody only knows that there are a set of users who are able to generate this signature, anybody (even the authority) cannot know exactly who actually generated this signature. This is obviously not suitable for the contexts of e-Voting, e-Health, e-Bidding or e-Payment applications, where the responsible person needs to know exactly who has generated this signature.
Another scheme, which also supports the anonymity of signer, is the ring signature scheme [16]. In this scheme, a user can generate a signature on behalf of a public set of users, and no one can identify who has actually generated this signature. Different from group signature, in the ring signature scheme we do not have the group manager to identify the signature.
The last one which supports the anonymity of signer is the anonymous signature scheme, this scheme was introduced by Yang et al. [17]. The anonymity of the signer is achieved in the sense that to run the verification procedure the verifier needs both the signer’s public key and the signed message. If we hide the signed message, no one can identify who has actually generated the signature. This is also not suitable for the contexts of Electronic Voting, e-Health, e-Bidding or e-Payment applications.
Paper organization. The next section introduces the definition and security model of our SPPS scheme and some used tools to construct our scheme. The construction of our SPPS scheme and its security analysis are introduced in Section 3. We give the conclusion of the paper in the last Section 4.

2. Preliminaries

In this section, we present the security model of our SPPS scheme, the assumptions which are used to prove the security of our scheme, and some useful tools used to construct our scheme.

2.1. Definition and Security Model

2.1.1. Definition

As in the usual signature scheme, a user in our scheme possesses a pair of the public key and secret key, as well as plays the roles of both the signer and the (designated) verifier. To generate the usual signature, the signer uses only his/her secret key as usual, however, to generate the designated verifier signature he/she uses both his/her secret key and the public key of the chosen designated verifier. To verify the usual signature, the verifier uses only the public key of the signer, however, to verify the designated verifier signature the designated verifier uses both the public key of the signer and his/her secret key. Moreover, in case the signer refuses to admit his/her designated verifier signature, the designated verifier uses his/her secret key to prove that the signer has actually generated this designated verifier signature.
Formally, there are seven probabilistic algorithms in our SPPS scheme.
  • Setup ( 1 λ ) : the input of this algorithm is the security parameter λ , the output is the system parameters param .
  • Key   Generation : the input of this algorithm is the param , the output is a pair consisting of a public key and secret key ( p k i , s k i ) .
  • Usual   Signing : the input of this algorithm are a message m, the param and a secret key s k i , the output is a usual signature σ .
  • Designated   Signing : the input of this algorithm are a message m, the param , a secret key s k i and the public key p k j of chosen designated verifier. The output is a designated verifier signature σ .
  • Usual   Verification : the input of this algorithm are the param , a usual signature σ and the public key p k i of the signer. The algorithm returns 1 in case σ is a valid signature of the message m under p k i , and 0 otherwise.
  • Designated   Verification : the input of this algorithm are the param , a designated verifier signature σ , the public key p k i of the signer and the secret key s k j of the designated verifier. The algorithm returns 1 in case σ is a valid signature of the message m under p k i , and 0 otherwise.
  • Proving : this algorithm includes two sub-algorithms:
    first: takes as input param , a designated verifier signature σ on a message m and a designated verifier’s secret key s k j , outputs a public proof proof ;
    second: takes as input param , a public proof proof and the corresponding signer’s public key p k i . The algorithm returns 1 in the case where σ is a valid signature of the message m under p k i , and 0 otherwise. Note that the second sub-algorithm is run by anyone.
Correctness : If all m , p k i , s k i , p k j , s k j are valid, and σ = Usual   Signing ( param , m , s k i ) or σ = Designated   Signing ( param , m , s k i , p k j ) , then the following equations must hold:
Usual   Verification ( param , σ , m , p k i ) = 1
Designated   Verification ( param , σ , m , p k i , s k j ) = 1
Proving ( param , s k j , σ , m , p k i ) = 1

2.1.2. Adversary’s Oracles

We allow the forger F to query the challenger C the following oracles.
  • UsualSigningRequest ( m , p k i ) : when F requests a usual signature of user i on a message m, the challenger C returns a valid corresponding usual signature σ .
  • DesignatedSigningRequest ( m , p k i , p k j ) : when F requests a designated verifier signature of user i on a message m with designated verifier public key p k j , the challenger C returns a valid corresponding designated verifier signature σ .
  • RequestDesignatedVerifying ( σ , m , p k i , p k j ) : when F requests to know the validity of a designated verifier signature σ , the challenger C returns the validity of σ .

2.1.3. Security Model

The security requirements of our SPPS scheme are that an attacker is unable to forge the usual signature as well as the designated verifier signature. Moreover, he/she also cannot verify any designated verifier signature. To this aim, based on security models in [7], we consider the unforgeability property which guarantees that the attacker cannot forge any signature, and the privacy of signer’s identity ( PSI ) property which guarantees that the attacker cannot verify any designated verifier signature.
Unforgeability: Regarding this property, we allow the colluding of any user. The security game is described as follows.
  • Initialization   Phase : At this step C first uses the Setup algorithm to produce the public parameters param . Next, he/she uses the Key   Generation algorithm to produce the target user’s key pair ( p k i , s k i ) and the target designated verifier’s key pair ( p k j , s k j ) . C sends param and ( p k i , p k j , s k j ) to F .
  • Query   Phase : At this step, F adaptively asks the following oracles: UsualSigningRequest ( m , p k i ) , DesignatedSigningRequest ( m , p k i , p k j ) and RequestDesignatedVerifying ( σ , m , p k i , p k j ) .
  • Output   Phase : At this step, F outputs ( m * , σ * ). F is said to win the game if the followings are correct:
    • m * has never been queried to UsualSigningRequest ( m , p k i )
      and DesignatedSigningRequest ( m , p k i , p k j ) ;
    • Usual   Verification ( param , σ * , m * , p k i ) outputs 1,
      or Designated   Verification ( param , σ * , m * , p k i , p k j ) outputs 1.
Let S u c c U n F Π be the success probability that the forger F wins the above security game.
Definition 1.
A SPPS scheme Π is said to achieve the existentially unforgeable property against any polynomial-time forger F if the success probabilities S u c c U n F Π above is negligible.
Privacy of the signer’s identity— PSI : This property is defined in the sense that an attacker cannot distinguish between a valid designated verifier signature and random elements, that means he/she cannot check the validity of a designated verifier signature.
The security game between a challenger C and an adversary F is described as follows.
  • Initialization   Phase : At this step C first uses the Setup algorithm to produce the public parameters param . Next, he/she uses the Key   Generation algorithm to produce three target users’ key pairs ( p k i 0 , s k i 0 ) , ( p k i 1 , s k i 1 ) , ( p k j , s k j ) , where i 0 and i 1 are target signers, j is the target designated verifier. C sends param and ( p k i 0 , p k i 1 , p k j ) to F .
  • Query   Phase : At this step, F adaptively asks the following oracles: UsualSigningRequest ( m , p k i k ) , DesignatedSigningRequest ( m , p k i k , p k j ) and RequestDesignatedVerifying ( σ , m , p k i k , p k j ) , k { 0 , 1 } .
  • Challenge   Phase : At this step, F first outputs m * , C then randomly picks b $ { 0 , 1 } and produces σ * = Designated   Signing ( param , m * , s k i b , p k j ) , then sends σ * to F .
  • F still can request queries as above except that he/she cannot request query
    RequestDesignatedVerifying ( σ * , m * , p k i k , p k j ) for any k { 0 , 1 } .
  • Guess   Phase : At this step, F outputs a guess bit b for b, F is said to win the game if b = b .
Let A d v P S I F Π be the advantage that F wins the above security game, where A d v P S I F Π is defined by the success probability that F wins the above security game deviates from one-half.
Definition 2.
A SPPS scheme Π is said to achieve the PSI property against any polynomial-time adversary F if the advantage A d v P S I F Π above is negligible.

2.2. Bilinear Groups

Let G , G ˜ and G T be three finite multiplicative abelian groups of large prime order p > 2 λ where λ is the security parameter. Let g , g ˜ be generators of G , G ˜ , respectively. Let e be an admissible asymmetric bilinear map e : G × G ˜ G T such that for all a , b Z p
  • e ( g a , g ˜ b ) = e ( g , g ˜ ) a b ;
  • for g 1 G and g ˜ 1 G ˜ , e ( g , g ˜ ) 1 T ;
  • e ( g , g ˜ ) is efficiently computable.
We call the tuple ( p , G , G ˜ , G T , g , g ˜ , e ) a bilinear map group system, and according to [13] it is in:
  • Type 1 pairings if G = G ˜
  • Type 2 pairings if G G ˜ but there is an efficiently computable homomorphism ϕ : G ˜ G
  • Type 3 pairings if G G ˜ but there doesn’t exist efficiently computable homomorphism between G ˜ and G .

2.3. Pointcheval-Sanders Signature Scheme

At CT-RSA’16, Pointcheval et al. proposed a new signature scheme, this scheme achieves full security under a new assumption which they named PS assumption 1. In the recent paper at CT-RSA’18 [12], the author showed that the hardness of this new assumption and the hardness of the well-known q- SDH assumption [18] are equivalent.
More precisely, the Pointcheval–Sanders signature scheme includes four following probabilistic algorithms.
  • Setup : the input of this algorithm is the security parameter λ , the output is the public parameter param = ( p , G , G ˜ , G T , g, g ˜ , e ) .
  • KeyGen : the input of this algorithm is the security parameter λ , the output is the user’s key pairs. Concretely, user’s secret key includes two elements ( x , y ) Z p * , and user’s public key includes three elements ( h ˜ G ˜ , X ˜ = h ˜ x , Y ˜ = h ˜ y ) .
  • Sign : the inputs of this algorithm are the user’s secret key ( x , y ) and a message m Z p . The algorithm randomly picks h $ G , h 1 G , and generates the signature σ = ( σ 1 = h , σ 2 = h ( x + y m ) ) .
  • Verify : the input of this algorithm are a message m, signature σ = ( σ 1 , σ 2 ) and the corresponding public key ( h ˜ , X ˜ , Y ˜ ) . The algorithm returns 1 which indicates that the signature is valid if the following conditions are verified:
    σ 1 1 G ; e ( σ 1 , X ˜ Y ˜ m ) = e ( σ 2 , h ˜ ) .
    Otherwise, the algorithm returns 0 which indicates that the signature is invalid.
The PS assumption 1, given in [12], permits to prove that such signature scheme is secure.
Definition 3.
PS assumption 1:Let ( p , G , G ˜ , G T , g , g ˜ , e ) be a bilinear group setting of type 3. Choose u , v $ Z p , we define the oracle O ( m ) on input m Z p that chooses a random h G and outputs the pair ( h , h u + m v ) . Given ( g , g ˜ , g ˜ u , g ˜ v , g v ) and unlimited access to this oracle, no adversary can have non-negligible success probability to generate a pair ( h , h u + m * v ) , with h 1 G , for a new m * not asked to O .
In this paper, we prove that our SPPS scheme is secure under the PS assumption 1 and a new assumption which is a simple modification of the well known XDH assumption. The XDH assumption is described as follows.
Definition 4.
XDH assumption: Assume that ( p , G , G ˜ , G T , g , g ˜ , e ) is a bilinear group system of type 3. Pick a , b $ Z p . Given ( g , g ˜ , g a , g b , T ) , it is hard to distinguish T is either g a b or a random element in G .
We define a simple modification of XDH assumption, we name MXDH assumption, as follows.
Definition 5.
MXDH assumption: Assume that ( p , G , G ˜ , G T , g , g ˜ , e ) is a bilinear group system of type 3. Pick a , b , c $ Z p and h ˜ $ G ˜ . Given Y = ( g , g ˜ , g a , g b , g c , g a c , h ˜ , h ˜ a , T ) , it is hard to distinguish T is either g a b c or a random element in G .
It is easy to see that one needs to have the value g ˜ b or g b c to distinguish T. However, these values are not provided in Y .

3. SPPS Scheme

We rely on the Pointcheval–Sanders signature scheme [12] to construct our SPPS scheme. In our SPPS scheme a user can choose to generate either a usual signature (using the same signing algorithm as in [12]) or a designated verifier signature.

3.1. Detailed Description

The scheme is described as follows.
  • Setup ( 1 λ ) : the input of this algorithm is the security parameter λ , the output is the public parameters param = ( p , G , G ˜ , G T , g , g ˜ , e ) .
  • Key   Generation : the input of this algorithm is param . To produce the output, the algorithm first randomly chooses ( x i , y i , z i ) $ Z p * , h ˜ i $ G ˜ , computes X ˜ i = h ˜ i x i , Y ˜ i = h ˜ i y i , Y i = g y i , Z i = g z i . The algorithm finally outputs the secret key s k i = ( x i , y i , z i ) and public key p k i = ( h ˜ i , X ˜ i , Y ˜ i , Y i , Z i )
  • Usual   Signing : the input of this algorithm are param , s k i and the message m Z p (note that in practice we use a hash function to hash a long message m { 0 , 1 } * to a short message m Z p ). The algorithm first randomly chooses h $ G such that h 1 G , then outputs the usual signature σ = ( σ 1 , σ 2 ) where σ 1 = h and σ 2 = h ( x i + y i m ) .
  • Designated   Signing : the input of this algorithm are param , s k i , p k j and the message m Z p . The algorithm first randomly chooses h $ G such that h 1 G , then outputs the designated verifier signature σ = ( σ 1 , σ 2 ) where σ 1 = h and σ 2 = h ( x i + y i m ) · ( g z j ) y i z i .
  • Usual   Verification : the input of this algorithm are param , p k i , m and the usual signature σ = ( σ 1 , σ 2 ) . The algorithm checks that whether σ 1 1 G and
    e ( σ 2 , h ˜ i ) = e ( σ 1 , X ˜ i Y ˜ i m ) .
    If this is the case the algorithm outputs 1, else it outputs 0.
  • Designated   Verification : the input of this algorithm are param , p k i , s k j , m and the designated verifier signature σ = ( σ 1 , σ 2 ) . The algorithm checks that whether σ 1 1 G and
    e ( σ 2 , h ˜ i ) = e ( σ 1 , X ˜ i Y ˜ i m ) · e ( Z i , Y ˜ i z j ) .
    If this is the case the algorithm outputs 1, else it outputs 0.
  • Proving :
    • first: the designated verifier j with his/her secret key s k j = ( x j , y j , z j ) and the signature σ = ( σ 1 , σ 2 ) of user i at hands generates the proof as follows:
      proof = ( σ 1 , σ 2 ) = ( σ 1 1 z j , σ 2 1 z j ) = ( h 1 z j , h x i + y i m z j · g y i z i ) .
    • second: on input a message m, anybody with the proof at hands can verify whether or not that the user i with his/her public key p k i has signed on the message m by checking that:
      σ 1 1 G ; e ( σ 2 , h ˜ i ) = e ( σ 1 , X ˜ i Y ˜ i m ) · e ( Z i , Y ˜ i ) .
Correctness. The correctness of Usual   Verification algorithm is straightforward followed from Pointcheval-Sanders signature scheme [12].
Regarding the correctness of Designated   Verification , let σ = ( σ 1 = h , σ 2 = h ( x i + y i m ) · ( g z j ) y i z i ) , we have:
e ( σ 2 , h ˜ i ) = e ( h ( x i + y i m ) · ( g z j ) y i z i , h ˜ i ) = e ( h ( x i + y i m ) , h ˜ i ) · e ( g z j y i z i , h ˜ i ) = e ( h , h ˜ i ( x i + y i m ) ) · e ( g z i , h ˜ i y i z j ) = e ( σ 1 , X ˜ i Y ˜ i m ) · e ( Z i , Y ˜ i z j ) ,
and similar to the correctness of the Proving algorithm.
Remark 1.
It is clear that from the proof , one cannot extract z j , which means the designated verifier can runs the Proving algorithm without revealing his/her secret key. However, the crucial point here is that the signer realizes that he/she cannot refuse his/her designated verifier signature, therefore in practice the designated verifier may never need to runs the Proving algorithm.

3.2. Security Analysis of SPPS Scheme

In this section, we prove that our SPPS scheme is existentially unforgeable under the PS assumption 1, and our SPPS scheme achieves PSI property under the MXDH assumption.
Theorem 1.
Our SPPS scheme is existentially unforgeable under the PS assumption 1.
Proof. 
Let F be a forger against the security of our SPPS scheme, and C be an adversary against PS assumption 1. We will prove that C can simulate F and based on the F ’s output to solve the PS assumption 1.
To this aim, at the beginning of the security game (see Section 2.1.3) C first gets an instance of the PS assumption 1: ( p , G , G ˜ , G T , g , g ˜ , e , g v , g ˜ u , g ˜ v ) , and gets the right to access oracle O . Note that O ( m ) , on input m Z p , outputs a pair ( h , h u + v m ) where h is a random element in G .
  • Initialization   Phase : C chooses t , z i , x j , y j , z j $ Z p * , implicitly sets x i = u , y i = v , then computes h ˜ i = g ˜ t , X ˜ i = ( g ˜ u ) t , Y ˜ i = ( g ˜ v ) t , Y i = g v , Z i = g z i , sets p k i = ( h ˜ i , X ˜ i , Y ˜ i , Y i , Z i ) . Next, C chooses h ˜ j $ G ˜ , computes X ˜ j = h ˜ j x j , Y ˜ i = h ˜ j y j , Y j = g y j , Z j = g z j , sets p k j = ( h ˜ j , X ˜ j , Y ˜ j , Y j , Z j ) and s k j = ( x j , y j , z j ) .
    Finally, C gives param = ( p , G , G ˜ , G T , g , g ˜ , e ) and ( p k i , p k j , s k j ) to F .
  • Query   Phase : C now answers the requested oracles from F as follows.
    • UsualSigningRequest ( m , p k i ) : C needs to answer to F the usual signature of user i on message m. To this aim, C simply asks O on input m to obtain the pair ( h , h u + v m ) = ( h , h x i + y i m ) , then returns it to F .
    • DesignatedSigningRequest ( m , p k i , p k j ) : C needs to answer to F the designated verifier signature of user i on message m with designated verifier j. To this aim, C first requests the oracle O on input m to get the pair ( h , h u + v m ) = ( h , h x i + y i m ) . Next, C produces designated verifier signature σ = ( σ 1 , σ 2 ) as follows.
      σ 1 = h , σ 2 = h x i + y i m · ( g y i ) z j z i
      Note that C knows z i , z j . Finally, C sends σ to F .
    • RequestDesignatedVerifying ( σ , m , p k i , p k j ) : C needs to answer to F that whether or not σ is a valid designated verifier signature on m with designated verifier j. To this aim, C simply runs the Designated   Verification ( param , σ , m , p k i , s k j ) and returns the output to F .
  • Output   Phase : At this phase, F outputs ( m * , σ * ) with the requirement that m * has never been queried to UsualSigningRequest ( m * , p k i ) and DesignatedSigningRequest ( m * , p k i , p k j ) , that means m * has never been queried to oracle O . There are two cases: First, σ * is a usual signature that means σ * = ( σ 1 * , σ 2 * ) , where:
    σ 1 * = h , σ 2 * = h x i + y i m * = h u + v m *
    C simply uses the pair ( σ 1 * , σ 2 * ) as a valid pair to solve the PS assumption 1.
    Second, σ * is a designated verifier signature that means σ * = ( σ 1 * , σ 2 * ) , where:
    σ 1 * = h , σ 2 * = h x i + y i m * · g y i z j z i
    C computes
    K = σ 2 * / ( g y i ) z j z i = h x i + y i m * = h u + v m * .
    Note that C knows z i , z j . So, C also can use the valid pair ( σ 1 * , K ) to solve the PS assumption 1.
    It is easy to see that the simulation is perfect and C has never aborted the game, so if F can break the security of our SPPS scheme with non-negligible success probability, then C also can solve the PS assumption 1 with non-negligible success probability ( S u c c U n F Π is non-negligible), which concludes our proof.
 □
Theorem 2.
Our SPPS scheme achieves PSI property under the MXDH assumption. More precisely,
A d v P S I F Π 2 ϵ MXDH
Proof. 
Let F as above and C be an adversary against MXDH assumption. The proof includes a series of games, let E i be the event that the adversary F returns the correct guessed bit in Game G i .
  • G 0 : Game G 0 is the original game. In this game, C first chooses x i k , y i k , z i k , x j , y j , z j $ Z p * where k = 0 , 1 , so C can easily produce param , p k i k , p k j , and C sends param , p k i k , p k j to F .
    On the other hand, with x i k , y i k , z i k , x j , y j , z j at hands where k = 0 , 1 , C can easily answer any query ( UsualSigningRequest ( m , p k i k ) , DesignatedSigningRequest ( m , p k i k , p k j ) and RequestDesignatedVerifying ( σ , m , p k i k , p k j ) ) from F .
    Next, at the challenge phase, C first picks randomly a bit b $ { 0 , 1 } , C then uses x i b , y i b , z i b , z j to produce the challenge designated verifier signature σ * . From the definition, we have:
    P r | E 0 | = A d v P S I F Π + 1 2
  • G 1 : This game is the same as game G 0 except that the value g y i 0 z i 0 z j now is generated randomly.
    Let consider the following game: C first gets an instance of the MXDH assumption: ( g , g ˜ , g a , g b , g c , g a c , h ˜ , h ˜ a , T ) , note that T is either g a b c or a random element in G . C next randomly picks x i 0 , x i 1 , y i 1 , z i 1 $ Z p * , then uses them to produce param , p k i 1 .
    For p k i 0 and p k j , C first implicitly sets y i 0 = a , z i 0 = c , z j = b , randomly picks x j , y j $ Z p * , then uses them to produce: p k j (note that C knows Z j = g b from assumption). C also produces p k i 0 as follows:
    p k i 0 = ( h ˜ , X ˜ i 0 = h ˜ x i 0 , Y ˜ i 0 = h ˜ a , Y i 0 = g a , Z i 0 = g c )
    Note that h ˜ i 0 = h ˜ , C finally sends param , p k i k , p k j where k = 0 , 1 to F .
    At the first query phase, C answers queries from F as follows.
    UsualSigningRequest ( m , p k i 0 ) : C simply picks t $ Z p * , then produces σ = ( σ 1 , σ 2 ) where
    σ 1 = g t , σ 2 = g t x i 0 · ( g a ) t m
    C also can easily answer UsualSigningRequest ( m , p k i 1 ) since he/she knows x i 1 , y i 1 , z i 1 .
    DesignatedSigningRequest ( m , p k i 0 , p k j ) : C first picks t $ Z p * , then produces σ = ( σ 1 , σ 2 ) where
    σ 1 = g t , σ 2 = g t x i 0 · ( g a ) t m · T
    Note that if T = g a b c then σ is in the correct form. As above, since C knows x i 1 , y i 1 , z i 1 , so he/she can easily answer DesignatedSigningRequest ( m , p k i 1 , p k j ) , note that C also knows Z j = g b .
    σ 1 = g t , σ 2 = g t x i 1 · ( g y i 1 ) t m · ( g b ) y i 1 z i 1
    RequestDesignatedVerifying ( σ = ( σ 1 , σ 2 ) , m , p k i 0 , p k j ) : C simply checks whether:
    e ( σ 1 , X ˜ i 0 · Y ˜ i 0 m ) · e ( T , h ˜ ) = = e ( σ 2 , h ˜ ) .
    If it is right, C outputs 1, else C outputs 0. Note that h ˜ i 0 = h ˜ . It is also easy for C to answer RequestDesignatedVerifying ( σ = ( σ 1 , σ 2 ) , m , p k i 1 , p k j ) .
    At the challenge phase, F first sends m * to C , C then picks t $ Z p * , b $ { 0 , 1 } , then produces σ * = ( σ 1 * , σ 2 * ) , where:
    σ 1 * = g t , σ 2 * = g t x i b · Y i b t m * · T b .
    Note that if b = 0 , T b = T , else T b = g b y i 1 z i 1 . We have that if T = g a b c , σ * is in the correct form.
    The second phase query is similar to the first one.
    At the guess phase, F outputs b as the guess for bit b , if b = b then C returns 1 means that T = g a b c and 0 otherwise, means that T is a random element in G .
    It is straightforward to realize that if T = g a b c then C has simulated the game which is identical to Game G 0 , and the probability that C outputs the correct answer is P r | E 0 | . In case T is a random element, C has simulated the game which is identical to Game G 1 , and the probability that C outputs the correct answer is P r | E 1 | . Let β be the bit outputted by C , we have: P r [ β = 1 | T = g a b c ] P r [ β = 1 | T $ G ] = P r | E 0 | P r | E 1 | , therefore:
    P r | E 0 | P r | E 1 | ϵ MXDH
  • G 2 : This game is the same as game G 1 except that g y i 1 z i 1 z j now is generated randomly.
    As in the game G 1 , we have: P r | E 1 | P r | E 2 | ϵ MXDH .
    Note that both g y i 0 z i 0 z j and g y i 1 z i 1 z j are generated randomly in game G 2 , therefore the queries as well as the challenge designated verifier signature provide no help for adversary F , therefore P r | E 2 | = 1 2 . That means, we have: P r | E 0 | P r | E 1 | + P r | E 1 | P r | E 2 | 2 ϵ MXDH , P r | E 0 | 2 ϵ MXDH + P r | E 2 | = 2 ϵ MXDH + 1 2
    Thus A d v P S I F Π 2 ϵ MXDH , which concludes our proof.
 □

4. Conclusions

In several modern applications such as Electronic Voting, e-Health, e-Payment, etc, the privacy information of the signer is needed. There exist several methods to keep the privacy information of the signer such as combining a signature scheme with an encryption scheme, using a strong designated verifier signature scheme, or using a group signature scheme. In this paper, we extend the traditional signature scheme to propose an alternative method to solve this problem. Our proposed method has two advantages: it is an improvement of the traditional signature scheme in term of functionality (adding the function of keeping privacy information of the signer); it is the most efficient one when compared with three existing methods which deal with the same problem of keeping the privacy information of the signer.

Author Contributions

Methodology: V.C.T.; writing—original draft: V.C.T. and D.H.D.; formal analysis, writing—review and editing: W.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research is funded by Vietnam National Foundation for Science and Technology Development (NAFOSTED) under grant number 102.01-2018.301.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Chaum, D.; van Heyst, E. Group Signatures. In Advances in Cryptology EUROCRYPT’91, vol. 547 of Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 1991; pp. 257–265. [Google Scholar]
  2. Jakobsson, M.; Sako, K.; Impagliazzo, R. Designated verifier proofs and their applications. In Advances in Cryptology EUROCRYPT’96, vol. 1070 of Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 1996; pp. 143–154. [Google Scholar]
  3. Ming, Y.; Jin, Q.; Zhao, X. Designated verifier proxy signature scheme with multi-warrant in the standard model. J. Inf. Comput. Sci. 2013, 10, 2097–2107. [Google Scholar] [CrossRef]
  4. Lin, H.Y.; Wu, T.S.; Huang, S.K. An eicient strong designated verifier proxy signature scheme for electronic commerce. J. Inf. Sci. Eng. 2012, 28, 771–785. [Google Scholar]
  5. Huang, Q.; Yang, G.; Wong, D.S.; Susilo, W. Identity-based strong designated verifier signature revisited. J. Syst. Softw. 2011, 84, 120–129. [Google Scholar] [CrossRef]
  6. Lin, H.Y.; Wu, C.H.; Jiang, Y.R. On Delegatability of a Certificateless Strong Designated Verifier Signature Scheme. In New Trends in Computer Technologies and Applications. ICS 2018. Communications in Computer and Information Science; Springer: Singapore, 2019; Volume 1013, ISBN 978-981-13-9190-3. [Google Scholar]
  7. Huang, Q.; Yang, G.; Wong, D.S.; Susilo, W. Efficient strong designated verifier signature schemes without random oracle or with non-delegatability. Int. J. Inf. Secur. 2011. [Google Scholar] [CrossRef] [Green Version]
  8. Yang, B.; Sun, Y.; Yu, Y.; Xia, Q. A strong designated verifier signature scheme with secure disavowability. In Proceedings of the 4th International Conference on Intelligent Networking and Collaborative Systems (INCoS’12), Bucharest, Romania, 19–21 September 2012; pp. 286–291. [Google Scholar]
  9. Yang, B.; Yu, Y.; Sun, Y. A novel construction of SDVS with secure disavowability. Cluster Comput. 2013, 16, 807–815. [Google Scholar] [CrossRef]
  10. Hu, X.; Tan, W.; Xu, H.; Wang, J.; Ma, C. Strong Designated Verifier Signature Schemes with Undeniable Property and Their Applications. Secur. Commun. Netw. 2017, 2017, 7921782. [Google Scholar] [CrossRef] [Green Version]
  11. Bethencourt, J.; Sahai, A.; Waters, B. Ciphertext-Policy Attribute-Based Encryption. In Proceedings of the IEEE Symposium on Security and Privacy, Berkeley, CA, USA, 20–23 May 2007; pp. 321–334. [Google Scholar]
  12. Pointcheval, D.; Sanders, O. Reassessing Security of Randomizable Signatures. In Proceedings of the Topics in Cryptology—CT-RSA 2018—The Cryptographers’ Track at the RSA Conference 2018, San Francisco, CA, USA, 16–20 April 2018. [Google Scholar]
  13. Galbraith, S.D.; Paterson, K.G.; Smart, N.P. Pairings for cryptographers. Discrete Appl. Math. 2008, 156, 3113–3121. [Google Scholar] [CrossRef] [Green Version]
  14. Boneh, D.; Boyen, X.; Shacham, H. Short Group Signatures. In Advances in CRYPTO’04, vol. 3152 of Lecture Notes in Computer Science; Springer: Berlin/Heidelberg, Germany, 2004; pp. 41–55. [Google Scholar]
  15. Maji, H.K.; Prabhakaran, M.; Rosulek, M. Attribute-based signatures. In CT-RSA’11; Springer: Berlin/Heidelberg, Germany, 2011; LNCS 6558; pp. 376–392. [Google Scholar]
  16. Rivest, R.L.; Shamir, A.; Tauman, Y. How to Leak a Secret. In ASIACRYPT 2001; Springer: Berlin/Heidelberg, Germany, 2001; pp. 552–565. [Google Scholar]
  17. Yang, G.; Wong, D.S.; Deng, X.; Wang, H. Anonymous Signature Schemes. Public Key Cryptogr. 2006, 3958, 347–363. [Google Scholar]
  18. Boneh, D.; Boyen, X. Short signatures without random oracles and the SDH assumption in bilinear groups. J. Cryptol. 2008, 21, 149–177. [Google Scholar] [CrossRef] [Green Version]
Table 1. Performance comparison. Sig is a signature algorithm, Ver is a verification algorithm, Enc and Dec are encryption algorithm and decryption algorithm, respectively, while E denotes exponentiation operation, P denotes pairing operation, H denotes hash operation. | p | , | p | , | G | and | G ˜ | are the size of the prime p , p and the groups G , G ˜ . Note that if we set the security parameter λ = 80 , then we can implement a curve of type 3 Pairing where | p | , | G | and | G ˜ | are about 170 bits, 170 bits and 1024 bits, while method 3 uses finite field where | p | is much more bigger than 170 bits (about 1024 bits) when the security parameter λ = 80 , see [13] for more details. Regarding method 2, we use BBS scheme [14], which is one of the most efficient group signature scheme to date.
Table 1. Performance comparison. Sig is a signature algorithm, Ver is a verification algorithm, Enc and Dec are encryption algorithm and decryption algorithm, respectively, while E denotes exponentiation operation, P denotes pairing operation, H denotes hash operation. | p | , | p | , | G | and | G ˜ | are the size of the prime p , p and the groups G , G ˜ . Note that if we set the security parameter λ = 80 , then we can implement a curve of type 3 Pairing where | p | , | G | and | G ˜ | are about 170 bits, 170 bits and 1024 bits, while method 3 uses finite field where | p | is much more bigger than 170 bits (about 1024 bits) when the security parameter λ = 80 , see [13] for more details. Regarding method 2, we use BBS scheme [14], which is one of the most efficient group signature scheme to date.
Signature SizePublic-K SizeSecret-K SizeSign TimeVerify Time
M1 | E n c ( S i g ) | | P K E n c + P K S i g | | S K E n c + S K S i g | S i g + E n c D e c + V e r
M2—[14] 9 | G | 4 | G | + 2 | G ˜ | 1 | G | + 1 | p | 12 E + 5 P 10 E + 10 P
M3—[10] 5 | p | 2 | p | 2 | p | 6 E + 3 H 9 E + 1 H
Ours2 | G | 2 | G | + 3 | G ˜ | 3 | p | 2 E 2 E + 3 P

Share and Cite

MDPI and ACS Style

Duong, D.H.; Susilo, W.; Trinh, V.C. A New Approach to Keep the Privacy Information of the Signer in a Digital Signature Scheme. Information 2020, 11, 260. https://doi.org/10.3390/info11050260

AMA Style

Duong DH, Susilo W, Trinh VC. A New Approach to Keep the Privacy Information of the Signer in a Digital Signature Scheme. Information. 2020; 11(5):260. https://doi.org/10.3390/info11050260

Chicago/Turabian Style

Duong, Dung Hoang, Willy Susilo, and Viet Cuong Trinh. 2020. "A New Approach to Keep the Privacy Information of the Signer in a Digital Signature Scheme" Information 11, no. 5: 260. https://doi.org/10.3390/info11050260

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop