-
Notifications
You must be signed in to change notification settings - Fork 7
Home
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.
- 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
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
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
Drynx is licensed under a End User Software License Agreement ('EULA') for non-commercial use. If you need more information, please contact us.
You can contact any of the developers for more information or any other member of lca1:
- David Froelicher (PHD student) - [email protected]
- Joao Andre Sa (Software Engineer) - [email protected]