Verifiable Mixnets in Electronic Voting Systems

undefined
SANDRA GUASCH CASTELLÓ
PHD EVOTING WORKSHOP
LUXEMBOURG, 15-16/10/2012
SUPERVISOR: PAZ MORILLO BOSCH
Verifiable Mixnets
INDEX
Introduction
Counting methods for electronic voting.
Verifiability of the counting process.
Verifiable Mixnets
Verificatum:
Properties of a permutation matrix.
Commitment to a permutation matrix.
Other approaches:
Vector Commitments.
Cryptographic Accumulators.
2
INTRODUCTION
 Counting methods for electronic voting:
In case encrypted votes are linked to voter identities (digitally
signed), the counting phase has to implement procedures for
preserving vote secrecy.
3
INTRODUCTION
 Counting methods for providing vote secrecy:
Homomorphic tally:
Poor scalability and flexibility.
4
INTRODUCTION
 Verifiability of the counting process:
Homomorphic tally:
5
undefined
VERIFICATUM
6
Verifiable Mixnets
Verificatum: a verifiable mixnet
7
Based in two papers:
D. Wikström. A Commitment-Consistent Proof of a Shuffle.
2011.
Generic design of a mixnet verification process divided in two
phases.
The heavier computations are moved to a pre-computation phase.
B. Terelius, D. Wikström. Proofs of Restricted Shuffles.
AfricaCrypt 2010.
Use a matrix 
commitment
 to prove the properties of this matrix.
Define the properties of a permutation matrix.
undefined
8
D. Wikström. A Commitment-
Consistent Proof of a Shuffle. 2011.
How to proof that the
mixing has been
performed correctly?
Operations:
Shuffle or permutation.
Re-encryption.
undefined
9
D. Wikström. A Commitment-
Consistent Proof of a Shuffle. 2011.
Division in two
processes:
Offline
 or computed
before mixing.
Online 
or computed
during mixing.
B. Terelius, D. Wikström. Proofs of restricted
shuffles. 2010
10
Product of a matrix and a vector:
Permutation matrix:
Characteristics:
The product of the output elements is equal to the product of the
input elements:
No linear combinations are done:
That means: the output contains the same elements than the input.
Commitment to a permutation matrix
11
Pedersen commitment:
Commitment to a value 
m
:
Commit to a vector                               :
Commit to a matrix:
Commit to each column 
j
:
Commit all the columns 
a
j
 
together:
Commitment to a permutation matrix
12
Note that:
Remember:
The result of
multiplying vector
e
 by matrix 
M
.
Vector 
e
permuted as
defined by
matrix 
M
.
Commitment to a permutation matrix
13
Remember characteristics of 
M
:
The output contains the same elements than the input vector:
We will use:
No linear combinations are done:
We will use:
Commitment to a permutation matrix
14
Proofs over the commitment of 
M
:
From the commitment of      :
Where        is the permutation of
Prove that
The verifier checks that
     has an exponential form.
This is the heaviest part of the computation,
     but it’s done in the 
offline 
phase.
The prover has to
do step-by-step the
product of the
values 
e’
i
 .
Verificatum times
15
Java implementation.
Commitment to an initial matrix of 18.284
votes, mixing of 9.142 votes.
I5-2400 8GB RAM
3VMs (1 core, 2GB RAM)
VirtualBox 4.1.18
Verificatum 1.0.7.
undefined
OTHER APPROACHES
16
Verifiable Mixnets
undefined
17
D. Catalano and D. Fiore. Vector
Commitments and their
Applications. 2011.
* Commitment to a
vector of 
q
 messages.
* The commitment can
be 
opened
 to a specific
position.
* Position binding: the
commitment cannot be
opened to two different
values for the same
position.
* Size of commitment
and openings is
independent of 
q
.
* Commitment and
openings are updatable.
Proving mixing with Vector Commitments
18
Idea: we want to prove that we have commited to a
permutation matrix (like Wikström).
Commit to each row of 
M
 with a Vector Commitment.
