ecutils reaches v2
ecutils began as a way to work through elliptic-curve cryptography in code — Diffie–Hellman and Massey–Omura key exchange, ECDSA, Koblitz message encoding. v2 added the validation and cross-checks to test its output against reference implementations.
Verifying against reference implementations. The release added cross-verification
examples that check ecutils against the ecdsa and cryptography packages: the
same signature, the same point, produced by two independent implementations and
compared. Alongside it came explicit curve validation — rejecting points that are
not on the curve.
An API built on the math. v2 reorganized the package into modules and gave
Point an operator-based API, so curve arithmetic reads as arithmetic. On top of
it: SEC 1 point compression, QR-code utilities, and sign_message/verify_message
with a customizable hash function instead of a single hardcoded one.
The library stays educational by intent — readable and checkable, not a replacement for a vetted crypto stack.
There are ports that track it: js-ecutils for JavaScript and go-ecutils for Go.