Virtual Ideal Functionality Framework is a framework for creating efficient and secure multi-party computations (SMPC). Players, who do not trust each other, participate in a joint computation based on their private inputs. The computation is done using a cryptographic protocol which allows them to obtain a correct answer without revealing their inputs. Operations supported include addition, multiplication, and comparison, all with Shamir secret shared outputs.
|Tags||Scientific/Engineering Mathematics Communications Security Cryptography Software Development Libraries Application Frameworks Python Modules|
|Operating Systems||OS Independent|
Release Notes: The current code is useful, flexible and unlikely to change radically. The central class named Runtime was renamed to PassiveRuntime. All runtime classes now uses the common method names input and output for providing data to and retrieving data from the computation. A multiparty version of AES was added: it allows parties to encrypt a Shamir secret shared message under a secret shared AES key to obtain a secret shared ciphertext.
Release Notes: A major bug was fixed in the passive multiplication protocol in the case where 2t + 1 != n. Unit tests were updated for Python 2.6.
Release Notes: PyOpenSSL is now used instead of GnuTLS and this enables secure connections on Windows. The code dealing with starting a player has been made much more robust and players can now be started in any order. A player can now also be reliably shutdown. A new runtime based on homomorphic Paillier encryption supports just two players. A new protocol for equality testing with secret shared result was added.
Release Notes: The average time for a secure comparison was reduced by 60-70%. Comparisons now work with an actively secure multiplication protocol. A memory leak was fixed. The documentation has been converted to the new Sphinx format.
Release Notes: This release adds preliminary support for preprocessing and a multiplication protocol secure against active adversaries. The Runtime class has been split into several parts, and two new mixin classes provide different comparison protocols. Several coercion problems were fixed. The Runtime.callback method was renamed to Runtime.schedule_callback. VIFF was tested on Python 2.6, and some small problems were fixed. The installation guide was updated for Windows Vista.