Examensarbete inom datalogi på grundnivå av Samuel Lidén Borell & Joel Pettersson

Examensarbetet som presenteras här nedanför utfördes av Samuel Lidén Borell och Joel Pettersson på Kungliga Tekniska Högskolan i Stockholm under våren 2010.

En utvärdering av VIFF i praktiken

Sammanfattning

Det har snart gått 30 år sedan teorin kring Secure Multiparty Computation föddes genom Yao:s klassiska exempel med två miljonärer som ensamma ville ta reda på vem av dem som var rikast – utan att avslöja något om sina tillgångar för varandra. Fram till för bara ett par år sedan har ämnet uppehållit sig just inom teorin, men i och med en nyligen initierad, fullskalig tillämpning har Secure Multiparty Computation tagit första steget ut i verkligheten. Ur detta nyligen initierade projekt utvecklades så småningom ramverket VIFF, Virtual Ideal Functionality Framework, i syfte att erbjuda en utökningsbar grund att bygga nya, liknande tillämpningar på. Målet med vårt projekt är att utvärdera det ramverket utifrån ett praktiskt perspektiv. För att ta reda på om VIFF är tillräckligt användbart och prestandastarkt skrev vi ett eget program som utnyttjar ramverket och jämförde detta med en alternativ implementation. Våra resultat visar att det VIFF-baserade programmet förvisso är långsammare, men ramverket har andra styrkor så som god dokumentation och en bra abstraktionsnivå.

An evaluation of VIFF in practice

Abstract

It has been almost thirty years since the Secure Multiparty Computationn theory was founded on Yao's classic example, which describes two millionaires who wanted to settle which one of them was the wealthiest — without giving anything away about their own assets. Until just a couple of years ago this subject has remained theoretical, but a recently initiated, large-scale application has taken Secure Multiparty Computation into the real world. From this application the framework VIFF, Virtual Ideal Functionality Framework, evolved, aiming at offering an extensible foundation to build new, similar applications upon. The purpose of our project is to evaluate this framework from a practical perspective. To be able to tell whether or not VIFF is sufficiently usable and performes well enough, we wrote an own program based on the framework and compared this with an alternative implementation. The results that we obtained show that the program based on VIFF assuredly was slower, but the framework does also have strengths such as good documentation and a fine level of abstraction.