J. Software Engineering & Applications, 2010, 3, 709-717
doi:10.4236/jsea.2010.37081 Published Online July 2010 (http://www.SciRP.org/journal/jsea)
Copyright © 2010 SciRes. JSEA
709
Secure Multi-Party Proof and its Applications
Chunming Tang1,2, Shuhong Gao3
1School of Mathematics and Information Sciences, Guangzhou University, Guangzhou, China; 2State Key Laboratory of Information
Security, Chinese Academy of Science, Beijing, China; 3Department of Mathematical Sciences, Clemson University, Clemson, USA.
Email: ctang@gzhu.edu.cn
Received April 30th, 2010; revised May 24th, 2010; accepted June 1st, 2010.
ABSTRACT
We define a new type cryptographical model called secure multi-party proof that allows any
t
players and a verifier
to securely compute a function ),...,( 1t
xxf : each of the players learns nothing about other players’ input and about the
value of f, and the verifier obtains the value of fand it’s validity but learns nothing about the input of any of the
players. It is implemented by a protocol using oblivious transfer and Yao’s scrambled circuit. We prove that our proto-
col is secure if the players and the verifier are semi-honest (i.e. they follow the protocol) and polynomial time bounded.
The main applications of our protocol are for electronic voting and electronic bidding.
Keywords: Multi-Party Proof, Multi-Party Computation, Electronic Voting, Electronic Bidding
1. Introduction
1.1 Secure Multi-Party Computation and its
Disadvantage
In a secure multi-party computation, a set of n par-
ties with private inputs wish to jointly and securely
compute a function that depends on the individual in-
puts of the parties. This computation should be such
that each party receives its correct output (correctness),
and none of the parties learn anything beyond their
prescribed output (privacy). For example, in an election
protocol, correctness ensures that no coalition of par-
ties can influence the outcome of the election beyond
just voting outcome for their preferred candidate, whe-
reas privacy ensures that no parties learn anything
about the individual votes of other parties. Secure mul-
ti-party computation can be viewed as the task of car-
rying out a distributed computation, while protecting
honest parties from the malicious manipulation of dis-
honest (or corrupted) parties.
In all secure multi-party computation, only partici-
pants obtain information about the value of the func-
tion
f
computed. In some applications, some party
say an arbiter, other than the participants, may want to
know the function value and needs to be sure of its
validity, yet the arbiter learns nothing about the secret
inputs of the participants. Here’s a possible scenario.
Assume a company needs to appoint a new manager for
a department. The administrators of the company hope
that the manager is elected by the staff in this depart-
ment only. The staff could elect a new manager by us-
ing an electronic voting protocol from a secure multi-
party computation. However, these administrators are
usually not in this department, hence they may not be
convinced that the election result is valid.
Another main application of secure multi-party com-
putation is the design of electronic bidding protocols.
Usually, all participants jointly run a secure multi-party
computation protocol and decide the winner; as a result,
only all participants know who the winner is. However,
the sponsor in any electronic bidding is not a partici-
pant; hence the sponsor may not be sure about the
winner. Also, in some time the participants may not be
allowed to know the winner, as the winner wants to be
kept anonymous.
1.2 Our Contributions
We define a new type cryptographical model called se-
cure multi-party proof that allows any t players and a
verifier to securely compute a function 1
( ,...,)
t
f
xx. The
model requires the following properties: each of the
players learns nothing about other players’ input and nor
any information about the value of
f
, and the verifier
obtains the value of
f
and it’s validity but learns noth-
ing about the input of any of the players. We implement
this model by a protocol using oblivious transfer and
Secure Multi-Party Proof and its Applications
Copyright © 2010 SciRes. JSEA
710
Yao’s scrambled circuit. We prove that our protocol is
secure if the players and the verifier are semi-honest (i.e.
they follow the protocol) and polynomial time bounded.
Based on our secure multi-party proof, our protocol can
be used for electronic voting and electronic bidding.
1.3 Related Work
A great deal of work has been done about secure mul-
ti-party computation. Secure computation for two parties
was first formulated by Yao [1] in 1982. In [2,3], Lindell
and Pinkas gave a complete and explicit proof of Yao’s
protocol for secure two-party computation. Goldreich,
Micali and Wigderson [4] showed how to securely com-
pute any multivariate function (even if malicious adver-
saries are present); see [5] for complete proof of their
results. Ben-Or, Goldwasser and Wigderson [6] (and,
independently, Chaum, Crepeau and Damgard [7]) study
secure multiparty computation in the secure channels
setting. They show that: 1) If the adversary is eavesdrop-
ping then there exist

21
n

 -secure protocols for
computing any function. 2) If the adversary is Byzantine,
then any function can be

31
n

 -securely computed.
