ecdsa 0.15
·
355 commits
to master
since this release
tl;dr:
- much faster (around 20x)
- dedicated API for ECDH
Bug fixes:
from curves import *will now correctly importBRAINPOOLP256r1and
BRAINPOOLP320r1curves.
New features:
- ECDH operations have a public explicit API.
- Large hashes are now supported with small curves (e.g. SHA-256 can be used
with NIST192p). VerifyingKeynow supports theprecompute()method to further speed up
signature verification with the given instance of the key.
New API:
VerifyingKey,SigningKey,Public_key,Private_keyand
CurveFpnow have__eq__methods.ecdsa.ecdhmodule andECDHclass.PointJacobiadded.VerifyingKey.verify_digest,SigningKey.sign_digestand
SigningKey.sign_digest_deterministicmethods now acceptallow_truncate
argument to enable use of hashes larger than the curve order.VerifyingKeyfrom_pemandfrom_dernow accepthashfuncparameter
like otherfrom*methods.VerifyingKeyhasprecomputemethod now.VerifyingKey.from_public_pointmay now not perform validation of public
point whenvalidate_point=Falseargument is passed to method.CurveFpconstructor now accepts thehparameter - the cofactor of the
elliptic curve, it's used for selection of algorithm of public point
verification.
Performance:
randrangenow will now perform much fewer calls to system random number
generator.PointJacobiintroduced and used as the underlying implementation; speeds up
the library by a factor of about 20.- Library has now optional dependencies on
gmpyandgmpy2. When they are
available, the elliptic curve calculations will be about 3 times faster.
Maintenance:
- expected minimum version of
sixmodule (1.9.0) is now specified explicitly
insetup.pyand tested against. - Significantly faster test suite execution.