mpyc (version 0.9)
index
github.com/lschoe/mpyc/blob/v0.9/mpyc/__init__.py

MPyC is a Python package for secure multiparty computation (MPC).
 
MPyC provides a runtime for performing computations on secret-shared values,
where parties interact by exchanging messages via peer-to-peer connections.
The MPC protocols are based on Shamir's threshold secret sharing scheme
and withstand passive adversaries controlling less than half of the parties.
 
Secure integer and fixed-point arithmetic is supported for parameterized
number ranges, also including support for comparison and bitwise operations.
Secure finite field arithmetic is supported for fields of arbitrary order.
Secure NumPy arrays over these basic types are available as well.
 
Basic support for secure floating-point arithmetic is provided. Moreover,
support for secure finite group operations is built-in for a range of groups,
particularly for use in threshold cryptography (e.g., Schnorr groups and
elliptic curves).
 
The above operations are all available via Python's operator overloading.
 
Secure drop-in replacements for lots of Python built-in functions, such as
all(), any(), sum(), min(), max(), sorted() are provided, mimicking the Python
APIs as much as possible. Further operations for container datatypes holding
secret-shared data items are provided as well (e.g., matrix-vector operations
like secure dot products), next to the support for NumPy arrays.
 
And much more functionality still in a couple of extension modules: seclists
(secure lists with oblivious access and updates), mpctools (reduce and accumulate
with log round complexity), random (securely mimicking Python’s random module),
and statistics (securely mimicking Python’s statistics module).

 
Package Contents
       
__main__
asyncoro
finfields
fingroups
gfpx
gmpy
mpctools
numpy
random
runtime
secgroups
seclists
sectypes
statistics
thresha

 
Functions
       
get_arg_parser()
Return parser for command line arguments passed to the MPyC runtime.

 
Data
        __license__ = 'MIT License'