Furthermore, they show that these bounds on the number
of corruptions are tight. These protocols can be shown
secure in the presence of non-adaptive adversaries.
Adaptive security (i.e., security in the presence of adap-
tive adversaries) is provable in certain variants of this
setting.
Goldwasser and Levin [8] study the case of Byzantine
adversaries where a majority of the parties may be cor-
rupted. Chor and Kushilevitz [9] deal with secure multi-
party computation with majority of the parties corrupted
in the secure channels setting. Goldreich, Goldwasser
and Linial [10] study secure multiparty computation in
the presence of insecure channels and computationally
unlimited adversaries. Ostrovsky and Yung [11] study
secure multiparty computation in the presence of secure
channels and mobile adversaries. Micali and Rogaway
[12], and also Beaver [13], propose definitions for secure
multiparty computation in the secure channels setting in
the presence of adaptive adversaries. Other types of se-
cure multi-party computation include adaptively secure
multi-party computation [14], almost-everywhere secure
computation [15], concurrent secure multi-party compu-
tation [16], and fair multi-party computation [17-19] and
so on.
1.4 Organization
The paper is organized as follows. We start with some
basic definitions and tools in Section 2. Section 3 gives a
formal model of secure multi-party proof. Section 4 con-
structs a secure multi-party proof for any polynomial-
time computable function if all participants are semi-
honest. Section 5 provides a general method to construct
a protocol that can be used for electronic voting and
electronic bidding. Finally, Section 6 outlines concluding
remarks and future directions.
2. Preliminary and Basic Tools
Let n denote a positive integer. We say that a function
()n
is negligible in n (or just negligible) if, for
every polynomial()pn , we have ()1/ ()npn
for all
sufficiently largen. Let S be an infinite set and the
size of an element
s
S
is denoted by
s
. Suppose
{}
s
sS
XX
and {}
s
sS
YY
are two ensembles of
random distributions (or random variables). We say that
X
and Y are computationally indistinguishable if, for
every non-uniform polynomial-time distinguisherD, the
absolute difference Pr(()1) Pr( ( )1)
ss
DX DY is
negligible in
s
(for
s
S
). For a probabilistic ma-
chine
M
, we denote by ()
M
x the output of
M
when
the input is
x
. The value ()
M
x is a probabilistic dis-
tribution, as it depends on some random values from an
internal random tape used by the machine.
Semi-honest Adversaries vs. Malicious Adversaries.
Loosely speaking, the aim of a secure multi-party proto-
col is to protect honest parties against dishonest behav-
iors by some other parties. Usually, adversaries are di-
vided into semi-honest and malicious adversaries.
A semi-honest adversary controls one of the parties
and follows the protocol specification exactly. However,
it may try to learn more information than allowed by the
protocol via analyzing the transcript of messages re-
ceived.
A malicious adversary may arbitrarily deviate from the
specified protocol. When considering malicious adver-
saries, there are certain undesirable actions that cannot be
prevented. Specifically, a party may refuse to participate
in the protocol or substitute its local input (and use in-
stead a different input). The adversary may also abort the
protocol prematurely so that the adversary may obtain its
output while the honest party does not.
In this paper, we assume that all parties or adversaries
are semi-honest.
Special Symmetric Encryption. In [2], a special
symmetric encryption scheme was constructed that has
indistinguishable encryption for multiple messages. This
means that for any two messages
x
and
y
, no polyno-
mial-time adversary can distinguish an encryption of
x
from that of
y
.
Definition 1 Let (,, )GED be a symmetric encryp-
tion scheme and let the range of a key k denoted by
() {():{0,1}}
n
nk
RkEx x.
Secure Multi-Party Proof and its Applications
Copyright © 2010 SciRes. JSEA
711
1) We say that (,, )GED has an elusive range if, for
every probabilistic polynomial-time machine
M
and
for every polynomial()pn , we have
Pr(( )( ))1/( )
n
M
kRk pn
for sufficiently large n, where k is a random binary
string of length n.
2) We say that (,, )GED has an efficiently verifiable
range if there exists a probabilistic polynomial time ma-
chine
M
such that (1 ,,)1
n
Mkc if and only if
()
n
cRk.
By convention, for every ()
n
cRk, we let
()
k
Dc .
In [2], Y. Lindell and B. Pinkas give a simple con-
struction of a special symmetric encryption scheme. Let
{}
k
F
f be a family of pseudorandom functions [11],
where 2
:(0,1} {0,1}
nn
k
ffor {0,1}n
k. Then define
() (,()0)
n
kk
Exrfr x
where {0,1}n
x, {0,1}n
R
r and 0n
x
denotes the con-
catenation of
x
and 0n.
Oblivious Transfer. We will briefly describe the ob-
livious transfer protocol of [20]. This protocol is secure
in the presence of semi-honest adversaries. Our descrip-
tion will be for the case that 01
,{0,1}xx; when consid-
ering semi-honest adversaries, the general case can be
obtained by running the single-bit protocol many times in
parallel. It is assumed that there is a family of permuta-
tions with trapdoors, so the permutations are one-way
functions if the trapdoors are not given. Furthermore,
()Bx is a hardcore bit of the one-way functions, so
computing ()Bx is equivalent to inverting the one-way
functions (without using the trapdoors).
Suppose 1
P has two bits 01
,{0,1}xx and 2
P has
{0,1}
. The goal is for 1
P to transfer
x
to 2
P but
1
P does not know which of the two bits was transferred.
This is called a 1-out-of-2 oblivious transfer.
Oblivious Transfer Protocol
1) 1
P randomly chooses a permutation-trapdoor pair
(,)Et from a family of trapdoor permutations. 1
P
sends E (but not the trapdoor t) to 2
P.
2) 2
P chooses a random
in the domain of E
and computes