Make an opening to value ‘0’ that can be used for all positions
but one.
Make an opening to value ‘1’ for one position.
Without revealing that position.
Vector Commitments shall allow relating the commited matrix
to the operations of the Mixnet.
Only one ‘1’per
column and row.
Idea: what does it mean to make a shuffle?
Messages before and after are
     the same, but in different order.
Vector Commitments are position binding: prove both vectors have the
same elements in different positions.
Pass a test vector through the
    permutation matrix (hidden) and
    give the Vector Commitment of the
    output.
Prove properties of the commited
    output.
Proving mixing with Vector Commitments
19
Prove them in zero
knowledge.
undefined
20
J. Camenish and A. Lysyanskaya.
Dynamic Accumulators and
Application to Efficient Revocation
of Anonymous credentials. 2002.
* Compress a list of 
q 
elements
into a single accumulator value.
* For each element, a witness 
w
attests that it is in the
accumulator.
* Camenish and Lysyanskaya:
prove in zero knowledge that
an element is in the
accumulator.
* Can be used to prove in zero
knowledge that an element
belongs to a set.
* The accumulator can be
updated to allocate new values.
* Universal accumulators  (J.
Li, N. Li, R. Xue. Universal
Accumulators with Efficient
Non-membership Proofs.
2007.) allow also to issue
proofs of non-membership.
Proving mixing with Vector Commitments and
Accumulators
21
Idea: we want to prove that two vectors contain the same
values but in different order (without learning that
order).
Compare the vector commitment of  the output does not open to the
same values than in the input for all the positions 
in zero
knowledge!
Use a cryptographic accumulator to represent the set of input values,
and demostrate that all the output values in the vector commitment
are contained in the accumulator.
undefined
Challenges
Make Vector Commitments
homomorphic in some way:
Vector Commitments shall allow
relating the committed values to the
operations of the mixnet.
We want to be able to relate a
committed vector to values in an
accumulator.
Achieve Zero-Knowledge
properties:
We want to prove a position can be
opened to a value without revealing
that position.
22
Slide Note
Embed
Share

Explore the concept of verifiable mixnets in electronic voting systems through topics like counting methods, preserving vote secrecy, and verifiability of the counting process. Learn about Verificatum, commitment schemes, and proof techniques for ensuring mixing correctness in voting processes.

  • Verifiable Mixnets
  • Electronic Voting
  • Verifiability
  • Privacy Preservation
  • Cryptographic Protocols

Uploaded on Dec 08, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author.

E N D

