Giter Site home page Giter Site logo

multiparty / conclave Goto Github PK

View Code? Open in Web Editor NEW
93.0 10.0 30.0 2.83 MB

Query compiler for secure multi-party computation.

License: MIT License

Python 98.46% Shell 1.54%
mpc multiparty-computation secure-computation cybersecurity privacy-enhancing-technologies multiparty

conclave's Introduction

Conclave

Infrastructure for defining and running large data workflows against multiple backends.

Purpose

This framework allows users to define data analysis workflows in familiar frontend languages and then execute them on multiple data storage and processing backends (including privacy-preserving backend services that support secure multi-party computation).

Dependencies

Conclave requires a Python 3.5 environment and was tested on Ubuntu (14.04+). See requirements.txt for other dependencies.

Consider using pyenv (https://github.com/pyenv/pyenv) to avoid changing python to python3 in a bunch of places.

Setup

Run pip install -r requirements.txt.

Testing

The library comes with a number of tests::

nosetests --with-doctest

Network Setup

Note that the benchmarks under benchmarks/ assume that party 1 is reachable at ca-spark-node-0, party 2 at cb-spark-node-0, and party 3 at cc-spark-node-0. You can modify your /etc/hosts file to map IP addresses to host addresses. To map the above to 127.0.0.1 (for a local run) include the following entry in your /etc/hosts file:

127.0.0.1	ca-spark-node-0 cb-spark-node-0 cc-spark-node-0

Most likely you already have a mapping for localhost, for example:

127.0.0.1	localhost

In that case, just append the node addresses after localhost.

You can also modify the party addresses inside CodeGenConfig by updating the network_config dict.

Disclaimer

This is experimental software and does not guarantee security or correctness.

conclave's People

Contributors

bengetch avatar frederickjansen avatar lapets avatar ms705 avatar n1v0lg avatar nicolas3355 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

conclave's Issues

issues about std_dev case: Cannot read property 'length' of undefined

As title, I have run successfully in count and sum,but when i run in std_dev and mean, it meet error :

(node:1327352) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'length' of undefined
at __unwipe (/conclave-master/jiff/lib/client/protocols/arrays/open.js:60:30)
at open_ND_array (/conclave-master/jiff/lib/client/protocols/arrays/open.js:69:7)
at open (/conclave-master/demo/data/example-jiff-job-1/mpc.js:631:34)
at /conclave-master/demo/data/example-jiff-job-1/mpc.js:696:28
at processTicksAndRejections (internal/process/task_queues.js:95:5)
(Use node --trace-warnings ... to show where the warning was created)
(node:1327352) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:1327352) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

and

(node:1327352) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'length' of undefined
at stdDev (/conclave-master/demo/data/example-jiff-job-1/mpc.js:604:34)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:95:5)
(node:1327352) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)

how can i slove it? Could you please give a sample test example for std_dev
Looking for your help sincerely!

issues about std_dev case: Cannot read property 'length' of undefined

As title, I have run successfully in count and sum,but when i run in std_dev and mean, it meet error :

(node:1327352) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'length' of undefined
at __unwipe (/conclave-master/jiff/lib/client/protocols/arrays/open.js:60:30)
at open_ND_array (/conclave-master/jiff/lib/client/protocols/arrays/open.js:69:7)
at open (/conclave-master/demo/data/example-jiff-job-1/mpc.js:631:34)
at /conclave-master/demo/data/example-jiff-job-1/mpc.js:696:28
at processTicksAndRejections (internal/process/task_queues.js:95:5)
(Use node --trace-warnings ... to show where the warning was created)
(node:1327352) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)
(node:1327352) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

and

(node:1327352) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'length' of undefined
at stdDev (/conclave-master/demo/data/example-jiff-job-1/mpc.js:604:34)
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:95:5)
(node:1327352) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 3)

how can i slove it? Could you please give a sample test example for std_dev
Looking for your help sincerely!

nosetests -> nosetests3

I believe in Ubuntu 14.04LTS and 16.04LTS, python 2 is still the default environment. In other words, if we type

nosetests

It will give you

$ nosetests
The program 'nosetests' is currently not installed. You can install it by typing:
sudo apt install python-nose

So maybe changing it to

nosetests3 on the README.md?

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.