f
. In addition, 2
Pchooses a
random 1
in the range of E. 2
Psends
01
,
to 1
P.
3) 1
Puses the trapdoort and computes 1
0E

0
and

1
11
E
. Then computes
000
bB x

and
111
bB x
, whereBis a hard-core bit of E.
Finally, 1
P sends
01
,bb to2
P.
4) 2
Pcomputes
x
Bb

, which is the bit
transferred to 2
P by 1
P.
It was proven in [21] that the above protocol is secure
if both of 1
P and 2
P are semi-honest.
3. Definition of Secure Multi-Party Proof
Suppose there aretplayers 12
,,,
t
PP Pwith secret in-
puts 12
,,,
t
x
xx, respectively, and a verifier V. We as-
sume that all the players and the verifier are computation-
ally bounded. In addition, assume that

12
,,,
t
f
xx xis
a polynomial-time computable function, so it has a poly-
nomial size circuit.
Definition 2. A multi-party Proof consists of two
sub-protocols:
Computation sub-protocol: It is an ordinary mul-
ti-party computation among the players12
,,,
t
PP P. The
goal is to compute a value for each player, say i
m for
i
P for1it
. Each value i
mdepends on i
xand a
random binary stringi
r, both of them are kept secret by
player i
P for1it
. Each player does not gain any
information about
12
,,,
t
f
xx xand any information
on other players’ inputs. Then each playeri
Psends se-
cretly i
m to V, 1it
.
Proof sub-protocol: In this sub-protocol, the verifier
Vcomputes the value
12
,,,
t
f
xx x from12
,,,mm
t
m and verifies its validity.
When defining security of multi-party proof, we have
to consider the security of each of the two sub-protocols.
The computation sub-protocol is an ordinary multi-party
computation which allows a set of mutually distrusting
parties to compute a function in a distributed way while
guaranteeing (to the extent possible) the privacy of their
local inputs and the correctness of the outputs. To be
more exact, security is typically formulated by compar-
ing a real execution of the protocol to an ideal execution
where the parties just send their inputs to a trusted party
and receive back their outputs. A real protocol is said to
be secure if an adversary can do no more harm in a real
execution than in an ideal execution (which is secure by
definition). The main security properties that have been
identified, and are implied by this formulation, are pri-
vacy (parties learn nothing more than their own output)
and correctness (the outputs are correctly computed).
In the proof sub-protocol, the verifier Vwill learn
nothing beyond the value of

12
,, t
f
xx x and its va-
Secure Multi-Party Proof and its Applications
Copyright © 2010 SciRes. JSEA
712
lidity, that is, Vonly obtains

12
,, t
f
xx x and its
validity. In another word, Vdoes not gain any informa-
tion about 12
,,,
t
x
xx yet is convinced that the values
of t
x
x
x
,,,21used in computing

12
,,,
t
f
xx x are
the same as claimed, and furthermore, the verifier obtains
the correct function value12
,,,
t
x
xx. This is defined
more formally as follows.
Definition 3 (Security of Multi-Party Proof)
A multi-party proof is secure if it satisfies the follow-
ing properties:
1) Correctness: Suppose each player1
P (fori
1, 2,, t) chooses random binary string i
r of length n.
Let 0
y be the final value computed by V from
12
,,,
t
mm m. Then 0
y is equal to

12
,,,
t
f
xx x
with high probability, that is, the probability Pr(0
y

12
,,,
t
f
xx x) is negligible as a function of n.
2) Privacy: For each playeri
P,1it, let i
M
be all
the message thati
Pobtains from all other players in the
computation sub-protocol. The protocol is said to have
privacy for all the players if, for each1it, there ex-
ists a bounded probabilistic polynomial time simula-
tor Sisuch thati
M
is indistinguishable from the out-
put

1n
i
S of the simulatorSi.
For the verifier V, let

