WO2008127428A2 - Efficient non-interactive proof systems for bilinear groups - Google Patents

Efficient non-interactive proof systems for bilinear groups Download PDF

Info

Publication number
WO2008127428A2
WO2008127428A2 PCT/US2007/085018 US2007085018W WO2008127428A2 WO 2008127428 A2 WO2008127428 A2 WO 2008127428A2 US 2007085018 W US2007085018 W US 2007085018W WO 2008127428 A2 WO2008127428 A2 WO 2008127428A2
Authority
WO
WIPO (PCT)
Prior art keywords
group
proof
ciphertext
message
witness
Prior art date
Application number
PCT/US2007/085018
Other languages
French (fr)
Other versions
WO2008127428A3 (en
Inventor
Jens Groth
Amit Sahai
Original Assignee
The Regents Of The University Of California
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by The Regents Of The University Of California filed Critical The Regents Of The University Of California
Publication of WO2008127428A2 publication Critical patent/WO2008127428A2/en
Publication of WO2008127428A3 publication Critical patent/WO2008127428A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3218Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3257Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using blind signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/42Anonymization, e.g. involving pseudonyms

Definitions

  • the technical field generally relates to cryptographic systems and specifically relates to non-interactive zero-knowledge proofs.
  • Non-interactive zero-knowledge (NIZK) proofs allow a prover to create a proof of membership of an NP language. The proof can be used to convince another that a statement in question belongs to the language, but the zero-knowledge property ensures that the proof will reveal nothing but the truth (or falsity) of the statement.
  • NIZK proofs are fundamental cryptographic primitives used in many constructions, including CCA2-secure cryptosystems, digital signatures, and various cryptographic protocols. Blum, Feldman, and Micali, in Non- interactive zero-knowledge and its applications in the proceedings of STOC '88, pp.
  • commitment schemes are homomorphic and equipped with a bilinear map.
  • the variables in the equations to be proved are replace with commitments to those variables. Since the commitment schemes are hiding, the equations will no longer be valid.
  • An additional term is introduced by substituting the commitments. Because the additional term is a value which makes the equation true, giving it away preserves witness indistinguishability. If there are many terms, that means that these terms are not unique, and we can randomize these terms so that the equation is still true, but so that we effectively reduce to the case of there being a single term being given away with a unique value.
  • the proof system is used for fair key exchange.
  • the proof system is used in a mix-net.
  • the proof system is used for verifiable encryption. Brief Description of the Figures
  • Figure 1 shows a first computer and a second computer provided to a computer network for exchanging encrypted data.
  • Figure 2 is a flow diagram of key generation in a system for verifiable encryption.
  • Figure 3 is a flow diagram of encryption in the system of Figure 2.
  • Figure 4 is a flow diagram of generation of a verification proof of membership in the system of Figure 2.
  • Figure 5 is a flow diagram of decryption in the system of Figure 2.
  • Figure 6 shows a mix-net system wherein a plurality of senders and a plurality of mix-net servers are provided to a network.
  • Figure 7 is a flow diagram of key generation in the system of Figure 6.
  • Figure 8 is a flow diagram of encryption in the system of Figure 6.
  • Figure 9 is a flow diagram of re-randomization in the system of Figure 6.
  • Figure 10 is a flow diagram of an NIZK proof of membership in the system of Figure 6.
  • Figure 1 1 is a flow diagram showing decryption in the system of Figure 6.
  • G 1 , G 2 , G ⁇ are descriptions of cyclic groups of order n.
  • Example Embodiment 1 Subgroup decision.
  • the present disclosure includes a general description of the proof techniques as well as three example embodiments that illustrate the use of these techniques.
  • the first example embodiment is based on the composite order groups introduced by Boneh, Goh and Nissim [BGN05].
  • n pq.
  • G G p x G q , where G p .
  • G q are the subgroups of order p and q respectively.
  • Boneh, Goh and Nissim introduce the subgroup decision assumption, which says that it is hard to distinguish a random element from
  • Table 1 Equations over groups with bilinear map.
  • Example Embodiment 2 The symmetric external Diffie-Hellman (SXDH) problem.
  • SXDH The external Diffie-Hellman
  • XDH decisional Diffie-Hellman
  • the Symmetric XDH assumption is that the DDH problem is hard in both G 1 and G 2 .
  • Example Embodiment 3 The decisional linear assumption (DLIN) problem.
  • the example embodiments illustrate some of the variety of ways bilinear groups can be constructed.
  • We can choose prime order groups or composite order groups, we can have G 1 G 2 and G 1 ⁇ G 2 , and we can make various cryptographic assumptions. These three security assumptions have been used in the cryptographic literature to build useful protocols.
  • the techniques presented here yield very efficient witness-indistinguishable proofs.
  • the cost in proof size of each extra equation is constant and independent of the number of variables in the equation.
  • the size of the proofs can be computed by adding the cost, measured in group elements from G 1 or G 2 , of each variable and each equation listed in Figure 2.
  • Section 6 for more detailed tables.
  • Table 2 Number of group elements each variable or equation adds to the size of a NIWI proof.
  • R be an efficiently computable ternary relation.
  • gk the setup
  • x the statement
  • w the witness.
  • L the language includes statements in R.
  • gk this is of course the standard definition of an NP-language. We will, however, be more interested in the case where gk describes a bilinear group.
  • a non-interactive proof system for a relation R with setup incudes four probabilistic polynomial time algorithms: a setup algorithm Q, a CRS generation algorithm K, a prover P and a verifier V .
  • the setup algorithm outputs a setup (gk, sk).
  • gk will be a description of a bilinear group.
  • the setup algorithm may output some related information sk, for instance the factorization of the group order.
  • a cleaner case, however, is when sk is just the empty string, meaning the protocol is built on top of the group without knowledge of any trapdoors.
  • the CRS generation algorithm takes (gk:, sk) as input and produces a common reference string ⁇ .
  • the prover takes as input (gk, ⁇ . x. w) and produces a proof T ⁇ .
  • the verifier takes as input (gk. ⁇ . x. ⁇ ) and outputs 1 if the proof is acceptable and 0 if rejecting the proof.
  • Q, K. P, V a non-interactive proof system for R with setup Q if it has the completeness and soundness properties described below.
  • Composable zero-knowledge is a strengthening of the usual notion of non- interactive zero-knowledge.
  • a cyclic group G of order n can in a natural way be viewed as a Z n -module.
  • Table 1 the equations in Table 1 can be viewed as equations over Z n -modules with a bilinear map.
  • R. be a finite commutative ring
  • a T be finite R.-modules with a bilinear map / : A 1 x A 2 ⁇ A ⁇
  • Ai Gy.
  • a 2 Z n
  • the Commitment scheme has two types of commitment keys, hiding keys and binding keys.
  • the main assumption that we will be making throughout this disclosure is that the distribution of hiding keys and the distribution of binding keys are computationally indistinguishable.
  • witness-indistinguishability of the present NIWI proofs and later the zero- knowledge property of the present ZK proofs use this property.
  • a hiding key contains (B. t, p, Ii 1 . . . . ., U n ) such that
  • the commitment c ' s therefore perfectly hiding when are chosen at random from R.
  • Binding key contains (B, ⁇ , p, u ⁇ , . . . , u n ) such that Vf : ⁇ (u,) ⁇ 0 and L o p is non-trivial.
  • the commitment therefore contains the non- trivial information p(c) — p[t ⁇ x)) about x.
  • i o p is the identity map on A
  • the commitment is perfectly binding.
  • the map p is not efficiently computable. However, one can imagine scenarios where a secret key will make p efficiently computable and t o p is the identity map. In this case the commitment scheme is a cryptosystem with p being the decryption operation.
  • Example Embodiment 1 Subgroup decision.
  • Example embodiment 2 SXDH.
  • Example Embodiment 3 DLIN.
  • the DLIN assumption implies that the two types of commitment keys are computationally indistinguishable.
  • witness-indistinguishability setting In the witness-indistinguishability setting we have hiding commitment keys, so L] (G]) C ⁇ u ⁇ . . . » incident ⁇ and A 2 (G ⁇ ) - ( 1 ⁇ ⁇ ⁇ ⁇ - v n')- ⁇ e also require that H] , . . . , H, t generate lhe ⁇ -module of matrices Ii so ⁇ • Hv — 0. As we will see in the next section, these matrices play a role as randomizers in the wjtness-indistinguishability proof.
  • the (only) computational assumption this disclosure is based on is that the two settings can be set up in a computationally indistinguishable way.
  • the example embodiments show that there are many ways to get such computationally indistinguishable soundness and witness- indisting ⁇ ishability setups.
  • Example Embodiment 1 Subgroup Decision.
  • the common reference string specifies ⁇ p, G : Gj, e. V ., U), which is sufficient to describe the entire setup given in this section.
  • e (U, HU) — 1 The only solution to e (U, HU) — 1 is therefore the trivial // — 0, so we do not need to include any JI x in the common reference string.
  • Example Embodiment 2 SXDH.
  • the common reference string specifies (p. Gi- G 2 . G ⁇ - e. V ⁇ . P 2 . U 1 - H 2 -. i"i : ⁇ ), where (U 1 , U 2 ) is a commitment key for the group Gi and (v ⁇ , v ⁇ ) is a commitment key for Gj as described in Section 3.1.
  • B ⁇ G ⁇ .
  • the map F is defined as follows:
  • LT 0 PT is the identity map.
  • the symmetric map F is defined by F(x. y) :-
  • the map pr corresponds to first BBS decrypting down the columns using the decryption key a. ⁇ and then after that BBS decrypting along the row.
  • ⁇ . ⁇ op ⁇ is the identity map.
  • Verification Return 1 if and only if
  • the input includes gk, ⁇ , a list of quadratic equations ⁇ ( ⁇ ,. S 1 . F 1 . ⁇ )J 1 I 1 and a satisfying witness i, y.
  • ⁇ : S ⁇ ti(20 + S T r T t 1 (5) + 'J t -u.
  • Verification The input is ⁇ A, t7, ⁇ ( ⁇ , ,6,,1',-,Zi)) ⁇ 1 and the proof (c.c/i ⁇ ( ⁇ f! V ⁇ ) ⁇ ). For each equation check
  • the size of the common reference string is m' elements in B 1 and n! elements in B 2 m addition to the description of the modules and the maps.
  • the size of the proof is m - ⁇ - Nn' elements in B 1 and n - ⁇ - Nm' elements in B 2 .
  • m' and n' will be small, giving us a proof size that is O(m + n + , N) elements in Bj and B 2 .
  • the proof size may thus be smaller than the description of the statement, which can be of size up to Nn elements in A x , Nm elements in A 2 , N ⁇ m elements in Tl and N elements in A ⁇ .
  • the common reference string will specify commitment schemes to respectively scalars and group elements.
  • the use of the same commitment in the equations is necessary to ensure a consistent choice of x throughout the proof.
  • Example Embodiment 1 Subgroup decision.
  • V + T 1 U and V 1 : y. t + s,U for randomly chosen f. s.
  • L 00 Define L 00 to be the sets of quadratic equations over Z n that are unsatisfiable in the order p subgroups of Z n , G and G T -
  • the size of the proof is m + n - ⁇ - N group elements in G, where m is the number of variables in x, n is the number of variables in 3 ⁇ and ⁇ r is the number of equations.
  • Example Embodiment 2 SXDII.
  • ⁇ : ⁇ ⁇ 4 ⁇ b)
  • ⁇ ⁇ r(' 2 ( ⁇ ) + ( ⁇ ⁇ r?-2' ⁇ ) ⁇ - ⁇ ⁇ : s r L 1 (J) + S 7 ⁇ L 1 [X) + Tu
  • the protocol is a NIWI proof with perfect completeness, perfect soundness and com- posable witness-indistinguishability for satisfiability of a set of equations over a bilinear group where the SXDH problem is hard.
  • each element in a module includes two group elements from respectively G ⁇ 1 and GV Table 4 list the cost of the different types of equations.
  • Table 4 Cost of each variable and equation measured in elements from G 1 and G 2 .
  • Example Embodiment 3 DLIN.
  • Theorem 9 [0146] The protocol is a NIWI proof with perfect completeness, perfect soundness and com- posable wilness-indistinguishability for satisfiability of a set of equations over a bilinear group where the DLIN problem is hard.
  • Table 5 Cost of each variable and equation measured in elements from G.
  • Verification The input is r/A-. ⁇ , ⁇ ( ⁇ ,, 6,. I ⁇ r Z 1 )J 1 ⁇ 1 and the proof (c t ⁇ ⁇ ( ⁇ ,, • £) ⁇ ).
  • Simulation string: ( ⁇ r) :— [ ⁇ B ⁇ . B 2 B ⁇ , F. i ⁇ .p ⁇ , i 2: P 2 - i ⁇ P T -. « v) i ⁇ *— Si iyk. bk), where tl (l) ., (0) ⁇ ⁇ 1 ⁇ u x .
  • the input includes gk, ⁇ , a list of quadratic equations ⁇ ( «,. JJ 1 - F I . Ii)) ⁇ Li an ⁇ ⁇ a satisfying witness x. y.
  • Rewrite the equations as a, y + x 6 X + f( ⁇ . -I 1 ) + x • T t y 0.
  • each party encrypts the key under the public key of a trusted party. Now both parties exchange their keys. If either party aborts, the other party can call on the trusted party to get his key, however, if both parties act honestly there will be no need to call upon the trusted party. This way. we reduce the burden on the honest party that is only invoked in case of protocol breaches.
  • Verifiable encryption can be used to solve this problem.
  • NIZK proofs Given witness indistinguishable proofs, it is straightforward to construct NIZK proofs. We can therefore use an NIZK proof to prove that we have encrypted a proper key. This NIZK proof suffices for our purpose, since it guarantees the correctness of the encryption, yet reveals nothing else. The present techniques makes these NIZK proofs efficient enough to be practical, when we set up the cryptosystem in groups with bilinear maps. We therefore get a satisfactory solution to the fair key exchange problem.
  • the NIZK proof system is used to provide verifiable encryption.
  • Figure 1 shows a first computer 101, a second computer 102 provided to a computer network 103 for exchanging encrypted data, and, optionally, a third party computer 105.
  • One of ordinary skill in the art will recognize that one or more of the computers 101 , 102, and 105 can be combined to provide the functionality shown in Figure 1.
  • a message is encrypted in the computer 101 and sent to the second computer 103 where it can be decrypted and displayed or the second computer 103 can use techniques as describe herein to use an NlZK proof of membership for one or more aspects of the encrypted message without decrypting (or even being able to decrypt) the message.
  • a third computer (not shown) is provided as a third party that uses a proof of membership algorithm to verify one or more aspects of the encrypted message without decrypting the message.
  • This allows two parties to exchange information while using a third party to verify one or more aspects of the message without revealing the contents of the message to the third party.
  • the NIZK proof allows two parties to communicate through a third party (e.g., an escrow party) who verifies aspects of the message and/or escrows the messages.
  • FIG. 2 is a flow diagram of key generation in a system for verifiable encryption.
  • Figure 3 is a flow diagram of encryption in the system of Figure 2.
  • Figure 4 is a flow diagram of generation of a verification proof of membership in the system of Figure 2.
  • Figure 5 is a flow diagram of decryption in the system of Figure 2.
  • Verifiable encryption includes key generation, encryption, and verification.
  • the public key is pk — (gk, ⁇ . A, B).
  • Verifying ciphertext and proof Write out the equations as described above and verify the NIWI proof ⁇ .
  • FIG. 6 shows a mix-net system wherein a plurality of senders 601 and a plurality of mix-net servers 602 are provided to a network 604.
  • a mix-net takes a set of messages from one or more senders 601 as input and publishes them in random order (e.g., to one or more receivers 603.
  • the message can be decrypted and displayed.
  • the sender of each message is thus hidden among all the other senders, so it provides some degree of anonymity.
  • Mix-nets are for instance used in internet- voting protocols, anonymous broadcast protocols, etc.
  • the goal for the parties is to publish a message without revealing the sender.
  • One place where this is useful is in internet-voting protocols, where voters anonymously publish their votes.
  • a standard way of constructing mix-nets is to use a homomorphic cryptosystem, since such ciphertexts can be rerandomized.
  • the senders encrypt their intended message and send them to the mix-net.
  • the mix-servers one by one take the encrypted messages, permute them and rerandomize them. After they have all rerandomized and permuted the ciphertexts, they use threshold decryption to get out the ciphertext. Provided just one server is honest, the ciphertexts get permuted completely and thus loose their link to the sender. This is what gives us anonymity. It is of course important that the decryption keys are shared between the servers, such that no single server can decrypt the incoming or intermediate ciphertexts.
  • the first mix-server Mj permutes and re-randomizes the ciphertexts. It also provides an NlZK proof for having permuted and re-randomized correctly (otherwise it would be able to replace some ciphertexts and thus alter the messages).
  • the second mix-server M 2 permutes and re-randomizes the output from M 2 - It also provides an NIZK proof for having done this correctly.
  • the mix-servers continue like this until all of them have permuted and re-randomized the ciphertexts. If at least one of the mix-servers is honest the messages have now been permuted and re-randomized so it is impossible to trace them back to the senders. The mix-servers now cooperate to decrypt.
  • Each mix-server permutes and re-randomizes all the ciphertexts that the previous mix-server outputs. It must prove that this has been done correctly. This can be done by creating a permutation network of log N layers. In each layer, we have N /2 pairs of cipher- texts, which can either pass on to the next layer after re-randomization or be swapped and re-randomized. (Any permutation of J ⁇ elements can be built from N log N swaps/not swaps)
  • the key operation is therefore an NIZK proof of having swapped or not swapped two ciphertexts.
  • Figure 7 is a flow diagram of key generation in the system of Figure 6.
  • Figure 8 is a flow diagram of encryption in the system of Figure 6.
  • Figure 9 is a flow diagram of re-randomization in the system of Figure 6.
  • Figure 10 is a flow diagram of an NIZK proof of membership in the system of Figure 6. 8.5 Encryption with swap/non-swap NIZK proofs based on SXDH embodiment
  • Encryption with swap/non-swap NIZK proofs includes key generation, encryption, etc.
  • NIZK swap proof Given input ciphertexts (Ui : Vj) and (W 2 -V 2 ) and output ciphertext (W 1 . V ⁇ ), (V 2 . V 2 1 ) we want to make an NIZK proof for them being swapped or not swapped
  • Verifying swap proof Verify the NIWI proof ⁇ , ib) for the equations above.
  • blind signatures there is a signing server and a set of users. The users should be able to obtain signatures on messages of their choice from the signing server. At the same time, the signing server should not learn, which message it is signing. Blind signatures has application in e-cash and anonymous credentials.
  • the server will have a verification key for a signature scheme as well as a public key for a commitment scheme.
  • the other type of public key will give a perfectly hiding commitment.
  • the blind signature protocol now works as follows. The user commits to his message and send it to the signing server. The signing server signs this message. The user can now take his message and create a WI proof for having a commitment to a pair of a commitment to the message and a signature on this message. Since the commitment is perfectly hiding and the WI proof perfectly witness-indistinguishable, there is no way to link the message and the original input to the server.
  • BBS04 Dan Boneh, Xavier Boyen, and Hovav Shacham. Short group signatures. In proceedings of CRYPTO '04, LNCS series, volume 3152, pages 41-55, 2004.
  • H finite commutative ring (TZ, +, .0.1).
  • F bilinear maps /I 1 x A 2 - ⁇ A T and F : S 1 x B 2 ⁇ B r . n x- y' - ⁇ ffa- y i)

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Complex Calculations (AREA)

