- Support for python3.12
- CI/CD pipelines
- Memory corruption issue. Special thanks to keltecc for discovering this and to Snyk for reporting it.
- Building wheels via CI/CD for the following architectures
- Linux x86_64
- Linux i686
- MacOS x86_64
- MacOS arm64 (M1)
- Support for python3.6
- Minor doc issues and doc build
- Support for python3.10
- Error when adding two equal points where one point's coordinates are not reduced mod p (issue #75)
- Incorrect DER encoding of data with length >=0x80 (issue #61)
- Support for python3.9
- Support for python3.5
- Multiplying by negative scalars (issue #70)
- Reading and writing keys to disk using encoders that output bytes (PR #62)
fastecdsa.keys.import_key
now has a consistent return type (Tuple[Optional[int], Point]
) for public and private keys. Previously public key imports returnedPoint
, they now returnTuple[None, Point]
, in other words a tuple with the first entry beingNone
(the private key) and the second entry being the point representing the public key.
- Timing leakage from nonce bit length aka the Minerva vulnerability (PR #60)
- Reduction by base point order in scalar multiplication breaks when input point does not have that order (PR #58)
- Edge case for curves with order 2 was not handled (PR #58)
- Signature verification of pre-hashed messages broken (PR #56)
- Multiplying base point by curve order caused an error (issue #54)
- Point at infinity handling in C extensions (issue #52)
- DER signature decoding that assumed length was always encoded in one byte
- RFC6979 nonce generation for signatures on pre-hashed messages (issue #46)
- Curves W25519 and W448 from NIST.SP.800-186
- Curves with no OID are not added to the lookup by OID map
- Type validation for operations of points (issue #50)
- This changelog
- Type hints for clearer function signatures
- Support for python2.x
- Support for python3.4 and older
- Various unused imports
- Issue with benchmark script when C extensions weren't built in place (issue #44)