Skip to content
Decentralized, Secure, Verifiable System for Statistical Queries and Machine Learning on Distributed Datasets
Branch: master
Clone or download
Latest commit 322a71a Apr 3, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea lib moved Aug 21, 2018
data lib moved Aug 21, 2018
lib using service keypairs instead of conodes' keypairs Mar 26, 2019
protocols using service keypairs instead of conodes' keypairs Mar 26, 2019
services merging service changes Mar 26, 2019
simul using service keypairs instead of conodes' keypairs Mar 26, 2019
.gitignore
.travis.yml Use cothority/v3 Mar 25, 2019
LICENSE Added Travis Nov 28, 2018
Makefile Reformated and added -tags vartime Nov 28, 2018
README.md
coveralls.sh Corrected coveralls.sh Nov 29, 2018
go.mod using service keypairs instead of conodes' keypairs Mar 26, 2019
go.sum using service keypairs instead of conodes' keypairs Mar 26, 2019

README.md

Build Status Go Report Card Coverage Status

Drynx

Drynx is a library for simulating a privacy-preserving and verifiable data sharing/querying tool. It offers a series of independent protocols that when combined offer a verifiably-secure and safe way to compute statistics and train basic machine learning models on distributed sensitive data (e.g., medical data).

Drynx is developed by lca1 (Laboratory for Communications and Applications in EPFL) in collaboration with DeDiS (Laboratory for Decentralized and Distributed Systems). It is build on the UnLynx library and does an intensive use of Overlay-network (ONet) library and of the Advanced Crypto (kyber) library.

Documentation

  • For more information regarding the underlying architecture please refer to the stable version of ONet github.com/dedis/onet
  • To check the code organisation, have a look at Layout
  • For more information on how to run our protocols, services, simulations and apps, go to Running Drynx

Getting Started

To use the code of this repository you need to:

  • Install Golang
  • [Recommended] Install IntelliJ IDEA and the GO plugin
  • Set $GOPATH to point to your workspace directory
  • Add $GOPATH/bin to $PATH
  • Git clone this repository to $GOPATH/src git clone https://github.com/lca1/drynx.git or...
  • go get repository: go get github.com/lca1/drynx
  • When building use the "-tags vartime" argument to enable the use of the bn256 pairing curve

Version

We only have a development version. The master-branch in github.com/lca1/drynx is the development version that works but can have incompatible changes.

Very Important!!

Due to the current changes being made to onet, kyber and cothority (release of v3) you must revert back to previous commits for these three libraries if you want Drynx to work. This will change in the near future.

cd $GOPATH/src/dedis/onet/
git checkout 5796104343ef247e2eed58e573f68c566db2136f

cd $GOPATH/src/dedis/kyber/
git checkout f55fec5463cda138dfc7ff15e4091d12c4ddcbfe

cd $GOPATH/src/dedis/cothority/
git checkout 8751beb9f9ec3d093e4cd0ef8f18d4876ec0aae3

License

Drynx is licensed under a End User Software License Agreement ('EULA') for non-commercial use. If you need more information, please contact us.

Contact

You can contact any of the developers for more information or any other member of lca1:

You can’t perform that action at this time.