Homomorphic Trapdoor Commitments to Group Elements Jens Groth University College London
[email protected] Abstract We present homomorphic trapdoor commitments to group elements. In contrast, previous homomorphic trapdoor commitment schemes only allow the messages to be exponents. Our commitment schemes are length-reducing, we can make a short commitment to many group elements at once, and they are perfectly hiding and computationally binding. The commitment schemes are based on groups with a bilinear map. We can commit to elements from a base group, whereas the commitments belong to the target group. We present two constructions based on simple computational intractability assumptions, which we call respectively the double pairing assumption and the simultaneous triple pairing assumption. While the assumptions are new, we demonstrate that they are implied by well-known assumptions; respectively the decision Diο¬e-Hellman assumption and the decision linear assumption. Our constructions also have applications in the context of committing to exponents. Variants of the Pedersen commitment scheme make it possible to commit to many exponents at once; however, this comes at the cost of a public key that grows linearly in the number of committed exponents. We propose homomorphic trapdoor commitment schemes for multiple exponents with constant size commitments and sub-linear size public keys. Keywords: Homomorphic trapdoor commitment, bilinear groups, double pairing assumption, simultaneous triple pairing assumption.
1
Introduction
A non-interactive commitment scheme makes it possible to create a commitment π to a secret message π. The commitment hides the message, but we may later disclose π and demonstrate that π was a commitment to π by revealing the randomness π used when creating it. Revealing the message and the randomness is called opening the commitment. It is essential that once a commitment is made, it is binding. Binding means that it is infeasible to ο¬nd two openings of the same commitment to two diο¬erent messages. In this paper, we are interested in public-key commitments with some useful features. First, we want the commitment scheme to have a trapdoor property. In normal operation the commitment scheme is binding, however, if we know a secret trapdoor π‘π associated with the public commitment key ππ, then it is possible to create commitments that can be opened to any message. We note that the trapdoor property implies that the commitment hides the message. Second, we want the commitment scheme to be homomorphic. Homomorphic means that messages and commitments belong to abelian groups and if we multiply two commitments, we get a new commitment that contains the product of the two messages. Third, we want the commitment scheme to be length reducing, i.e., the commitment is shorter than the message. Related work. There are many examples of homomorphic commitments. Homomorphic cryptosystems such as ElGamal [ElG85], Okamoto-Uchiyama [OU98], Paillier [Pai99], BGN [BGN05] or Linear 1
Encryption [BBS04] can be seen as homomorphic commitment schemes that are perfectly binding and computationally hiding. Commitments based on homomorphic encryption can be converted into computationally binding and perfectly hiding homomorphic commitments, see for instance the mixed commitments of DamgΛ ard and Nielsen [DN02] and the commitment schemes used by Groth, Ostrovsky and Sahai [GOS06], Boyen and Waters [BW06], Groth [Gro06] and Groth and Sahai [GS08]. Even in the perfectly hiding versions of these commitment schemes the size of a commitment is larger than the size of a message though. This length-increase follows from the fact that the underlying building block is a cryptosystem and a ciphertext must be large enough to include the message. There are also direct constructions of homomorphic trapdoor commitment schemes such as Guillou and Quisquater commitments [GQ88] and Pedersen commitments [Ped91]. Pedersen commitments are one of the most used commitment schemes in the ο¬eld of cryptography. The public key consists of two group elements π, β belonging to a group of prime order π and we commit to a message π β β€π by computing π = π π βπ‘ , where π‘ β β€π is a randomly chosen randomizer. Pedersen commitments are perfectly hiding with a trapdoor and if the discrete logarithm problem is hard they are computationally binding. There are many variants of the Pedersen commitment scheme. Fujisaki and Okamoto [FO97] and DamgΛ ard and Fujisaki [DF02] for instance suggest a variant where the messages can be arbitrary integers. There is an important generalization of the Pedersen commitment scheme that makes it possible to commit to many messages at once. The public key consists + 1 group elements πΎ1 , . . . , πΎπ , β and β ofππ π we compute a commitment to (π1 , . . . , ππ ) as π = βπ‘ π πΎ . This commitment scheme is lengthπ=1 π reducing since we only use one group element to commit to π messages, a feature that has been found useful in contexts such as mix-nets/voting, digital credentials, blind signatures and zero-knowledge proofs [FS01, Nef01, Bra00, KZ06, Lip03]. Common for all the homomorphic trapdoor commitment schemes1 we mentioned above is that they are homomorphic with respect to addition in a ring or a ο¬eld. However, in public-key cryptography it is common to work over groups that are not rings or ο¬elds and often it is useful to commit to group elements from such groups. Of course, if we know the discrete logarithms of the group elements we want to commit to, we can use the Pedersen commitment scheme to commit to the discrete logarithms. In general, we cannot expect to know the discrete logarithms of the group elements that we want to commit to though, leaving us with the open problem of constructing homomorphic trapdoor commitments to group elements. Our contribution. The contribution of this paper is the construction of homomorphic trapdoor commitment schemes for group elements. The commitment schemes are perfectly hiding, perfectly trapdoor and computationally binding. We stress that we can commit to arbitrary group elements and trapdoor-open to arbitrary group elements, even if we do not know the discrete logarithms of these group elements. Moreover, the commitment schemes have the additional advantage of being length-reducing; we can commit to multiple group elements with one short commitment. Our constructions are based on bilinear groups. These are groups πΊ1 , πΊ2 , πΊπ with a bilinear map π : πΊ1 Γ πΊ2 β πΊπ . Messages and randomizers are elements from πΊ2 , whereas the commitments will consist of a few group elements in πΊπ . An advantage of our commitment schemes is that the constructions are very simple. In one construction, the public key consists of π + 1 group elements (ππ , π1 , . . . , ππ ) from πΊ1 and we commit to π1 , . . . , ππ β πΊ2 by choosing π β πΊ2 at random and computing the commitment π β π = π(ππ , π) π(ππ , ππ ). π=1 1
Boyen and Waters [BW06], Groth [Gro06] and Groth and Sahai [GS08] use homomorphic commitments to group elements, but they do not have a trapdoor property that makes it possible to open them to arbitrary group elements. Moreover, those commitments suο¬er from being length-increasing.
2
In the other construction, the public key consists of 2π + 4 group elements (ππ , βπ , ππ , βπ , π1 , β1 , . . . , ππ , βπ ) from πΊ1 and the commitment consists of picking π, π at random from πΊ2 and computing the commitment (π, π) as π = π(ππ , π)π(ππ , π )
π β
π(ππ , ππ )
and
π=1
π = π(βπ , π)π(βπ , π )
π β
π(βπ , ππ ).
π=1
The commitment schemes are computationally binding assuming the double pairing assumption respectively the simultaneous triple pairing assumption hold. The double pairing assumption says that given a random couple (ππ , ππ‘ ) from πΊ1 it is computationally infeasible to ο¬nd non-trivial group elements π, π‘ β πΊ2 so π(ππ , π)π(ππ‘ , π‘) = 1. The simultaneous triple pairing assumption says that given two random triples (ππ , ππ , ππ‘ ) and (βπ , βπ , βπ‘ ) from πΊ1 it is computationally infeasible to ο¬nd non-trivial group elements π, π , π‘ β πΊ2 so π(ππ , π)π(ππ , π )π(ππ‘ , π‘) = 1
and
π(βπ , π)π(βπ , π )π(βπ‘ , π‘) = 1.
We will show that the decision Diο¬e-Hellman assumption in πΊ1 implies the double pairing assumption and perhaps surprisingly that the decision linear assumption [BBS04] in πΊ1 implies the simultaneous triple pairing assumption. We remark that the roles of πΊ1 and πΊ2 can be reversed giving us commitments to group elements in πΊ1 . Since the constructions and the assumptions would be identical after reversing the roles of πΊ1 and πΊ2 , we will without loss of generality only consider the case of committing to group elements in πΊ2 . Applications. As an example of the usage of our commitment schemes, we consider in Section 5 the case of committing to Pedersen commitments. Pedersen commitments, allow the commitment to βπ π π π‘ multiple values π1 , . . . , ππ β β€π as β π=1 πΎπ . A Pedersen commitment is itself just a group element, and we can therefore use our commitment schemes to commit to multiple Pedersen commitments. Since our commitment schemes are homomorphic and the Pedersen commitment scheme is homomorphic, their combination is also homomorphic. We get a homomorphic trapdoor commitment scheme to ππ elements from β€π . In contrast with the Pedersen commitment scheme, however, the public key of our scheme is only π(π + π) group elements. Moreover, we propose an honest veriο¬er zero-knowledge argument of knowledge of the committed values with a communication complexity π(π + π) group and ο¬eld elements, which improves on the communication complexity of ππ ο¬eld elements for the most practical honest veriο¬er zero-knowledge arguments of knowledge for the Pedersen commitment scheme to ππ ο¬eld elements. Such an eο¬cient homomorphic trapdoor commitment scheme may in turn be a useful component in constructing more advanced zero-knowledge arguments. One can for instance reduce the communication complexity of Grothβs [Gro09] sub-linear size zero-knowledge argument for circuit satisο¬ability from 1 1 π(β£πΆβ£ 2 ) group elements to π(β£πΆβ£ 3 ) group elements, although the details of the construction are beyond the scope of this paper.
2
Deο¬nitions
Notation. Algorithms in our commitment schemes take a security parameter π as input written in unary. For simplicity we will sometimes omit writing the security parameter explicitly, assuming π can be deduced from the other inputs. All our algorithms will be probabilistic polynomial time algorithms. We write π¦ = π΄(π₯; π), when π΄ on input π₯ and randomness π outputs π¦. We write π¦ β π΄(π₯), for the process of picking randomness π at random and setting π¦ = π΄(π₯; π). We also write π¦ β π for 3
sampling π¦ uniformly at random from the set π. When deο¬ning security, we assume that there is an adversary attacking our schemes. The adversary is modeled as a non-uniform polynomial time stateful algorithm. By stateful, we mean that we do not need to give it the same input twice, it remembers from the last invocation what its state was. This makes the notation a little simpler, since we do not need to explicitly write out the transfer of state from one invocation to the next. Given two functions π, π : β β [0; 1] we write π (π) β π(π) when there is negligible diο¬erence, i.e., β£π (π) β π(π)β£ = π βπ(1) .
2.1
Commitments
A commitment scheme is a protocol between Alice and Bob that allows Alice to commit to a secret message π. Later Alice may open the commitment and reveal to Bob that she committed to π. Commitment schemes must be binding and hiding. Binding means that Alice cannot change her mind; a commitment can only be opened to one message π. Hiding means that Bob does not learn which message Alice committed to. In this paper, we will focus on non-interactive commitment schemes. In a non-interactive commitment scheme, Alice computes the commitment herself and sends it to Bob. The opening process is also non-interactive, it simply consists of Alice sending the message and the randomness she used when creating the commitment to Bob. Bob can now run the commitment protocol himself to check that indeed this was the message Alice had committed to. A non-interactive commitment scheme consists of three polynomial time algorithms (π’, πΎ, com). π’ is a probabilistic setup algorithm that takes as input the security parameter π and outputs some setup information ππ. The setup information ππ can for instance describe a ο¬nite group over which we are working, but it could also just be the security parameter written in unary so there is no loss of generality in including a setup algorithm. We include an explicit algorithm for the setup because when designing cryptographic protocols we often need the commitment scheme to work with an existing ο¬nite group. πΎ is a probabilistic algorithm that takes as input the setup ππ and generates a public commitment key ππ and a trapdoor key π‘π. The commitment key ππ speciο¬es a message space β³ππ , a randomizer space βππ and a commitment space πππ . We assume it is easy to verify membership of the message space, randomizer space and the commitment space and it is possible to sample randomizers uniformly at random from βππ . The algorithm com takes as input the commitment key ππ, a message π from the message space, a randomizer π from the randomizer space and outputs a commitment π in the commitment space. We are interested in constructing homomorphic trapdoor commitments. By homomorphic, we mean that β³ππ , βππ , πππ are groups with the property that if we multiply two commitments, then we get a commitment to the product of the messages. By trapdoor we mean that given the secret trapdoor key generated by the key generator, it is possible to open a commitment to any message. For this purpose, we have two additional probabilistic polynomial time algorithms Tcom and Topen. Tcom takes the trapdoor π‘π as input and outputs an equivocal commitment π and an equivocation key ππ. Topen on input ππ, π and a message π β β³ππ creates an opening π β βππ of the commitment, so π = comππ (π; π). Deο¬nition 1 (Homomorphic trapdoor commitment scheme) A homomorphic trapdoor commitment scheme consists of a quintuple of algorithms (π’, πΎ, com, Tcom, Topen) as described above, such that (π’, πΎ, com) is hiding and binding and homomorphic and (π’, πΎ, com, Tcom, Topen) has a perfect trapdoor property as deο¬ned below. Deο¬nition 2 (Perfect hiding) The triple (π’, πΎ, com) is perfectly hiding if for all stateful adversaries π we have [ ] Pr ππ β π’(1π ); (ππ, π‘π) β πΎ(ππ); (π0 , π1 ) β π(ππ, ππ); π β comππ (π0 ) : π(π) = 1 [ ] = Pr ππ β π’(1π ); (ππ, π‘π) β πΎ(ππ); (π0 , π1 ) β π(ππ, ππ); π β comππ (π1 ) : π(π) = 1 , 4
where we require that π outputs π0 , π1 that belong to β³ππ . Deο¬nition 3 (Computational binding) The triple (π’, πΎ, com) is computationally binding if for all non-uniform polynomial time stateful adversaries π we have [ Pr ππ β π’(1π ); (ππ, π‘π) β πΎ(ππ); (π0 , π1 , π0 , π1 ) β π(ππ, ππ) : ] π0 β= π1 β§ comππ (π0 ; π0 ) = comππ (π1 ; π1 ) β 0, where we require that π outputs π0 , π1 β β³ππ and π0 , π1 β βππ . Deο¬nition 4 (Perfect trapdoor) The quintuple (π’, πΎ, com, Tcom, Topen) is perfectly trapdoor if for all stateful adversaries π we have [ ] Pr ππ β π’(1π ); (ππ, π‘π) β πΎ(ππ); π β π(ππ, ππ); π β βππ ; π = comππ (π; π) : π(π, π) = 1 [ = Pr ππ β π’(1π ); (ππ, π‘π) β πΎ(ππ); π β π(ππ, ππ); (π, ππ) β Tcomππ (π‘π); ] π β Topenππ (π, π) : π(π, π) = 1 , where π outputs π β β³ππ . We note that the perfect trapdoor property implies that the commitment scheme is perfectly hiding, since a commitment is perfectly indistinguishable from an equivocal commitment that can be opened to any message. Deο¬nition 5 (Homomorphic) The commitment scheme (π’, πΎ, com) is homomorphic if πΎ always outputs ππ describing groups β³ππ , βππ , πππ , which we will write multiplicatively, such that for all π, πβ² β β³ππ , π, πβ² β πππ we have comππ (π; π)comππ (π; πβ² ) = comππ (ππβ² ; ππβ² ).
3
Foundations
Bilinear groups. Let π’ be a probabilistic polynomial time algorithm that generates (π, πΊ1 , πΊ2 , πΊπ , π) β π’(1π ) such that β π is a π-bit prime β πΊ1 , πΊ2 , πΊπ are cyclic groups of order π β π : πΊ1 Γ πΊ2 β πΊπ is a non-degenerate bilinear map so β π(πΎ1 , πΎ2 ) generates πΊπ if πΎ1 , πΎ2 generate πΊ1 and πΊ2 β βπΎ1 β πΊ1 , πΎ2 β πΊ2 , π, π β β€π we have π(πΎ1π , πΎ2π ) = π(πΎ1 , πΎ2 )ππ β Group operations, evaluation of the bilinear map, sampling of generators and membership of πΊ1 , πΊ2 , πΊπ are all eο¬ciently computable. Double pairing assumption. The security of our ο¬rst commitment scheme will be based on the double pairing assumption.2 The double pairing problem is given random elements ππ , ππ‘ β πΊ1 to ο¬nd a non-trivial couple (π, π‘) β πΊ22 such that π(ππ , π)π(ππ‘ , π‘) = 1. 2
The double pairing assumption was also proposed independently by Abe, Haralambiev and Ohkubo [AHO10].
5
Deο¬nition 6 We say the double pairing assumption holds for the bilinear group generator π’ if for all non-uniform polynomial time adversaries π we have [ Pr ππ = (π, πΊ1 , πΊ2 , πΊπ , π) β π’(1π ); ππ , ππ‘ β πΊ1 ; (π, π‘) β π(ππ, ππ , ππ‘ ) : ] (π, π‘) β πΊ22 β {(1, 1)} β§ π(ππ , π)π(ππ‘ , π‘) = 1 β 0. One could also consider the reverse double pairing assumption, where ππ , ππ‘ β πΊ2 . The double pairing assumption is used for commitments to elements in πΊ2 , whereas the reverse double pairing assumption would be used for commitments to elements in πΊ1 . We will without loss of generality only describe commitments to group elements in πΊ2 in the paper. Simultaneous triple pairing assumption. The security of our second commitment scheme will be based on the simultaneous triple pairing assumption. The simultaneous triple pairing problem is given random elements ππ , βπ , ππ , βπ , ππ‘ , βπ‘ β πΊ1 to ο¬nd a non-trivial triple (π, π , π‘) β πΊ32 such that π(ππ , π)π(ππ , π )π(ππ‘ , π‘) = 1 and π(βπ , π)π(βπ , π )π(βπ‘ , π‘) = 1. Deο¬nition 7 (Simultaneous triple pairing assumption) We say the simultaneous triple pairing assumption holds for the bilinear group generator π’ if for all non-uniform polynomial time adversaries π we have [ Pr ππ = (π, πΊ1 , πΊ2 , πΊπ , π) β π’(1π ); ππ , βπ , ππ , βπ , ππ‘ , βπ‘ β πΊ1 ; (π, π , π‘) β π(ππ, ππ , βπ , ππ , βπ , ππ‘ , βπ‘ ) : (π, π , π‘) β πΊ32 β {(1, 1, 1)} β§
π(ππ , π)π(ππ , π )π(ππ‘ , π‘) = 1
β§
] π(βπ , π)π(βπ , π )π(βπ‘ , π‘) = 1 β 0.
The simultaneous triple pairing assumption is used to build commitments to group elements in πΊ2 . We could also deο¬ne a reverse simultaneous triple pairing assumption, which would give us commitments to group elements in πΊ1 . We will without loss of generality only describe commitments to group elements in πΊ2 in the paper. Comparison. The double pairing assumption is the simplest of the two assumptions and leads to the most eο¬cient commitment scheme. It is a stronger assumption than the simultaneous triple pairing assumption though as the following theorem shows. Theorem 8 If the double pairing assumption holds for π’, then the simultaneous triple pairing assumption holds for π’. Proof. We will show that if π has probability π(π) of breaking the simultaneous triple pairing assumption for π’, then there is an algorithm β¬ that breaks the double pairing assumption for π’ with at least π(π) β 1/π chance. Let (ππ, ππ , ππ‘ ) be a random double pairing challenge given to β¬. If ππ = 1 or ππ‘ = 1, it is trivial to ο¬nd a solution to the double pairing problem. If ππ β= 1 and ππ‘ β= 1, the double pairing adversary β¬ selects ππ , ππ , ππ , ππ , ππ‘ , ππ‘ β β€π and computes βπ = ππππ ππ‘ππ , βπ = ππππ ππ‘ππ , βπ‘ = ππππ‘ ππ‘ππ‘ . It also selects πΛπ , πΛπ , πΛπ‘ β πΊ1 at random. The double pairing adversary β¬ runs π on (ππ, πΛπ , πΛπ , πΛπ‘ , βπ , βπ , βπ‘ ) and with at least π(π) probability it gets a non-trivial solution (Λ π, π Λ, π‘Λ) to the simultaneous triple pairing problem. The solution satisο¬es π(βπ , πΛ)π(βπ , π Λ)π(βπ‘ , π‘Λ) = 1 (it will not be needed in the proof that the solution also satisο¬es π(πΛπ , πΛ)π(πΛπ , π Λ)π(πΛπ‘ , π‘Λ) = 1). We deduce π(ππ , πΛππ π Λππ π‘Λππ‘ )π(ππ‘ , πΛππ π Λππ π‘Λππ‘ ) = 1. No matter what the ππ , ππ , ππ‘ values are, the random choice of ππ , ππ , ππ‘ makes βπ , βπ , βπ‘ be random group elements. This means π has no information whatsoever about ππ , ππ , ππ‘ and hence there is probability 1/π for πΛππ π Λππ π‘Λππ‘ = 1. With at least π(π) β 1/π probability (Λ πππ π Λππ π‘Λππ‘ , πΛππ π Λππ π‘Λππ‘ ) is a solution to the double pairing problem. β‘ There are some types of bilinear groups the double pairing assumption cannot be true. Galbraith, Paterson and Smart [GPS08] classify bilinear groups into three types: 6
Type 1: πΊ1 = πΊ2 . Type 2: There is no eο¬ciently computable homomorphism π : πΊ1 β πΊ2 . Type 3: There are no eο¬ciently computable homomorphisms in either direction between πΊ1 and πΊ2 . The double pairing assumption can only hold when there is no eο¬ciently computable non-trivial homomorphism π : πΊ1 β πΊ2 , since otherwise π = π(ππ‘ ) and π‘ = π(ππ ) would be a solution to the double pairing problem. This means the double pairing assumption does not hold in bilinear groups of Type 1 and the reverse double pairing assumption does not hold in bilinear groups of Type 1 or Type 2. In contrast, the simultaneous triple pairing assumption and the reverse simultaneous triple pairing assumption are plausible in all types of bilinear groups.
3.1
Security Analysis of the Double Pairing Assumption
The double pairing assumption is a new assumption. To gain conο¬dence in the double pairing assumption, we will now show that it is implied by the decision Diο¬e-Hellman assumption in πΊ1 . Deο¬nition 9 (Decision Diο¬e-Hellman assumption) The decision Diο¬e-Hellman assumption holds in πΊ1 for π’ if for all non-uniform polynomial time adversaries π we have [ ] Pr ππ = (π, πΊ1 , πΊ2 , πΊπ , π) β π’(1π ) ; ππ , ππ‘ β πΊ1 ; π β β€π : π(ππ, ππ , ππ‘ , πππ , ππ‘π ) = 1 [ ] β Pr ππ = (π, πΊ1 , πΊ2 , πΊπ , π) β π’(1π ) ; ππ , ππ‘ β πΊ1 ; π, π β β€π : π(ππ, ππ , ππ‘ , πππ , ππ‘π ) = 1 . Theorem 10 If the decision Diο¬e-Hellman assumption holds in πΊ1 for π’, then the double pairing assumption holds for π’. Proof. We will show that an adversary π that breaks the double pairing assumption with probability π(π) can be used to build a decision Diο¬e-Hellman adversary β¬ that has advantage π(π) β 3/π in breaking the decision Diο¬e-Hellman problem. Given a Diο¬e-Hellman challenge (ππ, ππ , ππ‘ , πππ , ππ‘π ), where π may be random or may be equal to π, β¬ gives the challenge (ππ, ππ , ππ‘ ) to π. π outputs a pair (π, π‘) in response. β¬ outputs 1 if (π, π‘) is a non-trivial pair so π(ππ , π)π(ππ‘ , π‘) = 1 and π(πππ , π)π(ππ‘π , π‘) = 1, otherwise β¬ outputs 0. Let us look at the ο¬rst distribution (ππ, ππ , ππ‘ , πππ , ππ‘π ). There is π(π) chance for π outputting a non-trivial pair so π(ππ , π)π(ππ‘ , π‘) = 1, in which case we will also have π(πππ , π)π(ππ‘π , π‘) = 1. So here β¬ has probability π(π) of outputting 1. Let us now look at the second distribution (ππ, ππ , ππ‘ , πππ , ππ‘π ). There is less than 3/π chance of ππ = 1, ππ‘ = 1 or π = π . In case ππ β= 1, ππ‘ β= 1 and π β= π , there is no non-trivial couple π, π‘ such that π(ππ , π)π(ππ‘ , π‘) = 1 and π(πππ , π)π(ππ‘π , π‘) = 1. β‘
3.2
Security Analysis of the Simultaneous Triple Pairing Assumption
To gain conο¬dence in the simultaneous triple pairing assumption, we will show that it follows from the decision linear assumption [BBS04]. The decision linear problem is to decide whether a tuple (π1 , π2 , π3 , π1π , π2π , π3π ) has π = π + π or π is random. Deο¬nition 11 (Decision linear assumption) The decision linear assumption holds in πΊ1 for π’ if
7
for all non-uniform polynomial time adversaries π we have: [ Pr ππ = (π, πΊ1 , πΊ2 , πΊπ , π) β π’(1π ) ; π1 , π2 , π3 β πΊ1 ; π, π β β€π : ] π(ππ, π1 , π2 , π3 , π1π , π2π , π3π+π ) = 1 [ β Pr ππ = (π, πΊ1 , πΊ2 , πΊπ , π) β π’(1π ) ; π1 , π2 , π3 β πΊ1 ; π, π, π β β€π : ] π(ππ, π1 , π2 , π3 , π1π , π2π , π3π ) = 1 . Theorem 12 If the decision linear assumption holds in πΊ1 for π’, then the simultaneous triple pairing assumption holds for π’. Proof. We will show how to convert an adversary π that breaks the simultaneous triple pairing assumption with probability π(π) into an adversary β¬ that has advantage π(π) β 11/π against the decision linear assumption. On a decision linear challenge (ππ, π1 , π2 , π3 , β1 , β2 , β3 ), β¬ picks πΌ, π½ β β€π at random, sets ππ = π1 , βπ = β1 , ππ = π2 , βπ = β2 , ππ‘ = π32 π1πΌ π2π½ , βπ‘ = β3 βπΌ1 βπ½2 and runs (π, π , π‘) β π(ππ, ππ , βπ , ππ , βπ , ππ‘ , βπ‘ ). β¬ returns 1 if (π, π , π‘) is a non-trivial solution to π(ππ , π)π(ππ , π )π(ππ‘ , π‘) = 1
β§
π(βπ , π)π(βπ , π )π(βπ‘ , π‘) = 1
πΌ
β§
π(π2 , π π‘π½ )π(π3 , π‘) = 1,
β§
π(π1 , ππ‘ )π(π3 , π‘) = 1
and else it returns 0. Let us now analyze the success probability of β¬. It is given a challenge (ππ, π1 , π2 , π3 , π1π , π2π , π3π ), where π = π + π or π is random. By the choice of (ππ , ππ , ππ‘ , βπ , βπ , βπ‘ ) a solution (π, π , π‘) to the simultaneous triple pairing problem π(ππ , π)π(ππ , π )π(ππ‘ , π‘) = 1 β§ π(βπ , π)π(βπ , π )π(βπ‘ , π‘) = 1 also satisο¬es ( )( ) π(π1 , ππ‘πΌ )π(π3 , π‘) π(π2 , π π‘π½ )π(π3 , π‘) = 1 ( )π ( )π β§ π(π1 , ππ‘πΌ )π(π3 , π‘) π(π2 , π π‘π½ )π(π3 , π‘) = π(π3 , π‘π+πβπ ). Let us ο¬rst analyze the case of π being random. If π3 β= 1, π β= π + π, then a simultaneous triple pairing solution (π, π , π‘) that also satisο¬es π(π1 , ππ‘πΌ )π(π3 , π‘) = 1 β§ π(π2 , π π‘π½ )π(π3 , π‘) = 1 would by the latter equation given above have π‘ = 1. If π1 β= 1, π2 β= 1, π β= π the two equations above then imply π = 1 and π = 1, leading us to conclude that (π, π , π‘) is trivial. Since the chance of π1 = 1 β¨ π2 = 1 β¨ π3 β¨ π = π β¨ π = π + π is less than 5/π, there is less than 5/π chance of outputting 1 when π is chosen at random. Let us now analyze the case π = π + π. The simultaneous triple pairing problem given to π is of the form (ππ, π1 , π2 , π32 π1πΌ π2π½ , π1π , π2π , π3π π1ππΌ , π2ππ½ ). Assuming π1 β= 1, π2 β= 1, π β= π this corresponds to a standard triple pairing challenge conditioned on π1 β= 1, π2 β= 1, β1 β= β2 . So there is at least probability π(π) β 3/π chance that π outputs a non-trivial solution (π, π , π‘) so π(ππ , π)π(ππ , π )π(ππ‘ , π‘) = 1 and π(βπ , π)π(βπ , π )π(βπ‘ , π‘) = 1. Since π = π + π and π β= π, the two equations above tell us that such a solution (π, π , π‘) also satisο¬es π(π1 , ππ‘πΌ )π(π3 , π‘) = 1 and π(π2 , π π‘π½ )π(π3 , π‘) = 1. Since there is probability at most 3/π for π1 = 1 β¨ π2 = 1 β¨ π = π, we conclude that β¬ has probability at least π(π) β 6/π for outputting 1 when π = π + π. β‘
4
Homomorphic Trapdoor Commitments to Group Elements
We will now present the homomorphic trapdoor commitment schemes. The setup algorithm generates a bilinear group (π, πΊ1 , πΊ2 , πΊπ , π) and the commitment schemes can commit to π group elements from πΊ2 . 8
4.1
Commitments based on the Double Pairing Assumption
We have message space β³ππ = πΊπ2 , randomizer space βππ = πΊ2 and commitment space πππ = πΊπ , where each of them are interpreted as a group using entry-wise multiplication. Setup: On input 1π return ππ = (π, πΊ1 , πΊ2 , πΊπ , π) β π’(1π ). Key generator: On input ππ pick at random ππ β πΊ1 β {1} and π₯1 , . . . , π₯π β β€π and deο¬ne π1 = πππ₯1 , β
β
β
, ππ = πππ₯π . The commitment key is ππ = (ππ, ππ , π1 , . . . , ππ ) and the trapdoor key is π‘π = (ππ, ππ , π₯1 , . . . , π₯π ). Commitment: Using commitment key ππ on input message (π1 , . . . , ππ ) β πΊπ2 pick randomizer π β πΊ2 . The commitment is given by π = π(ππ , π)
π β
π(ππ , ππ ).
π=1
Trapdoor commitment: Using commitment key ππ and trapdoor key π‘π generate an equivocal commitment π β πΊπ by picking π β πΊ2 and computing π = π(ππ , π) The corresponding equivocation key is ππ = (π‘π, π). π Trapdoor opening: On an equivocal commitment π β πΊπ to a message (πβ 1 , . . . , ππ ) β πΊ2 using the π βπ₯π β² equivocation key ππ, compute and return the trapdoor opening π = π π=1 ππ .
Theorem 13 (π’, πΎ, com, Tcom, Topen) described above is homomorphic, perfectly trapdoor, and assuming the double pairing assumption holds for π’ the commitment scheme is computationally binding. Proof. Given a commitment key ππ = (ππ, ππ , π1 , . . . , ππ ) it is straightforward to check the homomorphic property. For all (π1 , . . . , ππ ), (πβ²1 , . . . , πβ²π ) β πΊπ2 and all π, πβ² β πΊ2 we have π(ππ , π)
π β
β²
π(ππ , ππ ) β
π(ππ , π )
π=1
π β
π(ππ , πβ²π )
β²
= π(ππ , ππ )
π=1
π β
π(ππ , ππ πβ²π ).
π=1
Next, we will prove that the commitment scheme has the perfect trapdoor property. By construction, ππ β= 1 so both real commitments and trapdoor commitments are distributed uniformly at random in πΊπ , because of their π(ππ , π) factor where π is chosen randomly from πΊ2 . The fact that ππ β= 1 also implies that for any commitment π and set of messages (π1 , . . . , ππ ) β πΊπ2 there is a unique randomβπ izer π β πΊ2 so π = π(ππ , π) π=1 π(ππ , ππ ). To conclude the proof for the perfect trapdoor property, we therefore just need to show that the trapdoor opening algorithm gives the correct opening πβ² of the commitment. This follows from β²
π(ππ , π )
π β π=1
π(ππ , ππ ) = π(ππ , π
π β
π πβπ₯ ) π
π=1
π β
π(πππ₯π , ππ ) = π(ππ , π) = π.
π=1
Finally, we will prove that the commitment scheme is computationally binding if the double pairing assumption holds for π’. We will show that if π has probability π(π) of breaking the binding property, then there is an algorithm β¬ that breaks the double pairing assumption with at least π(π) β 3/π chance. Let (ππ, ππ , ππ‘ ) be a random double pairing challenge given to β¬. If ππ = 1 or ππ‘ = 1, it is trivial to break the double pairing assumption. If ππ β= 1, ππ‘ β= 1 the double pairing adversary β¬ selects π1 , π1 , . . . , ππ , ππ β β€π and computes π1 = πππ1 ππ‘π1 , . . . , ππ = ππππ ππ‘ππ . It runs π on (ππ, ππ , π1 , . . . , ππ ) and with π(π) probability it gets two diο¬erent openings to the same commitment. If the openings are π1 , . . . , ππ , π and πβ²1 , . . . , πβ²π , πβ² , we have by the homomorphic property of the commitment scheme 9
β β1 β² β² β1 β² that π(ππ , πβ1 πβ² ) ππ=1 π(ππ , πβ1 π ππ ) = 1. Deο¬ning π1 = π1 π1 , . . . , ππ = ππ ππ this means we have β π β1 β² π(ππ , π π ) π=1 π(ππ , ππ ) = 1 where at least one ππ β= 1. This implies π(ππ , πβ1 πβ² )
π β
π(ππππ ππ‘ππ , ππ ) = π(ππ , πβ1 πβ²
π=1
π β
πππ π )π(ππ‘ ,
π=1
π β
πππ π ) = 1.
π=1
β This breaks the double pairing assumption unless πβ1 π π=1 πππ π = 1 and ππ=1 πππ π = 1 at the same time. However, since the ππ βs are perfectly hidden by the ππ βs, we have no more than 1/π chance of the latter equality holding when there is some ππ β= 1. β‘ βπ β²
4.2
Commitments based on the Simultaneous Triple Pairing Assumption
We have message space β³ππ = πΊπ2 , randomizer space βππ = πΊ22 and commitment space πππ = πΊ2π , where each of them are interpreted as a group using entry-wise multiplication. Setup: On input 1π return ππ = (π, πΊ1 , πΊ2 , πΊπ , π) β π’(1π ). Key generator: On input ππ pick at random π β πΊ1 β {1} and π₯π , π¦π , π₯π , π¦π , π₯1 , π¦1 , . . . , π₯π , π¦π β β€π such that π₯π π¦π β= π₯π π¦π and deο¬ne ππ = π π₯π
βπ = π π¦π
ππ = π π₯π
β π = π π¦π
π1 = π π₯1
β1 = π π¦1 β
β
β
ππ = π π₯π
βπ = π π¦π .
The commitment key is ππ = (ππ, ππ , βπ , ππ , βπ , π1 , β1 , . . . , ππ , βπ ) and the trapdoor key is π‘π = (ππ, π, π₯π , π₯π , π¦π , π¦π , π₯1 , π¦1 , . . . , π₯π , π¦π ). Commitment: Using commitment key ππ on input message (π1 , . . . , ππ ) β πΊπ2 pick randomizer (π, π ) β πΊ22 . The commitment is (π, π) β πΊ2π given by π = π(ππ , π)π(ππ , π )
π β
π(ππ , ππ )
and
π = π(βπ , π)π(βπ , π )
π=1
π β
π(βπ , ππ ).
π=1
Trapdoor commitment: Using commitment key ππ and trapdoor key π‘π, generate an equivocal commitment (π, π) β πΊ2π by picking (π, π ) β πΊ22 and computing π = π(ππ , π)π(ππ , π )
and π = π(βπ , π)π(βπ , π ).
The corresponding equivocation key is ππ = (π‘π, π, π ). Trapdoor opening: To trapdoor open an equivocal commitment (π, π) β πΊ2π to a message (π1 , . . . , ππ ) β πΊπ2 using the equivocation key ππ, compute π = π π₯π π π₯π
π β
π πβπ₯ π
and π = ππ¦π π π¦π
π=1
Since π₯π π¦π β= π₯π π¦π we can compute (
πΌ π½ πΎ πΏ
π β π=1
)
( =
π₯π π₯π π¦π π¦π
)β1
Compute πβ² = ππΌ ππ½
and π β² = ππΎ ππΏ .
Return the opening (πβ² , π β² ) of (π, π) to message (π1 , . . . , ππ ). 10
.
π πβπ¦ π .
Theorem 14 (π’, πΎ, com, Tcom, Topen) described above is a homomorphic trapdoor commitment scheme to π group elements. It has the perfect trapdoor property and assuming the simultaneous triple pairing assumption holds for π’ the commitment scheme is computationally binding. Proof. Given a commitment key ππ = (ππ, ππ , βπ , ππ , βπ , π1 , β1 , . . . , ππ , βπ ) it is straightforward to check the homomorphic property. For all (π1 , . . . , ππ ), (πβ²1 , . . . , πβ²π ) β πΊπ2 and all (π, π ), (πβ² , π β² ) β πΊ22 we have π(ππ , π)π(ππ , π ) π(βπ , π)π(βπ , π )
π β
π(ππ , ππ ) β
π(ππ , πβ² )π(ππ , π β² )
π β
π=1 π β
π=1 π β
π=1
π=1
π(βπ , ππ ) β
π(βπ , πβ² )π(βπ , π β² )
π(ππ , πβ²π ) = π(ππ , ππβ² )π(ππ , π π β² )
π β
π(ππ , ππ πβ²π )
π=1 π β
π(βπ , πβ²π ) = π(βπ , ππβ² )π(βπ , π π β² )
π(βπ , ππ πβ²π )
π=1
Next, we will prove that the commitment scheme has the perfect trapdoor property. By construction, π₯π π¦π β= π₯π π¦π so (π₯π , π¦π ) and (π₯π , π¦π ) are linearly independent in β€2π . We can deduce from this that both real commitments and trapdoor commitments are distributed uniformly at random in πΊ2π , because of their π(ππ , π)π(ππ , π ) and π(βπ , π)π(βπ , π ) factors where π, π are chosen randomly from πΊ2 . The linear independence of (π₯π , π¦π ) and (π₯π , π¦π ) also implies that for any pair (π, π) β πΊ2π and a set of messages (π1 , . . . , ππ ) β πΊπ2 there is a unique randomizer (π, π ) β πΊ22 so π = π(ππ , π)π(ππ , π )
π β
π(ππ , ππ )
β§
π = π(βπ , π)π(βπ , π )
π=1
π β
π(βπ , ππ ).
π=1
To conclude the proof for the perfect trapdoor property, we therefore just need to show that the trapdoor opening algorithm gives the correct opening (πβ² , π β² ) of the commitment. Since ) ( ) ( )( π₯π π₯π 1 0 πΌ π½ , = 0 1 π¦π π¦π πΎ πΏ we have π(ππ , πβ² )π(ππ , π β² ) = π(π π₯π , ππΌ ππ½ )π(π π₯π , ππΎ ππΏ ) = π(π, ππ₯π πΌ+π₯π πΎ )π(π, ππ₯π π½+π₯π πΏ ) = π(π, π) π(βπ , πβ² )π(βπ , π β² ) = π(π π¦π , ππΌ ππ½ )π(π π¦π , ππΎ ππΏ ) = π(π, ππ¦π πΌ+π¦π πΎ )π(π, ππ¦π π½+π¦π πΏ ) = π(π, π). β β π we get By plugging in π = ππ₯π π π₯π ππ=1 ππβπ₯π and π = ππ¦π π π¦π ππ=1 πβπ¦ π β²
β²
π(ππ , π )π(ππ , π ) π(βπ , πβ² )π(βπ , π β² )
π β
π₯π π₯π
π(ππ , ππ ) = π(π, π π )
π β
π=1
π=1
π β
π β
π(βπ , ππ ) = π(π, ππ¦π π π¦π )
π(π, ππ₯π π βπ₯π ) = π(ππ , π)π(ππ , π ) = π π(π, πππ¦π βπ¦π ) = π(βπ , π)π(βπ , π ) = π,
π=1
π=1
as we wanted. Finally, we will prove that the commitment scheme is computationally binding if the simultaneous triple pairing assumption holds for π’. More precisely, we will show that if π has probability π(π) of breaking the binding property, then there is an algorithm β¬ that breaks the simultaneous triple pairing assumption with at least π(π) β 3/π chance. Let (ππ, ππ , ππ , ππ‘ , βπ , βπ , βπ‘ ) be a random simultaneous triple pairing challenge for β¬. Fix some π β= 1 and let π₯π = logπ (ππ ), π₯π = logπ (ππ ), π¦π = logπ (βπ ), π¦π = logπ (βπ ). We pick at random π1 , π1 , π1 , . . . , ππ , ππ , ππ β β€π and deο¬ne π1 , β1 , . . . , ππ , βπ by ππ = ππππ ππ ππ ππ‘ππ
βπ = βππ π βππ π βππ‘ π . 11
If (π₯π , π¦π ) and (π₯π , π¦π ) are linearly independent in β€2π all these group elements are randomly distributed in πΊ1 . This means ππ = (ππ, ππ , βπ , ππ , βπ , π1 , β1 , . . . , ππ , βπ ) has the same distribution as commitment keys generated by πΎ. β¬ gives this ππ to π and in case π₯π π¦π β= π₯π π¦π it has π(π) probability of getting two diο¬erent messages (π1 , . . . , ππ ), (πβ²1 , . . . , πβ²π ) and randomizers (π, π ), (πβ² , π β² ) so comππ (π1 , . . . , ππ ; π, π ) = comππ (πβ²1 , . . . , πβ²π ; πβ² , π β² ). β² β1 β²β² β² β1 β²β² β² β1 Deο¬ne π1 = πβ²1 πβ1 1 , . . . , ππ = ππ ππ and π = π π , π = π π . By the homomorphic property of β²β² β²β² the commitment scheme we have comππ (π1 , . . . , ππ ; π , π ) = (1, 1). This gives us β²β²
β²β²
π(ππ , π )π(ππ , π )
π β
π(ππ , ππ ) = π(ππ , π
β²β²
π=1
π(βπ , πβ²β² )π(βπ , π β²β² )
π β
π(βπ , ππ ) = π(βπ , πβ²β²
π=1
π β
πππ π )π(ππ , π β²β²
π β
πππ π )π(ππ‘ ,
π β
π=1
π=1
π=1
π β
π β
π β
πππ π )π(βπ , π β²β²
π=1
π=1
πππ π )π(βπ‘ ,
πππ π ) = 1 πππ π ) = 1.
π=1
Since (π1 , . . . , ππ ) and (πβ²1 , . . . , πβ²π ) are diο¬erent, there is at least one ππ β= 1. Recall ππ = ππππ ππ ππ ππ‘ππ and βπ = βππ π βππ π βππ‘ π for random ππ , ππ , ππ β β€π . With (π₯π , π¦π ) and (π₯π , π¦π ) linearly independent in β€2π there is for any ππβ² a unique pair (πβ²π , ππβ² ) β β€2π that would yield ππ , βπ .β This means from πβs perspective ππ is a perfectly hidden random value in β€π . The probability that ππ=1 πππ π = 1 is therefore at most 1/π. Conditioned on π₯π π¦π β= π₯π π¦π the adversary β¬ breaks the simultaneous triple pairing problem with probability π(π) β 1/π. There is less than 2/π chance for the discrete satisfying π₯ π π¦π = π₯ π π¦π . βπ logarithms ππ β²β² βπ ππ ππ βπ β²β² We conclude that β¬ has more than π(π) β 3/π chance of (π π=1 ππ ) being a π=1 ππ , π=1 ππ , π non-trivial solution to the simultaneous triple pairing problem. β‘
5
Committing to Commitments
Recall the Pedersen commitment to multiple elements from public key consists of πΎ1 , . . . , πΎπ , β β β€π . The ππ for π‘ β β€π . Since Pedersen commitπΎ and we commit to π1 , . . . , ππ β β€π by computing π = βπ‘ π π=1 π ments are group elements, we can use one of our commitment schemes to commit to multiple Pedersen commitments. Each Pedersen commitment can hold π elements from β€π so we get a commitment to ππ elements from β€π . Since our commitment scheme is homomorphic with respect to multiplication in πΊ2 and the Pedersen commitments are homomorphic with respect to addition in β€π , the combined commitment scheme is homomorphic with respect to addition in β€π . Moreover, since our commitment schemes is a perfectly hiding trapdoor commitment scheme, the combined commitment scheme is also a perfectly hiding trapdoor commitment scheme. The binding property relies on the discrete logarithm assumption in πΊ2 and either the double pairing assumption or the simultaneous triple pairing assumption. We will now give the full protocol for the combined commitment scheme3 , where (π’, πΎ, com, Tcom, Topen) is one of our commitment schemes for π elements in πΊ2 . Setup: On input 1π return ππ = (π, πΊ1 , πΊ2 , πΊπ , π) β π’(1π ). Key generator: On input ππ pick at random πΎ1 , . . . , πΎπ , β β πΊ2 β {1} and (ππ, π‘π) β πΎ(ππ). The commitment key is (ππ, πΎ1 , . . . , πΎπ , β) and the trapdoor key is π‘π. 3
The commitment scheme can be simpliο¬ed by omitting the β component in the Pedersen commitment scheme, since we only need the binding property of the Pedersen commitment scheme. The trapdoor property will follow from the trapdoor property of our commitment scheme, even if the simpliο¬ed Pedersen commitment scheme is not hiding. For conceptual simplicity we have opted for maintaining the unmodiο¬ed Pedersen commitments in our description, which may also be useful in some cases as the full Pedersen commitment scheme provides an alternative trapdoor.
12
Commitment: On message (π11 , . . . , πππ ) β β€ππ pick π β βππ and π‘1 , . . . , π‘π β β€π and compute π π = comππ (π1 , . . . , ππ ; π)
where
ππ = βπ‘π
π β
πππ
πΎπ
.
π=1
Trapdoor commitment: Generate an equivocal commitment (π, ππ) β Tcomππ (π‘π). Trapdoor opening: To trapdoor open the equivocal commitment π to a message (π11 , . . . , πππ ) β β€ππ pick π‘1 , . . . , π‘π β β€π and using the equivocation key ππ generate πβ² = Topenππ (π, π1 , . . . , ππ ), π β πππ where ππ = βπ‘π π . π=1 πΎπ The public key consists of π + 1 group elements in πΊ1 and π + 1 group elements in πΊ2 if we base it on the double pairing assumption, and the public key consists of 2π + 4 group elements in πΊ1 and π + 1 group elements in πΊ2 if we base it on the simultaneous triple pairing assumption. This means that unlike the Pedersen commitment scheme the combined commitment scheme enjoys having both a sub-linear size public key and constant size commitments. The following theorem shows that the combined commitment scheme is secure. Theorem 15 The combined commitment scheme is homomorphic, perfect trapdoor, and computationally binding assuming the discrete logarithm problem is hard in πΊ2 and assuming (π’, πΎ, com) is computationally binding. Proof. Let us ο¬rst show that the combined commitment scheme is homomorphic, since both the underlying commitment schemes are homomorphic. We have for all choices of π, π‘1 , . . . , π‘π , π11 , . . . , πππ and πβ² , π‘β²1 , . . . , π‘β²π , πβ²11 , . . . , πβ²ππ that comππ (βπ‘1
π β
πΎπππ1 , . . . , βπ‘π
π=1
= comππ (βπ‘1
β²
πΎπππ1 β
βπ‘1
π=1 β²
β²
πΎππππ ; π) β
comππ (βπ‘1
π=1
π β
= comππ (βπ‘1 +π‘1
π β
π β
ππ1β²
πΎπ
π=1
ππ1 +πβ²ππ
πΎπ
ππ1β²
β²
πΎπ
, . . . , βπ‘π
π β
πβ²ππ
π=1
, . . . , βπ‘π
π=1
π β
π β
π β π=1
β²
, . . . , βπ‘π +π‘π
π β
πππ +πβ²ππ
πΎπ
β²
πΎππππ β
βπ‘π
π β
πβ²ππ
πΎπ
; πβ² )
π=1
πΎπ
; π β
πβ² )
π=1
; ππβ² ),
π=1
which is a commitment to π11 + πβ²11 , . . . , πππ + πβ²ππ using randomness ππβ² , π‘1 + π‘β²1 , . . . , π‘π + π‘β²π . To see that a trapdoor opening is perfectly indistinguishable from a real opening, observe ο¬rst that both in β real commitments and in trapdoor openings we have Pedersen commitments π1 , . . . , ππ where πππ ππ = βπ‘π π for random π‘π . The perfect trapdoor property of our commitment schemes therefore π=1 πΎπ gives us that the combined commitment scheme has identical probability distributions of real openings and trapdoor openings. To see that the combined commitment scheme is binding, consider an adversary that produces two diο¬erent openings of the same commitment. If the two openings lead to two diο¬erent sets of Pedersen commitments π1 , . . . , ππ then it is a breach of the binding property of (π’, πΎ, com). If on the other hand both openings lead to the same Pedersen commitments π1 , . . . , ππ , then there must be at least one of the Pedersen commitments that has been opened in two diο¬erent ways leading to a breach of the binding property of the Pedersen commitment scheme. Since the Pedersen commitment scheme is binding if the discrete logarithm assumption holds in πΊ2 , we conclude that the discrete logarithm assumption in πΊ2 and the binding property of (π’, πΎ, com) implies the binding property of the combined commitment scheme. β‘
13
Honest Verifier Zero-Knowledge Argument of Knowledge. While reducing the key size for homomorphic commitments is interesting in its own right, another concern that comes up in practice is that they have large openings that grow linearly in the number of committed values. We will now show that the combined commitment scheme has an eο¬cient 3-move honest veriο¬er zero-knowledge argument of knowledge, which in some applications means that we do not have to reveal the entire opening. This stands in contrast to the standard Pedersen commitment to multiple messages, where all known practical zero-knowledge arguments of knowledge have a size that grows linearly in the number of ο¬eld elements we have committed to. It is possible to give similar types of eο¬cient honest veriο¬er zero-knowledge arguments for statements such as all the committed values being 0 or the committed values having a particular sum. Let πΎ1 , . . . , πΎπ , β be the commitment key for a Pedersen commitment to π exponents and let ππ be a commitment key for one of our commitments scheme. The statement is a commitment π β πππ and the prover wants to give an argument of knowledge of the contents of π. The proverβs private input βπ πππ π‘ π consists of π β βππ and π11 , . . . , πππ β β€π so π = comππ (π1 , . . . , ππ ; π), where ππ = β . The π=1 πΎπ argument runs as follows. β ππ β² 1. The prover sends πβ² = comππ (πβ²1 , . . . , πβ²π ; πβ² ) and ππ = βπ‘ π π=1 πΎπ to the veriο¬er, where π β βππ π‘ β² β² π with ππ = β for π‘1 , . . . , π‘π β β€π and π‘, π1 , . . . , ππ β β€π . 2. The veriο¬er sends the prover random challenges π, π1 , . . . , ππ β β€π . βπ βπ β² β²β² π β² β²β² π β² , . . . , πβ²β² = ππ πβ² and π‘β² = π 3. The prover answers π π π π=1 ππ π‘π + π=1 ππ π‘π + βπ with π = π π , π1 = π1 π1β π π‘, π1 = π1 + π π=1 ππ π1π , . . . , ππ = ππ + π π=1 ππ πππ . β β² β ππ 4. The veriο¬er accepts if ππ πβ² = comππ (πβ²β²1 , . . . , πβ²β²π ; πβ²β² ) and ππ ππ=1 (πβ²β²π )ππ = βπ‘ π π=1 πΎπ . The complexity of this argument is roughly π or 2π pairings (depending on the commitment scheme), π + π exponentiations and ππ multiplications for the prover, and π or 2π pairings (depending on the commitment scheme) and π + π exponentiations for the veriο¬er. The communication is roughly 2π + π group and ο¬eld elements. In other words, it is in all aspects signiο¬cantly shorter and faster than the process of committing, opening, and verifying the opening of the commitment. The following theorem shows that it is an honest veriο¬er zero-knowledge argument of knowledge of the contents of the commitment π. Theorem 16 The protocol given above is a 3-move honest veriο¬er zero-knowledge argument of knowledge of the contents of the commitment π. Proof. The protocol clearly has 3 moves and it can be veriο¬ed directly that it has perfect completeness. We will now show that the protocol has perfect special honest veriο¬er zero-knowledge. By this we mean that given a challenge π, π1 , . . . , ππ it is possible to perfectly simulate the entire argument. The simulation works as follows, the simulator picks random commitments πβ²β²1 , . . . , πβ²β²π and randomizer πβ²β² and computes πβ² = πβπ comππ (πβ²β²1 , . . . , πβ²β²π ; πβ²β² ). It also picks π1 , . . . , ππ and π‘β² at random and computes ππ = β² βπ π π βπ π‘ β²β² βππ . The simulated argument is (π , πβ² , π, π , . . . , π , π β²β² , πβ²β² , . . . , πβ²β² , π‘β² , π , . . . , π ). β 1 π 1 π π π 1 π=1 πΎπ π=1 (ππ ) To see this is a perfect simulation when the challenge is π, π1 , . . . , ππ , observe that both in a real argument and in a simulated argument the values πβ²β² , πβ²β²1 , . . . , πβ²β²π and π‘β² , π1 , . . . , ππ are uniformly random. Conditioned on these values, both πβ² and ππ can be determined uniquely. Real arguments and simulated arguments are therefore identically distributed. Finally, we will show that the protocol is an argument of knowledge. Consider an adversary π that has probability of π(π) of making an acceptable argument, we will show that there is an expected polynomial time black-box witness-extended emulator β¬ that has success-probability π(π)βnegligible(π) of answering a random challenge π, π1 , . . . , ππ and at the same time outputting an opening of the commitment. 14
β¬ runs π using a random challenges π, π1 , . . . , ππ . If π fails to produce an acceptable argument, we are done. However, with probability π(π) it does produce an accepting argument on the challenge, and β¬ needs to extract an opening of the commitment. β¬ rewinds π to the point where it has sent the initial message and selects new random challenges π, π1 , . . . , ππ (it is possible, although unlikely, that the same challenge will repeat) until it has 2π + 1 acceptable arguments with the same initial message ππ , πβ² . Since π has probability π(π) chance of making an accepting argument in the ο¬rst place, and collecting 2π + 1 acceptable arguments will take an average of 2π+1 π(π) rewinds, we get that on average β¬ uses 2π + 1 runs of π. Let us now look at accepting challenges collected by β¬. Since β¬ runs an expected 2π + 1 runs of π, which is expected polynomial time, there is an overwhelming probability that two of the accepting arguments use diο¬erent challenges. With two diο¬erent challenges π β= πΛ we get two equations ππ πβ² = comππ (πβ²β²1 , . . . , πβ²β²π ; πβ²β² ) and ππΛπβ² = comππ (πΛ1 β²β² , . . . , πΛπ β²β² ; πΛβ²β² ). From this we can compute an opening of π and then compute an opening of πβ² . By the binding property of the commitment scheme, these openings will be used by π in all the accepting arguments when answering the challenges. Consider now the second part of the veriο¬cation. All the accepting arguments satisfy π β
ππ (πβ²β²π )ππ π=1
=
π β
ππ (πππ πβ²π )ππ π=1
=
π1π
π β π=1
ππ ππ π
π β
(πβ²π )ππ π=1
π‘β²
=β
π β
πΎπππ .
π=1
With overwhelming probability the 2π + 1 challenge vectors (1, ππ1 , . . . , πππ , π1 , . . . , ππ ) are linearly independent. The 2π + 1 equations given by the accepting arguments then make it possible to extract openings of all the commitments π1 , . . . , ππ . We conclude that the probability is negligible for π making a valid argument, yet β¬ not being able to extract an opening of π. β‘
References [AHO10] Masayuki Abe, Kristiyan Haralambiev, and Miyako Ohkubo. Signing on elements in bilinear groups for modular protocol design. Cryptology ePrint Archive, Report 2010/133, 2010. [BBS04] Dan Boneh, Xavier Boyen, and Hovav Shacham. Short group signatures. In CRYPTO, volume 3152 of Lecture Notes in Computer Science, pages 41β55, 2004. [BGN05] Dan Boneh, Eu-Jin Goh, and Kobbi Nissim. Evaluating 2-DNF formulas on ciphertexts. In TCC, volume 3378 of Lecture Notes in Computer Science, pages 325β341, 2005. [Bra00]
Stefan Brands. Rethinking Public Key Infrastructures and Digital Certiο¬cates; Building in Privacy. MIT Press, 2000.
[BW06]
Xavier Boyen and Brent Waters. Compact group signatures without random oracles. In EUROCRYPT, volume 4004 of Lecture Notes in Computer Science, pages 427β444, 2006.
[DF02]
Ivan DamgΛ ard and Eiichiro Fujisaki. A statistically-hiding integer commitment scheme based on groups with hidden order. In ASIACRYPT, volume 2501 of Lecture Notes in Computer Science, pages 125β142, 2002.
[DN02]
Ivan DamgΛ ard and Jesper Buus Nielsen. Perfect hiding and perfect binding universally composable commitment schemes with constant expansion factor. In CRYPTO, volume 2442 of Lecture Notes in Computer Science, pages 581β596, 2002. Full paper available at http://www.brics.dk/RS/01/41/index.html.
[ElG85]
Taher ElGamal. A public key cryptosystem and a signature scheme based on discrete logarithms. IEEE Transactions on Information Theory, 31(4):469β472, 1985. 15
[FO97]
Eiichiro Fujisaki and Tatsuaki Okamoto. Statistical zero knowledge protocols to prove modular polynomial relations. In CRYPTO, volume 1294 of Lecture Notes in Computer Science, pages 16β30, 1997.
[FS01]
Jun Furukawa and Kazue Sako. An eο¬cient scheme for proving a shuο¬e. In CRYPTO, volume 2139 of Lecture Notes in Computer Science, pages 368β387, 2001.
[GOS06] Jens Groth, Rafail Ostrovsky, and Amit Sahai. Non-interactive zaps and new techniques for NIZK. In CRYPTO, volume 4117 of Lecture Notes in Computer Science, pages 97β111, 2006. [GPS08] Steven D. Galbraith, Kenneth G. Paterson, and Nigel P. Smart. Pairings for cryptographers. Discrete Applied Mathematics, 156(16):3113β3121, 2008. [GQ88]
Louis C. Guillou and Jean-Jacques Quisquater. A practical zero-knowledge protocol ο¬tted to security microprocessor minimizing both trasmission and memory. In EUROCRYPT, volume 330 of Lecture Notes in Computer Science, pages 123β128, 1988.
[Gro06]
Jens Groth. Simulation-sound NIZK proofs for a practical language and constant size group signatures. In ASIACRYPT, volume 4248 of Lecture Notes in Computer Science, pages 444β 459, 2006. Full paper available at http://www.brics.dk/βΌjg/NIZKGroupSignFull.pdf.
[Gro09]
Jens Groth. Linear algebra with sub-linear zero-knowledge arguments. In CRYPTO, volume 5677 of Lecture Notes in Computer Science, pages 192β208, 2009.
[GS08]
Jens Groth and Amit Sahai. Eο¬cient non-interactive proof systems for bilinear groups. In EUROCRYPT, volume 4965 of Lecture Notes in Computer Science, pages 415β432, 2008. Full paper available at http://eprint.iacr.org/2007/155.
[KZ06]
Aggelos Kiayias and Hong-Sheng Zhou. Concurrent blind signatures without random oracles. In SCN, volume 4116 of Lecture Notes in Computer Science, pages 49β62, 2006.
[Lip03]
Helger Lipmaa. On diophantine complexity and statistical zero-knowledge arguments. In ASIACRYPT, volume 2894 of Lecture Notes in Computer Science, pages 398β415, 2003.
[Nef01]
C. Andrew Neο¬. A veriο¬able secret shuο¬e and its application to e-voting. In ACM CCS, pages 116β125, 2001.
[OU98]
Tatsuaki Okamoto and Shigenori Uchiyama. A new public-key cryptosystem as secure as factoring. In EUROCRYPT, volume 1403 of Lecture Notes in Computer Science, pages 308β 318, 1998.
[Pai99]
Pascal Paillier. Public-key cryptosystems based on composite residuosity classes. In EUROCRYPT, volume 1592 of Lecture Notes in Computer Science, pages 223β239, 1999.
[Ped91]
Torben P. Pedersen. Non-interactive and information-theoretic secure veriο¬able secret sharing. In CRYPTO, volume 576 of Lecture Notes in Computer Science, pages 129β140, 1991.
16