12
,,,
vt
M
mm mdenote
all the messages received from the players. We say that
the protocol has privacy for Vif there exists a bounded
probabilistic polynomial time simulator v
S so that v
M
is indistinguishable with the output
n
v
S1 of the simu-
lator v
S.
Also, none of the players learn anything about the
function value computed.
3) Validity: The validity includes the two following
properties:
a) Vcan verify with high probability that the value
i
m is correctly computed from the claimed value of
, 1
i
x
it, all of which are kept secret from V.
b) Vcan verify the correctness of 0
y. Assume the
function
f
is given as a boolean circuit C. Then V
can verify every gate’s computation from the input wires
to the output wires.
4. Construction of Secure Multi-Party Proof
In this section, we will construct a secure multi-party
proof for any polynomial-time computable function

12
,, t
f
xx x if all players1,,
n
PPare semi-honest.
4.1 Two-Party Computation Secure against
Semi-Honest Adversaries
We firstly describe the construction of secure two-party
computation (for semi-honest adversaries) due to Yao [1].
We follow the description by [2,3] where it is proven to
be secure against semi-honest adversaries.
Let Cbe a Boolean circuit that receives two inputs
,0,1
n
xy and outputs
 
,0,1
n
Cxy (for simplic-
ity, we assume that the input length, output length and
the security parameter are all n). We also assume that
C has the property that every gate with a circuit-output
wire has no other outgoing wires. We begin by describ-
ing the construction of a single garbled gate g inC.
The circuit C is Boolean, and therefore any gate is rep-
resented by a function
: 0,10,10,1g. Let the
two input wires to
g
be labeled 1
and2
.
g
may
have several outgoing wires, but all of them are labeled
by the same symbol3
. Furthermore, let010
112
,,,kkk
101
233
,,kkk be six random keys obtained by independently
invoking the keygeneration algorithm

1n
G; for sim-
plicity, assume that these keys are also of length n. In-
tuitively, we wish to be able to compute
,
3
g
k
from
1
k
and 2
k
, without revealing any of the other three
values,

1, ,1
33
,
gg
kk


, and

1,1
3
g
k
. The garbled
gate
g
is defined by the following four values


00
12
0,0
0,0 3
g
kk
cEEg


01
12
0,1
0,13
g
kk
cEEg


10
12
1,0
1,03
g
kk
cEEg


11
12
1,1
1,1 3
g
kk
cEEg
where E is from a private key encryption scheme
,,GED that has indistinguishable encryptions for mul-
tiple messages, and has an elusive efficiently verifiable
range [2,3]. The actual gate is defined by a random per-
mutation of the above values, denoted as 0123
,, ,cccc;
from here on we call them the garbled of gate
g
. Notice
that given 1
k
and 2
k
, and these values 0123
,, ,cccc, it
is possible to compute the output of the gate

,
3
g
k
as
follows. For everyi, computes


1
2i
k
k
DDc

. If there
are more than one decryption then returns a non-
value, then output abort. Otherwise, define 3
k
to be the
Secure Multi-Party Proof and its Applications
Copyright © 2010 SciRes. JSEA
713
only non- value that is obtained. (Notice that if only a
single non- value is obtained, then this will be

,
3
g
k
because it is encrypted under the given keys
1
k
and 2
k
. Later we will show that except with negli-
gible probability, only one non- value is indeed ob-
tained.)
We are now ready to show how to construct the entire
garbled circuit. Let mbe the number of wires in the
circuit C, and let 1,,
m
be labels of these wires.
These labels are all chosen uniquely with the following
exception: if i
and
j
are both output wires from the
same gate
g
, thenij
(this occurs if the fan-out of
g
is greater than one). Likewise, if an input bit enters
more than one gate, then all circuit-input wires associated
with this bit will have the same label. Next, for every
label i
, choose two independent keys
01
,1
n
ii
kk G;
we stress that all of these keys are chosen independently
of the others. Now, given these keys, the four garbled
values of each gate are computed as described above and
the results are permuted randomly. Finally, the output or
decryption tables of the garbled circuit are computed.
These tables simply consist of the values
0
0, i
k
and

1
1, i
kwhere i
is a circuit-output wire. (Alterna-
tively, output gates can just compute 0 or 1 directly.
That is, in an output gate, one can define
1
,k
cE



2
,
k
Eg

for every
,0,1

).
The entire garbled circuit of C, denoted
GC ,
consists of the garbled table for each gate and the output
tables. We note that the structure of C is given, and the
garbled version of C is simply defined by specifying
the output tables and the garbled table that belongs to
each gate. This completes the description of the garbled
circuit.
Let 1,,
n
x
xx and1,,
n
yy y be two n-bit in-
puts for C. Furthermore, let 1,,
n
be the input
labels corresponding to
x
, and let 12
,,
nn
be the
input labels corresponding toy. It is shown in [2] that
given the garbled circuit

