skillfed

eciespy

Elliptic Curve Integrated Encryption Scheme for secp256k1/curve25519 in Python

eciespy v0.4.6 116.9K downloads/30d#12,191 on PyPI135
Permissive license MIT Active released

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 eciespy

uv

uv add eciespy

poetry

poetry add eciespy

Installing 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

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

Tags

elliptic curve encryptionsecp256k1 encryptionECIES encryption schemecurve25519 encryptionpublic key encryption pythoncryptocurrency key encryptionAES-GCM encryption library
elliptic-curve-cryptoblockchain-ready

More Cryptography packages