Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/privacy-scaling-explorations/mpz
Multi-party computation libraries written in Rust 🦀
https://github.com/privacy-scaling-explorations/mpz
cryptography garbled-circuits mpc multi-party-computation oblivious-transfer privacy zero-knowledge
Last synced: about 1 month ago
JSON representation
Multi-party computation libraries written in Rust 🦀
- Host: GitHub
- URL: https://github.com/privacy-scaling-explorations/mpz
- Owner: privacy-scaling-explorations
- Created: 2023-06-07T14:46:44.000Z (over 1 year ago)
- Default Branch: dev
- Last Pushed: 2024-05-29T02:31:22.000Z (8 months ago)
- Last Synced: 2024-05-29T05:51:32.968Z (8 months ago)
- Topics: cryptography, garbled-circuits, mpc, multi-party-computation, oblivious-transfer, privacy, zero-knowledge
- Language: Rust
- Homepage:
- Size: 10.4 MB
- Stars: 149
- Watchers: 10
- Forks: 31
- Open Issues: 40
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
[![CI](https://github.com/privacy-scaling-explorations/mpz/actions/workflows/rust.yml/badge.svg)](https://github.com/privacy-scaling-explorations/mpz/actions)
# mpz
mpz is a collection of multi-party computation libraries written in Rust 🦀.
This project strives to provide safe, performant, modular and portable MPC software with a focus on usability.
See [our design doc](./DESIGN.md) for information on design choices, standards and project structure.
## ⚠️ Notice
This project is currently under active development and should not be used in production. Expect bugs and regular major breaking changes. Use at your own risk.
## Crates
- [`mpz-core`](./crates/mpz-core/) - Core cryptographic primitives.
- [`mpz-common`](./crates/mpz-common) - Common functionalities needed for modeling protocol execution, I/O, and multi-threading.
- [`mpz-fields`](./crates/mpz-fields/) - Finite-fields.
- [`mpz-circuits`](./crates/mpz-circuits/) ([`macros`](./crates/mpz-circuits-macros/)) - Boolean circuit DSL.
- [`mpz-ot`](./crates/mpz-ot) ([`core`](./crates/mpz-ot-core/)) - Oblivious transfer protocols.
- [`mpz-garble`](./crates/mpz-garble/) ([`core`](./crates/mpz-garble-core/)) - Boolean garbled circuit protocols.
- [`mpz-share-conversion`](./crates/mpz-share-conversion/) ([`core`](./crates/mpz-share-conversion-core/)) - Multiplicative-to-Additive and Additive-to-Multiplicative share conversion protocols for a variety of fields.
- [`mpz-cointoss`](./crates/mpz-cointoss/) ([`core`](./crates/mpz-cointoss-core/)) - 2-party cointoss protocol.
- [`matrix-transpose`](./crates/matrix-transpose/) - Bit-wise matrix transposition.
- [`clmul`](./crates/clmul/) - Carry-less multiplication.## License
All crates in this repository are licensed under either of- [Apache License, Version 2.0](http://www.apache.org/licenses/LICENSE-2.0)
- [MIT license](http://opensource.org/licenses/MIT)at your option.
## Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.See [CONTRIBUTING.md](CONTRIBUTING.md).
## Contributors
- [TLSNotary](https://github.com/tlsnotary)
- [Primus (formerly "PADO")](https://github.com/primus-labs)### Pronunciation
mpz is pronounced "em-peasy".