research-dora
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.9%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: rot256
- License: mit
- Language: Rust
- Default Branch: minor-revision
- Size: 67.2 MB
Statistics
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 1
- Releases: 0
Metadata Files
README.md
Paper Artifacts for Dora
This is the paper artifacts (implementation and raw benchmark results) for the Dora paper.
The implementation is based on swanky a Rust library for MPC and OT-based zero-knowledge proofs created by Galois.
Part of the implementation was understaken while interning at Galois in the summer of 2023.
The relevant parts of swanky for the Dora paper recide in diet-mac-and-cheese which is a single threaded implementation of QuickSilver,
see this directory for more information about how to reproduce the results of the paper.
swanky: A suite of rust libraries for secure computation
swanky provides a suite of rust libraries for doing secure computation.
bristol-fashion: A parser for Bristol Fashion circuits.fancy-garbling: Boolean and arithmetic garbled circuits.twopac: Two-party garbled-circuit-based secure computation.
humidor: Implementation of the Ligero zero knowledge proof system.keyed_arena: Bump allocator which allows for random access to its allocations.inferno: An implementation of the Limbo zero-knowledge proof system.ocelot: Oblivious transfer and oblivious PRFs.popsicle: Private-set intersection.scuttlebutt: Core primitives used by otherswankycrates.simple-arith-circuit: Simple flat arithmetic circuit representation.swanky-field: Definitions of the coreFiniteFieldandFiniteRingtraitsswanky-field-binary: Binary (extension) finite fieldsswanky-field-f61p: The finite field for the 61-bit mersenne primeswanky-field-ff-primes: Arithmetic fields of prime order larger than 64swanky-field-fft: Utilities for performing FFTs on fieldsswanky-field-test: Utilities for testing that finite field implementations are correctswanky-generic-array: Utilities to make it easier to use generic arrays from thegeneric-arraycrateswanky-serialization: Traits and utilities for compact serialization into a canonical byte representation
A note on security
swanky is currently considered prototype software. Do not deploy it in
production, or trust it with sensitive data.
Using swanky
Preferred Way
The preferred way to use swanky is to fork this monorepo, and add your code
to your fork. This approach makes it easy for your code to inherit the
configuration of the swanky repo.
Alternative Way
It is also possible to use swanky as traditional Rust crates. The downside of
this approach is that you won't automatically get the configuration of the
swanky repo. swanky is only tested against the pinned rust version in the
repository and the pinned dependency versions.
To use a swanky crate in your project, add the following line to the
[dependencies] entry in Cargo.toml:
<crate-name> = { git = "https://github.com/GaloisInc/swanky", rev = "xxxxxx" }
where <crate-name> is one of the crates listed above and rev is the
particular revision to use.
Note: As swanky is currently considered prototype software, it is best to pin
a particular revision of swanky, as there is no guarantee that future versions
of swanky will maintain backwards compatibility.
It is also advisable to copy over swanky's .cargo/config file, and to enable
LTO in your release builds (lto = true in your Cargo.toml file).
Citing swanky
If you use swanky in your academic paper, please cite it as follows:
@misc{swanky,
author = {{Galois, Inc.}},
title = {{swanky}: A suite of rust libraries for secure computation},
howpublished = {\url{https://github.com/GaloisInc/swanky}},
year = 2019,
}
Generating documentation
To generate documentation, please use etc/rustdoc.py in lieu of cargo doc.
License
MIT License
Contact
You can contact the swanky team at swanky@galois.com.
Contributors
- Brent Carmer
- Ben Hamlin
- Alex J. Malozemoff
- Benoit Razet
- Marc Rosen
Acknowledgments
This material is based upon work supported in part by ARO, SSC Pacific, IARPA and DARPA under Contract Nos. W911NF-15-C-0227, N66001-15-C-4070, 2019-1902070006, and HR001120C0085.
Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the ARO, SSC Pacific, IARPA and DARPA. Distribution Statement ``A'' (Approved for Public Release, Distribution Unlimited).
Copyright 2019-2022 Galois, Inc.
Owner
- Name: Mathias Hall-Andersen
- Login: rot256
- Kind: user
- Location: Denmark
- Company: @zksecurity
- Website: https://rot256.dev
- Repositories: 48
- Profile: https://github.com/rot256
PhD in Cryptography. Cofounder and cryptographer at ZKSecurity. Building/breaking systems.
Citation (CITATION.cff)
cff-version: 1.2.0
title: >-
swanky: A suite of rust libraries for secure computation
message: >-
If you use this software in your academic paper, please cite it as follows.
type: software
authors:
- given-names: 'Galois, Inc.'
email: swanky@galois.com
url: "https://github.com/GaloisInc/swanky"
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Dependencies
- 281 dependencies