Improving the Round Complexity
of VSS in Point-to-Point Networks
Jonathan Katz (University of Maryland)
Chiu-Yuen Koo (Google Labs)
Ranjit Kumaresan (University of Maryland)
Verifiable secret sharing (VSS)
Two-phase protocol
If the dealer is honest
A dealer shares a secret among a set of n parties
in the sharing phase
The secret is recovered in a reconstruction phase
No information about the secret is leaked in the
sharing phase
All honest parties recover the dealer’s secret
Even if the dealer is dishonest
The view of the honest parties in the sharing
phase defines a value s such that each honest
party outputs s in the reconstruction phase
Feasibility and efficiency?
We study perfect (i.e., 0-error) VSS
This is known to be possible iff t < n/3
(even if broadcast is available)
What is the inherent round complexity of
this task?
3 rounds necessary (even w/ b’cast) [GIKR01]
O(1)-round protocol only possible if there is at
least 1 round of broadcast
Upper bounds?
Gennaro et al. show an efficient 4-round
protocol and an inefficient 3-round protocol
Fitzi et al. give an efficient 3-round protocol
Using broadcast in two of the rounds
What happens if their protocol is
implemented in a point-to-point network…?
Simulating broadcast is expensive…
Sequential composition of broadcast is
expensive…
The protocol requires 55 rounds (in expectation)!
The upshot
If the goal is to optimize round complexity
for point-to-point networks, crucial to
minimize the number of broadcast rounds
Does there exist a VSS protocol that is
simultaneously optimal in the number of
rounds and the number of broadcasts?
Recall: 1 round of broadcast is (essentially)
necessary
Our results
We give a positive answer to this question
A 3-round protocol using a single round of
broadcast
Secure against an adaptive, rushing adversary
Our VSS protocol also satisfies a useful
property (2-level sharing) not satisfied by
the protocol of Fitzi et al.
The rest of the talk
WSS
A weaker variant of VSS
A 3-round WSS protocol using 1 round of
broadcast
VSS
A 3-round VSS protocol using the WSS protocol
as a building block
WSS: definition
WSS is similar to VSS
Weaker guarantee for dishonest dealer:
The view of the honest parties in the sharing phase
defines a value s such that each honest party
outputs either s or in the reconstruction phase
WSS protocol: sharing phase
Round 1
D chooses F(x,y) with F(0,0) = s
D sends to Pi, fi(x) := F(x,i), gi(y) := F(i,y)
Each Pi sends a random pad ri,j to both Pj and D
Round 2
For every ordered pair (i, j)
Pi sends ai,j := fi(j) to Pj
Pj sends bj,i := gj(i) to Pi
Pj sends r’i,j = ri,j to D
Sharing phase, continued
Round 3 (broadcast round)
For every ordered pair (i, j):
Pi broadcasts
(“disagree”, fi(j), ri,j) if bj,i ≠ fi (j)
(“agree”, fi(j)+ri,j) otherwise
Pj broadcasts
(“disagree”, gj(i), ri,j) if ai,j ≠ gj(i)
(“agree”, gj(i)+ri,j), otherwise
D broadcasts
(“not equal”, F(j,i)) if ri,j ≠ r’i,j
(“equal”, F(j,i)+ri,j) otherwise
Local computation
Ordered pair (Pi ,Pj) are conflicting if:
Pi broadcasts (“disagree”, fi(j), ri,j )
Pj broadcasts (“disagree”, gj(i), r’i,j )
and ri,j = r'i,j
Note: If D is honest, then no two honest
parties will be conflicting
Note: all honest parties agree on who is
conflicting
Local computation
In conflicting pair (Pi, Pj), we say Pi is
unhappy if either:
D broadcasts (“not equal”, di,j) and di,j≠ fi(j)
D broadcasts (“equal”, di,j) and di,j ≠ fi(j)+ri,j
If there are more than t unhappy parties,
then D is disqualified
Note: honest dealer never disqualified
Note: all honest parties agree on who is
unhappy
WSS protocol: reconstruction phase
If Pj not unhappy, it sends fj(x) and gj(y) to all
parties
Pi constructs a consistency graph Gi
Let fij and gij denote the polynomials Pi sends to Pj
Edge between Pj and Pk in Gi iff fji(k)=gki(j) and
gji(k)=fki(j)
Iteratively remove vertices in Gi with degree < n−t
Let Corei be the parties left in Gj
If |Corei|< n-t, then Pi outputs
Else, let F’(x,y) be the polynomial defined by any t+1
parties in Corei, and output s':=F'(0,0)
Proof sketches
Privacy
t points on a degree-t polynomial do not reveal
information about the constant term
No information about s leaked in round 3 due to use of
random pads
Correctness for honest D: If Pi honest, then:
All honest parties are in Corei, so |Corei| ≥ n-t
Any party in Corei must have sent polynomials that
agree with at least 2t+1 parties in Corei, out of which
at least t+1 are honest
Since the polynomials sent by honest parties all agree
with the dealer’s polynomial F, we see that Pi will
correctly recover F and output the dealer’s secret
Proof sketches, continued
Weak commitment (for dishonest D):
Assume dealer is not disqualified (so at most t
unhappy parties, and at least n-2t ≥ t+1 honest
parties who are not unhappy)
Claim: the poly’s fi sent by D to the first t+1 such
parties define a poly F such that any honest Pi
outputs either F(0,0) or in reconstruction phase
If |Corei| < n-t, we are done
Otherwise, argument is similar to (though slightly
more involved than) before
This completes the proof
VSS
We now construct a 3-round VSS protocol
(using 1 round of broadcast) using the
previous WSS protocol as a subroutine
Our VSS protocol also achieves “2-level
sharing”…
2-level sharing
At the end of the sharing phase each
honest Pi outputs si and {si,j} such that
The {si} lie on a degree-t polynomial whose
constant term is the value s that honest parties
will output in the reconstruction phase
For each j, the {si,j} lie on a degree-t polynomial
whose constant term is sj
Useful when VSS is used as a building block
for general secure MPC
Overview of the protocol
Sharing done essentially as in WSS, but
now parties reveal their random pads in the
reconstruction phase
To ensure correctness, we use WSS to
generate the random pads
Random pads no longer independent, but lie on a
random degree-t poly (which suffices for secrecy)
To obtain 2-level sharing, we have the
dealer choose a symmetric bivariate
polynomial
VSS protocol: high level
Round 1
D chooses symmetric F(x,y) with F(0,0) = s
D sends to Pi, fi(x):=F(x,i)
Each Pi chooses a random si and shares it using
WSS; let Fipad be the polynomial used
Pi sends Fipad(x,j) to each Pj and Fipad(0,y) to D
Round 2
Set ri,j = Fipad(i,j); rest is as before
Run second round of all WSS sub-protocols
VSS protocol: high level
Round 3
As before
Also run third round of all WSS sub-protocols
Local computation
We define a conflicting pair and an unhappy party as
before
Core is the set of all happy parties
Corei is the set of all happy parties in WSSi
All players agree on Core and {Corei}
Local computation, continued
For all i, j remove Pj from Corei if, in round 3:
Pi broadcasts (“agree”, y) and Pj did not broadcast (“agree”,
y)
OR
Pi broadcasts (“disagree”,*,w) and Pj broadcasts anything
other than (“disagree”,*,w)
Remove Pi from Core if |Core ∩ Corei|< n−t
If |Core| < n−t, then D is disqualified
Each party Pi computes fi(x) as follows:
If Pi Core, then fi(x) is the polynomial received from D in
round 1
See paper for the other case
Each Pi outputs si = fi(0) and si,j = fi(j)
VSS: reconstruction phase
Each party Pi sends si to all other parties
Let s'j,i be the value that Pj sends to Pi
Pi computes a degree-t poly f(x) such that
f(j)=s’j,i for at least 2t+1 values of j
Pi outputs f(0)
Proof sketches
Privacy
Same as WSS except for random pads
Random pads lie on random degree-t polynomials and
hence reveal no additional information about s
Correctness with 2-level sharing (D honest):
For honest Pi, all other honest parties belong to Corei
All honest parties remain in Core
p(x)=F(0,x) and pj(x)=F(j,x) imply 2-level sharing
The reconstruction phase succeeds since there are at
most t bad shares out of n>3t shares
Proof sketches, continued
Correctness with 2-level sharing (dealer
dishonest):
Refer to the full version of the paper for a proof
http://eprint.iacr.org/2007/358
Open questions
What is the optimal (expected) round
complexity of VSS in a point-to-point
network?
Can better round complexity be achieved
for statistical VSS?
How about (statistical) VSS for t < n/2?
See Patra et al. for some recent progress on
these questions
Thank you!
Local computation, continued
If Pi not in Core,
Core'i : Pj is in Core'i if and only if
Pj ∈ Core and Pi ∈ Corej
{pj,k}k are consistent with a polynomial Bj (x) of degree
at most t, where
pj,k:=yj,k - if in step 1 of round 3 for the ordered
pair (j, k), party Pj broadcasted (“agree”, yj,k)
pj,k:=wj,k+zj,k - If Pj broadcasted (“disagree”,wj,k,zj,k)
For each Pj ∈ Core'i, pj:=pj,i−fj,ipad(0). Let fi be the
interpolating polynomial for pj with Pj∈ Core'i
Finally, Pi outputs si:=fi(0) and si,j:=fi(j)
Proof sketches, continued
Correctness with 2-level sharing (D dishonest):
For honest Pi, |Core’i|>t
Core contains atleast t+1 honest parties.
For an honest Pj, Corej contains Pi.
pj,k computed by Pi lie on Bj(x)=fj(x)+Fjpad(0,x), since
Pj∈Core, and D do not disagree on broadcasted values.
There are t+1 honest parties in Core
F(x,y) is defined naturally by these parties.
Polynomials of honest Pi∈ Core agree with F(x,y).
Proof sketches, continued
Constructed polynomials of Honest Pi not in
Core agree with F(x,y).
For any Pk∈Corej, we have fj,kpad(x)=Fjpad(0,k) and
fk(j)=F(k,j) (otherwise removed from Corei).
Bj(k) is recovered for atleast t+1 values of k.
Bj(x)=F(x,j)+Fjpad(0,x) is recovered.
pj=pj,i-fj,ipad(0)=Bj(i)–Fjpad(0,i)=F(i,j).
Hence Pi recovers F(i,x)=F(x,i)
© Copyright 2026 Paperzz