Upgrading ecdsa 0.13 to 0.14
Breaking0.13.3 → 0.14.1Breaking2Security2Platform1Deprecated3New13Changed8Fixed8Other9
SecurityDeterministic signatures now verify the signature will not leak the private key through an unlikely selection of the `k` nonce.Advisory ↗
BreakingUpgrade verdict
2 breaking changes and a platform requirement change and 2 security fixes.
In plain terms
- `from ecdsa.keys import *` now imports only objects defined in that module.
- Decoding a malformed point with `VerifyingKey.from_string` now raises `MalformedPointError`, which inherits from `AssertionError` but is not it.
- Drops support for Python 2.5 and removes dead code.
- Deterministic signatures now verify the signature will not leak the private key through an unlikely selection of the `k` nonce.
Must act Top 5 of 8 that need code or config changes
Requires Python >=2.6, !=3.0.*, !=3.1.*, !=3.2.* from 0.14 (none stated before).
Adds six.
Installs 1 package in all (was 0).
What you must change
Breaking2
from ecdsa.keys import * now imports only objects defined in that module.ecdsa.keysDecoding a malformed point with
VerifyingKey.from_string now raises MalformedPointError, which inherits from AssertionError but is not it.VerifyingKey.from_stringMalformedPointErrorAssertionErrorSecurity2
Deterministic signatures now verify the signature will not leak the private key through an unlikely selection of the
k nonce.kAdds nonce bit size hiding as hardening against the Minerva attack, though it does not make the library secure against side channel (timing) attacks.
Platform1
Drops support for Python 2.5 and removes dead code.
Deprecations to plan for
Deprecated3
Deprecates
phi, carmichael, carmichael_of_factorized, carmichael_of_ppower, order_mod, largest_factor_relatively_prime and kinda_order_mod in numbertheory, which now emit…phicarmichaelcarmichael_of_factorizedcarmichael_of_ppowerorder_modlargest_factor_relatively_primekinda_order_modDeprecationWarningencode_bitstring and decode_bitstring now expect the number of unused bits as an argument and emit DeprecationWarning when used the old way.encode_bitstringdecode_bitstringDeprecationWarningmodular_exp now emits DeprecationWarning.modular_expDeprecationWarning