- Update to 0.19.1
* ``der.remove_implitic`` and ``der.encode_implicit`` for decoding and
encoding DER IMPLICIT values with custom tag values and arbitrary
classes
* Minor fixes around arithmetic with curves that have non-prime order
(useful for experimentation, not practical deployments)
* Fix arithmetic to work with curves that have (0, 0) on the curve
* Fix canonicalization of signatures when ``s`` is just slightly
above half of curve order
* Dropped official support for Python 3.5 (again, issues with CI, support
for Python 2.6 and Python 2.7 is unchanged)
* Officialy support Python 3.12 and 3.13 (add them to CI)
* Removal of few more unnecessary `six.b` literals (Alexandre Detiste)
* Fix typos in warning messages (forwarded request 1266769 from glaubitz)
OBS-URL: https://build.opensuse.org/request/show/1266860
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ecdsa?expand=0&rev=18
* ``der.remove_implitic`` and ``der.encode_implicit`` for decoding and
encoding DER IMPLICIT values with custom tag values and arbitrary
classes
* Minor fixes around arithmetic with curves that have non-prime order
(useful for experimentation, not practical deployments)
* Fix arithmetic to work with curves that have (0, 0) on the curve
* Fix canonicalization of signatures when ``s`` is just slightly
above half of curve order
* Dropped official support for Python 3.5 (again, issues with CI, support
for Python 2.6 and Python 2.7 is unchanged)
* Officialy support Python 3.12 and 3.13 (add them to CI)
* Removal of few more unnecessary `six.b` literals (Alexandre Detiste)
* Fix typos in warning messages
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ecdsa?expand=0&rev=37
- update to 0.19.0:
* `to_ssh` in `VerifyingKey` and `SigningKey`, supports Ed25519
keys only
* Support for twisted Brainpool curves
* Fix curve equation in glossary
* Documentation for signature encoding and signature decoding
functions
* Officially support Python 3.11 and 3.12
* Small updates to test suite to make it work with 3.11 and
3.12 and new releases of test dependencies
* Dropped the internal `_rwlock` module as it's unused
* Added mutation testing to CI, lots of speed-ups to the test
suite to make it happen
* Removal of unnecessary `six.b` literals (Alexandre Detiste)
order bit size and the curve order is not a multiple of 8
OBS-URL: https://build.opensuse.org/request/show/1167154
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ecdsa?expand=0&rev=17
* `to_ssh` in `VerifyingKey` and `SigningKey`, supports Ed25519
keys only
* Support for twisted Brainpool curves
* Fix curve equation in glossary
* Documentation for signature encoding and signature decoding
functions
* Officially support Python 3.11 and 3.12
* Small updates to test suite to make it work with 3.11 and
3.12 and new releases of test dependencies
* Dropped the internal `_rwlock` module as it's unused
* Added mutation testing to CI, lots of speed-ups to the test
suite to make it happen
* Removal of unnecessary `six.b` literals (Alexandre Detiste)
order bit size and the curve order is not a multiple of 8
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ecdsa?expand=0&rev=35
- Update to 0.18.0
* 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 in curves module to get a Curve 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 raise MalformedPointError
instead of AssertionError.
- Also remove the conditional definition of python_module.
OBS-URL: https://build.opensuse.org/request/show/1030999
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ecdsa?expand=0&rev=15
- Update to 0.18.0
* 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 in curves module to get a Curve 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 raise MalformedPointError
instead of AssertionError.
OBS-URL: https://build.opensuse.org/request/show/1030935
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ecdsa?expand=0&rev=30
- Update to 0.17.0
* Keys that use explicit curve parameters can now be read and written.
Reading of explicit curves can be disabled by using the
`valid_curve_encodings` keyword argument in `VerifyingKey.from_pem()`,
`VerifyingKey.from_der()`, `SigningKey.from_pem()`, and
`SigningKey.from_der()`.
* Keys can now be written with use of explicit curve parameters,
use `curve_parameters_encoding` keyword argument of `VerifyingKey.to_pem()`,
`VerifyingKey.to_der()`, `SigningKey.to_pem(), or `SigningKey.to_der()` to
specify the format. By default `named_curve` will be used, unless the
curve doesn't have an associated OID (as will be the case for an unsupported
curve), then `explicit` encoding will be used.
* Allow specifying acceptable point formats when loading public keys
(this also fixes a minor bug where python-ecdsa would accept raw
encoding for points in PKCS#8 files). Set of accepted encodings is controlled
by `valid_encodings` keyword argument in
`ECDH.load_received_public_key_bytes()`, `VerifyingKey.from_string()`,
`VerifyingKey.from_pem()`, VerifyingKey.from_der()`.
* `PointJacobi` and `Point` now inherit from `AbstractPoint` that implements
the methods for parsing points. That added `from_bytes()` and
`to_bytes()` methods to both of them.
* Curve parameters can now be read and written to PEM and DER files. The
`Curve` class supports new `to_der()`, `from_der()`, `to_pem()`, and
`from_pem()` methods.
* Describe in detail which methods can raise `RSZeroError`, and that
`SigningKey.sign_deterministic()` won't raise it.
* Correctly truncate hash values larger than the curve order (only impacted
custom curves and the curves added in this release).
* Correctly handle curves for which the order is larger than the prime
(only impacted custom curves and the secp160r1 curve added in this release).
OBS-URL: https://build.opensuse.org/request/show/915237
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ecdsa?expand=0&rev=29
- update to to 0.16.1:
* `VerifyingKey.precompute()` supports `lazy` argument to delay
precomputation to the first time the key is used to verify a signature.
* Make created signatures correct when the hash used is bigger than the curve
order bit size and the curve order is not a multiple of 8
* Speed up library load time by calculating the generator point multiplication
tables the first time the points are used, not when they are initialised.
OBS-URL: https://build.opensuse.org/request/show/857105
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ecdsa?expand=0&rev=13
* `VerifyingKey.precompute()` supports `lazy` argument to delay
precomputation to the first time the key is used to verify a signature.
* Make created signatures correct when the hash used is bigger than the curve
order bit size and the curve order is not a multiple of 8
* Speed up library load time by calculating the generator point multiplication
tables the first time the points are used, not when they are initialised.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ecdsa?expand=0&rev=27
- update to 0.16.0:
* Support for reading and writing private keys in PKCS#8 format.
* `to_pem` and `to_der` now accept new parameter, `format`, to specify
* the format of the encoded files, either the dafault, legacy "ssleay", or
* the new `pkcs8` to use PKCS#8. Note that only unencrypted PKCS#8 files are
* supported.
* Add `allow_truncate` to `verify` in `VerifyingKey`, it defaults to True,
* when specified as False, use of large hashes smaller than curves will be
* disallowed (as it was in 0.14.1 and earlier).
* Correctly calculate signatures for private keys equal to n-1.
* Make `PointJacobi` and thus `SigningKey` and `VerifyingKey` pickleable.
OBS-URL: https://build.opensuse.org/request/show/835165
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-ecdsa?expand=0&rev=12
* Support for reading and writing private keys in PKCS#8 format.
* `to_pem` and `to_der` now accept new parameter, `format`, to specify
* the format of the encoded files, either the dafault, legacy "ssleay", or
* the new `pkcs8` to use PKCS#8. Note that only unencrypted PKCS#8 files are
* supported.
* Add `allow_truncate` to `verify` in `VerifyingKey`, it defaults to True,
* when specified as False, use of large hashes smaller than curves will be
* disallowed (as it was in 0.14.1 and earlier).
* Correctly calculate signatures for private keys equal to n-1.
* Make `PointJacobi` and thus `SigningKey` and `VerifyingKey` pickleable.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-ecdsa?expand=0&rev=25