- mulmod now available with gmpy2 acceleration.
Remove support for Python 3.3.
Complete pure Python fallback implementation.
- invert now available without gmpy2, implemented using the extended Euclidean algorithm (extended_euclidean_algorithm)
- getprimeover now available without gmpy2, along with a probabilitic primality test isprime based on the Miller-Rabin test (miller_rabin)
Changes to enhance performance. Using Chinese Remainder Theorem for faster decryption. Exploit property of the generator to speed up encryption.
Note both the api and the serialisation has changed.
- A private key now has a p and q attribute instead of lambda and mu. To
continue being able to create a private key using the totient use the PaillierPrivateKey.from_totient static constructor. - The serialization and constructor of a public key now only requires n.
Documentation and bugfix release.
- Better support for alternative encoding schemes (including a new example). Public key now has an encrypt_encoded method. decrypt_encoded optionally takes an Encoding class.
- Command line tool documentation.
- Much expanded notes on key serialisation.
- Several tests for encrypt/decrypt only encoded/decoded.
- Command line tool
PaillierPrivateKeyring used mutable default argument.
- Support for Python 3.5
- Default keysize increased to 2048
- Allow use of alternative base for EncodedNumber