Posted
over 14 years
ago
by
Marcel Keller
Hi Mikkel,
It seems that the type of l is determined by the one of the security
parameter. How do you set it? I can't find a statement that would set it
to a float under any circumstances.
The OverflowError is not shown because it is wrapped and
... [More]
given to the
errback of a Deferred, which usually is the normal callback, which in
turn might result in a frozen program. That makes debugging quite
annoying, but it can only be avoided by either changing the Twisted code
or by defining an appropriate errback for every Deferred/Share object.
I would rather make sure that the security parameter always is an
integer, otherwise the same error could happen somewhere else.
Best regards,
Marcel
[Less]
|
Posted
over 14 years
ago
by
Kroigaard, M.
Hello,
I posted a while ago that comparison doesn't work above a certain bitlength (969 bits to be exact). I've found out why. The following is called:
rand.randint(0, (2**l) - 1)
The value for l is somehow made into a float (in this case 1031.0).
... [More]
This works well for small values of l, but at some point it gives you an OverflowError that is hidden from the user. Just looks like the program is frozen. Shouldn't the error be shown?
It works if you insert
l = int(l)
before the statement above. Obviously it needs to not be a float in the first place.
I'd be happy to send in a patch for this if I could remember how that works. In any case, now you know. I can also say that I've tested it with 2000 bit numbers, and although it's not fast, at least now it works for huge numbers as well.
Regards,
Mikkel Krøigård
[Less]
|
Posted
over 14 years
ago
by
Thomas P Jakobsen
The current implementation of the Orlandi runtime found in orlandi.py
unfortunately depends on a 3rd party party package for elliptic curve
cryptography that is not open source. So unless you have a special
agreement with the owners of that package
... [More]
(http://www.cryptomathic.com) or can find something similar, you won't
be able to use it.
The BeDOZa runtime is completely open-source, but as Claudio mentions,
it is not fully implemented yet.
So for now, the only 2-party runtime is the passively secure paillier
runtime in paillier.py.
Regards,
Thomas
[Less]
|
Posted
over 14 years
ago
by
Claudio Orlandi
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 <mk< at >cs.au.dk>:
|
Posted
over 14 years
ago
by
Mikkel Krøigård
Citat af Kyung-Wook Hwang <kwhwang< at >ee.columbia.edu>:
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
... [More]
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.
As you can see, it's using shamir_share. Shamir sharing requires at
least 3 players.
Same as above :)
Regards,
Mikkel Krøigård
_______________________________________________
viff-devel mailing list (http://viff.dk/)
viff-devel< at >viff.dk
http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk
[Less]
|
Posted
over 14 years
ago
by
Kyung-Wook Hwang
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.
I modified "beginner.py" for two players because that file was
simplest to modify, but when
... [More]
I ran the two players, I got the
following errors:
kwhwang< at >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
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?
Thank you.
Kyung
[Less]
|
Posted
over 14 years
ago
by
Mikkel Krøigård
Hello,
We've been trying to run an MPC LP solver (by Tomas Toft) for a while
now and can't get it to work for examples of a more realistic size.
One problem we're having right now is that using the Toft07
comparison, we can basically get VIFF
... [More]
to drop to 0% CPU usage and just
sit there forever.
What we did was run the "compare.py" test program from viff/apps but
with Toft07 instead of Toft05, and with different bit lengths. Running
it with anything up to and including 968 seems to work. 969 and beyond
apparently makes VIFF freeze.
If anyone has any ideas or can tell us what exactly we're doing wrong,
it would be much appreciated.
[Less]
|
Posted
over 14 years
ago
by
Thomas P Jakobsen
|
Posted
over 14 years
ago
by
Thomas P Jakobsen
tpj@cs.au.dk
|
Posted
over 14 years
ago
by
Thomas P Jakobsen
|