O ={(0,A), (1,A), (2,A), (3,B), (4,B), (5,B), (6,A),
(7,B)}. Figure 2(b) describes the setup.
For our small example, the chance of breaching
privacy is reasonably high if RPC is used. In practice,
the output of a mixnet will have a large number of
ballots and the chance that an unfortunate partition-
ing is performed by the auditors drops exponentially.
However, this probability never reaches zero.
Let’s consider a single function F. Let F
1
: Z
8
→
P where P = Z
8
(P stands for partially decrypted),
and assume the coin flips divided the set P into
P
left
= {0,2,3,7} and P
right
= {1,4,5,6}. While
RPC reveals the actual one to one mappings, for this
exemplification we are only interested in the overall
sets. Assume that the pre-image of the set P
left
is
I
left
= F
−1
1
(P
left
) = {1,4, 5, 7} and the post-image
of the set P
right
is O
right
= F
2
(P
right
) ={(0,A), (1,A),
(2,A), (6,A)} (see Figure 2(b)).
Because F
1
is a bijection and F
2
is one to one,
it can be easily inferred that I
right
= {0,2,3,6} and
F(I
right
) = O
right
={(0,A),(1, A),(2,A), (6,A)} and
thus that all the inputs {0,2,3,6} correspond to votes
for the same candidate, A. While no one knows to
which particular element from O
right
any element
from I
right
goes to, this is irrelevant, since all of them
represent the same message (a vote for candidate A).
All the other inputs, thus, correspond to candidate B.
4.1 Problems with Linked Fs
Assume we have the same output as in the previ-
ous case O ={(0,B,), (1,A), (2,B), (3,A), (4,B), (5,B),
(6,A), (7,A)}. In the case of linked Fs the output is
the same for any F
i
. Assume we have two linked
F
i
s. Following the same audit procedure for each of
the F
i
s, assume we obtain I
1
left
= {0, 1, 2, 3}, O
1
left
= {(0,B), (1,A), (2,B), (5,B),}; I
1
right
= {4, 5, 6, 7},
O
1
right
= {(3,A), (4,B), (6,A), (7,A)}; I
2
left
= {0, 1, 4,
5}, O
2
left
= {(2,B), (3,A), (4,B), (5,B)}; I
2
right
= {2, 3,
6, 7}, O
2
right
= {(0,B), (1,A), (6,A), (7,A)}.
When analyzing only F
1
, we can see that the in-
puts in I
1
left
= {0, 1, 2, 3} are more likely to cor-
respond to Bs, because O
1
left
= {(0,B), (1,A), (2,B),
(5,B),} (a 75% chance as opposed to a 50% chance).
If we intersect I
1
left
with I
2
left
and O
1
left
with O
2
left
,
we can extract further information. I
12
left
= I
1
left
T
I
2
left
= {0,1}; O
1
left
T
O
2
left
= {(2,B), (5,B)} and there-
fore we know that the inputs {0,1} correspond to the
same message, B. Applying the same logic I
12
right
=
I
1
right
T
I
2
right
= {6,7}; O
1
right
T
O
2
right
= {(6,A), (7,A)},
and thus we’ve found another two inputs that corre-
spond to the same message, A.
4.2 Problems with Unlinked Fs
Assume we have the same output as in the previous
case O = {(0,B,), (1,A), (2,B), (3,A), (4,B), (5,B),
(6,A), (7,A)}. In the case of unlinked Fs the messages
carried by the output are the same (and in the same
proportion), but the order of the messages is different
for each F
i
s. The main difference from the previous
example is that we cannot intersect the outputs of F
i
s,
as the first element in the output pair may not rep-
resent the same output (each F
i
performs a different
shuffle, but produces the same unordered set of mes-
sages). For simplification, we drop the first element
of the output from our analysis and prove that there
may be situations in which privacy is still lost.
Like in the previous case, assume we only have
two F
i
s. Following the same audit procedure for each
of the F
i
s, assume we obtain I
1
left
= {0, 1, 2, 3}, O
1
left
= {B, A, B, B,}; I
1
right
= {4, 5, 6, 7} , O
1
right
= {A, B,
A, A}; I
2
left
= {0, 1, 4, 5}, O
2
left
= {B, A, B, B}; I
2
right
= {2, 3, 6, 7}, O
2
right
= {B, A, A, A}.
We compute I
12
left right
= I
1
left
T
I
2
right
={2, 3} and
run through the possible messages of these two inputs
{2,3}. It cannot be that both have As correspondingto
them, since O
1
left
does not contain two As; similarly, it
cannot be that both are Bs, since O
2
right
does not have
two Bs. So it must be that one is A and one is B. But
if we remove one A and one B from O
1
left
we get two
Bs, thus it must be that inputs {0,1}=I
1
left
/{2,3} both
correspond to Bs. Following the same logic, inputs
{6,7}=I
2
right
/ {2,3} both correspond to As. Thus we
have completely broken the privacy of four messages.
5 DESCRIBING SRPC
We present a technique, Safe RPC, that ensures there
is no privacy leakage (as per definition from sec-
tion 3) whenever possible. SRPC ensures that ∀x ∈
{1,2,..., n} p
x
= p
′
x
, and therefore p
x
− p
′
x
= 0 re-
sulting in no ε strictly greater than zero such that
|
p
x
−p
′
x
p
x
| = 0 ≥ ε.
Our technique is based on the observation that the
random choices can be made on the output of the
mixnet, as opposed to the output of the first mix. We
suggest to divide the output of the mixnet into two
SECRYPT 2010 - International Conference on Security and Cryptography
168