Coder Social home page Coder Social logo

add fresco framework about frameworks HOT 1 OPEN

marsella avatar marsella commented on June 4, 2024
add fresco framework

from frameworks.

Comments (1)

marsella avatar marsella commented on June 4, 2024

Contribution from @sisyphuscafe via private correspondence

14 November 2019

The JUnit tests that accompany FRESCO are extensive, and the testing code coverage is impressive. I had some difficulty getting the core tests to run as I was running out of memory. I rectified the issue by modifying one of the core tests to reduce it's footprint. After that, things built and tested cleanly.

15 November 2015

So, the FRESCO documentation provided online is pretty light. It provides a fairly high-level overview of the framework, with some high-level code examples.

The demos provided with the distribution look reasonable. I've run the AES example mainly because it's structured similarly to the inner product example you wanted to produce. In essence, each of two parties contribute a single vector of a given length to the MPC engine, which produces the inner product and returns the product to both parties. In the AES example, one party contributes a value, the other a key and the engine produces and returns an encrypted value.

I slurped the code into Eclipse and had a poke around. It seems to have some javadoc written, so I created a small makefile to generate javadoc for the core, tools/mascot, tools/ot, suite/spdz, suite/spdz2k and suite/tinytables source code trees. Examining the javadoc in a browser is a bit easier than manually poring through code.

The core package is where the core infrastructure lies, and the suite package is where the protocol suites lie. The tools/ot package is the oblivious transfer implementation, and tools/mascot provides the implementation for the spdz protocol suite preprocessing phase.

You'll learn a great deal quickly if you have the FRESCO source available in an IDE like Eclipse, alongside the javadoc. Then, starting with the example code for inner product, peruse the basic structure of the application. It's not too bad. I'm not entirely sure where the encryption bits happen, but I suspect it's in the protocol suites.

The basic structure is that multiple processes are started representing the separate and independent parties to the computation. They use a simple socket based architecture for inter-process communication.

Finally, there's a fair amount of supporting material which is not included w/FRESCO directly. These are specified in the maven package manifests, and include such things as logging, command line parsing, and other stuff. The resulting executable jar file for the AES demo was quite voluminous as a result.

I noticed that the sample code just pushed into your repository doesn't include all the niceties to actually get them running. It doesn't look like it'd be a big effort since the structure of the samples appears to be similar to the structure of the FRESCO demos.

from frameworks.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.