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.

← all posts