As some of you might know I have not programmed that much in VIFF
because I am more familiar with C++ and Java than Python as a
programming language. Therefore I have now created a Java rival to VIFF.
Taking all the good design principles from VIFF and adding some things
that VIFF cannot offer such as multi-threading.
The program still has one drawback, in that the different players
communicate over Java queues, and these queues cannot communicate
through sockets. Therefore it is not a complete MPC implementation.
The following things have been implemented:
Sharing, Negation and Revealing of Shares.
Adding and Multiplication between Shares and/or Field elements.
The shares are computed using Shamir's secret sharing scheme.
The algorithm, sharing scheme and communication parts have all been
separated so it can be modified easily.
The whole program was programmed and tested in just 34 hours (including
6 hours sleep). It contains 2115 lines of code and 32 classes, some
parts where heavily influenced by previous programming attempts.
Programmed in NetBeans.
For anyone interested in the code I have dropped of a zip of the code at
viff-devel mailing list (http://viff.dk/)