GC and the strings
11
112
,, ,,,
nn
x
y
xy
nn n
kkk k
, it is possible to compute

,Cxy, except with negligible probability. The com-
plete protocol is as followed.
Protocol 1 (Yao’s two-party protocol):
1) Inputs: 1
P has
0,1 n
xand 2
P has
0,1 n
y.
2) Auxiliary input: A boolean circuit C such that
for every
,0,1
n
xyit holds that

,,Cxyf xy,
where :{0,1} {0,1}{0,1}
nn n
f. We require that C is
such that every gate with a circuit-output wire has no
other outgoing wires.
3) The protocol
a) 1
Pconstructs the garbled circuit

GC as de-
scribed in above, and sends it to 2
P.
b) Let 1,,
n
be the circuit-input wires corre-
sponding to
x
, and let 12
,,
nn
be the circuit-input
wires corresponding to y. Then,
.i1
P sends 2
P the strings 1
1,,n
x
x
n
kk.
.ii For every ,i
iPand 2
P execute a 1-out-of-2 obli-
vious transfer protocol in which 1
P input equals
01
,
ni ni
kk
and 2
P’s input equals i
y.
The above oblivious transfers can all be run in parallel.
c) Following the above, 2
P has obtained the garbled
circuit and 2n keys corresponding to the 2n input
wires to C. Party 2
P then computes using the garbled
circuit, as described above, obtaining

f
x. 2
P then
sends the value
f
xto 1
P, and they both output this
value.
Assume that the oblivious transfer protocol is secure in
the presence of static semi-honest adversaries, and that
the encryption scheme has indistinguishable encryptions
for multiple messages, and has an elusive and efficiently
verifiable range. Then it is proved in [2] that Protocol 1
securely computes
f
in the presence of static semi-
honest adversaries.
4.2 Secure Multi-Party Proof against
Semi-Honest Adversaries
In this section, we will construct multi-party proof secure
against semi-honest adversaries for any polynomial time
computable function. We firstly construct a secure mul-
ti-party proof between two parties, then generalize it to a
secure multi-party proof for more than two participants.
4.2.1 Secure Two-Party Proof against Semi-Honest
Adversaries
Assume
f
x is a polynomial computable function, so
there exists a polynomial size boolean circuit C such
that for every ,{0,1}
n
xy it holds that
,Cxy
,
f
xy . Both
,
f
xy and Care public. We claim
that the following protocol is a secure two-party proof for
f
.
Protocol 2:
1) Input: 1
P has {0,1}n
xand 2
P has {0,1}n
y.
Secure Multi-Party Proof and its Applications
Copyright © 2010 SciRes. JSEA
714
2) Set-up:
a) Let 1,,
n
be the circuit-input wires corre-
sponding to
x
, and let 12
,,
nn
be the circuit-input
wires corresponding to y. Let s be the number of gates
in C excluding its circuit-input gates and circuit-output
gates
b) By running key generating algorithmG for
42nstimes, 1
Pgenerates 42ns independent
strings
01010101
1122212122
,,,,,,,,,,
nnn nnsns
kkkkk kkk
 

then constructs a garbled computation table for every
gate by using the special symmetric encryption described
in Section 2, and obtains a garbled circuit

GC which
consists of the garbled table for each gate and the output
tables. Finally, 1
P publicizes
GC , and keeps 0
1,k
101
122
,, ,
nsns
kkk

secret.
3) Computation Sub-protocol:
a) For every 1
1, inP and 2
Pexecute a 1-out-of-2
oblivious transfer protocol in which ,
1
Ps input equals

01
,
ni ni
kk

and ,
2
Ps
input equalsi
y.
b) The above oblivious transfers can be run by using
the oblivious transfer protocol in Section 2 and can be
done in parallel.
c) 1
P sends V the strings 1
1,,n
x
x
n
kk.
d) 2
P sends V the strings 1
12
,,n
y
y
nn
kk
.
4) Proof Sub-protocol:
Vhas obtained the garbled circuit
GC and 2n
keys corresponding to the 2n input wires to C. V
then computes and obtains
,
f
xy via

GC .
Proof: Correctness. It is correct by the design of the
garbled circuit.
Privacy. Assume that 1
P constructs the garbled cir-
cuit

GC for boolean circuit C. According to the obli-
vious transfer protocol in Section 2, all messages 1
P
obtains are


11 12212212
,,,,,,
nn
 
from
n1-out-of-2 oblivious transfer protocols between 1
P
and 2
P. In the transfer protocol, every ij
is chosen at
random. The simulator
M
for 1
P is just a pseudoran-
dom generator, see for example [12,16]. Let
1n
Mde-
notes the output of
M
which has length
2ij
nk k
.
Then

