There is also an Orlandi runtime and a BeDOZa runtime (under development). They work for 2 parties and guarantee security against active adversaries (paillier.py is only for passive security).
Claudio 2010/10/7 Mikkel Krøigård <m...@cs.au.dk>: > Citat af Kyung-Wook Hwang <kwhw...@ee.columbia.edu>: > >> Hello, >> >> 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 paillier.py. > > 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 "beginner.py" 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 beginner2.py player-2.ini >> 20 --no-ssl >> Seeding random generator with random seed 3781 >> /home/kwhwang/opt/lib/python/viff/prss.py:43: 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 >> /home/kwhwang/opt/lib/python/viff/runtime.py:317:stringReceived >> /home/kwhwang/opt/lib/python/viff/runtime.py:456:identify_peer >> /usr/lib/python2.6/dist-packages/twisted/internet/defer.py:280:callback >> >> /usr/lib/python2.6/dist-packages/twisted/internet/defer.py:354:_startRunCallbacks >> --- <exception caught here> --- >> >> /usr/lib/python2.6/dist-packages/twisted/internet/defer.py:371:_runCallbacks >> beginner2.py:69:protocol >> /home/kwhwang/opt/lib/python/viff/passive.py:493:input >> /home/kwhwang/opt/lib/python/viff/passive.py:550:shamir_share >> /home/kwhwang/opt/lib/python/viff/runtime.py:785:_expect_share >> /home/kwhwang/opt/lib/python/viff/runtime.py:749:_expect_data >> /home/kwhwang/opt/lib/python/viff/runtime.py:754:_expect_data_with_pc >> > > As you can see, it's using shamir_share. Shamir sharing requires at least 3 > players. > >> I also modified equality.py 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 :) > > Regards, > Mikkel Krøigård > _______________________________________________ > viff-devel mailing list (http://viff.dk/) > viff-devel@viff.dk > http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk > _______________________________________________ viff-devel mailing list (http://viff.dk/) viff-devel@viff.dk http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk