Citat af Kyung-Wook Hwang <>:


This is Kyung Hwang from Columbia University again. I have another question.

Does Viff always need at least 3 participants? It seems to me it does.

That depends on the runtime you use. If you are using the default passive security runtime, this is based on Shamir secret-sharing. Therefore there must be at least 3 parties, and the threshold will always be < n/2.

There is in fact also a two-party runtime based on the Paillier cryptosystem. You can check it out if you want, it's in

But basically you have to select a runtime that gives you what you want. If you want 2-party MPC, you can't use the Shamir sharing based runtime.

I modified "" for two players because that file was
simplest to modify, but when I ran the two players, I got the
following errors:

kwhw...@kwhwang-sim1:~/viff-1.0/apps$ python player-2.ini
20 --no-ssl
Seeding random generator with random seed 3781
/home/kwhwang/opt/lib/python/viff/ DeprecationWarning: the
sha module is deprecated; use the hashlib module instead
  import sha
I am player 2 and will input 20
Not using SSL
Listening on port 9002
#### Starting reactor ###
Program started

Error: [Failure instance: Traceback: <type 'exceptions.KeyError'>: 3
--- <exception caught here> ---

As you can see, it's using shamir_share. Shamir sharing requires at least 3 players.

I also modified for two players to see if it works for
only two players because that file actually compared only two players'
inputs but not the third player's so that file essentially needs two
players. But it gaves errors too with two players.

I think Viff only works with at least three players. Am I correct?

Same as above :)

Mikkel Krøigård
viff-devel mailing list (

Reply via email to