This hMPC library, written in the functional language Haskell, serves as a counterpart to the original MPyC library, written in the imperative language Python and developed by Berry Schoenmakers.
hMPC supports secure m-party computation tolerating a dishonest minority of up to t passively corrupt parties, where m ≥ 1 and 0 ≤ t < m/2. The underlying cryptographic protocols are based on threshold secret sharing over finite fields (using Shamir's threshold scheme and optionally pseudorandom secret sharing).
The details of the secure computation protocols are mostly transparent due to the use of sophisticated operator overloading combined with asynchronous evaluation of the associated protocols.
See demos for Haskell programs with lots of example code. See docs/basics.rst for a basic secure computation example in Haskell. Click the "launch binder" badge above to view the entire
repository and try out the Jupyter notebooks from the demos directory in the cloud, without any install.
The initial reseach is part of a master's graduation project. For further reading, refer to the complementary master's thesis: Multiparty Computation in Haskell: From MPyC to hMPC.
Original Python MPyC documentation:
Read the Docs for Sphinx-based documentation, including an overview of the demos.
The MPyC homepage has some more info and background.
You can install this package using cabal:
cabal install hMPC, or cabal install in the root directory.
- Try
run-all.shorrun-all.batin thedemosdirectory to have a quick look at all Haskell demos.
Copyright © 2024 Nick van Gils