starkbank-ecdsa
A lightweight and fast pure python ECDSA library
Decision gist · record as of 2026-08-14
Yes, if you need pure Python ECDSA without compiled dependencies and can accept the performance trade-off versus C-based libraries. Install it for financial transaction signing, blockchain work, or any system requiring OpenSSL compatibility in a Python-only environment. Skip it if you need maximum signing/verification speed and can use compiled alternatives.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Low install friction with no runtime dependencies.
- Active maintenance with recent commits and a stable release history since 2018-09-02.
License · maintenance · safety
MIT License (permissive) — MIT License permits unrestricted use, modification, and distribution in both open-source and proprietary projects.
last release 2026-04-23 (113 days) · last repo commit 2026-04-23 · 140 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 8,177,955 downloads/mo, #1,656 on PyPI
Alternatives
Verify before relying
pip install starkbank-ecdsa
from starkbank_ecdsa import PrivateKey, Ecdsa
privateKey = PrivateKey()
publicKey = privateKey.publicKey()
message = "My test message"
signature = Ecdsa.sign(message, privateKey)
print(Ecdsa.verify(message, signature, publicKey))- Whether verification performance meets your application's latency requirements
- Compatibility with Python 2.7 support status and whether that matters for your deployment environment
- Whether the library's security features (hedged RFC 6979, low-S normalization, Montgomery ladder) are sufficient for your threat model
What it is and what it does
Starkbank-ECDSA is a pure Python elliptic curve digital signature algorithm library designed to balance speed and portability. It implements ECDSA signing and verification for secp256k1 and prime256v1 curves with no compiled dependencies, making it suitable for environments that require pure Python code. The library achieves performance through mathematical optimizations including Jacobian coordinates, Montgomery ladder scalar multiplication, and precomputed generator multiples, while maintaining security features including hedged RFC 6979 nonces, low-S normalization, on-curve validation, and timing-attack mitigation.
The package is fully compatible with OpenSSL-generated keys and signatures, allowing interoperation with standard cryptographic tools. It supports key import/export in PEM format and compressed public key representation. Primary use cases include signing and verifying messages for financial transactions, blockchain operations, and applications requiring deterministic ECDSA signatures without C extensions.
Use it for
- Sign and verify transaction messages for banking or payment systems with OpenSSL-compatible keys
- Generate and manage ECDSA key pairs for blockchain or cryptocurrency applications using secp256k1
- Verify digitally signed documents in environments where pure Python code is mandatory
- Interoperate with OpenSSL-generated ECDSA signatures in Python-only infrastructure
- Implement deterministic RFC 6979 signing for applications requiring reproducible signatures
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you need pure Python ECDSA without compiled dependencies and can accept the performance trade-off versus C-based libraries.
Install it for financial transaction signing, blockchain work, or any system requiring OpenSSL compatibility in a Python-only environment. Skip it if you need maximum signing/verification speed and can use compiled alternatives.
Install
starkbank-ecdsa on PyPI
Before you install
Low install friction with no runtime dependencies. Active maintenance with recent commits and a stable release history since 2018-09-02.
License in practice
MIT License permits unrestricted use, modification, and distribution in both open-source and proprietary projects.
Quickstart
pip install starkbank-ecdsa
from starkbank_ecdsa import PrivateKey, Ecdsa
privateKey = PrivateKey()
publicKey = privateKey.publicKey()
message = "My test message"
signature = Ecdsa.sign(message, privateKey)
print(Ecdsa.verify(message, signature, publicKey))
Verify before relying
- Whether verification performance meets your application's latency requirements
- Compatibility with Python 2.7 support status and whether that matters for your deployment environment
- Whether the library's security features (hedged RFC 6979, low-S normalization, Montgomery ladder) are sufficient for your threat model
Package facts
| License | MIT License permissive |
| Python support | Supports the current Python release !=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,>=2.7 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 113 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 8,177,955 / month, #1,656 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
Evidence: starkbank_ecdsa-2.3.1-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “ecdsa signing verification”
- starkbank-ecdsaPure Python ECDSA implementation supporting secp256k1 and prime256v1…
- securesystemslibSecuresystemslib provides a cryptography interface for creating and…
- ecdsaPure-Python implementation of ECDSA, EdDSA, and ECDH cryptographic…
Give your agent the search over MCP, or paste the wish link into any chat.
More Cryptography packages
Certifi provides Mozilla's curated collection of root SSL certificates for Python applications to validate TLS hosts and verify certificate trustworthiness.
cryptography provides cryptographic recipes and low-level primitives for symmetric encryption, message digests, key derivation, and other common cryptographic algorithms in Python.
Pure-Python RSA encryption, decryption, signing, and key generation following PKCS#1 v1.5, with command-line and library interfaces.
pyOpenSSL wraps OpenSSL's SSL/TLS functionality for Python, providing high-level connection objects and certificate handling through a Python-friendly interface around OpenSSL's cryptographic operations.
Provides Microsoft Entra ID token-based authentication for Azure SDK clients through a set of TokenCredential implementations that handle OAuth flows and managed identity support.
PyNaCl provides Python bindings to libsodium for digital signatures, secret-key and public-key encryption, hashing, message authentication, and password-based key derivation.
See also ecdsa · sslcrypto · fastecdsa · x25519 · eth-keys · lightdsa · ECPy · py-ecc · eciespy · securesystemslib