eciespy
Elliptic Curve Integrated Encryption Scheme for secp256k1/curve25519 in Python
What it is and what it does
eciespy is a Python implementation of the Elliptic Curve Integrated Encryption Scheme (ECIES), a hybrid encryption standard that combines elliptic curve cryptography with symmetric encryption. It supports three elliptic curves—secp256k1 (used in Bitcoin and Ethereum), x25519, and ed25519—and allows you to encrypt data with a recipient's public key and decrypt it with their private key. The library handles the complexity of key derivation, ephemeral key generation, and authenticated encryption internally.
The package is designed for developers who need public-key encryption in cryptocurrency, blockchain, or general security applications. It provides both a Python API and a command-line interface for key generation, encryption, and decryption. Configuration options let you choose between AES-256-GCM and XChaCha20-Poly1305 for symmetric encryption, and between compressed or uncompressed key formats for secp256k1. Runtime dependencies are typing-extensions, coincurve, and pycryptodome.
Use it for:
- Encrypt sensitive data in Ethereum or Bitcoin applications using secp256k1 keys.
- Build end-to-end encrypted messaging or file-sharing systems with x25519 key exchange.
- Generate and manage cryptographic key pairs for blockchain wallets or smart contract interactions.
- Implement encryption compatibility by matching configuration with other language implementations.
- Encrypt configuration or credential files in command-line workflows using the CLI tool.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Encrypts and decrypts data using Elliptic Curve Integrated Encryption Scheme (ECIES) with support for secp256k1, x25519, and ed25519 curves.
Yes. eciespy is actively maintained, has no known vulnerabilities, uses a permissive MIT license, and provides a straightforward API for a well-defined cryptographic task. Install it if you need ECIES encryption with secp256k1 or curve25519 in Python—particularly for cryptocurrency or blockchain applications. The low install friction and stable maintenance history make it a reliable choice.
Install
eciespy on PyPI
pip
pip install eciespyuv
uv add eciespypoetry
poetry add eciespyInstalling eciespy
Before you install
Low install friction with a pure Python wheel distribution. Actively maintained with a recent commit on 2026-04-03 and regular releases; last version published 2025-07-21.
License in practice
MIT license (permissive) allows free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
Quickstart
pip install eciespy
from eciespy.keys import PrivateKey
from eciespy import encrypt, decrypt
sk = PrivateKey('secp256k1')
data = b'hello world'
encrypted = encrypt(sk.public_key.to_bytes(True), data)
decrypted = decrypt(sk.secret, encrypted)
Requires Python 3.9 or later (supports up to 3.13); runtime dependencies typing-extensions, coincurve, and pycryptodome must be installed.
Verify before relying
- Performance characteristics or throughput benchmarks for different curve/cipher combinations.
- Interoperability test results with other language implementations mentioned in the project.
- Security audit or formal verification status of the implementation.
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (<4.0,>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — typing-extensions, coincurve, pycryptodome |
| Maintenance | actively maintained — 389 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 116,869/month — #12,191 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: eciespy-0.4.6-py3-none-any.whl
Keywords: secp256k1, crypto, elliptic curves, ecies, bitcoin, ethereum, cryptocurrency
Tags
More Cryptography packages
Certifi provides Mozilla's curated collection…
copyleft · top 100 on PyPI
cryptographycryptography provides cryptographic recipes and…
permissive · top 100 on PyPI
rsaPure-Python RSA encryption, decryption,…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
azure-identityProvides Microsoft Entra ID token-based…
unclear · top 1,000 on PyPI
PyNaClPyNaCl provides Python bindings to libsodium…
permissive · top 1,000 on PyPI
ECPyECPy is a pure Python elliptic curve library…
permissive · top 15,000 on PyPI
py-eccImplements elliptic curve cryptography…
permissive · top 5,000 on PyPI
pyragepyrage provides Python bindings to the Rust…
permissive · top 15,000 on PyPI
sslcryptoProvides AES, ECIES, and ECDSA cryptographic…
unclear · top 15,000 on PyPI
x25519Provides pure Python implementations of…
permissive · top 15,000 on PyPI
pyhpkePyHPKE implements HPKE (Hybrid Public Key…
permissive · top 15,000 on PyPI
http-eceImplements encrypted content encoding for HTTP…
permissive · top 5,000 on PyPI
gmsslPure-Python implementation of SM2, SM3, and SM4…
permissive · top 15,000 on PyPI
lightpheLightPHE provides a Python library implementing…
permissive · top 15,000 on PyPI
pure25519Pure-Python implementation of Curve25519 and…
permissive · top 15,000 on PyPI