Presentation Transcript


  1. Verifiable Mixnets SANDRA GUASCH CASTELL PHD EVOTING WORKSHOP LUXEMBOURG, 15-16/10/2012 SUPERVISOR: PAZ MORILLO BOSCH

  2. INDEX 2 Introduction Counting methods for electronic voting. Verifiability of the counting process. Verifiable Mixnets Verificatum: Properties of a permutation matrix. Commitment to a permutation matrix. Other approaches: Vector Commitments. Cryptographic Accumulators.

  3. INTRODUCTION 3 Counting methods for electronic voting: In case encrypted votes are linked to voter identities (digitally signed), the counting phase has to implement procedures for preserving vote secrecy.

  4. INTRODUCTION 4 Counting methods for providing vote secrecy: Homomorphic tally: Poor scalability and flexibility.

  5. INTRODUCTION 5 Verifiability of the counting process: Homomorphic tally:

  6. Verifiable Mixnets 6 VERIFICATUM

  7. Verificatum: a verifiable mixnet 7 Based in two papers: D. Wikstr m. A Commitment-Consistent Proof of a Shuffle. 2011. Generic design of a mixnet verification process divided in two phases. The heavier computations are moved to a pre-computation phase. B. Terelius, D. Wikstr m. Proofs of Restricted Shuffles. AfricaCrypt 2010. Use a matrix commitment to prove the properties of this matrix. Define the properties of a permutation matrix.

  8. 8 How to proof that the mixing has been performed correctly? Operations: Shuffle or permutation. Re-encryption. D. Wikstr m. A Commitment- Consistent Proof of a Shuffle. 2011.

  9. 9 Division in two processes: Offline or computed before mixing. Online or computed during mixing. D. Wikstr m. A Commitment- Consistent Proof of a Shuffle. 2011.

  10. B. Terelius, D. Wikstrm. Proofs of restricted shuffles. 2010 10 Product of a matrix and a vector: Permutation matrix: Characteristics: The product of the output elements is equal to the product of the input elements: No linear combinations are done: That means: the output contains the same elements than the input.

  11. Commitment to a permutation matrix 11 Pedersen commitment: Commitment to a value m: Commit to a vector : Commit to a matrix: Commit to each column j: Commit all the columns ajtogether:

  12. Commitment to a permutation matrix 12 Note that: Vector e permuted as defined by matrix M. The result of multiplying vector e by matrix M. Remember:

  13. Commitment to a permutation matrix 13 Remember characteristics of M: The output contains the same elements than the input vector: We will use: No linear combinations are done: We will use:

  14. Commitment to a permutation matrix 14 Proofs over the commitment of M: From the commitment of : The prover has to do step-by-step the product of the values e i . Where is the permutation of Prove that The verifier checks that has an exponential form. This is the heaviest part of the computation, but it s done in the offline phase.

  15. Verificatum times 15 Java implementation. Commitment to an initial matrix of 18.284 votes, mixing of 9.142 votes. minutes 87,09 23,17 59,17 Offline: Commitment to a matrix Check matrix commitment: Pre-generate re-encryption exponents: Online: 4,76 18,04 Perform mixing: 0,02 Prove mixing: Validate mixing: 3,97 14,05 I5-2400 8GB RAM 3VMs (1 core, 2GB RAM) VirtualBox 4.1.18 Verificatum 1.0.7.

  16. Verifiable Mixnets 16 OTHER APPROACHES

  17. 17 * Commitment to a vector of q messages. D. Catalano and D. Fiore. Vector Commitments and their Applications. 2011. * The commitment can be opened to a specific position. * Position binding: the commitment cannot be opened to two different values for the same position. * Size of commitment and openings is independent of q. * Commitment and openings are updatable.

  18. Proving mixing with Vector Commitments 18 Idea: we want to prove that we have commited to a permutation matrix (like Wikstr m). Only one 1 per column and row. Commit to each row of M with a Vector Commitment. Make an opening to value 0 that can be used for all positions but one. Make an opening to value 1 for one position. Without revealing that position. Vector Commitments shall allow relating the commited matrix to the operations of the Mixnet.

  19. Proving mixing with Vector Commitments 19 Idea: what does it mean to make a shuffle? Messages before and after are the same, but in different order. Vector Commitments are position binding: prove both vectors have the same elements in different positions. Pass a test vector through the permutation matrix (hidden) and give the Vector Commitment of the output. Prove properties of the commited output. Prove them in zero knowledge.

  20. 20 J. Camenish and A. Lysyanskaya. Dynamic Accumulators and Application to Efficient Revocation of Anonymous credentials. 2002. * Compress a list of q elements into a single accumulator value. * For each element, a witness w attests that it is in the accumulator. * Camenish and Lysyanskaya: prove in zero knowledge that an element is in the accumulator. * Can be used to prove in zero knowledge that an element belongs to a set. * The accumulator can be updated to allocate new values. * Universal accumulators (J. Li, N. Li, R. Xue. Universal Accumulators with Efficient Non-membership Proofs. 2007.) allow also to issue proofs of non-membership.

  21. Proving mixing with Vector Commitments and Accumulators 21 Idea: we want to prove that two vectors contain the same values but in different order (without learning that order). Compare the vector commitment of the output does not open to the same values than in the input for all the positions in zero knowledge! Use a cryptographic accumulator to represent the set of input values, and demostrate that all the output values in the vector commitment are contained in the accumulator.

  22. 22 Make Vector Commitments homomorphic in some way: Vector Commitments shall allow relating the committed values to the operations of the mixnet. We want to be able to relate a committed vector to values in an accumulator. Achieve Zero-Knowledge properties: We want to prove a position can be opened to a value without revealing that position. Challenges

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#