Abstract

An apparatus and method for constructing efficient non-interactive zero-knowledge proofs and non-interactive witness-indistinguishable proofs that work directly for groups with a bilinear map is described. Groups with bilinear maps have enjoyed tremendous success in the field of cryptography in recent years and have been used to construct a plethora of protocols. This disclosure provides n on -interactive witness-indistinguishable proofs and non-interactive zero-knowledge proofs that can be used in connection with these protocols.

Description

EFFICIENT NON-INTERACTIVE PROOF SYSTEMS FOR BILINEAR GROUPS
Reference to Related Applications
[0001] The present application claims priority from U.S. Provisional Application No. 60/859,875, filed November 17, 2006, titled "METHOD AND APPARATUS FOR EFFICIENT VERIFICATION OF ENCRYPTED DATA," the entire contents of which is hereby incorporated by reference
Government Interest Statement
[0002] This invention was made with Government support of Grant No. CNS0456717 awarded by the NSF. The Government has certain rights in this invention.
Background
Field of the Invention
[0003] The technical field generally relates to cryptographic systems and specifically relates to non-interactive zero-knowledge proofs.
Description of the Related Art
[0004] Non-interactive zero-knowledge (NIZK) proofs allow a prover to create a proof of membership of an NP language. The proof can be used to convince another that a statement in question belongs to the language, but the zero-knowledge property ensures that the proof will reveal nothing but the truth (or falsity) of the statement. NIZK proofs are fundamental cryptographic primitives used in many constructions, including CCA2-secure cryptosystems, digital signatures, and various cryptographic protocols. Blum, Feldman, and Micali, in Non- interactive zero-knowledge and its applications in the proceedings of STOC '88, pp. 103-1 12, 1988, introduced the notion of NIZK in the common random string model and showed how to construct computational NIZK proof systems for proving a single statement about any NP language. The fist computational NIZK proof system for multiple theorems was constructed by Blurn, De Santis, Micali, and Persiano in Noninteractive zero-knowledge in SIAM Journal of Computation, 20(6), pp.1084-1118, 1991. Both papers based their NIZK systems on certain number-theoretic assumptions (specifically, the hardness of deciding quadratic residues modulo a composite number). Feige, Lapidot, and Shamir in Multiple non-interactive zero knowledge proofs under general assumptions in SIAM Journal of Computing, 29( 1 ), pp. 3 -28, 1999, showed how to construct computational NIZK proofs based on a trapdoor permutation. Much research has been devoted to the construction of efficient NIZK proofs, but until now the only known method to do so has been the hidden random bits method wherein the prover has a string of random bits, which are secret to the verifier. By revealing a subset of these bits, and keeping the rest secret, the prover can convince the verifier of the truth of the statement in question.
[0005] Unfortunately, these prior NIZK proofs are all very inefficient. While leading to interesting theoretical results, such as the construction of public-key encryption secure against chosen ciphertext attack, they have therefore not had any impact in practice.
[0006] It is worthwhile to identify the roots of the inefficiency in the above mentioned NIZK proofs. One drawback is that they were designed with a general NP-complete language in mind, e.g. Circuit Satisfiability. In practice, we want to prove statements such as "the ciphertext c encrypts a signature on the message m" or "the three commitments ca, cb, cc contain messages a. b. c so c = ab". An NP-reduction of even very simple statements like these requires large circuits containing thousands of gates and the corresponding NIZK proofs become very large.
Summary
[0007] These and other problems are solved by a system for efficient non-interactive proof for bilinear groups. In one embodiment, commitment schemes are homomorphic and equipped with a bilinear map. The variables in the equations to be proved are replace with commitments to those variables. Since the commitment schemes are hiding, the equations will no longer be valid. However, we can extract out the additional terms introduced by the randomness of the commitments: An additional term is introduced by substituting the commitments. Because the additional term is a value which makes the equation true, giving it away preserves witness indistinguishability. If there are many terms, that means that these terms are not unique, and we can randomize these terms so that the equation is still true, but so that we effectively reduce to the case of there being a single term being given away with a unique value.
[0008] In one embodiment, the proof system is used for fair key exchange.
[009] In one embodiment, the proof system is used in a mix-net.
[0010] In one embodiment, the proof system is used for verifiable encryption. Brief Description of the Figures
[0011] Figure 1 shows a first computer and a second computer provided to a computer network for exchanging encrypted data.
[0012] Figure 2 is a flow diagram of key generation in a system for verifiable encryption.
[0013] Figure 3 is a flow diagram of encryption in the system of Figure 2.
[0014] Figure 4 is a flow diagram of generation of a verification proof of membership in the system of Figure 2.
[0015] Figure 5 is a flow diagram of decryption in the system of Figure 2.
[0016] Figure 6 shows a mix-net system wherein a plurality of senders and a plurality of mix-net servers are provided to a network.
[0017] Figure 7 is a flow diagram of key generation in the system of Figure 6.
[0018] Figure 8 is a flow diagram of encryption in the system of Figure 6.
[0019] Figure 9 is a flow diagram of re-randomization in the system of Figure 6.
[0020] Figure 10 is a flow diagram of an NIZK proof of membership in the system of Figure 6.
[0021] Figure 1 1 is a flow diagram showing decryption in the system of Figure 6.
Description
1 Introduction
[0022] In the following disclosure, for notational convenience we will follow the tradition of mathematics and use additive notation. (Note: In the cryptographic literature it is more common to use multiplicative notation for these groups, since the "discrete log problem" is believed to be hard in these groups, which is also important to us. In the present setting, however, it is more convenient to use multiplicative notation to refer to the action of the bilinear map for the binary operations in Gi and G2.) We have a probabilistic polynomial time algorithm Q that takes a security parameter as input and outputs (n, G1, G2, Gτ, e, P1, V2) where
• G1, G2, Gτ are descriptions of cyclic groups of order n.
• The elements V1, V2 generate G1 and G2 respectively. • e : G1 X G2 is a non-degenerate bilinear map so e(P1, P2) generates Gτ and for all
• We can efficiently compute group operations, compute the bilinear map and decide membership.
[0022] In this disclosure, we develop a general set of highly efficient techniques for proving statements involving bilinear groups. First, we formulate the constructions in terms of modules over commutative rings with an associated bilinear map. This framework captures bilinear groups with cryptographic significance — for both sυpersingular and ordinary elliptic curves, for groups of both prime and composite order. Second, we consider mathematical operations that can take place in the context of a bilinear group - addition in G1 and G2, scalar point-multiplication, addition or multiplication of scalars, and use of the bilinear map. We also allow both group elements and exponents to be "unknowns" in the statements to be proven.
[0023] With the level of generality herein, for example it would be easy to write down a short statement, using the operations above, that encodes "c is an encryption of the value committed to in d under the product of the two keys committed to in a and b" where the encryptions and commitments being referred to are existing cryptographic constructions based on bilinear groups. Logical operations like AND and OR are also easy to encode into the framework herein using standard techniques in arithmetization.
[0024] The proof systems we build are non -interactive. This allows them to be used in contexts where interaction is undesirable or impossible. We first build highly efficient witness- indistinguishable proof systems, which are of independent interest. We then show how to transform these into zero-knowledge proof systems. We also provide a detailed examination of the efficiency of the constructions herein in various settings (depending on what type of bilinear group is used).
[0025] The security of constructions arising from the framework herein can be based on any of a variety of computational assumptions about bilinear groups (3 of which we discuss in detail here). Thus, the techniques herein do not rely on any one assumption in particular.
[0026] Note that while we want to avoid an expensive NP-reduction, it is still desirable to have a general way to express statements that arise in practice instead of having to construct non-interactive proofs on an ad hoc basis. A useful observation in this context is that many public-key cryptography protocols are based on finite abelian groups. If we can capture statements that express relations between group elements, then we can express statements that come up in practice such as "the commitments ca, cb, cc contain messages so c = ab" or "the plaintext of c is a signature on m ", as long as those commitment, encryption, and signature schemes work over the same finite group. In the disclosure, we will therefore construct NIWI and NIZK proofs for group-dependent languages.
[0027] The next issue to address is where to find suitable group-dependent languages. We will look at statements related to groups with a bilinear map, which have become widely used in the design of cryptographic protocols. Not only have bilinear groups been used to give new constructions of such cryptographic staples as public-key encryption, digital signatures, and key agreement (see [DBS04] and the references therein), but bilinear groups have enabled the first constructions achieving goals that had never been attained before. The most notable of these is the Identity-Based Encryption scheme of Boneh and Franklin [BF03] (see also [Wat05]), and there are many others, such as Attribute-Based Encryption [SW05, GPSW06], Searchable Public-Key Encryption [BCOP04, BSW06, BW06], and One-time Double-Homomorphic Encryption [BGN05]. For an incomplete list of disclosures (currently over 200) on the application of bilinear groups in cryptography, see [BarOό],
[0028] We consider equations over variables from G1. G? and Zn as shown in Table 1. We construct efficient witness-indistinguishable proofs for the simultaneous satisfiability of a set of such equations. The witness-indistinguishable proofs have perfect completeness and there are two computationally indistinguishable types of common reference strings giving respectively perfect soundness and perfect witness indistinguishability. We refer to Section 1.2 for precise definitions.
[0029] We also consider the question of non-interactive zero-knowledge. We show that we can give zero-knowledge proofs for multi-scalar multiplication in G1 or G2 and for quadratic equations in Zn. We can also give zero-knowledge proofs for pairing product equations with tτ = 1. When tτ ≠ 1 we can still give zero-knowledge proofs for P1. Q1 ..... Pn. Qn such thaU
[0030] Example Embodiment 1 : Subgroup decision. The present disclosure includes a general description of the proof techniques as well as three example embodiments that illustrate the use of these techniques. The first example embodiment is based on the composite order groups introduced by Boneh, Goh and Nissim [BGN05]. Here we generate a composite order bilinear group (n. G. Cτ, r/. V) where n = pq. We can write G = Gp x Gq, where Gp. Gq are the subgroups of order p and q respectively. Boneh, Goh and Nissim introduce the subgroup decision assumption, which says that it is hard to distinguish a random element from
Figure imgf000008_0001
Table 1 : Equations over groups with bilinear map.
G from a random element from Gq. In this disclosure, we will demonstrate that assuming the hardness of the subgroup decision problem there exists a witness-indistinguishable proof for satisfiability of a set of equations from Table 1 in the subgroup Gp and the order p subgroup of GT.
[0031] Example Embodiment 2: The symmetric external Diffie-Hellman (SXDH) problem. Let (p, G1; G2; GT . e. P1 , P2) be a prime order bilinear group. The external Diffie- Hellman (XDH) assumption is that the decisional Diffie-Hellman (DDH) problem is hard in one of the groups G1 or G2 [Sco02, BBS04, BGdMM05, GR04, VerO4]. The Symmetric XDH assumption is that the DDH problem is hard in both G1 and G2. We will construct a witness- indistinguishable proof for satisfiability of a set of equations of the form given in Figure 1 under the SXDH assumption.
[0032] Example Embodiment 3; The decisional linear assumption (DLIN) problem. The DLIN for a prime order bilinear group (p, G. GT : e. V) introduced by Boneh, Boyen and Shacham [BBS04] states that given {aP, βV, rαV, sβV, tP) for random α, β, r, s ε Zp it is hard to tell whether t = r -+- s or t is random. Assuming the hardness of the DLIN problem, we show a witness-indistinguishable proof for satisfiability of the equations from Table 1.
[0033] The example embodiments illustrate some of the variety of ways bilinear groups can be constructed. We can choose prime order groups or composite order groups, we can have G1 = G2 and G1 ≠ G2 , and we can make various cryptographic assumptions. These three security assumptions have been used in the cryptographic literature to build useful protocols. [0034] For these three example embodiments, the techniques presented here yield very efficient witness-indistinguishable proofs. In particular, the cost in proof size of each extra equation is constant and independent of the number of variables in the equation. The size of the proofs, can be computed by adding the cost, measured in group elements from G1 or G2, of each variable and each equation listed in Figure 2. We refer to Section 6 for more detailed tables.
Figure imgf000009_0001
Table 2: Number of group elements each variable or equation adds to the size of a NIWI proof.
Early work on NIZK proofs demonstrated that NP-languages have non-interactive proofs, however, did not yield efficient proofs. One cause for these proofs being inefficient in practice was the need for an expensive NP-reduction to e.g. Circuit Satisfiability. Another cause of inefficiency was the reliance on the so-called hidden bits model, which even for small circuits is inefficient. The systems and methods disclosed herein are significantly more general, and vastly more efficient.
[0035] We achieve generality, at least in part, by viewing the groups G1, G2, Gτ as modules over the ring Zn. The ring Zn itself can also be viewed as a Zn-module. We therefore look at the more general question of satisfiability of quadratic equations over Zn-modu!es A1 . A2, Aτ with a bilinear map, see Section 2 for details. Since many bilinear groups with various cryptographic assumptions and various mathematical properties can be viewed as modules we are not bound to any particular bilinear group or any particular assumption.
[0036] Given modules A1. A2. Aq^ with a bilinear map, we construct new modules B1. B2., Bx, also equipped with a bilinear map, and we map the elements in A1, A2, Ax into B1. B2, Bτ. These modules will typically be larger modules, which give us space to hide the elements of Ai, A2, AT- More precisely, we devise commitment schemes that map variables from A1 , A2-, Aτ to the modules B1, B2.. Bτ. The commitment schemes are homomorphic with respect to the module operations but also with respect to the bilinear map.
[0037] It is instructive to begin with an intuition-based explanation before showing the more detailed explanation in Section 6 and related sections. Because the commitment schemes herein are homomorphic and we equip them with a bilinear map. we can take the equation that we are trying to prove, and replace the variables in the equations with commitments to those variables. Since the commitment schemes are hiding, the equations will no longer be valid. Intuitively, however, we can extract out the additional terms introduced by the randomness of the commitments: if we give away these terms in the proof, then this would be a convincing proof of the equation's validity (again, because of the homomorphic properties). But, giving away these terms might destroy witness indistinguishability. However, if there is an "additional term" introduced by substituting the commitments. Then, because it would be the unique value which makes the equation true, giving it away would preserve witness indistinguishability. If there are many terms, that means that these terms are not unique, and we can randomize these terms so that the equation is still true, but so that we effectively reduce to the case of there being a single term being given away with a unique value.
1.1 Applications
[0038] in one embodiment, we construct ring-signatures of sub-linear size using the NIWI proofs in the first example embodiment, which is based on the subgroup decision problem. Groth and Lu [GL07] have used the NIWI and NIZK proofs from example embodiment 3 to construct a NIZK proof for the correctness of a shuffle. Groth [Gro07] has used the NIWI and NIZK proofs from example embodiment 3 to construct a fully anonymous group signature scheme. By attaching NIZK proofs to semantically secure public-key encryption we get an efficient non-interactive verifiable cryptosystem. This can be used for optimistic fair exchange, where two parties use a trusted but lazy third party to guarantee fairness.
1.2 Non-interactive Witness-Indistinguishable Proofs
[0039] Let R be an efficiently computable ternary relation. For triplets (gk, x, w) ε R. we call gk the setup, x the statement and w the witness. Given some yk we let L be the language includes statements in R. For a relation that ignores gk this is of course the standard definition of an NP-language. We will, however, be more interested in the case where gk describes a bilinear group.
[0040] A non-interactive proof system for a relation R, with setup incudes four probabilistic polynomial time algorithms: a setup algorithm Q, a CRS generation algorithm K, a prover P and a verifier V . The setup algorithm outputs a setup (gk, sk). In the present disclosure, gk will be a description of a bilinear group. The setup algorithm may output some related information sk, for instance the factorization of the group order. A cleaner case, however, is when sk is just the empty string, meaning the protocol is built on top of the group without knowledge of any trapdoors. The CRS generation algorithm takes (gk:, sk) as input and produces a common reference string σ. The prover takes as input (gk, σ. x. w) and produces a proof TΓ. The verifier takes as input (gk. σ. x. π) and outputs 1 if the proof is acceptable and 0 if rejecting the proof. We call (Q, K. P, V) a non-interactive proof system for R with setup Q if it has the completeness and soundness properties described below.
[0041] With respect to perfect completeness, for adversaries Λ we have
Figure imgf000011_0001
[0042] With respect to perfect soundness, for adversaries Λ we have
Figure imgf000011_0002
[0043] In the standard definition of soundness defined above, the adversary is successful if creating a valid proof for .x ∉ L. We will generalize this notion to what we will call co- soundness, where the adversary is successful if creating a valid proof for x ∈ Lco for some language Lco, which may depend on gk and σ. Standard soundness is a special case of co- soundness with Lco being the complement of L.
[0044] With respect to perfect Lco-soundness, for adversaries A we have
Figure imgf000012_0002
[0045] In this disclosure, we will use a strong definition of witness indistinguishability. We introduce a reference string simulator S that generates a simulated CRS. We require that the adversary cannot distinguish a real CRS from a simulated CRS. We also require that on a simulated CRS it is perfectly indistinguishable which witness the prover used.
[0046] In other words, for non-uniform polynomial time adversaries A we have
Figure imgf000012_0003
and
Figure imgf000012_0001
where we require
Figure imgf000012_0004
[0047] Composable zero-knowledge is a strengthening of the usual notion of non- interactive zero-knowledge. First, we require that an adversary cannot distinguish a real CRS from a simulated CRS. Second, we require that the adversary, even when it gets access to the secret simulation key r, cannot distinguish real proofs on a simulated CRS from simulated proofs.
[0048] In other words, there exists a polynomial time simulator (S1 , S2) so for nonuniform polynomial time adversaries A we have
Figure imgf000013_0001
and
Figure imgf000013_0002
where we require A outputs (gk. x, w) ∈ R.
2 Modules with Bilinear Maps
[0049] Let (R. +. , O, 1) be a finite commutative ring. Recall that an ^-module A is an abelian group (A. +. 0) where the ring acts on the group such that
Figure imgf000013_0003
[0050] A cyclic group G of order n can in a natural way be viewed as a Zn -module. We will observe that the equations in Table 1 can be viewed as equations over Zn -modules with a bilinear map. To generalize completely, let R. be a finite commutative ring and let A1. A2. AT be finite R.-modules with a bilinear map / : A1 x A2 → Aτ, We will consider quadratic equations over variables Xi, xm € A\. yu — yn 6 ,42 of the form n m m >ι
∑ /tø> W) + ∑ /(**, M + ∑ ∑ 7.j/(a: *- %) = *•
J-I t-1 1- 1 7-1
[0051] In order to simplify notation, let us for x\, — Xn e ^1, j/i yn G ^2 define
X - y = ∑ /(X|. y,).
The equations can now be written as
(I y — r. - h + τ Ty — /..
We note for future use that due to the bilinear properties of /, we have for any matrix T C Matmxn(7£) and for any x, . . . . . xm, yx , . . . , yn that x Ty - T ' f • y.
[0052J Now return to the equations in Table 1 and sec how they can be recast as quadratic equations over Zn-modulcs with a bilinear map.
• Pairing product equations: Define '/? — Zn, Ay = G\. A^ = G2-. AT = Gτ; f(x-. y) = e(.τ; y) and we can rewrite the pairing product equation as (Λ • y)(X - B)[X - Ty) = tγ. (We use multiplicative notation here, because, usually GT is written multiplicatively in the literature. When we work with the abstract modules, however, we will use additive notation.)
• Multi-scalar multiplication in Gλ : Define 72. = Zn. Ai = Gy. A2 = Zn, Ar = G1, J[X. y) — i)X and we can rewrite the scalar multiplication equation as A - y + X b + X - Ty = Z .
• Multi-scalar multiplication in G2'- Define 'R. — Zn- A-, = Zn, A2 — G^. AT = G?, j[x. y) = xy and we can rewrite the multi-scalar multiplication equation as a - y + x - B + χ - ry = τ2.
• Quadratic equation in Zn: Define Tl = Zn, . Λi = Zn. A2 — Zn. Aτ — Zn. f[χ, y) — xy mod n and we can rewrite lhe quadratic equation in Zn as a - y + x ■ b + x ■ Fy = I.
We now focus on the more general problem of constructing non-interactive compos- able witness-indistinguishable proofs for satisfiability of quadratic equations over 7?.-modules M , M; AT (using additive notation for all modules) with a bilinear map /.
3 Commitment from Modules
[0053] In the present NlWI proofs we will commit to the variables xu . . . . xm e A1, y1 , yn ∈ A2. We do this by mapping them into other R-moduJes B1 , B2 and making the commitments in those modules.
[0054] Let us for now just consider how to commit to elements from one 7^-module A. The public key for the commitment scheme will describe another R.-module B and ^-linear maps L : Λ → B and p : B → A. It will also contain elements U1, . . . . un G B. To commit to ,τ € A we pick r\ , . . ; rn <— IZ at random and compute the commitment
In one embodiment, the Commitment scheme has two types of commitment keys, hiding keys and binding keys. The main assumption that we will be making throughout this disclosure is that the distribution of hiding keys and the distribution of binding keys are computationally indistinguishable. Witness-indistinguishability of the present NIWI proofs and later the zero- knowledge property of the present ZK proofs use this property.
• Hiding key: A hiding key contains (B. t, p, Ii1. . . . ., Un) such that
The commitment c 's therefore perfectly hiding when are chosen at random from R.
• Binding key: A binding key contains (B, ι, p, uι , . . . , un) such that Vf : ρ(u,) ~ 0 and L o p is non-trivial. The commitment therefore contains the non- trivial information p(c) — p[t{x)) about x. In particular, if i o p is the identity map on A, then the commitment is perfectly binding. (The map p is not efficiently computable. However, one can imagine scenarios where a secret key will make p efficiently computable and t o p is the identity map. In this case the commitment scheme is a cryptosystem with p being the decryption operation.)
[0055] Since we will often be committing to many elements at a time let us define some convenient notation. Given elements we will write ( ) with R ∈ Matmxn(R) for making commitments C1 cm computed as i i\3v}. 3.1 Example Embodiments
[0056] The treatment of commitments using the language of modules generalizes several previous works dealing with commitments over bilinear groups.
Example Embodiment 1: Subgroup decision.
[0057] In this setting, we have a composite order group G of order n := pq. The group can in a natural way be viewed as a Zπ-module: using the notation above we define A = G and B = G. The commitment key will contain an element IA. We can choose it so U generates G or so U has order q. The subgroup decision assumption tells us that the two types of commitment keys are computationally indistinguishable.
[0058] Let i : G > G be the identity map. Define λ e Zn so λ = 1 mod p and λ = 0 mod q. The map v : G — » G is p[X) := XX; in other words, p maps elements onto the order p subgroup of G. If U generates G, then C := t(X) + rlA is perfectly hiding. On the other hand, if IA has order q, then XG — XX defines X uniquely in C1,.
[0059] We can also commit to exponents. The modules are A' — Zn and H — G. Let i' : Zn → G be given by ι'(x) = xV and γ! : G → Zn be given by p'(xV) = Xx. When U generates G, the commitment scheme C :— xP -+ rlA is perfectly hiding. On the other hand, if IA has order q, then the commitment determines p'{C) — Xx G Zn.
Example embodiment 2: SXDH.
[0060] Consider a cyclic group A :— G ot prime order p. By entry-wise addition we get an abelian group B := G2, which is a module over Zp. The commitment key will contain an element i/j = (V, Q), where Q = a'P for a randomly chosen α fc ZL. It will also contain an element «2 = [IA.. V) which can be chosen in one of two ways: U7, := luλ or u7, := Ju1 — (O, V) for a randomly chosen ( ζ Z* . The former will give a perfectly binding commitment key, whereas the latter will give a perfectly hiding commitment key. The DDH assumption tells us that the two types of commitment keys are computationally indistinguishable.
[0061] Let us now describe how to commit to an element X e C. Wc define L(X) := (O, X). Using randomness 7 J ; r2 € Zp we get a commitment of the form c := t(X) -f rjiij + r2u2- If U2 = tiii we have c = ({r + st)V. [r + st) Q) which is an ElGamal encryption of V. We define p : (Cj . C2) *→ C2 — αC3 and see that the commitment is perfectly binding since i o p is the identity map on G and p(u\) = p(»2) = O. If «i and ?/2 are linearly independent we have that U1- ^2 is a basis for B — C2 and therefore L{G) C (Xi1- U2). When uj and U2 are linearly independent we therefore have a perfectly hiding commitment.
[0062] To commit to an exponent x 6 A' := Zp, we use the following approach. We define u = U1 -f (O, V) and ι'{x) :— xu and p'{c\V, C2P) :— c2 — acj. To commit to x using randomness i e Zp we compute c :— t'(a) -I- r_V:. On a hiding key we have « = /«i so u 6 (ui), which implies t'{Zp) C (U1). A hiding key therefore gives us a perfectly hiding commitment scheme. On a binding key we have c = ((r + xt)V, (r + xl)Q + xP), which is an ElGama) encryption of xV. We have that t! o p' is the identity map and p'(ui) — 0 so the commitment scheme is perfectly binding.
Example Embodiment 3: DLIN.
[0063] In a DLIN group let U := aP. V := βV be given for random a. β e Z* . The DLIN assumption states that it is hard to tell whether three elements rU, sV, tV have the property that t — r + s. We will use the Zp-modules A - G and B - G3 formed by entry- wise addition. The commitment key will contain three elements «i ; u2- «3 € B. We use Ji1 := (U, O, V). U2 := (O, V, V) and U3 can be chosen as either υ3 := ru^ + su7 or uj-i :— rui + su? - (O. O. V), which will give respectively a binding key and a hiding key. The DLIN assumption implies that the two types of commitment keys are computationally indistinguishable.
[0064] We will now describe how to commit to X fc G. The map t is defined by L(X) :— (O, O, X). A commitment is formed by choosing n . r2: »-3 E Z1, and computing c := L{X) + YlI=I r > 1x < • O° a hiding key Uj . u?. U3 are linearly independent so they form a basis for B - G3 and therefore t(G') C (u-, , u^. «3} so the commitment scheme is perfectly hiding. On a binding key we have c = ((rx f rr3)U. (r2 I Sr3)V, {n + r2 + {r -\- s)r3)V + X), which is a BBS encryption [BBS04] of X. Defining the decryption function p(Ci. C2. C3) := C3 - ^C1 - ^C2 we see that p{u-[ ) = p(t42) = p(u^) = O and t 0 p is the identity map so the commitment is perfectly binding. (This commitment scheme coincides with the scheme of [WatO6]. We note that the different, and less efficient, commitment scheme of [GroOόj can be similarly described in the language of modules, as well.)
[0065] To commit to a message x e A' := Z11 we first define u := u3 + (O. O, V) and /'(.r) := xv. We commit to r using randomness π . r2 by setting r := xii + T^x1 + r2«2- On a hiding key, we have that u — ruy + su2 so i'(Zp) Q («1, 1*2} a"d tne commitment scheme is perfectly hiding. On a binding key, the commitment is c = ((rj I rx)U, (r2 + sτ)V. (ri + r-2 + x(i + s))V + xV). This corresponds to a BBS encryption of xV. We define //(C11 C2 - C3) = C3 - ^C, - ^C2). We have p'(m) = />'(ι/2) = 0 and / 0 jf is the identity on Zp, so the commitment scheme is perfectly binding. 4 Setup
[0066] In the present NIWI proofs the common reference string contains commjtmem keys to commit to elements in respectively A1 and A2. These commitment keys specify
Bi . Lλ , pi , U] , um> and B2. L2, P2- V1, vn> . In addition, the common reference string will also specify a third 7£-module BT together with 7^-linear maps LT : AT > BT and Pr ■ Br → Ax. There will be a bilinear map F : Bi x B2 → Bγ as well. We require that the maps are commutative. We refer to Table 3 for an overview of the modules and the maps. For
Ai x A-i → AT f h ϊl P^ 1-2 it P2 LT l] pτ
BI x B2 → Br F
Vx e A1 Vy e A2 : F(L1(X).. ι2(y)) = tr(f(x, y)) V.τ e B1 Vy € B2 : /(Pl(.r); P2(x)) = pτ(F(.τ: y))
Table 3: Modules and maps between them,
notational convenience, let us define for x ε B^, y F Bζ that
Figure imgf000018_0001
The final part of the common reference string is a set of matrices Hi, . , Hn € Ma^x,,/ (K) that satisfy ύ • H1V = 0.
[0067] Two types of settings arc of primary interest, soundness settings and witness- iπdistinguishability settings.
• Soundness setting: In the soundness setting, we require that the commitment keys are binding so we have p\ (u) = 0 and P2(v) — 0 and the maps I1 c px and ι2 ° In ^ non-trivial.
• Witness-indistinguishability setting: In the witness-indistinguishability setting we have hiding commitment keys, so L] (G]) C {uλ. . . »,„<} and A2(G^) - (1^ ■■ ■ ■ - vn')- ^e also require that H] , . . . , H,t generate lhe β-module of matrices Ii so ύ • Hv — 0. As we will see in the next section, these matrices play a role as randomizers in the wjtness-indistinguishability proof.
The (only) computational assumption this disclosure is based on is that the two settings can be set up in a computationally indistinguishable way. The example embodiments show that there are many ways to get such computationally indistinguishable soundness and witness- indistingυishability setups.
4.1 Example Embodiments
Example Embodiment 1: Subgroup Decision.
[0068] The common reference string specifies {p, G: Gj, e. V ., U), which is sufficient to describe the entire setup given in this section. We use B = B\ — B2 — G and BT = GY and the bilinear map F(X , y) .= e(X. y). In the witness-indistinguishability setup we use a hiding key U that generates G and consequently e(U. U) generates G1 . The only solution to e (U, HU) — 1 is therefore the trivial // — 0, so we do not need to include any JIx in the common reference string.
[0069] There are three scenarios to look at: pairing product equations, multi-scalar multiplication and quadratic equations in Zn. In the pairing product equation scenario, we have /I1 — A2 ~~ G and Aτ — GT and a bilinear map / := e. We define the map ι.τ '■ Aγ ^r to be the identity map, whereas pτ(z) '•= * λ- Observe, since A = I mod p, λ = 0 mod q that λ2 = λ mod n so we have the commutative property P(^1 (X).p2(y)) — e(XX. λ>') — pT{e(X. y)) and the other commutative property is trivial.
[0070] In the multi-scalar multiplication scenario, we have Ai = Zn, A2 = G, AT = G. The bilinear map / is the scalar multiplication function /(.τ. y) :— xy. We define Vr(Z) :— t(V, Z) and pr(e(V, Z)) — XZ. This gives us the required commutative properties
C(L'(X). ι{y)) = c(xv. y) = c(v, xy) = ιτ(χy) and pτ«χv, y)) = x*y = (xχ)(\y) = p'(xV)p(Y).
[0071] In the quadratic equation in Zn, we have A\ — A^ — AT — Zn. The bilinear map / is the multiplication function }[x, y) := iy mod n. We define L'T(Z) := c(V. Vy and μ'τ(e(P. VY) := Xz. We have the commutative properties e(t'(.τ), /(.(/)) = e(xV. yV) = e('P. VY» = i'τ(xy) and K(^(X-P.1/'P)) = Xxy = (Xr)(Xy) - P'(xP)p'(yV).
Example Embodiment 2: SXDH.
[0072] The common reference string specifies (p. Gi- G2. Gτ- e. V\. P2. U1- H2-. i"i: ^), where (U1 , U2) is a commitment key for the group Gi and (v\ , v^) is a commitment key for Gj as described in Section 3.1. We have B\ = G\. B2 = G\ and define B7 ■= Gτ with respectively cntiy-wise addition and entry-wise multiplication. The map F is defined as follows:
[0073] In the pairing product equation scenario, we have A\ — G\, A2 = G2, Aτ — GT and f(x, y) := e(x, y). The commitment keys are Uι, u2 and D1 , V2 for committing to respectively elements in G5 and G2. In the witness-indistinguishability scenario, the commitment keys arc hiding, which means they are chosen so U1 and u2 are linearly independent and V1 and V2 are linearly independent. The four elements F(uι, υι), F(Ui1 V2)-. F(U2- vι), F(U2, v2) are linearly independent in this scenario. This implies that u * Hv only has the trivial solution where H is the 2 x 2 matrix with 0-entries. As for the maps iτ, PT we define
T : * ~ ( ] l J , M \ ZU Zl2 )) " Z22z72 ai (z2χZnai)-a2-
\ l z J \ z2ι Z22 J
The map pr corresponds to first ElGamal decrypting down the columns using O1 where Ui = (Vi, <x\Ti) and then ElGamal decrypting the resulting row by using a2 where Vy = (P2. α2 'P2). We note that LT 0 PT is the identity map. One can check that the maps satisfy the commutative properties in Table 3.
[0074] We will now look at the case of multi-scalar multiplication in C2. The case of multi-scalar multiplication in G\ is treated similarly. We have Ai — -£p, -42 — G2- ΛT = G2 and the bilinear map is f(x, y) = xy. We will use 1'. U1 for commitments to scalars in Zp and /-. Vi1 V2 for commitments to elements in G7. We define iτ(-Z) — t-τ(e-CP< Z))- Let C-^c(P- Z)) := Z and define pj (∑) := c~ } (pτ(z))- We note that tτ 0 PT is the identity map on G2. We see that in the witness-indistinguishability setting, where v\. v2 are linearly independent, the equation U1 • Hv — 0 only has the trivial solution where H is the 1 x 2 matrix containing 0-entries.
[0075J Finally, we have the case of quadratic equations in Zp. We have A1 — A2 — Aτ — Zp and the bilinear map f(x. y) — xy mod p. We use u. ui for commitments in G\ and v. 7-j for commitments in G\. We define i'τ(∑) :— iτ(f-CP. V)z) and p^-(z) := \og-p(pτ(z)) . The maps satisfy the commutative properties from Table 3 and we have iSp 0 p'τ is the identity map on Zp. Since F(U1. IJr1) has no non-trivial solution we do not need to specify a set of generators Hi . Hη. Example embodiment 3: DLIN.
[00761 The common reference string specifics (p.G.Gr,e,P.u-[,u2.uΑ), where (uj, U2, us) is a commitment key tor the group G, and Ui.u? is used for committing to exponents. We have B-G3.
We will use the module Bτ — Gj defining the addition of two elements to correspond to entry-wise multiplication of the 9 group elements. We will use two different bilinear maps F, F. The map F is defined as follows:
/ *i \ ( yΛ Ie[X^y1) e(xuy2) e(xuy3)
F;GΆXGΆ ->Ga T (\ X2 \A y, \)→ l e{X2.yΥ) e(X,,y2) c(X2.yΑ)
\ *3 ) \ y2 J V ^y1 ) e(χ a,y2) e(χ3,y3)
[0077] The symmetric map F is defined by F(x. y) :- |F(x, y) + ±F(y, x).
[0078] In the pairing product equation scenario, we have A^ = (7, A7 = Gη>, Aτ = Gτ and f(x, y) := e(x, y). The commitment key is u\ , u2,Ui. In the witness-indistinguishability scenario, the commitment key is hiding, which means that it is chosen so U1, uu^ are linearly independent and hence span of B = G3. Some computation shows that the nine elements F(ui,Uj) are linearly independent in the witπcss-indistinguishability setting. This implies that u • HiT only has the trivial solution where H is the 3 x 3 matrix with 0-entries.
[0079] On the other hand, the map F has non-trivial solutions to ύ * Mil corresponding to the identities F(ui, Uj) = F(uj. u,). Some computation shows that the matrices
0 ϋ i \ 0 t \ I
Hi = 0 ϋ H3 = ( ° 0
0 ϋ
0
1 0 0 / Vo -1
form a basis for the matrices // so d • Ifii = 0. [0080] As for the maps LT-VT we define
1 1 1 iτ{z) := I 1 1 1 1 1 2
Z\\ 712 =13 \
-31 -32 -33 / The map pr corresponds to first BBS decrypting down the columns using the decryption key a. β and then after that BBS decrypting along the row. We note that ι.τ opγ is the identity map. One can check that the maps satisfy the commutative properties with both F and F in Table 3.
[0081] We will now look at the case of multi-scalar multiplication in G. We have A\ — %p, A2 = G. AT = G and the bilinear map is. f(x., y) = xy. We will use L'. U^ VQ for commitments to scalars in Zp and L. uλ , u?. u$ for commitments to elements in G. We define LT(Z) = LT(e{V. Z)). Let e~ ^e(P- Z)) :- Z and define pτ{z) := e-\pτ(z)). We note that I7 o PT is the identity map on G. We see that (U1. u2) • Hu = 0 only has the trivial solution where H is the 2 x 3 matrix containing 0-entries. We also have
Figure imgf000022_0001
generates the matrices H so (W1. U2) • Hu — 0.
[0082] Finally, we have the case of quadratic equations in Zn. We have A\ — A2 = Aτ = Zp and the bilinear map f(χ. y) :— xy mod p. We use U1 , u2 for commitments to the exponents. We define c'τ{z) := tτ((-(7\ V)z and jJτ(z) := logp(pr(^)). The maps satisfy the commutative properties from Table 3 and we have dγ o γ/τ is the identity map on Zp. Again we have for F only trivial matrices U, whereas for F we have the non-trivial basis
Figure imgf000022_0002
5 Proving that Committed Values Satisfy a Quadratic Equation
[0083] Recall that a quadratic equation looks like the following:
a ij -\- f b 4- r • Vy — t.
with constants a € /1" b € Aψ. T e MaI1n X71(Ti). L € Aτ. The prover's task is to convince the verifier that the commitments contain .f G A"', y e A% that satisfy the quadratic equation. [0084] We will first consider the case of a single quadratic equation of the above form. The first step in the present NlWI proof is to commit to the variables x. y. The commitments are of the form
Figure imgf000023_0001
(Note that for various other embodiments, we will use these same commitments.)
[0085] Before giving the proof let us give some intuition. In the previous sections, we have set up the commitments so that the commitments themselves also "behave" like the values being committed to: they also belong to modules (the B modules) equipped with a bilinear map (the map F, also implicitly used in the • operation). Given that we have done this, a natural idea is to take the quadratic equation we are trying to prove, and "plug in" the commitments in place of the variables; let us evaluate:
Figure imgf000023_0002
After some computations, where we expand the commitments, make use of the bilinearity of •, and rearrange terms (the details can be found in the proof of Theorem J below) we get
Figure imgf000023_0003
By the commutativity properties of the maps, the first group of three terms are equal to tr(f), if the equation is true. Looking at the remaining terms, note that the verifier knows u and v. Using the fact that bilinearity implies that for any x. y we have .f • Ty = Tττ • y, we can sort the remaining terms so that they match either u or v to get (again see the proof of Theorem 1 for details)
Figure imgf000023_0004
Now, for sake of explanation only, and not limitation, let us make some simplifying assumptions: Assume that we are working in a symmetric case where A\ = A2, and B\ = B2, and therefore u = r and, so, the above equation can be simplified further to get:
Figure imgf000023_0005
Assume further, I1 O p1^2 O p2 and ιτ o pτ are the identity maps on A1, A2 and Aτ-
[0086] Now, suppose the prover gives to the verifier as his proof π = (l^^Ψ) +
RTTi2{y) + SΎL1 (a) H- 5TrTi! [x] ) . The verifier would then check that the following verification equation holds:
Figure imgf000024_0001
[0087] It is easy to see that this proof would be convincing in the soundness setting, because we have that pi (v) = 0. Then the verifier would know (but not be able to compute) that by applying the maps p\ . p-ι- PT we get
Figure imgf000024_0002
This gives us soundness, since x := pi[c) and y := ρ2[d) satisfy the equations.
[0088] The remaining problem is to get witness-indistinguishability. Recall that in the witness-indistinguϊshability setting, the commitments are perfectly hiding. Therefore, in the verification equation, nothing except for π has any information about x and y except for the information that can be inferred from the quadratic equation itself. So, consider two cases:
1. Suppose that π is the unique value so that the verification equation is valid. In this case, we trivially have witness indistinguishability, since this means that all witnesses would lead to the same value for π.
2. The simple case above might seem too good to be true, but see what it means if it isn't true. If two values π and TΓ' both satisfy the verification equation, then just subtracting the equations shows that u • (π - π' ) = 0. On the other hand, recall that in the witness indistinguishability setting, the it vectors generate the entire space where π or π' exist, and furthermore we know that the matrices Hi Hτι generate H such that u • Hu =
0. Therefore, choose T1 rη at random, and consider the distribution π" = -π +
Σ'/=i τ ιH%'U- We thus obtain the same distribution on π" regardless of what π we started from, and such that Έ" always satisfies the verification equation.
[0089] Thus, for the symmetric case we obtain a witness indistinguishable proof system. For the general non-symmetric case, instead of having just TΓ for the u part of the equation, we would also have c for the v part. In this case, we would also have to make sure that this split does not reveal any information about the witness. What we will do is to randomize the proofs such that they get a uniform distribution on τ. φ that satisfy the verification equation. If we pick T <— MaInZx771-(Ti) at random we have that φ I Tu completely randomizes Φ. The part we add in ψ can be "subtracted" from π by observing that
ιT(t) + u • if + Ψ • v = ιT(t) + ?/ • (τr - T ] v^ + (ψ + Tu \ • υ. This leads to a unique distribution of proofs for the general non-symmetric case as well.
[0090] Having now explained the intuition behind the following proof system, we proceed to a formal description and proof of security properties.
Proof: Pick T <- MaW xm'rø, T1, . . . , rv *- H at random. Compute
π := RJc2(b) + R'TL2(y) + RTTSv - TTv ^ ^ riHiv i=l i/7 := AlT.1 (o) + ά'TrTti (a0 + ϊ'ύ
and return the proof [ψ: TΓ). Verification: Return 1 if and only if
Lι (a) • d"+ c * C2{b) + c » I d — ιτ(<) + u • if + ψ • v.
[0091] Perfect completeness of the NFWI proof will follow from the following theorem no matter whether we are in the soundness setting or the witness-iπdistiπguishability setting.
Theorem 1
[0092] Given x, y, R, S satisfying
c = L1(S) + Ru . d — ι2(y) + Sv , a ■ y ÷- x b -\- x - Ty - L.
we have for all choices of T, rΛ . r,, that the proofs π. ψ constructed as above will be accepted.
[0093] Proof. The commutative property of the linear and bilinear maps gives us i \((ϊ) • i-2{y) + ii(x) • L2(b) + L1(S) • Tii(y) — tτ(t). For any choice of T, T1, rη we have
M (a) • d + (!• r.-2(b) + c • Vd = L1[Ct) • (t2{y) + sή + (nCf) + Rϋj • L2[S) + (M (X) + flu) • r(t2(y) + SV))
= M (α) ^t2(J/) + iι{x) • 12$) + Li(x) • Iι2{y)
+ /?7i*Λ2(&)H- flu»r_2(j7} + flu "TSr + I1(S) *Λ7 -Ht1(Z)W1Si''
= tτ(O + U • (/fTt2(^) + HTV12{V) + K7TSv) + (^S1 L1[S) + STrT (,;(.?)) • V
= ι.τ[t) + M • (V<.2(&) + Λτ Fi2(JT) + ΛτrSt;) + £Vi(a • H,tT) - u • Tτϋ
+Ti/.r I (Sτti(β) I 5τrτfi(i))*υ — ir(') -\- u« 7T + w • r
D
Theorem 2
[0094] In the soundness setting, where we have p\ (u) — O. ipiiy) ~~ O α valid proof implies vΛh(d)) Met) + /J1(C) P2(I2(S)) + Pi (c) Ip2(J) - pr((τ(0)-
[0095] Proof. An acceptable proof π. φ satisfies i(α) • cf + c* L2[S) -\- c»Td = cτ[t) + u • TΓ + ψ • v. The commutative property of the linear and bilinear maps gives us
Pi[h[d)) P2[J) + pi[c) Mtofy) + Pι(c) Vp2[S) = RrMO) + Pi(C) M*) +Pi(^) Mtf
= Pϊ'(tr(0)-
D
[0096] Observe as a particularly interesting case that when ti 0 p, . ι20 p2-,iτ ° Pr are the identity maps on A1, A7 and /4T respectively, then this means x :— p\ (c) and y := P2[d) give us a satisfying solution to the equation S-y+x-y+I-Vy = I. In this case, the theorem says that the proof is perfectly sound in the soundness setting. It is still possible though that interesting co-soundness properties emerge also in the case where these maps are not the identity-maps on A-[. Ai and Aγ.
Theorem 3
[0097] In the witness-indistinguishable setting where L\[Gi) C {it, , um<), I2(G2) ^
(uj . V11') and Hi Hv generate the matrices H so ϋ • Hv — 0, the satisfying witnesses X; y: R; S yield proofs if ζ {t'i; .... ιv)m' and iy G [U1, .... Ji7n')"' that are uni- formly distributed conditioned on the verification equation ti(α) • d + £• L2(b) -+ c • Td =
L7(I) + U • TT + ψ • (T.
[0098] Pπyw/ Since -ι (G'j) C (Ti1, U7n,) and i2{G2) Q (V1 , . . . , Ifn/) there exists
A, B, X. Y so i; (α) = Au, L1 (£) = Xu and L2(S) = Bv. ι2{y) = Yv. We have c = 6 + (X + R)u and d - 0 + (Y + S)u. The proof is 7r. τ/7 given by
ψ = Sτ I1(O) + STrT<i (x) + Tn = [S1A + S1VX + T)t? π = 7?τi2(ϊ) + /?τn2(i/) + R7TSv)) - Tτv + J^ r;Hit;
<=i
= (RTB + RTTY + RTΓS - TΛV + (J2r ' Hi)ϋ-
We choose T at random, so we can think of ύ being a uniformly random variable given by ψ = Ψυ for a randomly chosen matrix Φ. We can think of π as being written π — 130", where Il is a random variable that depends on Ψ.
[099] By perfect completeness the satisfying witnesses yield proofs where L\ (S) • d + c • ι.2(b) + (!• Td — ι.τ(l.) — φ • JT = u • 7? = u • TIv. Conditioned on the random variable Φ we therefore have that any two possible solutions πi, π2 satisfy u • (III - U2) v — 0. Since H1 , . . . , IJV generate the matrices II so u* II υ = 0 we can write this as IT1 — II2 -4- 5Z7- 1 r<^i- In constructing 7? we form it as ( RJ B + βTK + flTI\9 - TΥλv + ( ∑?=1 r^W for randomly chosen T J , r7J. Wc therefore get a uniform distribution over the π that satisfy the equation conditioned on ib. Since ^- is uniformly chosen, we conclude that for any witness we get a uniform distribution over ψ. τ. conditioned on them constituting an acceptable proof. C
5.1 Linear Equations
[0100] As a special case, we will consider the proof system when S = O and T = 0. In this case the equation is simply
S - S= L
The scheme can be simplified JΠ this case by choosing T = 0 in the proof, which gives x> :~ 0 and π := Rτ L-^(S) + ∑"= ] i\Hxv. Theorem 1 still applies with T - O. Theorem 2 gives us P\ (c\ /J'i('.2 (&)) = Vi ('-i ('))' which will g've us soundness. Finally, we have the following theorem. Theorem 4
[0101] In the witness-indistinguishable setting where 1^ (Gi ) C (^1 , um>}, ^(Gt) C
(W1. . . vnι) and Hj . . Hv generate the matrices H so v * Hv = 0, the satisfying witnesses x, y. R. S yield the uniform distribution of the proof τ € (i/j , . . . , iv)"1 conditioned on the verification equation c • Iz(B) = _τ(.) I ϋ u being satisfied.
[0102] Proof. As in the proof of Theorem 3 we can write π = Uv. Any witness gives a proof that satisfies c » ii(6) — ir(0 — ύ » π = -2 » lit;.
Since /Z1, H,; generate the matrices H so x? • iM = ϋ we have that n has a uniform distribution over the matrices II satisfying the verification equation. D
5.2 The Symmetric Case
[0103] An interesting special case is when B := B\ = B2, m' < n' with ui = V1. . . . , um> = vmι and for the i, y € B we have .F(x. y) = F(y, x). We call this the symmetric case. In the symmetric case, we can simplify the scheme by just padding έ with zeroes in the end to extend the length to it', call this vector i/, and revealing the proof φ = π 4- w'. In the verification, we check that
A1 (α) • il Λ- c • ι{ϊ>) + c • Td = iτ(t) I φ * v.
Theorem 1 and Theorem 3 still hold in this setting. With respect to soundness we have the following theorem.
Theorem 5
[0104] In the soundness setting, where we have p2 (r) = O o valid proof implies
Pi Ma)) ft(rf) I Pι(c) P2Mb)) \ Pi(c) - Tp2(J) = PrMO)-
[0105] Proof. An acceptable proof s satisfies I1 (a) » <f I (.'• i2(^) I c» rd = fT(ή + φ» c. The commutative property of the linear and bilinear maps gives us
PiMa)) P2(d) + Pi (c) P2 U (6)) + Pi(c) Tp2[Q = Miτ(t)) + P1(O) Pi(Jf) = PrMO)- G [0106] We can simplify the computation of the proof in the symmetric case. We have
Figure imgf000029_0003
and extend -φ to φ' by padding it with m' — n' O's. Another way to accomplish this padding is by padding T with m' — n1 0-rows and S with m! — n' 0-columns and H1 with m' — ??' 0-columns. We then have
Figure imgf000029_0001
Since the map is symmetric we have u • (T' — (T')τ)u = 0, so if we have a set H[, . . . . HL that generates the matrices //' so (7 • ll'v — 0, then we can rewrite the proof as
Figure imgf000029_0004
6 NIWI Proof for Satisfiability of a Set of Quadratic Equations
[0107] We wiJl now give the full composable NIWI proof for satisfiability of a set of quadratic equations in a module with a bilinear map. The proof will have Lco-soundness. where
Figure imgf000029_0002
{ \ }
Observe that /Jrø-soundness and soundness are the same notions in the common case where <-i 0 Pi- i-2 ° P2 ar|d if o pτ are the identity maps on respectively Λ\ . A-χ and AT-
[0108] The cryptographic assumption we make is that the common reference string is created by one of two algorithms K or 5 and that their outputs are computationally indistinguishable. The first algorithm outputs a common reference string that specifies a soundness setting, whereas the second algorithm outputs a common reference string that specifies a witness-mdistinguishability setting. [01091 Setup: [gk sk) := ({11. Aλ.A2.AτJ).sk) <- Q{\k).
[OUO] Soundness String: σ :— (B1. Ii2, Bτ, F. iχ.pι. '2-7J 2;'r- Pr- " '") <— K (gk.sk).
[0111] Witness-indistinguishability string: σ :-
(Bl, B2, Bj; F. I1, pi . Λ2> 02, ^T, VT, '"• 1^) <" 5(yA:, sfc).
[0112] Proof: The input includes gk, σ, a list of quadratic equations {(α,. S1. F1. ^)J1I1 and a satisfying witness i, y.
• Pick at random R <— Matn,xtn'{7S} and S *— MatnXn'(7S) and commit to the variables as c :— x + Ru and d:— ,y + ώV.
• For each equation (of. ϊi, F^, fj) make a proof as described in Section 5. In other words, pick Ti < Mat,,* Xm> (TZ) and r,lt .... r,n < 7? compute
τr{ :- Λτt2(ζ) + /?τn2(y) + /?TR9f - T/r + ∑ ry//,ϊ7
J = I
^ := Sτti(20 + STrTt1(5) + 'Jt-u.
• Output the proof (c, d, {(π<, Vt))UJ-
[0113] Verification: The input is ^A, t7,{(α, ,6,,1',-,Zi))^1 and the proof (c.c/i{(πf!VΛ)}). For each equation check
Li (Uj) •£/+£*• t2(^t) + C 9 Tx(I = CT[U) + U • Kx + Vi • V-
Output 1 if all the checks pass, else output 0.
Theorem 6
[0114] The protocol given above is a NIWl proof for satisfiability υj a set of quadratic equations with perfect completeness, perfect L00- soundness and compobable witness- indistinguishability.
[OUS] Proof. Perfect completeness follows from Theorem I.
[0116] Consider a proof (c. d, {(π,, (Ji1))) on a soundness string. Define .f := pi (e). y := p2(d). It follows from Theorem 2 that for each equation we have This means we have perfect Lco-soundness.
[0117] In the present disclosure, a computational assumption is that soundness strings and witrtess-indistinguishability strings are computationally indistinguishable (or at least computationally similar). Consider now a witness-indistinguishability string σ. The commitments are perfectly hiding, so they do not reveal the witness x. y'that the prover uses in the commitments c. d. Theorem 3 says that in either equation each of two possible witnesses yield the same distribution on the proof for that equation. A straightforward hybrid argument then shows that we have perfect witness-indistinguishability. D
[0118] Proof of knowledge. We observe that if K outputs an additional secret piece of information ξ that makes it possible to efficiently compute pi and p2, then it is straightforward to compute the witness x — p\(c) and y = p2{d), so the proof is a perfect proof of knowledge.
[0119] Proof size. The size of the common reference string is m' elements in B1 and n! elements in B2 m addition to the description of the modules and the maps. The size of the proof is m -\- Nn' elements in B1 and n -\- Nm' elements in B2.
[0120] Typically, m' and n' will be small, giving us a proof size that is O(m + n + , N) elements in Bj and B2. The proof size may thus be smaller than the description of the statement, which can be of size up to Nn elements in Ax, Nm elements in A2, Nπm elements in Tl and N elements in Aτ.
6.1 NIWI Proofs for Bilinear Groups
[0121] We will now outline the strategy for making NIWI proofs for satisfiability of a set of quadratic equations over bilinear groups. As we described in Section 2, there are four different types of equations, corresponding to the following four combinations of Xn -modules:
• Pairing product equations: A1 = G1. A2 = G2. Aτ = Gτ, /(A", y) = e(X. y).
• MuI ti -scalar multiplication in G1 : /I1 = G1. /I2 = Sn. Aτ = G1 - J[X. y) = yX.
• Multi-scalar multiplication in G2: A1 = In,, A2 = G2. Aτ = Gτ. /(.τ. y) = xy.
• Quadratic equations in Zn: /I1 = Zn. A2 = Zn. /lr = Zn. f{.r. y) = xy mod n.
[0122] The common reference string will specify commitment schemes to respectively scalars and group elements. We first commit to the variables and then make the NIWl proofs that correspond to the types of equations that we are looking at. It is important that we use the same commitment schemes and commitments for equations, i.e., for instance we only commit to a scalar x once and we use the same commitment in the proof whether the equation τ is involved in is a multi-scalar multiplication in G2 or a quadratic equations in Zn. The use of the same commitment in the equations is necessary to ensure a consistent choice of x throughout the proof. As a consequence of this we use the same module B[ to commit to x in both multi- scalar multiplication in G2 and quadratic equations in Zn. We therefore end up with at most four different modules B1, B[. B2. B2 to commit to respectively X. x7 y, y variables.
Example Embodiment 1 : Subgroup decision.
[0123] Setup: (gk. sk) := ((n. G. Gτ. e. V), (p q)) <- G(lk). where n = pq.
[0124] Soundness string: On input (gk sk) return σ := U where U := rpV for random T G Zn.
[0125] Witness-indistinguishability string: On input (gk. sk) return σ .— U where U .= rV for random r € Zn * .
[0126] Proof: On input (n. G. Gr, e. VM), a set of equations and a witness x. y do:
1. Commit to each exponent X1 xm and each element 3Λ ■ ■ yn as respectively C2 :=
X1V + T1U and V1 := y.t + s,U for randomly chosen f. s.
1. For each pairing product equation (A y)(y Ty) — Ir make a proof as described in section 5.2. Writing it out and doing calculations, we get
Figure imgf000032_0001
3. For each multi-scalar multiplication equation a y + x β + τ Ty = T the proof is
Figure imgf000032_0002
4. For each quadratic equation τ ■ b + x Tx = t in Zn we have
Figure imgf000032_0003
[0127] Verification: On input {n, G, GT, e, V , U), a set of equations and a proof £ £, {*.}£.! do:
1. For each pairing product equation (.4 y){y Ty) = t-r check that JIl=] e(-/^ ^J«) " π;u uu fc( A. »ip" - 'MM Φ).
2. For each multi-scalar multiplication a-y+x-B+x-Ty = T check that JTjLi efaP. 'Di)- nr=1 <&, B.) ■ n*, nu ^- v^ = ^ Ύ)<U- *)'
3. For each quadratic equation x b -f .f • Tx = t in Zn check that Y["L} e(C,. WP)
[0128] Define L00 to be the sets of quadratic equations over Zn that are unsatisfiable in the order p subgroups of Zn, G and GT-
Theorem 7
[0129] The NIWI proof given above has perfect completeness, perfect LQI>-soιmdness and cυmpυsable witness-indistinguishubilily.
[0130] Proof. Perfect completeness follows from Theorem 1. Perfect Lco-soundness follows from Theorem 2 since the t o p maps go to the order p subgroups of Zn, G and GT- The subgroup decision problem gives us that we cannot distinguish whether U has order η or order n so the two types of common reference strings are computationally indistinguishable. On a witness-indistinguishabihty string, the commitments are perfectly hiding and we get perfect witness-indistinguishabihty from Theorem 3. D
[0131] The size of the proof is m + n -\- N group elements in G, where m is the number of variables in x, n is the number of variables in 3^ and Λr is the number of equations.
Example Embodiment 2: SXDII.
[0132] Setup: gk := (p, <?i, G7. GT1 F- 1PI , P?) «- 0(1*)-
[0133] Soundness string: On input gk return σ :— («i, «2. v^ t^) from the soundness setup described in Section 4. This gives us u2 = ii«i and v2 = ^'2r random J1.12 <— Zp so the elements are linearly dependent.
[0134] [Witness-indistinguishability string:] On input gk ieturn σ :— (7.1. ti^. i'i . t- 2) from the witness-indistinguishability setup described in Section 4. This gives us u^ — tλu\ — {O. Vi) and r2 = tϊυi - {O. Vi) for random iΥ. i2 <- Zp.
[0135] Proof: On input ^A:. σ, a set of equations and a witness Λ? y. χ, y do: 1. Commit to group elements X as c := ii(<£) + Ru for R <— MatmX2(Zp) and group elements y as d :— ^(.V) + Sv for .S1 <— NIaI7nX2(Zp). Commit to exponents x as ? := t'^x) -f- rui and exponents i/ as d' :— ^(y) 4- Sv^ for f «— Zp 1', s«— Zp'.
2. For each pairing product equation (^-^(^ ^(^V- JW) = £χ make a proof as described in section 5. Writing it out we have for T <— Mat2X2(Zp) the following proof.
π := Λτi2(i#) + Λ"rta(^)-ι-(Hτr5-rτ)^ tf' := S1 tj(X) + 5' r 1I1(AT)-I- Tu
For each linear equation A- y — Lγv/e use ψ :— 5TM(^)- For each linear equation Λ* • 23 = tτ we use π := Λτt2(β)-
3. For each multi-scalar multiplication equation A ■ y + X b + X T y — T\ in G i the proof is for random T <— Matlx2(Zp)
π := Λτ4{b) | βτr('2(ϊ) + (Λτr?-2'τ)ι-ι ^ := sr L1(J) + S7^L1[X) + Tu
For each linear equation A • y= T1 the proof is ^ := s"1 ii(^4). For each linear equation X b = T\ the proof is π := RJ L2(b).
4. For each multi-scalar multiplication equation a • y + x • B 4- .f • F>" = 7a in G2 the proof is for random T *— Mat2X i (Zp)
π := fτt2(β) + rΥ T I2Qf) + (fτr5 - Tτ)v φ := S1IUo) + 51T1^1(X)-I- Tti,
For each linear equation α • ^ = T2 the proof is π := 5Tti (α). For each linear equation x B — T1 the proof is TΓ := Fτ.2(β).
5. For each quadratic equation x • 6 + x • r.f = Z in 2P the proof is for random T<-Zp
π := fT4(6) + fTr4(y) + (f^Tf-Tju, V • ~ s ' 4 (α) + .?'r' Ji(5) + Tu, For each linear equation α y - t we use Φ := SJL\ (a). For each linear equation x b = I. we use IT := T1V2(F).
[0136J Verification: On input (gk, σ), a set of equations and a proof c, d. ?. d'. (7T1. ^1)U1 do:
1. For each pairing product equation (-4 • y)(X &){$ Vy) = tr check that
h (A) • d I c • I2(B) -\ c • rά'= cτ{tτ) + ύ » π + -ψ » v
2. For each multi-scalar equation {A y){X b){X Ty) = % in G\ check that
L1[A) • <? 4- c • ι'2(b) + c * Td1 = Ci-(Ti) + «' t i + F[i)>. Vi).
3. For each multi-scalar multiplication a • y + x B + .τ • F^ — 72 in 6'2 check that
ι\ [S) • (T+ Z • I2(S) I ^ • T(T= LT(T2) f- F(tij , π) + ^ • v.
4. For each quadratic equation « - i/+ i - 6 + i - ry = f in Zp check that
έ1 ! (0) • <? + £ • 4(6) + c • Tc? = ^.(i) + /-X-U1, π) 4- /-'(V, <>i)-
Theorem 8
[0137] The protocol is a NIWI proof with perfect completeness, perfect soundness and com- posable witness-indistinguishability for satisfiability of a set of equations over a bilinear group where the SXDH problem is hard.
[0138] Perfect completeness follows from Theorem 1. Perfect soundness follows from Theorem 2 since the t 0 p maps are identity maps on Zp, G1. G2 and GT- The SXDH assumption gives us That the two types of common reference strings are computationally indistinguishable. On a witness-indistinguishability string, the commitments are perfectly hiding and we get perfect witness-indistinguishability from Theorem 3. U
[0139] The modules we work in are Si — Gf and S2 = G\, so each element in a module includes two group elements from respectively G^1 and GV Table 4 list the cost of the different types of equations.
Figure imgf000036_0001
Table 4: Cost of each variable and equation measured in elements from G1 and G2.
Example Embodiment 3: DLIN.
[0140] Setup: gk - (p. G, Gτ, c, 1P) < £(1*).
[01411 Soundness string: On input gk return σ := (U1. ^, U3) from the soundness setup described in Section 4. This gives us ti3 = ϊ] Mi + faV2 for random Z1 , /,? <— Z1, so the elements are linearly dependent.
[0142] Witness-indistinguishability string: On input gk return σ := (uι, U2- U3.) from the witness-indistinguishability setup described in Section 4. This gives us u: = {aP, O. V). u2 - (O. βV, V)- U3 - {O - V) + M-1 + I2U2) for random a,β — Z$ and t\., t.2 <— ^p- Define for notational convenience v :— (ι/.i7 τ.2).
[0143J Proof: On input gk. σ, a set of equations and a witness 1, 3? do:
1. Commit to exponents x as c* := ι'(x) + Rv for Λ < Mat^^Zp). Commit to group elements 3? as d := L(Ϋ) + Su for S — MaInX3(Zp).
2. For each pairing product equation (.4 • S'){y Vy) — W make a proof as described in section 5 using the symmetric map F.
3 φ -. R1L(B) + Rl TL(y) I S ' L(A) I SτT~ι(X) + RTrSu + J] r,//^. t=l [0144] For each linear equation y B = t? we use the asymmetric map F to get the proof ό := ST,,(B).
We remark that the reason we use the asymmetric F is that there are no matrices non- trivial H so u • Hu = 0, which simplifies the proof. Observe that φ = L(SΎ B) = SΎ L(B) and vice versa p(φ) = STB is easily computable in this special setting, since L(B1) = (Q, O, Bt). We can therefore just reveal the proof o' := p(ό) = S 1B, which is three group elements.
3. For each multi-scalar multiplication equation a y + x B + I Ty = T2 we use the symmetric map F. The proof is for random r2 *— Zp
Figure imgf000037_0003
For each linear equation y ■ b = T we use the asymmetric map F to get the proof
Figure imgf000037_0001
It suffices to reveal the value φ' = SΥb. Since ς> determines φ' uniquely, this does not compromise the perfect witness-indistinguishability we have on witness- indistinguishability strings. The verifier can compute o = L'(Φ'). The proof now includes 3 elements in Zp.
For each linear equation f - β = T we use F again to get the proof
Figure imgf000037_0002
We can use φ' = RTB as the proof, since it allows the verifier to compute ώ = ι(φ'). The proof therefore includes 2 group elements.
4. For each quadratic equation £■ b + x ■ Tx — ( in Zp we use the symmetric map F. There is one matrix H1 that generates the H so v • Hv. The proof is for random T1 <— Zp
Figure imgf000037_0004
For each linear equation x b — ( we use the asymmetric map F to get the proof φ := R1 ι'(b). It suffices to reveal just FCb, from which the verifier can compute £=t'(/?T5).
[0145] Verification: On input (gk, σ), a set of equations and a proof c, <f, {Φi}^Lι do:
1. For each pairing product equation (A~y)(y ■ ry) = tτ check that o{A) • -T+ d* Td= LT{LT) + u»φ.
For each linear equation y B = tγ check d* ι[j§) = ιτ(tτ) + u»φ.
2. For each mulli-scalar multiplication a y -\- x B + x Vy = T check that if (a) • d + c» L(B) + c • r<T= LT(T) + ύ»o.
For each linear equation y -b — T check dZi'φ) = tr(T) I ϋϊφ'.
For each linear equation x - B = T check c*ι{g) = LT{T) + c*φ.
3. For each quadratic equation x ■ b + x ■ Tx — t in Zn check that c*t'(6) I c»Tc = ι'τ(t) + v»φ.
For each linear equation x -b — t check
Theorem 9 [0146] The protocol is a NIWI proof with perfect completeness, perfect soundness and com- posable wilness-indistinguishability for satisfiability of a set of equations over a bilinear group where the DLIN problem is hard.
[0147] Perfect completeness follows from Theorem 1. Perfect soundness follows from Theorem 2 since the t o p maps are identity maps on Zp. G and Gτ- The DLIN assumption gives us that the two types of common reference strings are computationally indistinguishable. On a witness-indistinguishability string, the commitments are perfectly hiding and we get perfect witness-indistinguishability from Theorem 5. D
[0148] The module we work in is B = G3, so each element in the module includes three group elements from G. In some of the linear equations, we can compute p(φ) efficiently and we have ι(p(φ)) = φ which gives us a shorter proof. Table 5 list the cost of the different types of equations.
Figure imgf000039_0001
Table 5: Cost of each variable and equation measured in elements from G.
7 Zero-Knowledge
[0149] We will show that in many cases it is possible to make zero-knowledge proofs for satisfiability of quadratic equations. One strategy is to use the NIWI proofs directly, however, such proofs may not be zero-knowledge because the zero-knowledge simulator may not be able to compute any witness for satisfiability of the equations. However, we can often modify the set of quadratic equations into an equivalent set of quadratic equations where a witness can be found.
[0150] We consider first the case where A\ = R. /I2 — Aτ. f(r. y) = ry and where S outputs an extra piece of information r that makes it possible to trapdoor open the commit- ments in B\. More precisely, r permits the computation of s* G TZ7"' so ^1(I) = t] (0} -I- sJil. We remark that this is a common case; in bilinear groups both multi-scalar multiplication equations in C1, G2 and quadratic equations in Zn have this structure.
[0151] Define c — _i (1) to be a commitment to (b — 1. Let us rewrite the equations in the statement as
S, y + f{-φ. tτ) + χ - bi + χ ry = 0.
We have introduced a new variable φ and if we choose the variables in these modified equations to be 0 then we have a satisfying witness. In the simulation, we give the simulator trapdoor information that permits it to open c to 0 and we can now use the NWI proof from Section 6.
[01521 Setup: (gk, sk) := ((K, Au A2, AT, f), sk) ^ G(lk).
[0153] Soundness string: σ := (Bj . B2, Bτ, F, ^1. p3. L2, P2, tr- VT- ", ^) «— K{gk. sk).
[0154] Proof: This protocol is exactly the same as in the NIWI proof. The input includes gk, σ, a list of quadratic equations {(αt, 6,, Y1, U))^L1 1 and a satisfying witness x, y.
Pick at random R <— Matmxτn'{7£) and 5 ♦— MaI71x^(Tl) and commit to the variables as c := t! (x) + Ru and d := ι2{y) + Sv.
For each equation (α,. bi } F< U) make a proof as described in Section 5. In other words, pick 'J\ «— Matn<Xm'(7l) and τxl. . . . , r <— TZ and compute η π,- — R1 L2{bt) + RTTt2(y) + RTTSv - T~v + ∑ rυHiv'
J = I φt := S7H (O1) + STr"V (a;) + 7;u.
Output the proof (r. ^ {(π^. VΛ) }^ I )-
[0155] Verification: The input is r/A-. σ, {(α,, 6,. I\r Z1)J1^1 and the proof (ct ^ { (π,, £)}).
For each equation check
1 I (^i) * d + c * Lϊibi) + c * Tid — tj(fj) + u • π,- 4- u"i • v.
Output 1 if all the checks pass, else output 0.
[0156] Simulation string: (σ r) :— [{Bλ . B2 Bτ, F. i\ .pι , i2: P2- iτ PT-. « v) iή *— Si iyk. bk), where tl(l) = ., (0) ^ ^1 ^ux.
[0157] Simulated proof: The input includes gk, σ, a list of quadratic equations {(«,. JJ1 - FI. Ii))^Li an<^ a satisfying witness x. y. Rewrite the equations as a, y + x 6X + f(φ. -I1) + x • Tty = 0. Define 7 := 0, y := 0 and φ — 0 to get a witness thai satisfies the equations.
Pick at random R < MaI171x^(Ti) and 5 < MatnXn< (Ti) and commit to the the variables as C := 0 + /fu and (T:= 0 + Sv. We have c := I1(I) = I1(O) + ∑™\ 6,«,.
For each modified equation (δ,. δ,. — tf,. IV 0) make a proof as described in Section 5. Return the simulated proof {(<?, d. πt. V-^)IiI1-
Theorem 10
[0158] The. pm1nc.nl described above is a composable NIZK proof for satisfiability of pairing product equations with perfect completeness, perfect Leo-soundness and composable zero- knowledge.
[0159] Proof. Perfect completeness on a soundness string follows from the perfect completeness of the NIWI proof. The simulator knows an opening of c :— -i (l) to c — t] (0) + Y^L1 SiVn. It therefore knows a witness 0, 0, φ — 0 for satisfiability of the modified equations. It therefore outputs a proof {(c. d, πit Ψi)}$LΛ such that for i we have
ii (<?;) • d + c • tiφt) -*- F(c- -<-2(*ι)) + c • Tid — tsr{0) + v » πt + I/Λ- • v.
The commutative properties of the maps gives us F(ti{l), Li(I1)) = iτ(/(Mι)) = <>τ{U), so the proof satisfies the equation the verifier checks. Perfect completeness on a simulation string now follows from the perfect completeness of the NIWI proof as well.
[0160] Perfect Lco-soundness follows from the perfect L00 -soundness of the NIWI proof.
[0161] We will now show that on a simulation string we have perfect 2ero knowledge. The commitments c. d and c = L\ (1) are perfectly hiding and therefore have the same distribution whether we use witness x, y, ό — 1 or 0. 0: φ — 0. Theorem 3 now tells us that the proofs 7?,, Vi made with either type of opening of c, d. c are uniformly distributed over the possible choices of {{φt: ir,)}jli that satisfy the equations ti(α,) • d + c m &, + c • Td = tχ(0- ^e therefore have perfect zero-knowledge on a simulation string. D
7.1 NIZK Proofs for Bilinear Groups
[0162] Let us return to the four types of quadratic equations given in Table 1. If we set up the common reference string such that we can trapdoor open respectively L[ (1) and i'2(l) to 0 then multi-scalar multiplication equations and quadratic equations in Zn are of the form for which we can give zero-knowledge proofs (at no additional cost).
[0163] In the case of pairing product equations we do not know how to get zero- knowledge, since even with the trapdoors we may not be able to compute a satisfiability witness. We do observe though that in the special case, where tτ = 1 the choice of X = O. y = O is a satisfactory witness. Since we also use X = O. y = O in the other zero- knowledge proofs, the simulator can use this witness and give a NIWI proof. In the special case where tψ = 1 we can therefore make NIZK proofs for satisfiability of the set of pairing product equations.
[0164] Next, let us look at the case where we have a pairing product equation with tτ = πr=i e(^- Qi) f°r some known V1. Q1. In this case, we can add linear equations Zj = V1 to the set of multi- scalar multiplication equations in G\ . We already know that such equations have zero-knowledge proofs. We can now rewrite the pairing product equation as (.A y){X • B)(Z Q)(X - Ty) = 1. This is a pairing product equation of the type where we can make a zero-knowledge proof. We can therefore also make zero-knowledge proofs for a set of quadratic equations over a bilinear group if the pairing product equations have tτ of the form
IT = πr=i eCPf Qt) for some known V1- Q1.
[0165] The case of pairing product equations points to a couple of differences between witness-indistinguishable proofs and zero-knowledge proofs using the techniques herein. NIWI proofs can handle any target I1-, whereas zero-knowledge proofs can only handle special types of target tγ. Furthermore, if tγ φ 1 the size of the NIWI proof for this equation is constant, whereas the NIZK proof for the same equation may be larger.
8 Application Embodiments
8.1 Fair Key Exchange
[0166] Suppose two parties want to exchange a pair of keys. However, neither party wants to give away his key without having assurance that the other party will give him a key in return. In the standalone setting, there is no fair protocol to implement this objective, since either party may abort the protocol after learning his output. If we introduce a trusted party, the problem is of course easily solved, the parties can hand their keys to the trusted party that then gives each party the desired key.
[0167] In one embodiment, each party encrypts the key under the public key of a trusted party. Now both parties exchange their keys. If either party aborts, the other party can call on the trusted party to get his key, however, if both parties act honestly there will be no need to call upon the trusted party. This way. we reduce the burden on the honest party that is only invoked in case of protocol breaches.
[0168] Verifiable encryption can be used to solve this problem. In addition to encrypting the key, we also make a proof that we have encrypted a proper key. Of course this proof should not reveal the nature of the key we are encrypting.
[0169] Given witness indistinguishable proofs, it is straightforward to construct NIZK proofs. We can therefore use an NIZK proof to prove that we have encrypted a proper key. This NIZK proof suffices for our purpose, since it guarantees the correctness of the encryption, yet reveals nothing else. The present techniques makes these NIZK proofs efficient enough to be practical, when we set up the cryptosystem in groups with bilinear maps. We therefore get a satisfactory solution to the fair key exchange problem.
8.2 Verifiable Encryption
In one embodiment, the NIZK proof system is used to provide verifiable encryption. Figure 1 shows a first computer 101, a second computer 102 provided to a computer network 103 for exchanging encrypted data, and, optionally, a third party computer 105. One of ordinary skill in the art will recognize that one or more of the computers 101 , 102, and 105 can be combined to provide the functionality shown in Figure 1. A message is encrypted in the computer 101 and sent to the second computer 103 where it can be decrypted and displayed or the second computer 103 can use techniques as describe herein to use an NlZK proof of membership for one or more aspects of the encrypted message without decrypting (or even being able to decrypt) the message. In one embodiment, a third computer (not shown) is provided as a third party that uses a proof of membership algorithm to verify one or more aspects of the encrypted message without decrypting the message. This allows two parties to exchange information while using a third party to verify one or more aspects of the message without revealing the contents of the message to the third party. Thus the NIZK proof allows two parties to communicate through a third party (e.g., an escrow party) who verifies aspects of the message and/or escrows the messages. This permits encryption of a message X and construction of an NIZK proof that X satisfies a certain equation. For the purpose of this example I have chosen the equation e(X, Q + rnV) = e(V- V). This equation has practical value, such an X is a Boneh-Boyen signature on m (with public verification key Q). So it is a verifiable encryption of a signature on m. Those skilled in the art can extend the verifiable encryption scheme to encrypt multiple messages and prove that they simultaneously satisfy multiple equations. Figure 2 is a flow diagram of key generation in a system for verifiable encryption. Figure 3 is a flow diagram of encryption in the system of Figure 2. Figure 4 is a flow diagram of generation of a verification proof of membership in the system of Figure 2. Figure 5 is a flow diagram of decryption in the system of Figure 2.
8.3 Verifiable encryption based on the DLIN embodiment
[0170] Verifiable encryption includes key generation, encryption, and verification.
• Key generation: Generate bilinear group <jk = (μ, C, Gγ, e. V) <— Q{Ϋ). Pick a soud- ness reference string for the NfWI proof σ = (u-j . U2- U^) (G G3x 3). Pick at random a. b ^- Z* and set A = aV and B - bV.
The public key is pk — (gk, σ. A, B). The secret decryption key is sk = (a. b).
• Encryption: To encrypt a message X pick at random r, s <— Zp and let the ciphertext be c = [U, V, W) = [rA. sB. X + (r + s)V).
• Verification proof: To prove that the ciphertext c = (U, V, VV) contains X satisfying e(X, Q + rnP) = e{V. V) we need to prove
3r. s, ^ : W = d Λ V = sδ Λ W = X + (r + s)V A e{X., Q + mV) = e(V., V).
Since we need an NlZK proof, we start by rewriting the equations as described in section
7:
Figure imgf000044_0001
Observe, φ = \ and r. s. X chosen as in the encryption phase gives a satisfying witness for the statement (provided we have indeed encrypted a Boneh-Boyen signature X).
[0171] As in Section 7, by choosing a simulation reference string, we can typically open φ to both 0 and 1. This means we can choose r = 0, 5 = 0, X = V., W = O, V = O, W = V1 Q! = V such that all equations are satisfied. This in turn means we can make a ZK simulation of the proof, without knowing how the ciphertext c was generated.)
[0172] We now give an NIWI proof π as described in Section 6 for all the equations above being simultaneously satisfiable.
• Verifying ciphertext and proof: Write out the equations as described above and verify the NIWI proof π.
• Decryption: To decrypt c — {U, V, W) using the secret decryption key (a. b) compute X = W - a~xU - b~lV.
8.4 Mix-nets
[0173] Figure 6 shows a mix-net system wherein a plurality of senders 601 and a plurality of mix-net servers 602 are provided to a network 604. A mix-net takes a set of messages from one or more senders 601 as input and publishes them in random order (e.g., to one or more receivers 603. At the recievers 603, the message can be decrypted and displayed. The sender of each message is thus hidden among all the other senders, so it provides some degree of anonymity. Mix-nets are for instance used in internet- voting protocols, anonymous broadcast protocols, etc. The goal for the parties is to publish a message without revealing the sender. One place where this is useful is in internet-voting protocols, where voters anonymously publish their votes.
[0174] A standard way of constructing mix-nets is to use a homomorphic cryptosystem, since such ciphertexts can be rerandomized. The senders encrypt their intended message and send them to the mix-net. The mix-servers one by one take the encrypted messages, permute them and rerandomize them. After they have all rerandomized and permuted the ciphertexts, they use threshold decryption to get out the ciphertext. Provided just one server is honest, the ciphertexts get permuted completely and thus loose their link to the sender. This is what gives us anonymity. It is of course important that the decryption keys are shared between the servers, such that no single server can decrypt the incoming or intermediate ciphertexts.
[0175] The construction described here works well as long as the servers are honest but curious. However, it is easy to imagine a setting where a server might wish to replace messages with other messages, for instance votes for a particular candidate. To guard against this, it has been suggested to provide a proof of correctness of the shuffle, i.e., the permutation and rerandomization of the ciphertexts. Such a proof would guarantee that no messages are replaced. However, it is of course important that this proof keeps the permutation secret.
[0176] Research in this area has resulted in a number of interactive proofs for correctness of a shuffle that hide the permutation. To minimize server interaction, it is desirable to reduce the round complexity and several 3-move schemes have been suggested.
[0177] Some use a permutation network based approach for proving the correctness of a shuffle. The idea is to write the permutation as n log n potential transpositions. For each transposition, we may choose to transpose the ciphertexts or choose not to transpose them, thus giving us the potential of selecting all of the n\ possible permutations. By publishing the intermediate ciphertexts in this network and by making a proof for each potential transposition that we have transposed them or not, it is straightforward to build an interactive zero-knowledge proof for the correctness of the shuffle.
[0178] The witness-indistinguishable proofs in the present disclosure will give us the first non-interactive shuffle proof. We first describe our setup. We need a homomorphic cryptosystem, for instance the one based on the DLIN problem, i.e., we encrypt m G G as [P ' ■, hS; gr+*m). This cryptosystem is obviously, semantically secure and homomorphic and it is easy to set up a threshold decryption structure for it. The mix-servers will in addition also publish (u, v, w). We will now encrypt as (/7V. Zi1V. gr+bwim), lfu = fx, v = hy. w ~ gx+y this is fine, we just get a slightly more complicated way of encrypting m. However, if we set it up with u = fx, v — hy. w = gz for z φ x + y, then we have a perfectly hiding commitment scheme instead.
[0179] We can now make Abe's shuffle proof non-interactive as follows. We compute all the intermediate ciphertexts in the network. For each potential transposition, we now make a WI proof that either we transposed the ciphertext or we kept them in place, i.e., in either case we did not introduce new messages into the shuffle. In the perfect binding case, i.e., when u = fx. v = hy. w = gx+v we can set up the proof with perfect soundness. This means we have a non-interactive proof that the shuffle is correct. On the other hand, we may compare with using u = fx . v = hy . w = gz in which case we have perfectly binding commitments. In this case, there are many possible witnesses and we can set up our proofs so they are perfectly witness indistinguishable. We can therefore argue that the permutation is computationally hidden because the cryptosystem setup that we use in the mix-net is computationally indistinguishable from the perfect hiding setup, where we do not reveal the permutation. [0180] The mix-net is run by a set of mix-servers M1, . . . . M^. Each sender encrypts his message (for privacy) and sends it to the mix-net. We will now describe what the mix- servers do with the ciphertexts. The first mix-server Mj permutes and re-randomizes the ciphertexts. It also provides an NlZK proof for having permuted and re-randomized correctly (otherwise it would be able to replace some ciphertexts and thus alter the messages). The second mix-server M2 permutes and re-randomizes the output from M2- It also provides an NIZK proof for having done this correctly. The mix-servers continue like this until all of them have permuted and re-randomized the ciphertexts. If at least one of the mix-servers is honest the messages have now been permuted and re-randomized so it is impossible to trace them back to the senders. The mix-servers now cooperate to decrypt.
[0181] A mix-net showing permutations of the messages in rows 1 ,...N. (The messages are encrypted, so outsiders do not actually see these permutations).
Input : 1 2 3 4 5 6
Ml out: 6 3 4 2 3 5
M2 out: 2 4 5 1 6 3
[0182] Each mix-server permutes and re-randomizes all the ciphertexts that the previous mix-server outputs. It must prove that this has been done correctly. This can be done by creating a permutation network of log N layers. In each layer, we have N /2 pairs of cipher- texts, which can either pass on to the next layer after re-randomization or be swapped and re-randomized. (Any permutation of J¥ elements can be built from N log N swaps/not swaps)
A permutation of N elements built from swaps/non-swaps of pairs of messages. E.g.
Layer 1 : 1 2 3 4 5 6
Layer 2: 2 1 4 3 5 6 swapping/non-swapping neighbours
Layer 3: 3 6 4 2 5 1 swapping/non-swapping 3 spaces apart
Layer 4: 6 3 4 2 1 5 swapping/non-swapping neighbours
The key operation is therefore an NIZK proof of having swapped or not swapped two ciphertexts.
[0183] Figure 7 is a flow diagram of key generation in the system of Figure 6. Figure 8 is a flow diagram of encryption in the system of Figure 6. Figure 9 is a flow diagram of re-randomization in the system of Figure 6. Figure 10 is a flow diagram of an NIZK proof of membership in the system of Figure 6. 8.5 Encryption with swap/non-swap NIZK proofs based on SXDH embodiment
[0184] Encryption with swap/non-swap NIZK proofs includes key generation, encryption, etc.
Key generation: Generate a group gk = ((n, GΛ.G2. Gτ. e. P1. P?)) *— £0 fe)- Generate a soundness reference string a as described in Section 6. Generate an encryption key by selecting at random a «- Zp and setting A - aVx. The public key is (gk, σ. A) and the secret decryption key is a.
Encryption: To encrypt a message Λf eG'i pick at random r ♦— Zp and let the ciphertext be (U,V) = (rVuX + rA).
Re-randomization: To re-randomize a cipcrtext (U, V) pick at random s <— Zp and set
(W .V) = (U + sVuV I s A).
NIZK swap proof: Given input ciphertexts (Ui : Vj) and (W2-V2) and output ciphertext (W1. V{), (V2. V2 1) we want to make an NIZK proof for them being swapped or not swapped
3r, 5.
U1 - Uλ + r^ Λ V1' .= Vi + rΛ Λ V2 = U7 + r'Pj Λ V2' - V2 + rA ORU[ = U2 I SP1 Λ V/ = Vj + sA A U2 = U1 + rVx Λ V2 = V2 + rA.
As in Section 7 we do this by rewriting the equations as
3φ.r.s : φ(<p -I)-O
φ(U[ -Ux- rVi) -O A <pτ(V, - V1 - rA) = O A <p(V2 -U2-rP:) = O A φ(V2' V2 - rA) - 1
and (1 - φ)(U[ -U2- sPi) = O Λ (1 - O)(V1' -V2- sA) -O A(\-φ)(W2 U1 J-P1) = O A (1 - φ)(V2 -V2- rA) = O. We then give an NIWI proof (π, φ) as in Section 6 for these equations being simultaneously satisfiable.
Verifying swap proof: Verify the NIWI proof {π, ib) for the equations above. Decryption: To decrypt (U, V) compute X = V - nU.
8.6 Blind Signatures
[0185] In blind signatures, there is a signing server and a set of users. The users should be able to obtain signatures on messages of their choice from the signing server. At the same time, the signing server should not learn, which message it is signing. Blind signatures has application in e-cash and anonymous credentials.
[0186] It is straightforward to construct a blind signature scheme using the present witness-indistinguishable techniques. The server will have a verification key for a signature scheme as well as a public key for a commitment scheme. There will be two types of keys for the commitment scheme, one being such that a secret decryption key can be used to extract messages. The other type of public key will give a perfectly hiding commitment. The blind signature protocol now works as follows. The user commits to his message and send it to the signing server. The signing server signs this message. The user can now take his message and create a WI proof for having a commitment to a pair of a commitment to the message and a signature on this message. Since the commitment is perfectly hiding and the WI proof perfectly witness-indistinguishable, there is no way to link the message and the original input to the server.
8.7 Ring Signatures
[0187] In ring signatures, we have a bunch of public verification keys for various users. We want to make a signature such that we know one of the users have signed, yet we do not want to reveal which user signed the message. This could for instance be useful in whistleblower-cases for instance, enabling employees of a company to anonymously identify themselves as being from the particular company and testify to malpractice, yet remain anonymous. The central idea in this protocol is that the signer makes a witness-indistinguishable proof of knowledge that he knows the signature on the message under one of the keys, yet does not reveal which of the verification keys the signature correspond to. [0188] The above disclosure shows the construction of efficient non-interactive cryptographic proofs for use in bilinear groups. These proofs can be instantiated with many different types of bilinear groups and the security of the proofs can be based on many different types of intractability assumptions, of which we have given various example embodiments and applications. One of ordinary skill in the art will recognize that other embodiments will be apparent from the disclosure. For example, the embodiments shown are based on the modules on bilinear groups. One of ordinary skill in the art will recognize that these techniques do not require the modules to be cyclic as is the case for bilinear groups. Other types of modules with a bilinear map exist, which are not constructed from bilinear groups.
[0189] While the present disclosure has been described in connection with various embodiments , it is understood that similar aspects may be used or modifications and additions may be made to the described aspects of the disclosed embodiments for performing the same function of the present disclosure without deviating therefrom. Therefore, the present disclosure should not be limited to any single aspect, but rather construed in breadth and scope in accordance with the appended claims.
References
[BarO6] Paulo Barreto. The pairing-based crypto lounge. 2006. Available at http : //paginas .terra . com.br/informatica/paulobarreto/pblounge
[BBS04] Dan Boneh, Xavier Boyen, and Hovav Shacham. Short group signatures. In proceedings of CRYPTO '04, LNCS series, volume 3152, pages 41-55, 2004.
[BCOP04] Dan Boneh, Giovanni Di Crescenzo, Rafail Ostrovsky, and Giuseppe Persiano. Public key encryption with keyword search. In proceedings of EUROCRYPT '04, LNCS series, volume 3027, pages 506-522, 2004.
[BF03] Dan Boneh and Matthew K. Franklin. Identity-based encryption from the Weil pairing. SlAM Journal of Computing, 32(3):586-615, 2003.
[BGdMM05] Lucas Ballard, Matthew Green, Breno de Medeiros. and Fabian Mon- rose. Correlation-resistant storage via keyword-searchable encryption. Cryptology ePrint Archive, Report 2005/417, 2005. Available at http : / /eprint . iacr . org/2005 / 417. [BGN05] Dan Boneh, Eu-Jin Goh, and Kobbi Nissim. Evaluating 2-DNF formulas on ciphertexts. In proceedings of TCC '05, LNCS series, volume 3378, pages 325-341, 2005.
[BSW06] Dan Boneh, Amit Sahai, and Brent Waters. Fully collusion resistant traitor tracing with short ciphertexts and private keys. In proceedings of EUROCRYPT '06, LNCS series, volume 4004, pages 573-592, 2006.
[BW06] Xavier Boyen and Brent Waters. Compact group signatures without random oracles. In proceedings of EUROCRYPT '06, LNCS series, volume 4004, pages 427^44, 2006.
[DBS04] Ratna Dutta, Rana Barua, and Palash Sarkar. Pairing-based cryptographic protocols : A survey. Cryptology ePrint Archive, Report 2004/064, 2004. http : //eprint . iacr . org/.
[GL07] Jens Groth and Steve Lu. A non-interactive shuffle with pairing based verify ability. In proceedings of ASlACRYPT '07, LNCS series, volume 4833, pages 51-67, 2007.
[GPSW06] Vipul Goyal, Omkant Pandey, Amit Sahai, and Brent Waters. Attribute-based encryption for fine-grained access control of encrypted data. In ACM CCS '06, pages 89-98, 2006.
[GR04] Steven D. Galbraith and Victor Rotger. Easy decision Diffie-Hellman groups.
London Mathematical Society Journal of Computation and Mathematics, 7:201-218, 2004.
[Gro06] Jens Groth. Simulation-sound nizk proofs for a practical language and constant size group signatures. In proceedings of
ASlACRYPT '06, LNCS series, 2006. Full paper available at http: //www. brics . dk/~jg/NIZKGroupSignFull .pdf.
[Gro07J Jens Groth. Fully anonymous group signatures without random oracles. In proceedings of ASlACRYPT '06, LNCS series, 2007. Full paper available at http : / /www . brics . dk/~jg/NIZKGroupSignFull . pdf. [Sco02] Mike Scott. Authenticated ID-based key exchange and remote log-in with simple token and PIN number. Cryptology ePrint Archive, Report 2002/364, 2002. Available at http : //eprint . iacr . org/2002/164.
[SW05] Amit Sahai and Brent Waters. Fuzzy identity -based encryption. In proceedings of EUROCRYPT '05, LNCS series, volume 3494, pages 457^t73, 2005.
[VerO4] Eric R. Verheul. Evidence that XTR is more secure than supersingular elliptic curve cryptosystems. Journal of Cryptology, 17{4):277-296, 2004.
[WatO5J Brent Waters. Efficient identity-based encryption without random oracles. In proceedings of EUROCRYPT '05, LNCS series, volume 3494, pages 114-127, 2005.
[WatOό] Brent Waters. New techniques for slightly 2-homomorphic encryption, 2006.
Manuscript.
A Quick Reference to Notation
Bilinear groups.
Gi , Gi. GT'. cyclic groups with bilinear map e Gi X (?2 — • Gγ. "P\.V2- generators of respectively G1 and G2- Group order: prime order p or composite order n.
Modules with bilinear map.
H: finite commutative ring (TZ, +, .0.1). /I1 , Λ-2, Aτ, Bλ . B2, B1-: /^-modules. /. F: bilinear maps /I1 x A2 -→ AT and F : S1 x B2 → Br. n x-y'-∑ffa-yi)
1=1 J-I
Properties that follows from bilinearity:
X-My = M1 x y . £• My = MΎX* y.
Commutative diagram of maps in setup.
Ax x Ai → AT f
«•1 IT Pl >-2 IT P2 LT IT Pr
B1 x B7 → B7- F Commutative properties:
F(Φ)-t2(y))^tτ(f{χ,v)) , /(PiW-W(X)) =Pr(7;'(a;.»)).
Equations.
(Secret) variables: i 6 Λψ. y 6 AV?. (Public) constants: a G A^, b € Aψ, F € Mat,,, ,r,(re).iG/iT. Equations: α y + x b ; x Ty = t. Commitments.
Commitment keys:
Figure imgf000054_0001
Commitments:
Figure imgf000054_0002
NIWI proofs.
Additional setup information:
Figure imgf000054_0003
i , , j Randomness in proofs:
Figure imgf000054_0004
Proofs:
Figure imgf000054_0005
Verification:
Figure imgf000054_0006

Claims

WHAT IS CLAIMED IS:
1. A method for verification of encrypted data, comprising: encrypting data using an encryption algorithm related to groups with a bilinear map to produce encrypted data; and using a witness-independent algorithm to verify said data.
2. The method of Claim 1, further comprising sending said encrypted data as part of a key exchange.
3. The method of Claim 1, further comprising sending said encrypted data as part of a non-interactive shuffle.
4. An apparatus for verification of encrypted data, comprising: a computer memory provided to a computer processor; and a program loaded into said computer memory, said program configured to verify encrypted data using a witness-independent algorithm and according to selected groups with a bilinear map, wherein said witness-independent algorithm uses commitments of variables from said bilinear map to verify said encrypted data.
5. A method for generating a proof of membership, the method comprising: receiving a common reference string comprising a group order, a description of a first group having the group order, a description of a second group having the group order, a description of a bilinear map from the first group to the second group, a first generator of the first group, and a second generator of a proper nontrivial subgroup of the first group: receiving a message from a first computing entity; identifying a ciphertext encrypting the message; determining a proof value comprising a triple of values from the first group, said triple of values generated using a unit from the group of integers modulo the group order, the first generator, the second generator, the message, and the secret integer value: and communicating the proof value to a second computing entity.
6. The method as recited in Claim 5, wherein identifying a ciphertext comprises receiving the ciphertext from the first computing entity.
7. The method as recited in Claim 5, wherein identifying a ciphertext comprises computing the ciphertext using at least the first generator, the message, the second generator, and a secret integer value.
8. A proof system comprising: a common reference string computed from a group order, a description of a first group having the group order, a description of a second group having the group order, a description of a bilinear map from the first group to the second group, a first generator of the first group, wherein said common reference string is computed from commitments of variables mapped by said bilinear map; a message, said message having been generated by a first computing entity; a ciphertext representing an encryption of the message, said ciphertext having been generated using elements of the common reference string and a secret integer value; a proof value comprising a plurality of values from the first group, said plurality of values generated using a unit from the group of integers modulo the group order, the first generator, the second generator, the message, and the secret integer value; and a communications module for communicating the proof value to a second computing entity.
9. The system of claim 8 wherein the plurality is a triple.
10. The system of Claim 8, further comprising: a verifier configured to receive the common reference key, the ciphertext, and the proof value and to verify that relationships hold when the bilinear map is applied to selected elements of the common reference key, the ciphertext, and the proof value.
1 1. A method of verifying a proof, the method comprising: receiving a common reference key comprising a group order, a description of a first group having the group order, a description of a second group having the group order, a description of a bilinear map from the first group to the second group, a first generator of the firs! group, and a second generator of a proper subgroup of the first group; receiving a ciphertext encrypting a message; receiving a proof value, said proof value comprising a triple of values from the first group: using the bilinear map, the first generator, the second generator, the ciphertext, and the proof value to determine whether the ciphertext encrypts a value from a set of values; and generating a signal representative of the determination.
12. A method for generating a proof, the method comprising: receiving a common reference string computed at least in part from, a description of a first group, said first group comprising a DLIN group, a description of a second group having the group order, a description of a bilinear map from the first group to the second group, a plurality of generators of the first group, and a first plurality of values from the first group, wherein the first plurality of values from the first group have a relationship to the plurality of generators; receiving a message from a first computing entity; identifying a ciphertext encrypting the message and comprising a second plurality of values from the first group, the values of the second plurality of values from the first group determined at least in part by a relationship of the plurality generators; determining a proof value comprising a matrix of values from the first group, said matrix of values computed at least in part from commitments to variables in said relationship and from a satisfying witness to said relationship; and communicating the proof value to a second computing entity.
13. The method as recited in Claim 12, wherein identifying a ciphertext comprises receiving the ciphertext from the first computing entity.
14. The method as recited in Claim 12, wherein identifying a ciphertext comprises computing the ciphertext.
15. A system for generating a proof, the system comprising: a common reference string comprising a prime group order p, a description of a first group as an SXDH group, a description of a second group, a description of a bilinear map from the first group to the second group, a plurality of generators of the first group, and a first plurality of values from the first group; a message received from a first computing entity; a ciphertext encrypting the message and satisfying at least one first equation; a proof value computed from proof equations, wherein coefficients for said proof equations are computed at least in part form commitments to said first equation; and a communications module for communicating the proof value to a second computing entity.
PCT/US2007/085018 2006-11-17 2007-11-16 Efficient non-interactive proof systems for bilinear groups WO2008127428A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US85987506P 2006-11-17 2006-11-17
US60/859,875 2006-11-17

Publications (2)

Publication Number Publication Date
WO2008127428A2 true WO2008127428A2 (en) 2008-10-23
WO2008127428A3 WO2008127428A3 (en) 2008-12-24

Family

ID=39864548

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/085018 WO2008127428A2 (en) 2006-11-17 2007-11-16 Efficient non-interactive proof systems for bilinear groups

Country Status (1)

Country Link
WO (1) WO2008127428A2 (en)

Cited By (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012154977A (en) * 2011-01-21 2012-08-16 Nippon Telegr & Teleph Corp <Ntt> Time-limited encryption system using functional encryption, time-limited encryption method, apparatus and program
WO2012147001A1 (en) * 2011-04-29 2012-11-01 International Business Machines Corporation Data encryption
JP2014150494A (en) * 2013-02-04 2014-08-21 Nippon Telegr & Teleph Corp <Ntt> Commitment system, common reference string generation apparatus, commitment generation apparatus, commitment reception apparatus, commitment method and program
JP2016092639A (en) * 2014-11-06 2016-05-23 日本電信電話株式会社 Signature/verification system, signature device, verification device, signature/verification method, and program
US9794074B2 (en) 2016-02-04 2017-10-17 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using distributed computing systems
US9892460B1 (en) 2013-06-28 2018-02-13 Winklevoss Ip, Llc Systems, methods, and program products for operating exchange traded products holding digital math-based assets
US10068228B1 (en) 2013-06-28 2018-09-04 Winklevoss Ip, Llc Systems and methods for storing digital math-based assets using a secure portal
US10097356B2 (en) 2015-07-02 2018-10-09 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US10108812B2 (en) 2016-01-28 2018-10-23 Nasdaq, Inc. Systems and methods for securing and disseminating time sensitive information using a blockchain
US10269009B1 (en) 2013-06-28 2019-04-23 Winklevoss Ip, Llc Systems, methods, and program products for a digital math-based asset exchange
US10354325B1 (en) 2013-06-28 2019-07-16 Winklevoss Ip, Llc Computer-generated graphical user interface
US10373129B1 (en) 2018-03-05 2019-08-06 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US10373158B1 (en) 2018-02-12 2019-08-06 Winklevoss Ip, Llc System, method and program product for modifying a supply of stable value digital asset tokens
US10426424B2 (en) 2017-11-21 2019-10-01 General Electric Company System and method for generating and performing imaging protocol simulations
US10438290B1 (en) 2018-03-05 2019-10-08 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US10484376B1 (en) 2015-01-26 2019-11-19 Winklevoss Ip, Llc Authenticating a user device associated with a user to communicate via a wireless network in a secure web-based environment
US10540654B1 (en) 2018-02-12 2020-01-21 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US10693632B1 (en) 2015-03-16 2020-06-23 Winklevoss Ip, Llc Autonomous devices
CN111656728A (en) * 2017-11-23 2020-09-11 华为技术有限公司 Device, system and method for secure data communication
US10915891B1 (en) 2015-03-16 2021-02-09 Winklevoss Ip, Llc Autonomous devices
US10929842B1 (en) 2018-03-05 2021-02-23 Winklevoss Ip, Llc System, method and program product for depositing and withdrawing stable value digital assets in exchange for fiat
US11139955B1 (en) 2018-02-12 2021-10-05 Winklevoss Ip, Llc Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
CN113507366A (en) * 2021-05-21 2021-10-15 北方工业大学 Grid-based searchable log blind signature scheme
US11200564B2 (en) 2015-03-31 2021-12-14 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US11200569B1 (en) 2018-02-12 2021-12-14 Winklevoss Ip, Llc System, method and program product for making payments using fiat-backed digital assets
US11282139B1 (en) 2013-06-28 2022-03-22 Gemini Ip, Llc Systems, methods, and program products for verifying digital assets held in a custodial digital asset wallet
US11308487B1 (en) 2018-02-12 2022-04-19 Gemini Ip, Llc System, method and program product for obtaining digital assets
US11334883B1 (en) 2018-03-05 2022-05-17 Gemini Ip, Llc Systems, methods, and program products for modifying the supply, depositing, holding and/or distributing collateral as a stable value token in the form of digital assets
US11475442B1 (en) 2018-02-12 2022-10-18 Gemini Ip, Llc System, method and program product for modifying a supply of stable value digital asset tokens
US11501370B1 (en) 2019-06-17 2022-11-15 Gemini Ip, Llc Systems, methods, and program products for non-custodial trading of digital assets on a digital asset exchange
US11522700B1 (en) 2018-02-12 2022-12-06 Gemini Ip, Llc Systems, methods, and program products for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
DE102021006430A1 (en) 2021-12-31 2023-07-06 Kcrypt Lab UG (haftungsbeschränkt) Method for generating distributed one-way trapdoor permutations by additive sharing without a trusted vendor
US11909860B1 (en) 2018-02-12 2024-02-20 Gemini Ip, Llc Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
US12093942B1 (en) 2019-02-22 2024-09-17 Gemini Ip, Llc Systems, methods, and program products for modifying the supply, depositing, holding, and/or distributing collateral as a stable value token in the form of digital assets

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050135610A1 (en) * 2003-11-01 2005-06-23 Liqun Chen Identifier-based signcryption
US20060129545A1 (en) * 2004-12-09 2006-06-15 Philippe Golle System and method for performing a conjunctive keyword search over encrypted data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050135610A1 (en) * 2003-11-01 2005-06-23 Liqun Chen Identifier-based signcryption
US20060129545A1 (en) * 2004-12-09 2006-06-15 Philippe Golle System and method for performing a conjunctive keyword search over encrypted data

Cited By (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012154977A (en) * 2011-01-21 2012-08-16 Nippon Telegr & Teleph Corp <Ntt> Time-limited encryption system using functional encryption, time-limited encryption method, apparatus and program
WO2012147001A1 (en) * 2011-04-29 2012-11-01 International Business Machines Corporation Data encryption
GB2500557A (en) * 2011-04-29 2013-09-25 Ibm Data encryption
DE112012000971B4 (en) * 2011-04-29 2014-06-26 International Business Machines Corp. data encryption
JP2014515125A (en) * 2011-04-29 2014-06-26 インターナショナル・ビジネス・マシーンズ・コーポレーション Method, computer program, and apparatus for data encryption
GB2500557B (en) * 2011-04-29 2015-02-25 Ibm Data encryption
US9544144B2 (en) 2011-04-29 2017-01-10 International Business Machines Corporation Data encryption
JP2014150494A (en) * 2013-02-04 2014-08-21 Nippon Telegr & Teleph Corp <Ntt> Commitment system, common reference string generation apparatus, commitment generation apparatus, commitment reception apparatus, commitment method and program
US10984470B1 (en) 2013-06-28 2021-04-20 Winklevoss Ip, Llc Systems for redeeming shares in an entity holding digital math-based assets
US11580532B1 (en) 2013-06-28 2023-02-14 Gemini Ip, Llc Systems, methods, and program products for a digital math-based asset exchange
US9965804B1 (en) 2013-06-28 2018-05-08 Winklevoss Ip, Llc Systems, methods, and program products for operating exchange traded products holding digital math-based assets
US9965805B1 (en) 2013-06-28 2018-05-08 Winklevoss Ip, Llc Systems, methods, and program products for operating exchange traded products holding digital math-based assets
US10002389B1 (en) 2013-06-28 2018-06-19 Winklevoss Ip, Llc Systems, methods, and program products for an application programming interface generating a blended digital math-based assets index
US10068228B1 (en) 2013-06-28 2018-09-04 Winklevoss Ip, Llc Systems and methods for storing digital math-based assets using a secure portal
US9892460B1 (en) 2013-06-28 2018-02-13 Winklevoss Ip, Llc Systems, methods, and program products for operating exchange traded products holding digital math-based assets
US11423482B1 (en) 2013-06-28 2022-08-23 Gemini Ip, Llc Systems, methods, and program products for an application programming interface generating a blended digital math-based assets index
US10984472B1 (en) 2013-06-28 2021-04-20 Winklevoss Ip, Llc Systems, methods, and program products for an application programming interface generating a blended digital math-based assets index
US11017381B1 (en) 2013-06-28 2021-05-25 Winklevoss Ip, Llc Systems, methods, and program products for a digital math-based asset exchange
US10255635B1 (en) 2013-06-28 2019-04-09 Winklevoss Ip, Llc Systems, methods, and program products for an application programming interface generating a blended digital math-based assets index
US10269009B1 (en) 2013-06-28 2019-04-23 Winklevoss Ip, Llc Systems, methods, and program products for a digital math-based asset exchange
US10325257B1 (en) 2013-06-28 2019-06-18 Winklevoss Ip, Llc Systems and methods for storing digital math-based assets using a secure portal
US10354325B1 (en) 2013-06-28 2019-07-16 Winklevoss Ip, Llc Computer-generated graphical user interface
US9898782B1 (en) 2013-06-28 2018-02-20 Winklevoss Ip, Llc Systems, methods, and program products for operating exchange traded products holding digital math-based assets
US11282139B1 (en) 2013-06-28 2022-03-22 Gemini Ip, Llc Systems, methods, and program products for verifying digital assets held in a custodial digital asset wallet
US11995720B1 (en) 2013-06-28 2024-05-28 Gemini Ip, Llc Systems for purchasing shares in an entity holding digital math-based assets
US10929929B1 (en) 2013-06-28 2021-02-23 Winklevoss Ip, Llc Systems for purchasing shares in an entity holding digital math-based assets
US11087313B1 (en) 2013-06-28 2021-08-10 Winklevoss Ip, Llc Systems, methods, and program products for a digital math-based asset exchange
US11615404B1 (en) 2013-06-28 2023-03-28 Gemini Ip, Llc Systems, methods, and program products for a digital math-based asset exchange
US11568398B1 (en) 2013-06-28 2023-01-31 Gemini Ip, Llc Systems and methods for storing digital math-based assets using a secure portal
US11928732B1 (en) 2013-06-28 2024-03-12 Gemini Ip, Llc Computer-generated graphical user interface
US10650376B1 (en) 2013-06-28 2020-05-12 Winklevoss Ip, Llc Systems and methods for storing digital math-based assets using a secure portal
US11783417B1 (en) 2013-06-28 2023-10-10 Gemini Ip, Llc Systems for redeeming shares in an entity holding digital math-based assets
US11164251B1 (en) 2013-06-28 2021-11-02 Winklevoss Ip, Llc Computer-generated graphical user interface
JP2016092639A (en) * 2014-11-06 2016-05-23 日本電信電話株式会社 Signature/verification system, signature device, verification device, signature/verification method, and program
US10484376B1 (en) 2015-01-26 2019-11-19 Winklevoss Ip, Llc Authenticating a user device associated with a user to communicate via a wireless network in a secure web-based environment
US10778682B1 (en) 2015-01-26 2020-09-15 Winklevoss Ip, Llc Authenticating a user device associated with a user to communicate via a wireless network in a secure web-based environment
US11283797B2 (en) 2015-01-26 2022-03-22 Gemini Ip, Llc Authenticating a user device associated with a user to communicate via a wireless network in a secure web-based environment
US10693632B1 (en) 2015-03-16 2020-06-23 Winklevoss Ip, Llc Autonomous devices
US10915891B1 (en) 2015-03-16 2021-02-09 Winklevoss Ip, Llc Autonomous devices
US11783323B1 (en) 2015-03-16 2023-10-10 Gemini Ip, Llc Autonomous devices
US11362814B1 (en) 2015-03-16 2022-06-14 Gemini Ip, Llc Autonomous devices
US11734675B2 (en) 2015-03-31 2023-08-22 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US11200564B2 (en) 2015-03-31 2021-12-14 Nasdaq, Inc. Systems and methods of blockchain transaction recordation
US10630485B2 (en) 2015-07-02 2020-04-21 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US11522716B2 (en) 2015-07-02 2022-12-06 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US10097356B2 (en) 2015-07-02 2018-10-09 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US11792017B2 (en) 2015-07-02 2023-10-17 Nasdaq, Inc. Systems and methods of secure provenance for distributed transaction databases
US10108812B2 (en) 2016-01-28 2018-10-23 Nasdaq, Inc. Systems and methods for securing and disseminating time sensitive information using a blockchain
US10579819B2 (en) 2016-01-28 2020-03-03 Nasdaq Inc. Systems and methods for securing and disseminating time sensitive information using a blockchain
US11188673B2 (en) 2016-01-28 2021-11-30 Nasdaq, Inc. Systems and methods for securing and disseminating time sensitive information using a blockchain
US11704429B2 (en) 2016-01-28 2023-07-18 Nasdaq, Inc. Systems and methods for securing and disseminating time sensitive information using a blockchain
US11695578B2 (en) 2016-02-04 2023-07-04 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using distributed computer systems
US10541821B2 (en) 2016-02-04 2020-01-21 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using distributed computing systems
US12081681B2 (en) 2016-02-04 2024-09-03 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using distributed computer systems
US10084607B2 (en) 2016-02-04 2018-09-25 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using distributed computing systems
US11095462B2 (en) 2016-02-04 2021-08-17 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using distributed computer systems
US9794074B2 (en) 2016-02-04 2017-10-17 Nasdaq Technology Ab Systems and methods for storing and sharing transactional data using distributed computing systems
US10426424B2 (en) 2017-11-21 2019-10-01 General Electric Company System and method for generating and performing imaging protocol simulations
CN111656728A (en) * 2017-11-23 2020-09-11 华为技术有限公司 Device, system and method for secure data communication
CN111656728B (en) * 2017-11-23 2022-06-28 华为技术有限公司 Device, system and method for secure data communication
US11522700B1 (en) 2018-02-12 2022-12-06 Gemini Ip, Llc Systems, methods, and program products for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
US10540654B1 (en) 2018-02-12 2020-01-21 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US11475442B1 (en) 2018-02-12 2022-10-18 Gemini Ip, Llc System, method and program product for modifying a supply of stable value digital asset tokens
US11308487B1 (en) 2018-02-12 2022-04-19 Gemini Ip, Llc System, method and program product for obtaining digital assets
US10373158B1 (en) 2018-02-12 2019-08-06 Winklevoss Ip, Llc System, method and program product for modifying a supply of stable value digital asset tokens
US11200569B1 (en) 2018-02-12 2021-12-14 Winklevoss Ip, Llc System, method and program product for making payments using fiat-backed digital assets
US11909860B1 (en) 2018-02-12 2024-02-20 Gemini Ip, Llc Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
US11139955B1 (en) 2018-02-12 2021-10-05 Winklevoss Ip, Llc Systems, methods, and program products for loaning digital assets and for depositing, holding and/or distributing collateral as a token in the form of digital assets on an underlying blockchain
US10540653B1 (en) 2018-02-12 2020-01-21 Winklevoss Ip, Llc System, method and program product for modifying a supply of stable value digital asset tokens
US11720887B1 (en) 2018-03-05 2023-08-08 Gemini Ip, Llc System, method and program product for depositing and withdrawing stable value digital assets in exchange for fiat
US11727401B1 (en) 2018-03-05 2023-08-15 Gemini Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US10373129B1 (en) 2018-03-05 2019-08-06 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US11334883B1 (en) 2018-03-05 2022-05-17 Gemini Ip, Llc Systems, methods, and program products for modifying the supply, depositing, holding and/or distributing collateral as a stable value token in the form of digital assets
US11017391B1 (en) 2018-03-05 2021-05-25 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US10929842B1 (en) 2018-03-05 2021-02-23 Winklevoss Ip, Llc System, method and program product for depositing and withdrawing stable value digital assets in exchange for fiat
US11562333B1 (en) 2018-03-05 2023-01-24 Gemini Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US10438290B1 (en) 2018-03-05 2019-10-08 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US10540640B1 (en) 2018-03-05 2020-01-21 Winklevoss Ip, Llc System, method and program product for generating and utilizing stable value digital assets
US12093942B1 (en) 2019-02-22 2024-09-17 Gemini Ip, Llc Systems, methods, and program products for modifying the supply, depositing, holding, and/or distributing collateral as a stable value token in the form of digital assets
US11501370B1 (en) 2019-06-17 2022-11-15 Gemini Ip, Llc Systems, methods, and program products for non-custodial trading of digital assets on a digital asset exchange
CN113507366A (en) * 2021-05-21 2021-10-15 北方工业大学 Grid-based searchable log blind signature scheme
CN113507366B (en) * 2021-05-21 2024-04-26 北方工业大学 Grid-based searchable log blind signature scheme
DE102021006430B4 (en) 2021-12-31 2023-12-07 Kcrypt Lab UG (haftungsbeschränkt) Method for generating distributed one-way trapdoor permutations via additive sharing without a trusted dealer
DE102021006430A1 (en) 2021-12-31 2023-07-06 Kcrypt Lab UG (haftungsbeschränkt) Method for generating distributed one-way trapdoor permutations by additive sharing without a trusted vendor

Also Published As

Publication number Publication date
WO2008127428A3 (en) 2008-12-24

Similar Documents

Publication Publication Date Title
WO2008127428A2 (en) Efficient non-interactive proof systems for bilinear groups
MacKenzie et al. Alternatives to non-malleability: Definitions, constructions, and applications
Escala et al. Fine-tuning groth-sahai proofs
Chandran et al. Ring signatures of sub-linear size without random oracles
Groth et al. Efficient non-interactive proof systems for bilinear groups
Nguyen et al. Efficient and provably secure trapdoor-free group signature schemes from bilinear pairings
Dutta et al. Pairing-based cryptographic protocols: A survey
Young et al. Auto-recoverable auto-certifiable cryptosystems
Boyen et al. Compact group signatures without random oracles
Delerablée et al. Dynamic threshold public-key encryption
Canard et al. Plaintext-checkable encryption
Fiore et al. Making the Diffie-Hellman protocol identity-based
Wu et al. A pairing-based publicly verifiable secret sharing scheme
KR101431412B1 (en) Signature processing system, key generation device, signature device, verification device, signature processing method and computer readable recording medium storing signature processing program
Al-Riyami Cryptographic schemes based on elliptic curve pairings
Mao Guaranteed correct sharing of integer factorization with off-line shareholders
Chow et al. Practical dual-receiver encryption: soundness, complete non-malleability, and applications
Wei et al. Remove key escrow from the BF and Gentry identity-based encryption with non-interactive key generation
Ranjani et al. An Extended Identity Based Authenticated Asymmetric Group Key Agreement Protocol.
Hwang et al. Threshold Signatures: Current Status and Key Issues.
Nathani et al. A Dynamic ID Based Authenticated Group Key Agreement Protocol from Pairing.
Al Housani et al. Survey on certificateless public key cryptography
Muthulakshmi et al. Identity based privacy preserving dynamic broadcast encryption for multi-privileged groups
Selvi et al. On the security of id based signcryption schemes
Hao et al. The power of anonymous veto in public discussion

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07873621

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07873621

Country of ref document: EP

Kind code of ref document: A2