Skip to content

Upgrading ecdsa 0.13 to 0.14

Breaking0.13.3 → 0.14.1Breaking2Security2Platform1Deprecated3New13Changed8Fixed8Other9

BreakingUpgrade verdict

2 breaking changes and a platform requirement change and 2 security fixes.

  • `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.
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).

Breaking2
from ecdsa.keys import * now imports only objects defined in that module.
ecdsa.keys
Decoding a malformed point with VerifyingKey.from_string now raises MalformedPointError, which inherits from AssertionError but is not it.
VerifyingKey.from_stringMalformedPointErrorAssertionError
Security2
Deterministic signatures now verify the signature will not leak the private key through an unlikely selection of the k nonce.
k
Adds 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.
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_modDeprecationWarning
encode_bitstring and decode_bitstring now expect the number of unused bits as an argument and emit DeprecationWarning when used the old way.
encode_bitstringdecode_bitstringDeprecationWarning
modular_exp now emits DeprecationWarning.
modular_expDeprecationWarning