The present invention relates generally to cryptography and in particular to group encryption.
This section is intended to introduce the reader to various aspects of art, which may be related to various aspects of the present invention that are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
Group encryption schemes involve a sender, a verifier, a group manager (GM) that manages the group of receivers and an opening authority (OA) that is able to uncover the identity of receivers of ciphertext. A group encryption system GE is formally specified by the description of a relation as well as a collection of algorithms and protocols: SETUP, JOIN,
r,
,
, ENC, DEC,
,
, OPEN, REVEAL, TRACE, CLAIM/DISCLAIM, CLAIM-VERIFY, DISCLAIM-VERIFY. Among these, SETUP is a set of initialization procedures SETUPinit(λ) that take (explicitly or implicitly) a security parameter λ as input. The procedure can be split into a procedure that generates a set of public parameters param (a common reference string), one, SETUPGM(param), for the so-called Group Manager GM and another, SETUPOA(param), for the so-called Opening Authority OA. The latter two procedures are used to produce a key pair (pkGM, skGM) for the GM and a key pair, (pkOA, skOA) the OA. In the following, to simplify the description, the parameter param is not always explicitly stated as input to the algorithms.
JOIN=(Juser, JGM) is an interactive protocol between the GM and a prospective user. As shown by Kiayias and Yung [see A. Kiayias and M. Yung. Group signatures with efficient concurrent join. In Eurocrypt'05, Lecture Notes in Computer Science 3494, pages 198-214, Springer, 2005.], this protocol can have minimal interaction and consist of only two messages: the first message comprising the user's public key pk sent by Juser to JGM and the latter's response comprising a certificate certpk for pk that makes the user's group membership effective. It is then not required for the user to, for example, prove knowledge of its private key sk. After the execution of JOIN, the GM stores the public key pk with its certificate certpk and the whole transcript transcript of the conversation in a public directory database. It is assumed that anyone can check the well-formedness of the public directory (for example, the fact that no two distinct users share the same public key) by means of a deterministic algorithm DATABASE-CHECK, which returns 1 or 0 depending on whether public directory is deemed valid or not.
Algorithm sample allows sampling pairs (x, w) ∈ (made of a public value x and a witness w using keys (pk
, sk
) produced by
r. Depending on the relation, sk
may be the empty string. The testing procedure
(x,w) returns 1 whenever (x,w) ∈
. To encrypt a witness w such that (x,w) ∈
for some public x, the sender obtains the pair (pk, certpk) from the public directory and runs a randomized encryption algorithm, which takes as input w, a label L, the receiver's pair (pk, certpk) as well as public keys pkGm and pkOA. Its output is a ciphertext ψ←ENC(pkGM,pkOA,pk,certpk,w,L). On input of the same elements, the certificate certpk, the ciphertext ψ and the random coins coinsψ that were used to produce it, the non-interactive algorithm
generates a proof πψ that there exists a certified receiver whose public key was registered in public directory and that is able to decrypt and obtain a witness w such that (x,w) ∈
. The verification algorithm
takes as input the ciphertext ψ, the public keys pkGM, pkOA, the proof πψ and the description of
, and outputs 0 or 1. Given the ciphertext ψ, the label L and the receiver's private key sk, the output of DEC is either a witness w such that (x, w) ∈
or a rejection symbol ⊥.
The next three algorithms provide explicit and implicit tracing capabilities. First, OPEN takes as input a ciphertext/label pair (ψ, L) and the OA's secret key skOA and returns a receiver's identity i and its public key pk. Algorithm REVEAL takes as input the joining transcript transcript of user i and allows the OA to extract a tracing trapdoor tracei using its private key skOA. This tracing trapdoor can be subsequently used to determine whether or not a given ciphertext-label pair (ψ, L) is a valid encryption under the public key pk, of user i: namely, algorithm TRACE takes in public keys pkGM and pkOA as well as the pair ciphertext-label pair (ψ, L) and the tracing trapdoor tracei associated with user i. It returns 1 if and only if the ciphertext-label pair (ψ, L) is believed to be a valid encryption intended for user i. It is particularly noted that the tracing trapdoor tracei only allows testing whether the receiver is user i: in particular, it does not allow decryption of the ciphertext-label pair (ψ, L) and it does not reveal the receiver's identity.
The last three algorithms (CLAIM/DISCLAIM, CLAIM-VERIFY, DISCLAIM-VERIFY) implement functionality that allows user to convincingly claim or disclaim being the legitimate recipient of a given anonymous ciphertext. Concretely, CLAIM/DISCLAIM takes as input the public keys (pkGM, pkOA, pk), a ciphertext-label pair (ψ, L) and a private key sk. It reveals a publicly verifiable piece of evidence τ that the ciphertext-label pair (ψ, L) is or is not a valid encryption under the public key pk. Algorithms CLAIM-VERIFY and DISCLAIM-VERIFY are then used to verify the assertion established by the evidence τ. They take as input the public keys, the ciphertext-label pair (ψ,L) and a claim/disclaimer τ and output 1 or 0.
Kiayias, Tsiounis and Yung (KTY) [see A. Kiayias, Y. Tsiounis, and M. Yung. Group encryption. In Asiacrypt'07, Lecture Notes in Computer Science 4833, pages 181-199, Springer, 2007.] formalized the concept of group encryption and provided a suitable security model (including four properties called ‘correctness’, ‘message security’, ‘anonymity’ and ‘soundness’). They presented a modular design of GE system and proved that, beyond zero-knowledge proofs, anonymous public key encryption schemes with adaptive chosen-ciphertext (CCA2) security, digital signatures, and equivocal commitments are necessary to realize the primitive. They also showed how to efficiently instantiate their general construction using Paillier's cryptosystem [see P. Paillier. Public-key cryptosystems based on composite degree residuosity classes. In Eurocrypt'99, Lecture Notes in Computer Science 1592, pages 223-238, Springer, 1999.]. While efficient, the scheme is not a single-message encryption scheme, since it requires the sender to interact with the verifier in an online 3-move conversation (or “Σ-protocol”) to be convinced that the aforementioned properties are satisfied. Interaction can be removed using the Fiat-Shamir paradigm [see A. Fiat and A. Shamir. How to prove yourself: Practical solutions to identification and signature problems. In Crypto'86, Lecture Notes in Computer Science 263, pages 186-194, Springer, 1986.] (and thus the random oracle model [see M. Bellare and P. Rogaway. Random oracles are practical: A paradigm for designing efficient protocols. In ACM CCS'93, pages 62-73, ACM Press, 1993.]), but only heuristic arguments [see S. Goldwasser and Y. Tauman-Kalai. On the (In)security of the Fiat-Shamir Paradigm In FOCS'03, pages 102-115, IEEE Press, 2003. and also [R. Canetti, O. Goldreich, and S. Halevi. The random oracle methodology, revisited. Journal of the ACM, 51(4):557-594, 2004.] are then possible in terms of security.
Independently, Qin et al. [B. Qin, Q. Wu, W. Susilo, Y. Mu, Y. Wang. Publicly Verifiable Privacy-Preserving Group Decryption. In Inscrypt'08, Lecture Notes in Computer Science 5487, pages 72-83, Springer, 2008.] considered a closely related primitive with non-interactive proofs and short ciphertexts. However, they avoid interaction by explicitly employing a random oracle and also rely on strong interactive assumptions.
Recently, El Aimani and Joye [L. El Aimani, M. Joye. Toward Practical Group Encryption. Cryptology ePrint Archive: Report 2012/155, 2012.] considered more efficient interactive and non-interactive constructions using various optimizations.
However, as it turns out, none of the above constructions makes it possible to trace a specific user's ciphertexts and only those. In these constructions, if messages encrypted for a specific misbehaving user have to be identified within a collection of, say n=10000 ciphertexts, then the opening authority has to open all of these in order to find those it is looking for. This is clearly harmful to the privacy of honest users. Kiayias, Tsiounis and Yung [see A. Kiayias, Y. Tsiounis, and M. Yung. Traceable signatures. In Eurocrypt 2004, Lecture Notes in Computer Science 3027, pages 571-589. Springer, 2004.] suggested a technique to address this concern in the context of group signatures, but no real encryption analogue of their primitive has been provided so far.
The closest work addressing this problem is that of Izabachene, Pointcheval and Vergnaud [M. Izabachene, D. Pointcheval, D. Vergnaud. Mediated Traceable Anonymous Encryption. In Latincrypt'08, Lecture Notes in Computer Science 6212, pages 40-60, Springer, 2010.]. However, their “mediate traceable anonymous encryption” primitive is somewhat limited. First, their scheme only provides message confidentiality and anonymity against passive adversaries, who have no access to decryption oracles at any time. Second, while their constructions enable individual user traceability, they do not provide a mechanism allowing the authority to identify the receiver of a ciphertext in O(1) time. If their scheme is set up for groups of up to n users, their opening algorithm requires O(n) operations in the worst case. Finally, their schemes provide no method allowing users to claim or disclaim that they are the recipients of ciphertexts without disclosing their private keys.
It will thus be appreciated that there is a need for a solution that overcomes at least some of the drawbacks of the scheme of Izabachene et al., in particular a solution that simultaneously: (i) allows tracing specific users' ciphertexts and only those; and (ii) provides an explicit opening algorithm which can identify the receiver of a ciphertext in O(1) time. The present invention provides such a solution.
In a first aspect, the invention is directed to an device for encrypting a plaintext destined for a user having a public key. The device comprises a processor configured to: obtain a tuple of traceability components for first elements of the public key; encrypt, using encryption exponents and second elements of the public key, the plaintext under a label to obtain a first intermediary ciphertext; generate commitments to the encryption exponents; generate second intermediary ciphertexts by encrypting the first elements of the user's public key under a public key of an opening authority using a verification key; and generate, using a signature key, a signature over the tuple of traceability components, the first intermediary ciphertext, and the second intermediary ciphertexts. The device further comprises an interface configured to output a ciphertext comprising the tuple of traceability components, the first intermediary ciphertext, the second intermediary ciphertexts, and the signature.
In a first embodiment, the processor is configured to obtain the traceability components by calculating a plurality of values, wherein each value is obtained by taking a generator or an element of the public key to the power of a value involving at least one random number.
In a second embodiment, the public key comprises a Diffie-Hellman instance and wherein the tracability components enable recognition of the public key through the solution to the Diffie-Hellman instance.
In a third embodiment, the first intermediary ciphertext is obtained by multiplication between the plaintext and elements of the public key raised to the power of encryption exponents.
In a fourth embodiment, the verification key is a verification key of a one-time signature scheme. It is advantageous that the signature is a one-time signature obtained using the one-time signature scheme.
In a fifth embodiment, wherein the signature is generated also over a label, and the interface is further configured to output the label.
In a second aspect, the invention is directed to a method for encrypting a plaintext destined for a user having a public key. A processor obtains a tuple of traceability components for first elements of the public key; encrypts, using encryption exponents and second elements of the public key, the plaintext under a label to obtain a first intermediary ciphertext; generates commitments to the encryption exponents; generates second intermediary ciphertexts by encrypting the first elements of the user's public key under a public key of an opening authority using a verification key; and generates, using a signature key, a signature over the tuple of traceability components, the first intermediary ciphertext, and the second intermediary ciphertexts. An interface outputs a ciphertext comprising the tuple of traceability components, the first intermediary ciphertext, the second intermediary ciphertexts, and the signature.
In a first embodiment, the traceability components are obtained by calculating a plurality of values, wherein each value is obtained by taking a generator or an element of the public key to the power of a value involving at least one random number.
In a second embodiment, the first intermediary ciphertext is obtained by multiplication between the plaintext and elements of the public key raised to the power of encryption exponents.
In a third embodiment, the verification key is a verification key of a one-time signature scheme. It is advantageous that the signature is a one-time signature obtained using the one-time signature scheme.
In a fourth embodiment, the signature is generated also over a label, and the label is further output by the interface.
Preferred features of the present invention will now be described, by way of non-limiting example, with reference to the accompanying drawings, in which
A main inventive idea of the present invention is enabling the OA to disclose user-specific trapdoors, which make it possible to trace all the ciphertexts encrypted for that user and only those ciphertexts. To this end, a pair (Γ1, Γ2) is included in each membership certificate; (Γ1, Γ2)=(gγ2, where (γ1, γ2) ∈
p2 are part of the user's private key. When users join the group, they are thus requested to produce a pair (Γ1, Γ2)=(gγ
,
) where δ,
∈R
p are chosen by the sender. Since (Γ1,Γ2)=(gγ
An extra traceability component T4 is introduced in the ciphertext; T4=(Λ0VK·Λ1)δ, where Λ0,Λ1 ∈ are part of common public parameters and VK is the verification key of a one-time signature. The reason for this is that, in order to prove anonymity in the considered model, the elements (T1,T2,T3) need to be bound to the one-time verification key VK in a non-malleable way. Otherwise, an anonymity adversary would be able to break the anonymity by having access to a CLAIM/DISCLAIM oracle.
In order for user i to prove or disprove that it is the intended recipient of a given ciphertext-label pair (ψ, L), the user can use the traceability elements of the form (T1,T2,T3)=(gδ,,
) of the ciphertext ψ and its private key γ1 to compute Γ1δ=T1γ
Like the scheme described by Cathalo-Libert-Yung [J. Cathalo, B. Libert, M. Yung. Group Encryption: Non-Interactive Realization in the Standard Model. In Asiacrypt'09, Lecture Notes in Computer Science 5912, pp. 179-196, Springer, 2009.], the preferred embodiment is a non-interactive group encryption scheme for the Diffie-Hellman relation ={(A,B),M} where e(g,M)=e(A,B).
Unlike Cathalo-Libert-Yung's scheme, however, the present scheme provides extended tracing capabilities and further allows each user to non-interactively claim or disclaim that he is the intended recipient of a ciphertext.
The present scheme builds on the publicly verifiable variant of Cramer-Shoup [see the threshold variant of the Cramer-Shoup cryptosystem described in B. Libert, M. Yung. Non-Interactive CCA2-Secure Threshold Cryptosystems with Adaptive Security: New Framework and Constructions. In TCC 2012, Lecture Notes in Computer Science 7194, pp. 75-93, Springer, 2012.]. Advantage is taken of the observation that, if public key components ({right arrow over (g1)},{right arrow over (g2)},{right arrow over (g3)}) are shared by all users as common public parameters, the scheme can simultaneously provide receiver anonymity and publicly verifiable ciphertexts. In other words, anyone can publicly verify that a ciphertext is a valid ciphertext without knowing who the receiver is. When proofs are generated for the group encryption ciphertext, this saves the prover from having to provide evidence that the ciphertext is valid and thus yields shorter proofs.
The message is encrypted under the receiver's public key using the scheme of Libert-Yung. At the same time, the last two components of the receiver's public key are encrypted under the public key of the opening authority using Kiltz's encryption scheme [see E. Kiltz. Chosen-ciphertext security from tag-based encryption. In TCC'06, Lecture Notes in Computer Science 3876, pages 581-600, Springer, 2006.]. This scheme is preferred because it is the most efficient Decision Linear (DLIN)-based CCA2-secure cryptosystem where the validity of ciphertexts is publicly verifiable and it is not needed to hide the public key under which it is generated.
When new users join the group, the GM provides them with a membership certificate consisting of a structure-preserving signature on their public key (X1,X2,Γ1,Γ2). In this case, the Abe-Haralambiev-Ohkubo (AHO) signature [briefly described in the Annexe; also see M. Abe, K. Haralambiev, M. Ohkubo. Signing on Elements in Bilinear Groups for Modular Protocol Design. Cryptology ePrint Archive: Report 2010/133, 2010. and M. Abe, G. Fuchsbauer, J. Groth, K. Haralambiev, M. Ohkubo. Structure-Preserving Signatures and Commitments to Group Elements. In Crypto'10, Lecture Notes in Computer Science 6223, pp. 209-236, Springer, 2010.] is used because it allows working exclusively with linear pairing-product equations (and thus obtain a better efficiency) when non-interactive proofs are generated.
1. Choose bilinear groups (,
T) of prime order p>2λ with
Define vectors {right arrow over (g1)}=(g1,1,g), {right arrow over (g2)}=(1,g2,g) and {right arrow over (g3)}={right arrow over (g1)}ξ
which form a perfectly sound Groth-Sahai common reference string g=({right arrow over (g1)},{right arrow over (g2)},{right arrow over (g3)}).
2. For i=1 to l choose
and set {right arrow over (h)}i={right arrow over (g1)}ζ
3. Choose
and compute {right arrow over (f)}={right arrow over (g1)}η
4. Choose
at random.
5. Select a strongly unforgeable (as defined in [J. H. An, Y. Dodis, and T. Rabin. On the security of joint signature and encryption. In Eurocrypt'02, Lecture Notes in Computer Science 2332, pages 83-107, Springer, 2002.]) one-time signature scheme Σ=(G,S,V) and a random member H:{0,1}*→{0,1}l of a collision-resistant hash family. (G is an algorithm that generates a one-time signature key pair, is a signature algorithm and V is a signature verification algorithm.)
The public parameters param resulting from SETUPinit(λ) comprise {λ,,
T,g,{right arrow over (g1)},{right arrow over (g2)}, {right arrow over (g3)},{right arrow over (f)},{{right arrow over (h)}i}i=0l,Λ0,Λ1,Σ,H}.
pkGM=(Gr,Hu,Gz,Hz, {Gi,Hi}i=14,Ωa,Ωb) ∈8×
T2
while the corresponding private key is skGM=(αa,αb,γz,δz,{γi,δi}i=14).
1. The user i chooses
at random and computes a public key pk=(X1,X2,Γ1,Γ2) ∈ 4 where
X1=g1x
The corresponding private key is defined to be sk=(x1,x2,z,y1,y2). Here, (X1,X2) form a public key for the Libert-Yung encryption scheme already mentioned whereas (Γ1,Γ2) will be used to provide user traceability.
2. User i defines Γ0=gγ
and computes Φvenc=(Φ0,Φ1,Φ2)=(Γ0·gw
User i then generates a Non-Interactive Zero-Knowledge (NIZK) proof πvenc that Φvenc encrypts Γ0 ∈
such that e(Γ0,g)=e(Γ1,Γ2). Namely, user
i uses the CRS f=({right arrow over (g1)}, {right arrow over (g2)}, {right arrow over (f)}) to generate Groth-Sahai commitments {right arrow over (C)}w
e(Φ0,g)=e(Γ1,Γ2)·e(g,W1)·e(g,W2)
e(Φ1,g)=e(Y1,W1)
e(Φ2,g)=e(Y2,W2)
These three equations are linear pairing product equations. However, since their proofs must be NIZK proofs, they cost 16 group elements to prove altogether (as the prover actually introduces an auxiliary variable to prove that e(Φ0,g)=e(
,Γ2)·e(g,W1)·e(g,W2) and
=Γ1). πvenc denotes the resulting NIZK proof. The prospective user
i then sends the certification request comprising (pk=(X1,X2,Γ1,Γ2),Φvenc,{right arrow over (C)}w
3. If database already contains a record transcriptj for which the certified public key pkj=(Xj,2,Xj,2,Γj,1,Γj,2) is such that e(Γj,1,Γj,2)=e(Γ1,Γ2), the GM returns ⊥. Otherwise, the GM generates a certificate certpk=(Z,R,S,T,U,V,W) ∈7 for pk, which consists of an AHO signature on the 4-uple (X1,X2,Γ1,Γ2). Then, the GM stores the entire interaction transcript
transcripti=(pk=(X1,X2,Γ1,Γ2), (Φvenc, {right arrow over (C)}w
in database. DATABASE-CHECK is an algorithm that allows running a sanity check on database. This algorithm returns 0 (meaning that database is not well-formed) if database contains two distinct records transcripti and transcriptj for which the public keys pki=(Xi,1,Xi,2,Γi,1,Γi,2) and pkj=(Xj,1,Xj,2,Γj,1,Γj,2) are such that e(Γi,1,Γi,2)=e(Γj,1,Γj,2). Otherwise, it returns 1.
1. Generate a one-time signature key pair (SK, VK)←(λ).
2. Generate a tuple (T1,T2,T3,T4) ∈4 of traceability components by choosing
and computing
T
1
=g
δ
T
2=Γtδ/e T3=Γ2e T4=(Λ0VK·Λ1)δ.
Compute a Libert-Yung encryption of M under the label L:
3. Generate a partial Libert-Yunq ciphertext:
and compute
C
0
=M·X
1
θ
·X
2
74
C
1
=g
1
θ
C
2
=g
2
θ
C
3
=g
θ
+θ
.
for each i ∈ {1,2}) and a proof πLIN that they satisfy
C
1
=g
1
θ
C
2
=g
2
θ
C
3
=g
θ
+θ
.
πLIN=(π1,π2,π3,π4,π5,π6)=(g1r
ψLY=(C0,C1,C2,C3,{right arrow over (C)}θ
4. For i=1,2, choose
and encrypt Γi under pkOA using Kiltz's encryption scheme using the same one-time verification key VK as in step 1. Let {ψK
5. Set the GE ciphertext ψ as ψ=VK∥(T1,T2,T3,T4)∥ψLY∥ψK(SK, ((T1,T2,T3,T4)∥ψLY∥ψK
is described in SETUPinit(λ) step 5.]
Return (ψ,L) and coinsψ consist of δ,,{zi,1,zi,2}i=1,2 and (θ1,θ2). If the one-time signature described by Groth [see J. Groth. Simulation-sound NIZK proofs for a practical language and constant size group signatures. In Asiacrypt'06, Lecture Notes in Computer Science 4284, pages 444-459, 2006.13] is used, VK and σ take 3 and 2 group elements, respectively, so that ψ consists of 35 group elements of
.
1. Parse the certificate certpk as (Z,R,S,T,U,V,W) ∈7 and re-randomize it to obtain (Z′,R′,S′,T′,U′,V′,W′)←ReRand(pkGM, (Z,R,S,T,U,V,W)). Then, generate Groth-Sahai commitments {right arrow over (C)}z,{right arrow over (C)}R′,{right arrow over (C)}U′ to Z′, R′ and U′. The resulting overall commitment to certpk consists of comcert
13.
2. Generate Groth-Sahai commitments to the components of the public key pk=(X1,X2,Γ1,Γ2) and obtain the set compk={{right arrow over (C)}X
3. Generate a proof πcert
Ωa·e(S′,T′)−1·Πi=12e(Gi,Xi)−1·Πi=12e(Gi+2,Γi)−1=e(Gz,Z′)·e(Gr,R′),
Ωb·e(V′,W′)−1·Πi=12e(Hi,Xi)−1·Πi=12e(Hi+2,Γi)−1=e(Hz,Z′)·e(Hu,U′).
which cost 3 elements each. The whole proof πcert
4. Generate a NIZK proof πT that (T1,T2,T3) satisfies (T1,T2,T3)=(gδ,,
) for some δ,
∈
p. To this end, generate a commitment {right arrow over (C)}Υ to the group element Υ=
and generate a NIZK proof that
e(Υ,T3)=e(T1,Γ2) and
e(T2,g)=e(Γ1,Υ).
Since πT must include {right arrow over (C)}Υ and must be a NIZK proof, it requires 21 group elements. Specifically, 3 elements suffice for the first linear equation whereas the second requires to prove e(T2,XT)=e(Γ1,Υ) and e(XT,g)=e(g,g) using an auxiliary variable XT=g.
5. For i=1,2, generate NIZK proofs πeq-key,i that {right arrow over (C)}Γ
(Vi,0,Vi,1,Vi,2)=(Γi·gz
and {right arrow over (C)}Γp* and {right arrow over (f)}=(f3,1,f3,2,f3,3), this amounts to prove knowledge of values zi,1,zi,2,ρi1,ρi2,ρi3 ∈
p* such that
Committing to exponents zi,1,zi,2,ρi1,ρi2,ρi3 introduces 30 group elements whereas the above relations only require two elements each. Together with their corresponding commitments to {zi,1,zi,2,ρi1,ρi2,ρi3}i=1,2, the proof element πeq-key,i incurs 42 elements.
6. Generate a NIZK proof that the ciphertext πLY encrypts a group element M ∈
such that ((A,B),M) ∈
. To this end, generate a commitment
comM=(cM,1,cM,2,cM,3)=(g1ρ
and prove that the underlying M is the same as the one for which C0=M·X1θ
Committing to θ1,θ2,ρ1,ρ2,ρ3 takes 15 elements. Proving the first four relations of the equation requires 8 elements whereas the last one is quadratic and its proof is 9 elements. Proving the linear pairing-product relation e(g,M)=e(A,B) in NIZK demands 9 elements. (It requires the introduction of an auxiliary variable and proof that e(g,M)=e(
,B) and A=
, for variables M,
and constants g,A,B. The two proofs take 3 elements each and 3 elements are needed to commit to
.) Since it
includes comM, it entails a total of 34 elements.
The entire proof πψ=comcert
1. (VK,σ,((T1,T2,T3,T4)∥ψLY∥ψk
2. The equality e(T1,Λ0VK·Λ1)=e(g,T4) is satisfied and ψLY is a valid Libert-Yung ciphertext.
3. All proofs verify and ψK
((Xi,1,Xi,2,Γi,1,Γi,2), (Φvenc,i,{right arrow over (C)}w
Parse Φvenc,i as (Φi,0,Φi,1,Φi,2) ∈3 and verify that ({right arrow over (C)}w
which can serve as a tracing trapdoor for user i as it is of the form Γi,0=Γi,2log
e(Tδ,1,Γ−1)=e(T1,χτ) e(g,χτ)=e(g,g).
The claim/disclaimer τ consists of τ=(Tδ,1,{right arrow over (C)}Γ13.
The skilled person will appreciate that only group members using traceability components are able to claim or disclaim a ciphertext; indeed, Γ−1 serves this purpose.
e(T67 ,1,Γ2)=e(T2,T3) e(T1,Γ1)=e(g,Tδ,1)
hold and πτ,1,πτ,2 are valid proofs for the relations e(Tδ,1,Γ−1)=e(T1,χτ) and e(g,χτ)=e(g,g) w.r.t. the CRS ({right arrow over (g)}1,{right arrow over (g)}2,{right arrow over (h)}v), where {right arrow over (h)}v={right arrow over (h)}0⊙ ⊙i=1l{right arrow over (h)}iv|i| and v=H(ψ,L,pk) ∈ {0,1}l.
e(Tδ,1,Γ2)≠e(T2,T3) e(T1,Γ1)=e(g,Tδ,1)
and πτ,1,πτ,2 are valid proofs for the relations e(Tδ,1,Γ−1)=e(T1,χτ) and e(g,χτ)=e(g,g) and the Groth-Sahai CRS ({right arrow over (g)}1,{right arrow over (g)}2,{right arrow over (h)}v), where {right arrow over (h)}v={right arrow over (h)}0 ⊙ ⊙i=1l{right arrow over (h)}iv|i| and v=H(ψ,L,pk) ∈ {0,1}l.
From an efficiency point of view, the length of ciphertexts is about 2.18 kB in an implementation using symmetric pairings with a 512-bit representation for each group element (at the 128-bit security level), which is more compact than in the Paillier-based system of Kiayias-Tsiounis-Yung where ciphertexts already take 2.5 kB using 1024-bit moduli (and thus at the 80-bit security level). Moreover, the proofs only require 8 kB (against roughly 32 kB for the same security in Cathalo-Libert-Yung), which is significantly cheaper than in the original GE scheme of Kiayias-Tsiounis-Yung, where interactive proofs reach a communication cost of 70 kB to achieve a 2−50 knowledge error.
Each feature disclosed in the description and (where appropriate) the claims and drawings may be provided independently or in any appropriate combination. Features described as being implemented in hardware may also be implemented in software, and vice versa. Reference numerals appearing in the claims are by way of illustration only and shall have no limiting effect on the scope of the claims.
The description assumes public parameters pp=((,
T),g) consisting of bilinear groups (
,
T) of prime order p>2λ, where λ ∈
and a generator g ∈
.
for i=1 to n. Then, compute Gz=Grγ
and defineΩa=e(Gr,gα
pk=(Gr,Hu,Gz,Hz, {Gi,Hi}i=1n,Ωa,Ωb) ∈ 2n+4×
T2
while the private key is sk=(αa,αb,γz,δz,{γi,δi}i=1n).
and compute Z=gζ (as well as
The signature consists of a σ=(Z,R,S,T,U,V,W) ∈ 7.
The scheme has been proved existentially unforgeable under chosen-message attacks under the so-called q-SFP assumption, where q is the number of signing queries.
Also, signature components {θi}i=27 can be publicly randomized to obtain a different signature (Z′,R′,S′,T′,U′,V′,W′)←ReRand(pk,σ) on (M1, . . . , Mn). After randomization, Z′=Z while (R′,S′,T′,U′,V′,W′) are uniformly distributed among the values such that e(Gr,R′)·e(S′,T′)=e(Gr,R)·e(S,T) and e(Hu,U′)·e(V′,W′)=e(Hu,U)·e(V,W). This re-randomization is performed by choosing
and computing
R′=R·
, S′=(S·)1/μ, T′=Tμ
U′=U·
, V′=(V·)1/ν, W′=Wν.
As a result, (S,T,V,W) are statistically independent of (M1, . . . , Mn) and the rest of the signature. This implies that, in privacy-preserving protocols, re-randomized (S′,T′,V′,W′) can be safely given out as long as (M1, . . . , Mn) and (Z′,R′,U′) are given in committed form.
| Number | Date | Country | Kind |
|---|---|---|---|
| 13305572.3 | Apr 2013 | EP | regional |
| Filing Document | Filing Date | Country | Kind |
|---|---|---|---|
| PCT/EP2014/058818 | 4/30/2014 | WO | 00 |