Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Proofs of Restricted Shuffles
Björn Terelius and Douglas Wikström
KTH, Stockholm
May 3, 2010
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Proofs of Restricted Shuffles Bjrn Terelius and Douglas Wikstrm KTH, - - PowerPoint PPT Presentation
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations Proofs of Restricted Shuffles Bjrn Terelius and Douglas Wikstrm KTH, Stockholm May 3, 2010 Bjrn Terelius and Douglas Wikstrm Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Björn Terelius and Douglas Wikström
KTH, Stockholm
May 3, 2010
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Consider a voting system where each voter submit an encrypted vote.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Consider a voting system where each voter submit an encrypted vote.
◮ How can we ensure that the voters remain anonymous when
the votes are decrypted?
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Consider a voting system where each voter submit an encrypted vote.
◮ How can we ensure that the voters remain anonymous when
the votes are decrypted?
◮ There are two main ways to achieve this, homomorphic
tallying [CGS97] and mixnets [Cha81].
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
◮ How can we implement a mixnet?
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
◮ How can we implement a mixnet? ◮ Chain of mixservers, each permutes and re-encrypts its list of
inputs.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
◮ How can we verify that a server really permutes and
re-encrypts the votes?
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
◮ How can we verify that a server really permutes and
re-encrypts the votes?
◮ Let each server produce an interactive zero-knowledge proof, a
proof of a shuffle [SK95, Nef01, FS01].
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
◮ How can we verify that a server really permutes and
re-encrypts the votes?
◮ Let each server produce an interactive zero-knowledge proof, a
proof of a shuffle [SK95, Nef01, FS01].
◮ Like [FS01], we will construct a proof that a commitment
contains a permutation matrix.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
◮ How can we verify that a server really permutes and
re-encrypts the votes?
◮ Let each server produce an interactive zero-knowledge proof, a
proof of a shuffle [SK95, Nef01, FS01].
◮ Like [FS01], we will construct a proof that a commitment
contains a permutation matrix.
◮ One can then prove that the encrypted votes are permuted
accordingly.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
M permutation matrix M = 1 1 1 M not permutation matrix M = 1 2 −1 1
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
M permutation matrix M = 1 1 1 Mx = x2 x1 x3 M not permutation matrix M = 1 2 −1 1 Mx = x2 2x1 − x3 x3
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
M permutation matrix M = 1 1 1 Mx = x2 x1 x3 N
i=1mi, x = x2x1x3
= x1x2x3 M not permutation matrix M = 1 2 −1 1 Mx = x2 2x1 − x3 x3 N
i=1mi, x = x2(2x1 − x3)x3
= x1x2x3
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Let M = (mi,j) be an N × N-matrix over Zq and x = (x1, . . . , xN) be a list of variables. Then M is a permutation matrix if and only if N
i=1mi, x =
N
i=1 xi
and M1 = 1 .
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Let M = (mi,j) be an N × N-matrix over Zq and x = (x1, . . . , xN) be a list of variables. Then M is a permutation matrix if and only if N
i=1mi, x =
N
i=1 xi
and M1 = 1 .
Let f ∈ Zq[x1, . . . , xN] be a non-zero polynomial of total degree d and let e1, . . . , eN be chosen randomly from Zq. Then Pr[f (e1, . . . , eN) = 0] ≤ d q .
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Let g, g1 be randomly chosen generators in a group of prime order
C (m, s) = gsgm
1
where s is chosen randomly from Zq.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Let g, g1 be randomly chosen generators in a group of prime order
C (m, s) = gsgm
1
where s is chosen randomly from Zq.
◮ perfectly hiding ◮ computationally binding ◮ homomorphic, C (m, s) C (m′, s′) = C (m + m′, s + s′)
C (m, s)e = C (em, es)
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Let g, g1, . . . , gN be randomly chosen generators in a group of prime order q. We commit to a vector m = (m1, . . . , mN)T by C (m, s) = gs
N
gmi
i
where s is chosen randomly from Zq.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Let g, g1, . . . , gN be randomly chosen generators in a group of prime order q. We commit to a vector m = (m1, . . . , mN)T by C (m, s) = gs
N
gmi
i
where s is chosen randomly from Zq.
◮ perfectly hiding ◮ computationally binding ◮ homomorphic, C (m, s) C (m′, s′) = C (m + m′, s + s′)
C (m, s)e = C (em, es)
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
We commit column-wise to an N × N-matrix M = (mi,j), so a = C (M, s) is a list of N commitments satisfying C (M, s)e = C (Me, s, e) where we use the convention ae = N
i=1 aei i
.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
A sigma proof is a three-message protocol such that
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
A sigma proof is a three-message protocol such that
transcripts with the same random tape and distinct challenges
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
P wants to prove knowledge of x such that y = gx
V accepts the proof iff ycα = gd
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
P wants to prove knowledge of x such that y = gx
V accepts the proof iff ycα = gd There are similar protocols for proving any polynomial relation!
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Given a matrix commitment a, P wants to prove knowledge of a permutation matrix M and randomness s such that a = C (M, s).
e′ such that C (e′, k) = ae C
N
i=1 e′ i = N i=1 ei
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Given a matrix commitment a, P wants to prove knowledge of a permutation matrix M and randomness s such that a = C (M, s).
e′ such that C (e′, k) = ae C
N
i=1 e′ i = N i=1 ei
e′ = Me 1 = M1 N
i=1mi, e = N i=1 ei
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
The protocol is a honest verifier zero knowledge proof of knowledge
commitment scheme is binding.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
The protocol is a honest verifier zero knowledge proof of knowledge
commitment scheme is binding.
◮ The zero-knowledge property is easy.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
The protocol is a honest verifier zero knowledge proof of knowledge
commitment scheme is binding.
◮ The zero-knowledge property is easy. ◮ We must construct an extractor which computes a
permutation matrix from accepting transcripts.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
each time extracting e′
i and ki such that C (e′ i, ki) = aei.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
each time extracting e′
i and ki such that C (e′ i, ki) = aei.
at least 1 − N/q.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
each time extracting e′
i and ki such that C (e′ i, ki) = aei.
at least 1 − N/q.
N
j=1 αℓ,jej is the ℓth standard unit vector in ZN q .
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
each time extracting e′
i and ki such that C (e′ i, ki) = aei.
at least 1 − N/q.
N
j=1 αℓ,jej is the ℓth standard unit vector in ZN q .
j=1 αℓ,je′ j is the ℓth column in M
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
each time extracting e′
i and ki such that C (e′ i, ki) = aei.
at least 1 − N/q.
N
j=1 αℓ,jej is the ℓth standard unit vector in ZN q .
j=1 αℓ,je′ j is the ℓth column in M since
al =
N
aαℓ,jej =
N
C
j, kj
αℓ,j = C
N
αℓ,je′
j, N
αℓ,jkj
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
What if the extracted matrix M isn’t a permutation matrix?
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
What if the extracted matrix M isn’t a permutation matrix?
C
Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
What if the extracted matrix M isn’t a permutation matrix?
C
i=1mi, x = N i=1 xi
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
What if the extracted matrix M isn’t a permutation matrix?
C
i=1mi, x = N i=1 xi then we invoke the extractor to get
e, e′ and k satisfying N
i=1mi, e = N i=1 ei.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
What if the extracted matrix M isn’t a permutation matrix?
C
i=1mi, x = N i=1 xi then we invoke the extractor to get
e, e′ and k satisfying N
i=1mi, e = N i=1 ei. Observe that
C
but e′ = Me.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Given that we can prove that a committed matrix is a permutation matrix, what other properties can we prove about the permutation?
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Given that we can prove that a committed matrix is a permutation matrix, what other properties can we prove about the permutation? For example, can we prove that the permutation is a rotation [RW04, dHSSV09]?
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Given that we can prove that a committed matrix is a permutation matrix, what other properties can we prove about the permutation? For example, can we prove that the permutation is a rotation [RW04, dHSSV09]? A rotation is precisely an automorphism of the directed cycle graph!
1 2 3 4 5
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Given that we can prove that a committed matrix is a permutation matrix, what other properties can we prove about the permutation? For example, can we prove that the permutation is a rotation [RW04, dHSSV09]? Let us look at the undirected cycle instead.
1 2 3 4 5
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
◮ Let G be a graph with vertices V = {1, 2, 3, . . . , N}. Encode
the edge set as FG (x1, . . . , xN) =
xixj .
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
◮ Let G be a graph with vertices V = {1, 2, 3, . . . , N}. Encode
the edge set as FG (x1, . . . , xN) =
xixj .
◮ A permutation π is an automorphism of G if and only if
FG (x1, . . . , xN) = FG (xπ(1), . . . , xπ(N)) .
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
◮ Let G be a graph with vertices V = {1, 2, 3, . . . , N}. Encode
the edge set as FG (x1, . . . , xN) =
xixj .
◮ A permutation π is an automorphism of G if and only if
FG (x1, . . . , xN) = FG (xπ(1), . . . , xπ(N)) .
◮ Apply Schwartz-Zippel . . .
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
We can encode not only graphs, but also
◮ directed graphs ◮ labeled graphs ◮ hypergraphs ◮ etc.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
We can encode not only graphs, but also
◮ directed graphs ◮ labeled graphs ◮ hypergraphs ◮ etc.
Returning to the rotation example, use the encoding polynomial FG (x1, . . . , xN) =
xix2
j
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
We can encode not only graphs, but also
◮ directed graphs ◮ labeled graphs ◮ hypergraphs ◮ etc.
Returning to the rotation example, use the encoding polynomial FG (x1, . . . , xN) =
xix2
j = x1x2 2 + x2x2 3 + x3x2 4 + x4x2 5 + x5x2 1
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
We can encode not only graphs, but also
◮ directed graphs ◮ labeled graphs ◮ hypergraphs ◮ etc.
Returning to the rotation example, use the encoding polynomial FG (x1, . . . , xN) =
xix2
j = x1x2 2 + x2x2 3 + x3x2 4 + x4x2 5 + x5x2 1
Testing FG (x1, . . . , xN) = FG (xπ(1), . . . , xπ(N)) determines whether π is a rotation.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Let F be any polynomial in Zq[x1, . . . , xN] and let SF be the group
F(x1, . . . , xN) = F(xπ(1), . . . , xπ(N)) . Then we can prove that the permutation is chosen from SF.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
We have demonstrated
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
We have demonstrated
◮ an efficient proof of a shuffle with a simple analysis
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
We have demonstrated
◮ an efficient proof of a shuffle with a simple analysis ◮ a general method for restricting the permutation to certain
groups
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
We have demonstrated
◮ an efficient proof of a shuffle with a simple analysis ◮ a general method for restricting the permutation to certain
groups Problem Are there applications for other restrictions than rotations, e.g. automorphisms of a complete binary tree?
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Questions?
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
A secure and optimally efficient multi-authority election scheme. In Advances in Cryptology – Eurocrypt ’97, volume 1233 of Lecture Notes in Computer Science, pages 103–118. Springer Verlag, 1997.
Untraceable electronic mail, return addresses and digital pseudo-nyms. Communications of the ACM, 24(2):84–88, 1981.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Verifiable rotation of homomorphic encryptions. In Public Key Cryptography – PKC 2009, volume 5443 of Lecture Notes in Computer Science, pages 393–410. Springer Verlag, 2009.
An efficient scheme for proving a shuffle. In Advances in Cryptology – Crypto 2001, volume 2139 of Lecture Notes in Computer Science, pages 368–387. Springer Verlag, 2001.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
A verifiable secret shuffle and its application to e-voting. In 8th ACM Conference on Computer and Communications Security (CCS), pages 116–125. ACM Press, 2001.
Fragile mixing. In 11th ACM Conference on Computer and Communications Security (CCS), pages 227–235. ACM Press, 2004.
Reciept-free mix-type voting scheme. In Advances in Cryptology – Eurocrypt ’95, volume 921 of Lecture Notes in Computer Science, pages 393–403. Springer Verlag, 1995.
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles
Introduction Proof of Knowledge of Permutation Matrix Restricted Permutations
Björn Terelius and Douglas Wikström Proofs of Restricted Shuffles