Re: [viff-devel] viff 0.7.1 question

2009-10-21 Thread Sigurd Torkel Meldgaard
 Hi,

 I hope this question is not a bother to you.

No, not at all

 I was trying to test viff-0.7.1, as I executed generate-config-files.py, I 
 got the error ¨ImportError: No module named viff.config¨. Im not sure how to 
 fix this problem.

Most likely viff is not yet on your PYTHONPATH

Please read: http://viff.dk/doc/install.html#installing-from-source
for instructions on how to get it there.

On Tue, Oct 20, 2009 at 2:27 PM, Angel Redoble angel_redo...@yahoo.com wrote:

 Im using ubuntu 9.04.

 Thanks a lot.

 Angel
 ___
 viff-devel mailing list (http://viff.dk/)
 viff-devel@viff.dk
 http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk


Sigurd
___
viff-devel mailing list (http://viff.dk/)
viff-devel@viff.dk
http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk


Re: [viff-devel] viff 0.7.1 question

2009-10-21 Thread Martin Geisler
Angel Redoble angel_redo...@yahoo.com writes:

Hi Angel

 I hope this question is not a bother to you.

No, not at all :-)

 I was trying to test viff-0.7.1, as I executed
 generate-config-files.py, I got the error ¨ImportError: No module
 named viff.config¨. Im not sure how to fix this problem.

The error indicates that you have not put VIFF into your PYTHONPATH. The
easiest way to solve this is to put

export PYTHONPATH=$HOME/src/viff

into your .bashrc (or similar shell startup file). Here I'm assuming
that you've downloaded VIFF and put it into ~/src/viff. This means that
you should have

  ~/src/viff:
COPYING
COPYING.LIB
NEWS
README
apps
doc
run.py
setup.py
twisted
viff

The important part is that one can find viff/config.py inside a
directory found in $PYTHONPATH.

 Im using ubuntu 9.04.

Excellent, then you should have it easy.

-- 
Martin Geisler

VIFF (Virtual Ideal Functionality Framework) brings easy and efficient
SMPC (Secure Multiparty Computation) to Python. See: http://viff.dk/.
___
viff-devel mailing list (http://viff.dk/)
viff-devel@viff.dk
http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk


Re: [viff-devel] Optimizing preprocessing

2009-10-21 Thread Marcel Keller

Martin Geisler wrote:

Janus Dam Nielsen janus.niel...@alexandra.dk writes:


Hi Marcel,

I am not opposed to your suggestion. However I would like to point out
that in VIFF you compute on shares and not field elements!


Well, we've actually made the outer runtime interfaces in such a way
that add, mul, xor, etc... accept both integers, FieldElements and
Shares. The methods then wrap their input as needed -- or they *dont*
wrap it if that leads to a short cut (e.g., constant multiplication)


I agree (see also my answer).


Computing directly on the field elements is hacking the abstractions
of VIFF. Computation on field elements or rather the representation of
a Share can be useful as an optimization, however this optimization
should be confined within applications or runtimes, and should not
progress over interface boundaries as I fear you are suggesting.


I think we are in agreement: public methods on the runtimes will keep
returning Shares. Methods used internally in runtimes can return other
things as needed. To me it sounds like a better API to require
preprocessing functions to return a list of Deferreds:

  [D(?), D(?), ...],

instead of a Deferred list of tuples containing Deferreds :-)

I think it will simplify the interface nicely, at least for consumers.
Using simpler types also leads to less memory usage which has a positive
effect on performance, as Marcel notes. So let's go for it.


So this makes 2 votes in favour of it and 1 against it. Maybe we should 
have a meeting to discuss it. What do you think?


Best regards,
Marcel
___
viff-devel mailing list (http://viff.dk/)
viff-devel@viff.dk
http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk