Re: [viff-devel] Query from the University of Surrey

2010-02-23 Thread Thomas P Jakobsen

 When I run the Millionaires example (again with --no-ssl option)  with the 
 Path set to point to Python 2.6.4, I get the following error message.

 Traceback (most recent call last):
  File, line 57, in module
    from viff.config import generate_configs
 ImportError: No module named viff.config

This exception typically shows up if VIFF is not on the PYTHONPATH.
When Python sees an import statement, it looks for the needed
packages on the PYTHONPATH.

The solution would be to either

1) Download and install the VIFF .exe installer from or

2) Download the VIFF source code from and run
install when you are in the root of the source tree.

These steps will both install VIFF in C:\Python26\Lib\site-packages
which is always on the PYTHONPATH. A third alternative would be to
include the path to the VIFF source code in an environment variable

Hope this helps,
viff-devel mailing list (

Re: [viff-devel] Query from the University of Surrey

2010-02-22 Thread S.Srinivasan
Hi Thomas

I now have the following 2 setups on my machine (Windows XP Professional, SP3)

The first is 

Python 2.4.4

This setup works just fine when I run the Millionaires example. (with --no-ssl 

The second setup is identical to the one in your e-mail.

When I run the Millionaires example (again with --no-ssl option)  with the Path 
set to point to Python 2.6.4, I get the following error message.

Traceback (most recent call last):
  File, line 57, in module
from viff.config import generate_configs
ImportError: No module named viff.config

Hope this helps.

Best Wishes


Sriramkrishnan Srinivasan
Research Fellow
Trustworthy Voting Systems Group
FEPS, 27 BB02
University of Surrey

s dot srinivasan at surrey dot ac dot uk

+ 44 (0)1483 682646

backwards understood be only can but, forward lived be to has Life 
From: [] On Behalf Of Thomas P 
Jakobsen []
Sent: 22 February 2010 08:27
To: viff-devel
Cc: Srinivasan S Mr (Computing)
Subject: Re: [viff-devel] Query from the University of Surrey
 I am on a Windows XP machine. I tried with the latest versions of the
 the components from the respective websites, but the apps from the
 VIFF folder threw up errors. I realize I should have taken note of the
 error messages - sorry about that. So I installed slightly older
 versions (Python 2.4 and related) and things worked fine.

 Okay. Perhaps one of the windows-savvy people on this list can help you
 more or at least look at the errors.
I've just run the millionaires example using
Windows XP Pro SP3
Python 2.6.4
Twisted 9.0.0
GMPY 1.11
Win32 OpenSSL v. 0.9.8l Light
PyOpenSSL 0.10
It works fine for me when running with --no-ssl. With ssl turned on, I get a
Failure: twisted.internet.error.ConnectionLost: Connection to the
other side was lost in a non-clean fashion.
when connections are closed, but the millinonaires program gets executed anyway.
I agree that we should definitely try to make the installation process
easier, e.g. as Sriram suggests, by including the various dependencies
in the viff packages.
Sriram: Can you make it work with the above versions? If not, which
error messages do you see?
viff-devel mailing list (

Re: [viff-devel] Query from the University of Surrey

2010-02-21 Thread Martin Geisler writes:

Dear Sriram,

I'm CCing this reply to the VIFF mailing list, where the other VIFF
developers are also subscribed. I'm handing in my dissertation this
week, so you should not only discuss things with me :-)

 I hope this mail finds you in great spirits. My name is Sriram and I
 am currently a researcher with the Trustworthy Voting Systems group at
 the University of Surrey. I recently completed my PhD from Royal
 Holloway working under Prof. Kenny Paterson. My area of work of
 Identity Based Cryptography.

 I have just come across VIFF today and managed to get a few examples
 to work on my computer after a few glitches. I am a newbie to Multi
 Party Computation, but I was excited by what VIFF could do.

Great that you made it work!

 I am writing with a few queries and I will be grateful for any help.
 As part of our project, we have implemented an early prototype of an
 electronic voting scheme which has been called Pret a Voter in the
 literature. The vote casting is paper based and the voter tears the
 ballot in half and shreds the left half of the ballot which has a
 randomized candidate list and submits the right hand side to a scanner
 that reads the vote and an encrypted barcode that eventually enables
 recovery of the vote. Basically, the idea is to ensure that the device
 to which the vote is submitted has no information about the vote. This
 is front end.

 The back end where tallying is done is currently based on mixnets but
 we are hoping to develop a new version that uses Homomorphic
 Encryption so that we can handle different kinds of (ranked)
 elections. We have currently managed to implement (in java) the
 Paillier cryptosystem as well as the Generalized Paillier
 cryptosystem. Mads Jurik has very kindly given us an implementation of
 the threshold version of the Generalized Paillier Cryptosystem, with a
 trusted dealer.

 One of the ultimate aims of the project is to be able to do
 homomorphic encryption without a trusted dealer. As a first step, this
 means being able to generate an RSA modulus without a trusted dealer.
 From the documentation, I noticed that it was mentioned that
 Distributed RSA has in fact been implemented on VIFF. Please forgive
 me for firing off an e-mail without thorough investigation, but am I
 right that the source code for this is not included in the current
 VIFF release? Would it be possible to obtain the code for this please?

Yes, the code is available from the original author, via his university.
I've now added links to

pointing you to

Thanks for the reminder :-)

 My second question is whether Distributed versions of Paillier (or
 Generalized Paiilier) have been implemented or if there is any plans
 to do so in the near future. I noticed there is a Paillier Module, but
 I understand this is used as a basis to implement other functionality
 - key generation and decryption are not done in a Threshold fashion

Right, the viff.paillier module just implements the good old Paillier
cryptosystem, without any threshold support.

 I will be grateful for any help/pointers from you. VIFF looks really
 exciting and I am hoping to spend more time on it and use it in our

 Best Wishes



 The installation of VIFF was quite complex in that things seemed to
 not work quite right with the newest versions of the various required
 components. I dug out the older versions (I am working with Python 2.4
 and compatible versions of PyOpenSSL, Twisted etc. for 2.4). It may be
 nice in a future release to package everything together if possible.

Which platform are you on? I'm running VIFF on Debian unstable with
Python 2.5.4 and Twisted 9.0 (these are the system packages).

You are certainly right that the initial installation is daunting when
done manually. We could make it easier by bundling things, but nobody
has stepped up to do it.

Martin Geisler

VIFF (Virtual Ideal Functionality Framework) brings easy and efficient
SMPC (Secure Multiparty Computation) to Python. See:

Description: PGP signature
viff-devel mailing list (