11 122122
(,, ,,,
 

12
,)
nn

and
1n
M
is computational indistinguishable. That is, privacy for
1
P is satisfied.
Now we consider privacy for 2
P. All messages2
P
obtains are
111122 2122
(,,,,,,,EbbE bb

12
,, ),
nn n
Eb b
where i
E is a permutation-trapdoor and pair
12
,
ii
bb
is random for 1, 2,,in
. Hence, privacy for 2
P is
satisfied by using a pseudorandom generator as a simu-
lator.
The privacy for both 1
P and 2
P implies that 1
P
and 2
P do not obtain any information on the other
player’s input.
Next we consider privacy forV in computation
sub-protocol. All messages V obtains are garbled cir-
cuit
12
12
,,,,
n
x
xx
n
GC kkk from1
P, and2
1
2
1,,,
n
y
y
n
kk
2
n
y
n
k from 2
P. The symmetric encryption algorithm used
in
GC is the special symmetric encryption scheme in
Section 2. Because the output of the symmetric encryp-
tion algorithm is random and both 12
12
,,,
n
x
xx
n
kk k and
12
12 2
,,,
n
y
yy
nn n
kkk

are random, privacy for V is satisfied
by using a pseudorandom generator as a simulator.
Finally, each player learns nothing about the function
value computed by V, since the player know nothing
about what other players send to the verifier.
Validity. Because all participants are semi-honest, the
validity of all the value i
m computed by i
P from i
x
holds automatically. To see the correctness of the value
,
f
xy , note that Vobtains

GC and12
12
,,,
xx
kk
n
x
n
k from 1
P, and 12
12 2
,,,
n
y
yy
nn n
kkk

from 2
P. Hence,
according to properties of special symmetric encryption,
he can compute
,
f
xy and verifies its validity by veri-
fying every gate’s computation from the circuit-input
wires to circuit-output wires.
4.2.2 Secure Multi-Party Proof against Semi-Honest
Adversaries
In this section, we will generalize two-party proof to
multi-party proof. Assume

1,,
t
f
xx is a polynomial
time computable function so there exists a boolean cir-
cuit C of polynomial size such that, for every 1,,x
{0,1}n
t
x, it holds that

11
,, ,,
tt
Cx xfxx.
Both
1,,
t
f
xx and C are made public.
Protocol 3:
1) Inputs: i
P has {0,1}n
i
x for 1,2,,.it
2) Set-up:
a) Let 12
,,,
ii in

be the circuit-input wires cor-
responding toi
x
for 1, 2,,.it
Let s denote the
Secure Multi-Party Proof and its Applications
Copyright © 2010 SciRes. JSEA
715
number of gates in the circuitC excluding its circuit-
input gates and circuit-output gates.
b) By running key generating algorithm G for
22tn s times, 1
P generates 22tn sindependent
strings 010 101
11
,,,,,,,
tntntn stn s
kkkkk k
 constructs a garbled
computation table for every gate by using special sym-
metric encryption in Section 2, and obtains a garbled
circuit

GC which consists of the garbled table for
each gate and the output tables. Finally, 1
P publicizes

GC , and keeps 010 1
11
,,,,,
tn tn
kk kk 01
,,
tn stn s
kk

se-
cret.
3) Computation Sub-protocol
a) For every

2,, ,it 1
P and i
P execute a
1-out-of-2 oblivious transfer protocol in which,
1
Ps input
equals

01
,
ij ij
kk and ,
i
Ps input equalsij
x
, forj
1, 2,,.n
b) The above oblivious transfers can be run by using
the oblivious transfer protocol in Section 2 and can be
done in parallel.
c) i
P sends V the strings 1
1,,
iin
x
x
iin
kk fori
1, 2,, t.
4) Proof Sub-protocol:
Vhas obtained the garbled circuit

GC and tn
keys corresponding to the tn input wires to C. V
computes and obtains

1.,
t
f
xxvia

GC .
Proof: Correctness. It follows from the design of the
protocol.
Privacy. Assume that 1
P constructs the garbled cir-
cuit

GC for boolean circuit C. Then, according to the
oblivious transfer protocol in Section 2, all the messages
1
P sees are

11 122122
(,, ,,
ii ii
 

12
,)
ii
nn

from
n 1-out-of-2 oblivious transfer protocols between 1
P
and

2, ,
i
Pi t. By the design of the oblivious
transfer protocol, every
2,,,1, 2,,
i
jk itj n
 is
random. The simulator
M
for 1
P is just a pseudoran-
dom generator, say the one constructed in [12,16]. Let

1n
M denote the output of
M
, whose output length
is

21 i
ij
tnkk
.
Then


22 2222
11 12212212
,,,,,, ,
nn
 
,
11,
t
 
1221 2212
,, ,,,
ttt tt
nn

and

1n
M is compu-
tational indistinguishable. That is, privacy for1
Pis satis-
fied.
We consider privacy for every

2, ,
i
Pi t. All
messages i
P obtains are
11112
,,,
ii i
Eb b

22122
,, ,,
ii i
Eb b
12
,,
iii
nn n
Eb b, where each i
j
Eis a permutation-trapdoor
and the pair
12
,
ii
jj
bb is random for 1, 2,,jn.
Hence, privacy for i
P is satisfied by using a pseudo-
random generator as a simulator.
The privacy for all12
,,,
t
PP P implies that every i
P
obtains no information on other players input during the
computation sub-protocol.
Now we consider privacy forVin computation
sub-protocol. All messages V obtains are garbled cir-
cuit
GC and 1
11 12
11 121
,,,
n
x
xx
n
kk k from1
P, and
12
12
,,,
ii in
x
xx
ii in
kk k from , 2,,
i
Pi t. The symmetric
encryption algorithm used in

GC is the special sym-
metric encryption scheme in Section 2. Because output of
the symmetric encryption algorithm is random and every

1, 2,,,1, 2,,
ij
x
ij
ki tjn is random, privacy for
V is satisfied by using a pseudorandom generator as a
simulator.
Finally, each player learns nothing about the function
value computed by V, since the player know nothing
about what other players send to the verifier.
Validity. Because all participants are semi-honest, part
(a) of the validity holds automatically. For part (b) of the
validity, Vobtains
GC and 1
11 12
11 121
,,,
n
x
xx
n
kk k from
1
P, and gains 12
12
,,,
ii in
x
xx
ii in
kk k from , 2,,
i
Pi t
.
Hence, according to the properties of the special sym-
metric encryption, V can compute

12
,,,
t
f
xx x and
verifies its validity by verifying every gate’s computation
from the circuit-input wires to circuit-output wires.
5. Electronic Protocols Based on Secure
Multi-Party Proof
Protocol 3 can be used in many applications where the
verifier has no influence on the functions to be computed,
yet he/she wants to learn the function values, however,
Protocols 1 and 2 cannot be used because there are only
two participants. The arbitrator is assured of the correct-
ness and validity of the function value computed. Two
important applications we have in mind are electronic
voting and electronic bidding.
Assume
1,,
t
f
xx is a polynomial time comput-
able function used in an application.
For electronic voting, the function is a sum:
121 2
,,,
tt
f
xxxx xx
 the total count for
votes of a candidate. For electronic bidding, we may
Secure Multi-Party Proof and its Applications
Copyright © 2010 SciRes. JSEA
716
have

12 12
,,, max{,,,}
tt
f
xx xxx x
where i
x is
the bid from , 1
i
Pit. For these functions there is
polynomial sized circuit C for computing them. Both
the function

1,,
t
f
xx and its circuit C are public
information. Then our Protocol 3 above can be applied to
both of these cases, and it is secure if the participants and
the verifier are semi-honest.
6. Conclusions
We defined a new type cryptographical model called
secure multi-party proof that allows any t players and a
verifier to securely compute a function with t variables.
We presented a protocol that is secure when all the par-
ticipants and the verifier are semi-honest. Our protocol
can be used for electronic voting and electronic bidding.
The main difference between multi-party computation
and multi-party proof is that, in the former case only par-
ticipants know the output or partial output, while in the
later case only a designated verifier learns the final out-
put. The latter is more practicable in some important sit-
uations, for example, in an electronic bidding, where an
arbiter is only a verifier but not a participant.
It should be noted, however, that our protocol is not
secure against malicious adversaries.
Based on non-interactive zero-knowledge proof, it is
possible to construct secure multi-party proof against
malicious adversaries. However, these protocols are inef-
ficient because of complexity of zero-knowledge proof.
In future work, we intend to construct secure multi-party
proof for any polynomial-time computable function

