Third major update
Pre-release
Pre-release
Added five new modules:
mpyc.gfpx
(replacesmpyc.gf2x
) for polynomial arithmetic over arbitrary prime fields.mpyc.finfields
(replacesmpyc.bfield
andmpyc.pfield
) to support arbitrary extension fields next to binary fields and prime fields.mpyc.mpctools
for reduce and accumulate with log round complexity.mpyc.statistics
modelled after Python's statistics module.mpyc.seclists
for secure lists with oblivious access and updates.
Also added rudimentary secure conversions (between secure int/fxp/fld), support for async with
MPyC runtime, secure unit vectors, secure abs, pos, and efficient min&max. Plus technical enhancements throughout, e.g., now supporting up to 256 parties, and some secure fixed-point arithmetic enhancements.
Added four new demos:
kmsurvival.py
for secure Kaplan-Meier survival analysis plus notebookKaplanMeierSurvivalExplained.ipynb
.ridgeregression.py
for secure ridge regression (and linear regression).helloworld.py
as "do nothing" demo, but with explanation how to run with up to 256 parties on Linux and Windows.oneliners.py
couple of nice MPyC oneliners.
Also extended explanation in OT and ID3 decision tree demos.
Other changes:
- Change from Apache 2.0 to MIT license.
- Ensure pypy compatibility.
- Create .travis.yml workflow, including test coverage.
- Add "launch binder" badge, Travis CI badge, codecov badge, and PyPI badge.
- Enable docs via https://lschoe.github.io/mpyc.
- Added MPyC logo in SVG and LaTeX-tikz.
- Add basic Linux scripts for docs, tests.
- Most data files are now in GitHub friendly csv.
Corresponds to package mpyc 0.6 on PyPI.