Skip to content

Seventh major update

Pre-release
Pre-release
Compare
Choose a tag to compare
@lschoe lschoe released this 16 Apr 17:03
· 16 commits to master since this release
085790a

Major technical improvements:

  • Completed support of all MPC functionality when PRSS is disabled.
  • Continued development for secure Numpy arrays and vectorized implementations.
  • Facilitate uvloop on Linux/Mac and its counterpart Winloop on Windows as alt event loops for (potentially) better performance.
  • Secure fixed-point sine and cosine.

Command Line Interface:

  • Add --no-uvloop to disable load and use of uvloop (winloop) package.

More technical changes:

  • Numpy 2.0 ready.
  • Handle integral attribute for more secure Numpy array functions.
  • Use primes just below powers of 2 for finite fields using gmpy2.prev_prime().
  • Refactor mpyc.asyncoro:
    • moved PRSS details to mpyc.runtime,
    • moved base class SecureObject from mpyc.sectypes,
    • renamed SharesCounter to SharesTallier.
  • Demote use of mpc.run() in demos, easier for use with PyScript.
  • Optimize doubling Edwards extended coordinates.
  • Some SageMath-style methods for GFpX polynomials, e.g., monic(), reverse().
  • Enhance mpyc.mpctools.accumulate().
  • Lots of smaller enhancements.

Many thanks to Marc Damie, Emil Nikolov, and Stan Korzilius and for their collaboration and contributions.

Corresponds to package mpyc 0.10 on PyPI.

This should be the last MPyC release supporting Python 3.9 and NumPy 1.23, following SPEC 0 — Minimum Supported Dependencies.