Repository navigation
v0.1.2
🔐 Security & Stability Release
This is a major update that makes the library production-ready. It includes critical security patches to protect against side-channel attacks and nonce-reuse vulnerabilities, along with a significant code refactor for a cleaner and more robust API.
🔐 Security Enhancements
- Constant-Time Operations: Implemented the Montgomery Ladder for all scalar multiplication operations to protect against timing-based side-channel attacks.
- Deterministic Signatures (RFC 6979): ECDSA signing now uses deterministic nonces as specified in RFC 6979. This eliminates the risk of private key exposure from a faulty random number generator.
- Non-Malleable Signatures: Enforced a "low-s" rule in all ECDSA signatures to prevent signature malleability.
✨ API & Code Quality Improvements
- Full Code Refactor: All modules (
point.py,field.py,keys.py,curve.py,ecdsa.py) have been significantly refactored for clarity, robustness, and adherence to Python best practices. - Improved API Design: The public API is now more intuitive and object-oriented. For example, signing is now done via
private_key.sign()and verification viapublic_key.verify(). - Full Type Safety: Enhanced static type hinting across the entire codebase, resolving all
pyrighterrors for a more reliable and maintainable library.
Full Changelog: v0.1.1...v0.1.2