New features:
- Support for EdDSA (Ed25519, Ed448) signature creation and verification.
- Support for Ed25519 and Ed448 in PKCS#8 and public key files.
- Support for point precomputation for EdDSA.
New API:
- CurveEdTw class to represent the Twisted Edwards curve parameters.
- PointEdwards class to represent points on Twisted Edwards curve and
provide point arithmetic on it. curve_by_name
incurves
module to get aCurve
object by providing curve
name.
Bug fix:
- Accept private EdDSA keys that include public key in the ASN.1 structure.
- Fix incompatibility with Python 3.3 in handling of memoryviews of empty
strings. - Make the
VerifyingKey
encoded with explicit parameters use the same
kind of point encoding for public key and curve generator. - Better handling of malformed curve parameters (as in CVE-2022-0778);
make python-ecdsa raiseMalformedPointError
instead ofAssertionError
.
Doc fix:
- Publish the documentation on https://ecdsa.readthedocs.io/,
include explanation of basics of handling of ECC data formats and how to use
the library for elliptic curve arithmetic. - Make object names more consistent, make them into hyperlinks on the
readthedocs documentation. - Make security note more explicit (Ian Rodney)
- Fix the
explicit
vsnamed_curve
confusion inVerifyingKey
docs.
Maintenance:
- Fix few typos (thanks to Tim Gates and Kian Meng Ang).
- Updated black version; slight changes to formatting
- Include interoperability tests for Ed25519 and Ed448 with OpenSSL.