eciespy
Elliptic Curve Integrated Encryption Scheme for secp256k1/curve25519 in Python
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9 or later (supports up to 3.13); runtime dependencies typing-extensions, coincurve, and pycryptodome must be installed.
- 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 · maintenance · safety
MIT (permissive) — MIT license (permissive) allows free use, modification, and distribution with minimal restrictions—suitable for both open-source and commercial projects.
last release 2025-07-21 (389 days) · last repo commit 2026-04-03 · 135 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 116,869 downloads/mo, #12,191 on PyPI
Alternatives
Verify before relying
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)- 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.
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 on it.
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
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.
Requires Python 3.9 or later (supports up to 3.13); runtime dependencies typing-extensions, coincurve, and pycryptodome must be installed.
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)
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 packagestyping-extensionscoincurvepycryptodome |
| 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 |
| Classifiers | Development Status :: 4 - BetaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonTopic :: Security :: Cryptography |
Evidence: eciespy-0.4.6-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 › “elliptic curve encryption”
- eciespyEncrypts and decrypts data using Elliptic Curve Integrated Encryption…
- pycryptodomexPyCryptodomex provides low-level cryptographic primitives including…
- gmsslPure-Python implementation of SM2, SM3, and SM4 Chinese national…
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 ECPy · py-ecc · pyrage · sslcrypto · x25519 · pyhpke · http-ece · gmssl · lightphe · pure25519