Skip to content

Third major update

Pre-release
Pre-release
Compare
Choose a tag to compare
@lschoe lschoe released this 31 Dec 13:21
· 218 commits to master since this release
4e68b81

Added five new modules:

  • mpyc.gfpx (replaces mpyc.gf2x) for polynomial arithmetic over arbitrary prime fields.
  • mpyc.finfields (replaces mpyc.bfield and mpyc.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 notebook KaplanMeierSurvivalExplained.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.