UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 1
On the Practical Use of Range Proofs S ebastien Canard, and Jacques - - PowerPoint PPT Presentation
On the Practical Use of Range Proofs S ebastien Canard, and Jacques Traor e Orange Labs Amandine Jambert CNIL Iwen Coisel Universit e catholique de Louvain - Crypto Group Provable Privacy Workshop - July 10th, 2012 UCL Crypto Group
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 1
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 2
◮ concept introduced by Feige, Fiat and Shamir ◮ permits to prove the knowledge of some secrets α1, . . . , αq,
◮ several complex relation can be proven ◮ well-known schemes ◮ Fiat-Shamir, Schnorr, GPS ◮ security ◮ completeness ◮ soundness ◮ zero-knowledge
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 3
◮ Alice knows the secret opening the door between A and B ◮ Bob, sceptical, asks for a proof from Alice ◮ Alice, proud, wants to prove her knowledge without divulging it
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 3
◮ Alice knows the secret opening the door between A and B ◮ Bob, sceptical, asks for a proof from Alice ◮ Alice, proud, wants to prove her knowledge without divulging it
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 3
◮ Alice knows the secret opening the door between A and B ◮ Bob, sceptical, asks for a proof from Alice ◮ Alice, proud, wants to prove her knowledge without divulging it
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 3
◮ Alice knows the secret opening the door between A and B ◮ Bob, sceptical, asks for a proof from Alice ◮ Alice, proud, wants to prove her knowledge without divulging it
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 4
◮ we study a secret sk ∈ Z∗
q
◮ it belongs to a public interval [a, b] where a, b ∈ Z∗
q, with a < b
◮ the secret sk is committed as Com = g skhr ◮ this can be replaced by a ciphertext on sk ◮ this is usually the case in e-voting ◮ Zero-knowledge proof of knowledge that sk ∈ [a, b]
◮ set membership proofs ◮ this is a variant of range proofs ◮ the interval is replaced by a set Φ ◮ proof that sk ∈ Φ
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 5
◮ e-cash ◮ withdrawal of ℓ coins ◮ use of a counter j from 1 to ℓ during spendings ◮ proof that the counter j belongs to the interval [1, ℓ] ◮ e-vote ◮ n candidates for a vote ◮ each voter needs to prove that her private choice belongs to the
◮ anonymous credentials ◮ proof that the age of one user is greater than a given authorized
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 6
◮ based on mathematical properties of positive numbers
◮ based on the decomposition of the secret in an adapted base
i=0 xiui where
◮ based on the knowledge of a signature, assuming that all the
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 7
◮ well known techniques, largely studied ◮ case of restricted devices... ◮ hard to know which method should be used ◮ it depends on the size of the secret ◮ it depends on the size of the interval ◮ it depends on what should be improved (time vs. space, prover
◮ remaining things to do ◮ it is essential to clearly know which method should be used,
◮ the improvement of these methods is of great importance to
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 8
◮ proposed by Boudot : a ≤ sk ≤ b iff sk − a ≥ 0 and b − sk ≥ 0 ◮ zero-knowledge completely described by Lipmaa
1 + x2 2 + x2 3 + x2 4.
1 + x2 2 + x2 3.
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 9
◮ the Rabin and Shallit algorithm find such decompositions ◮ not very efficient... but it works
◮ proof of knowledge of the different values (e.g. (x1, x2, x3, x4)) ◮ proof of reconstruction of the secret with these committed values ◮ C1 = gx1hr1 ◮ C x1
1
1 hr1x1 is a commitment on x2
1
◮ 4
i=1 C xi i
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 10
◮ initially proposed by Bellare and Goldwasser for an interval [0, 2ℓ[ ◮ case of an interval [a, b] by Schoenmakers
i=0 xi2i where ∀i ∈ [0, ℓ[, xi ∈ [0, 1].
◮ computes Ci = g xihri for all i ∈ [0, ℓ[ where ri ∈R Zq ◮ both the prover and the verifier can compute
ℓ−1
i
ℓ−1
i=0 2iri ◮ the prover and the verifier play the following interactive ZKPK
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 11
◮ prover produces a commitment CX (resp. CY ) on X (resp. Y ) ◮ remark that CXg a = g skhrX (resp. CY g a−B0 = g skhrY ). ◮ proof that X and Y belong to [0, 2k+1[. ◮ the global proof that sk ∈ [a, b] is
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 12
◮ due to Lipmaa, Asokan and Niemi, after a work from Damg˚
◮ generalization of the binary representation ◮ first given in the case of an interval [0, b]
i=0 bixi
◮ example ◮ case b = 90 and sk = 80 ◮ ⌊log2 90⌋ = 6 ◮ b0 = 1, b1 = 1, b2 = 3, b3 = 6, b4 = 11, b5 = 23, and b6 = 45 ◮ sk = 80 = [
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 13
◮ proof that sk ∈ [0, b] is similar to the binary case ◮ general case [a, b] ◮ use twice the proof for a secret in [0, b] ◮ new characterisation for [a, b] and a similar proof
ℓ
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 14
◮ If ai = 0, there are two possible cases ◮ if xi = 0 ⇒ prove it and continue ◮ if xi = 1 ⇒ prove it and it’s enough
◮ If ai = 1 then xi = 1 ⇒ prove it and continue
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 15
◮ based on a work from Teranishi and Sako ◮ proposed by Camenisch, Chaabouni and Shelat ◮ let Φ be a public set of some elements ◮ let CA be a designated authority ◮ owns a pair of signature keys (skCA, pkCA) ◮ produce a signature σi = SignskCA(i) on all the elements i ∈ Φ
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 16
◮ short signature scheme proposed by Boneh and Boyen ◮ based on bilinear pairings ◮ e : G1 × G2 −
◮ for all g1 ∈ G1, g2 ∈ G2, a, b ∈ Z∗
q, e(g a 1 , g b 2 ) = e(g1, g2)ab
◮ procedures ◮ secret key γ ∈ Z∗
q and public key w = g γ 2
◮ signature on a m ∈ Zq is σ = g 1/(γ+m)
1
◮ verification e(σ, wg m
2 ) = e(g1, g2)
◮ set membership proof ◮ pick at random v ∈ Z∗
q and computes V = σv x
◮ generation of the proof of knowledge
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 17
◮ it seems that the there is not ONE best solution ◮ it depends on the size of the secret, or the size of the interval ◮ different comparisons ◮ prover’s time complexity (in modular multiplications in G) ◮ verifier’s time complexity (in modular multiplications in G) ◮ space complexity (in bits) ◮ size of the public key (in bits) ◮ security level of 128 ◮ |q| = 256, |G| = 257, lZn = 3248, le = ls = 160
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 18
UCL Crypto Group
Microelectronics Laboratory
Range Proofs - Provable Privacy Workshop - July 10th, 2012 19