12
,,,
t
f
xx x from tools other than zero-knowledge
proof.
7. Acknowledgements
This work was supported by Foundation of National
Natural Science (China) (10871222) and Opening Foun-
dation of Key Lab of Cryptological Technology and In-
formation Security Ministry of Education in Shandong
University.
REFERENCES
[1] A. Yao, “Protocols for Secure Computation,” Proceed-
ings of the 23rd Annual Symposium on Foundations of
Computer Science, Chicago, November 1982, pp. 160-
164.
[2] Y. Lindell and B. Pinkas, “A Proof of Yao’s Protocol for
Secure Two-Party Computation,” Journal of Cryptology,
Vol. 22, No. 2, April 2009, pp. 161-188.
[3] Y. Lindell and B. Pinkas, “An Efficient Protocol for Se-
cure Two-Party Computation in the Presence of Mali-
cious Adversaries,” Advances in Cryptology-Eurocrypt
2007, LNCS 4515, Barcelona, May 2007, pp. 52-78.
[4] O. Goldreich, S. Micali and A. Wigderson, “How to Play
Any Mental Game—A Completeness Theorem for Pro-
tocols with Honest Majority,” Proceedings of the 19th
Annual ACM Symposium on Theory of Computing, New
York, 1987, pp. 218-229.
[5] O. Goldreich, “Foundations of Cryptography: Volumne
2—Basic Applications,” Cambridge University Press,
2004.
[6] M. Ben-Or, S. Goldwasser and A. Wigderson, “Com-
pleteness Theorems for Non-Cryptographic Fault-Toler-
ant Distributed Computation,” Proceedings of the 20th
Annual ACM Symposium on Theory of Computing, Chi-
cago, 1988, pp. 1-10.
[7] D. Chaum, C. Crepeau and I. Damgard, “Multiparty Un-
conditionally Secure Protocols,” Proceedings of the 20th
Annual ACM Symposium on Theory of Computing, Chi-
cago, 1988, pp. 11-19.
[8] S. Goldwasser and L. Levin, “Fair Computation of Gen-
eral Functions in Presence of Immoral Majority,” Ad-
vances of Cryptology-Crypto’90, LNCS 537, Santa Bar-
bara, California, August 1990, pp. 77-93.
[9] B. Chor and E. Kushilevitz, “A Zero-One Law for Boo-
lean Privacy,” SIAM Journal on Discrete Mathematics,
Vol. 4, No. 1, February 1991, pp. 36-47.
[10] O. Goldreich, S. Goldwasser and N. Linial, “Fault-Tol-
erant Computation in the Full Information Model,” SIAM
Journal on Computing, Vol. 27, No. 2, 1991, pp. 506-
544.
[11] R. Ostrovsky and M. Yung, “How to Withstand Mobile
Virus Attacks,” Proceedings of the 10th Annual ACM
Symposium on Principles of Distributed Computing,
Montreal, August 1991, pp. 51-59.
[12] S. Micali and P. Rogaway, “Secure Computation,” Ad-
vances of Cryptology-Crypto’91, LNCS 576, Santa Bar-
bara, California, August 1991, pp. 392-404.
[13] D. Beaver, “Foundations of Secure Interactive Comput-
ing,” Advances of Cryptology-Crypto’91, LNCS 576,
Santa Barbara, California, August 1991, pp. 377-391.
[14] R. Canetti, U. Feige, O. Goldreich and M. Naor, “Adap-
tively Secure Multi-Party Computation,” Proceedings of
the 28th Annual ACM Symposium on Theory of Comput-
ing, Philadelphia, 1996, pp. 639-648.
[15] J. A. Garay and R. Ostrovsky, “Almost-Everywhere Se-
cure Computation,” Advances of Cryptology-Eurocrypt
2008, LNCS 4965, Istanbul, April 2008, pp. 307-323.
[16] R. Pass, “Bounded-Concurrent Secure Multi-Party Com-
putation with a Dishonest Majority,” Proceedings of the
36th Annual ACM Symposium on Theory of Computing,
Chicago, 2004, pp. 232-241.
[17] C. Cachin and J. Camenisch, “Optimistic Fair Secure
Computation,” Advances of Cryptology-Crypto’00, LNCS
1880, Santa Barbara, California, August 2000, pp. 93-
111.
[18] S. D. Gordon, C. Hazay, J. Katz and Y. Lindell, “Com-
plete Fairness in Secure Two-Party Computation,” Pro-
ceedings of the 40th Annual ACM Symposium on Theory
Secure Multi-Party Proof and its Applications
Copyright © 2010 SciRes. JSEA
717
of Computing, Victoria, 2008, pp. 413-422.
[19] B. Pinkas, “Fair Secure Two-Party Computation,” Ad-
vance in Cryptology-Eurocrypt 2003, LNCS 2656, War-
saw, May 2003, pp. 87-106.
[20] S. Even, O. Goldreich and A. Lempel, “A Randomized
Protocol for Signing Contracts,” Communications of the
ACM, Vol. 28, No. 6, 1985, pp. 637-647.
[21] O. Goldreich, S. Goldwasser and S. Micali, “How to
Construct Random Functions,” Journal of the ACM, Vol.
33, No. 4, 1986, pp. 792-807.
[22] O. Goldreich, H. Krawcyzk and M. Luby, “On the Exis-
tence of Pseudorandom Generators,” SIAM Journal on
Computing, Vol. 22, No. 6, 1993, pp. 1163-1175.
[23] J. Hastad, R. Impagliazzo, L. A. Levin and M. Luby,
“Construction of a Psedorandom Generator from Any
One-Way Function,” SIAM Journal on Computing, Vol.
28, No. 4, 1999, pp. 1364-1396.