Today’s high-tech cryptography has brought with it the advantage of secure multiparty computation, a mathematical approach used for adding security to distributed computations without the need for a third party. This is very useful, for example, in conducting sealed-bid auctions without an auctioneer, running computations in the cloud and ensuring accurate voting with secret ballots. The EU-funded VON NEUMANN MPC (Secure Multiparty Computation in the von Neumann Architecture) project worked on new software to render secure multiparty computation more versatile and robust. It looked beyond current secure computation techniques based on the idea of logical circuit and hardware engineering to meet the challenge using software engineering instead. To achieve its aims the project team developed a virtual machine for secure computation written in Java. It also developed a novel virtual CPU design with instructions composed of several operations, each representing a separate secure computation. This enables users to mix and match among secure computation protocols and select the most suitable for each operation. It also contributes to much faster computation speeds and enables the processing of large amounts of information. Moreover the new design boasts complete modularity, easier debugging, time efficiency and cost effectiveness in terms of operation. On the theoretical side, the project team also achieved admirable progress in different areas, such as topology-hiding computation, public verification of private initiatives, and using Bitcoin to play decentralised poker. With respect to advancing crypto-currencies, the team made progress regarding proofs of space-time and rational proofs of storage. This was achieved by proving that users wasted storage space for specific periods, a development that promotes energy efficiency. The most important project outcome is that it made it possible to compute functions which are too large to handle with today’s technology. Noteworthy as well, the new software allows users to compile secure programmes directly from standard programming languages such as C or Java. The project’s results will help make secure computation accessible to software engineers, who are good programmers, but do not possess time to learn new, domain-specific languages or circuit design. The code has been published online and is available through the project’s website, along with relevant documentation.
Cryptography, secure multiparty computation, distributed computations, VON NEUMANN MPC, virtual CPU