+ All Categories
Home > Documents > RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels...

RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels...

Date post: 14-Dec-2015
Category:
Upload: adriel-albury
View: 212 times
Download: 0 times
Share this document with a friend
Popular Tags:
32
RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories
Transcript
Page 1: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

RPC Mixing:Making Mix-Nets Robust for

Electronic Voting

Ron RivestMIT

Markus Jakobsson Ari Juels RSA Laboratories

Page 2: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

What does a mix network do?

message 1

message 2

message 3

message 4

Randomly permutes and decrypts inputs

Mix network

Page 3: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

What does a mix network do?

message 2

Key property: Adversary can’t tell which ciphertext corresponds

to a given message

?

Page 4: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Example application: Anonymizing bulletin board or e-mail

From Bob

From CharlieFrom Alice

Page 5: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

From Bob

From CharlieFrom Alice

“I love

Alice”

“Nobody loves Bob”

“Ilove

Charlie”

Is it Bob, Charlie,

self-love, or other?

Example application: Anonymizing bulletin board or e-mail

Page 6: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Our focus: Voting

Digitally signed by

Eve Digitally signed by

Charlie

Digitally signed by

CharlieDigitally signed by

Bob

Digitally signed by

Alice

A vote forAl G re

A vote forG.W. Bush

A vote forAl Gore

A vote forG.W. Bush Final Tally:

Bush 2

Gore 1

Page 7: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

A look under the hood

Page 8: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Basic Mix (Chaum ‘81)

Server 1 Server 2 Server 3

PK1 PK2PK3

Page 9: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Encryption of Message

PK1 PK2PK3

message

Ciphertext = EPK1[EPK2[EPK3[message]]]

Page 10: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Basic Chaumian Mix

Server 1 Server 2 Server 3

m1

m2

m3

m2

m3

m1

decrypt

and

permute

m2

m1

m3

decrypt

and

permute

decrypt

and

permute

m2

m3

m1

Page 11: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Basic Chaumian Mix

m1

m2

m3

m2

m3

m1

decrypt

and

permute

m2

m1

m3

decrypt

and

permute

decrypt

and

permute

m2

m3

m1

Observe: As long as one server is honest,

privacy is preserved

Page 12: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Basic Chaumian Mix

Server 1 Server 2 Server 3

m3?

Page 13: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

What if one server fails?

Server 1 Server 2 Server 3

SK2

•Privacy now requires a majority of honest servers•Tolerance of minority of server failures

•Solution idea: Share key among others

Page 14: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

ballot ballot Lenin LeninLenin

What if one server cheats?

Solution idea: •Have each server prove that it permuted and decrypted correctly

Page 15: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Robust Mix

Server 1 Server 2 Server 3

m1

m2

m3

m2

m3

m1

decrypt,

permute,

and prove

correct

m2

m1

m3

decrypt, permute,

and prove

correct

decrypt,

permute,

and prove

correct

m2

m3

m1

Page 16: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Practical Robust Mixes

Jakobsson “Flash Mix” (PODC ‘99)– Mitomo and Kurosawa (AC ‘00)– Secure only for large input sizes– Only for El Gamal

Desmedt and Kurosawa (EC ‘00)– Good only if O(n1/2) of servers corrupted

Page 17: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Practical Robust Mixes Neff (ACM CCS ‘01) ; Furukawa-

Sako (Crypto ‘01) (renamed “shuffling”)

– All desired properties– Only for El Gamal– Computationally intensive

Golle (ACM CCS ‘02) – Some similarity in technique with RPC– Only for El Gamal– Speed for El Gamal somewhat better than RPC

Page 18: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Practical Robust Mixes Golle, Zhong, Boneh, Jakobsson, Juels

(Asiacrypt ‘02)– Only for El Gamal– Speed for El Gamal somewhat better than RPC

Our Randomized Probabilistic Checking (RPC) mix– Conceptually simple– Very efficient -- particularly for RSA– Works with RSA, El Gamal, etc.– Aimed at voting

Page 19: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Proving correctness in RPC

Server i

decrypt and

permute

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

Page 20: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Proving correctness in RPC

Server i

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

Page 21: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Proving correctness in RPC

Server i

Very efficient proof/verification! – Particularly with RSA

Each ballot operation checked with probability 1/2

If Server i cheats on k ballots, it is caught with probability 1 - 2k – e.g., changing 20 ballots means 99.9999%

of detection

Page 22: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Proving correctness in RPC

Server i

Example: Florida tally in 2000 Presidential election– 2,910,074 Bush; 2,909,114 Gore– Tampering with 480 ballots needed to

change outcome– Probability of catching cheating 1 - 2-480

– Smaller than probability of being hit by meteor during this session

Page 23: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Privacy in RPC

Server 1 Server 2 Server 3 Server 4

Bob

Alice

Carl

Delia

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

Gore

Gore

Bush

Bush

Page 24: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Privacy in RPC

Server 1 Server 2 Server 3 Server 4

Bob

Alice

Carl

Delia

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

Gore

Gore

Bush

Bush

!!!!!!

Page 25: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Privacy in RPC

Chance of privacy breach small with correct parameterization– Needs many servers (or rounds)

We can do better...

Page 26: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Server pairing

Server 2i Server 2i+1

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

Page 27: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Server pairing

Server 2i Server 2i+1

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

Left or

right?

ballot

ballot

ballot

Page 28: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Server pairing

Server 2i Server 2i+1

Private provided that at least one pair of servers is uncorrupted– Thus, private if minority corrupted– Each ballot concealed among half of total

Correct because forward link on any ballot checked with probability 1/2

Page 29: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Public verifiability

Server 1 Server 2 Server 3 Server 4

Bob

Alice

Carl

Delia

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

ballot

Gore

Gore

Bush

Bush

???

Page 30: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Public verifiability

Server 1 Server 2 Server 3 Server 4

Idea: Inspection coins depend on hash of full set of ballots

Suppose election threshold is d– Recall Florida threshold was 960

Attacker must (roughly) try number of hashes 2d/2 to swing election undetected

Page 31: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Public verifiability

Server 1 Server 2 Server 3 Server 4

If threshold d is small, use a more expensive mix– e.g., Neff, Furukawa/Sako

Page 32: RPC Mixing: Making Mix-Nets Robust for Electronic Voting Ron Rivest MIT Markus Jakobsson Ari Juels RSA Laboratories.

Final Remarks

Good for applications other than voting? Paper (with details) available on

homepages of three authors, at:– Google “Markus Jakobsson homepage” – Google “Ari Juels homepage”– Google “Ron Rivest homepage”

Idea is unpatented Implementation warmly welcomed


Recommended