sslcrypto
ECIES, AES and RSA OpenSSL-based implementation with fallback
What it is and what it does
sslcrypto is a lightweight cryptography library that implements AES symmetric encryption, ECIES public-key encryption, and ECDSA digital signatures. It supports multiple cipher modes (CBC, CTR, CFB, OFB) and elliptic curves (including secp256k1 used in Bitcoin), with optional OpenSSL acceleration when available and a pure-Python fallback for environments where OpenSSL is unavailable or undesirable.
The library is designed for scenarios where full-featured cryptography packages are too heavy or require system dependencies not available by default. It includes Bitcoin-specific utilities like WIF key conversion and address generation. However, the package has been abandoned since 2020 with no recent maintenance, so it should be evaluated carefully for security-sensitive applications.
Use it for:
- Encrypt and decrypt sensitive data using AES with multiple cipher modes in pure Python without external system dependencies.
- Generate and verify ECDSA signatures on secp256k1 for Bitcoin or other blockchain applications.
- Perform ECIES encryption and decryption using elliptic curves when asymmetric encryption is needed.
- Derive Bitcoin keys, convert to WIF format, and generate addresses from private keys.
- Recover public keys from recoverable ECDSA signatures for transaction verification.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Provides AES, ECIES, and ECDSA cryptographic operations with optional OpenSSL acceleration and pure-Python fallback, supporting multiple cipher modes and elliptic curves including secp256k1.
No, not recommended for new projects. While the package offers low install friction and covers common cryptographic operations, it is abandoned (last release April 2020, no commits since November 2020). Security vulnerabilities are unlikely to be patched, and compatibility with modern Python versions is uncertain. For AES, ECDSA, and ECIES, use actively maintained alternatives like cryptography or coincurve instead.
Install
sslcrypto on PyPI
pip
pip install sslcryptouv
uv add sslcryptopoetry
poetry add sslcryptoInstalling sslcrypto
Before you install
Low install friction with only two runtime dependencies (base58, pyaes). However, the package is abandoned—last release April 2020, no commits since November 2020—so security patches and bug fixes are unlikely.
License in practice
License treatment is unclear in the metadata, though the description notes MIT plus BSD-2 for the ripemd implementation. Verify the actual license terms before use in proprietary or GPL-licensed projects.
Quickstart
pip install sslcrypto
import sslcrypto
# AES example
key = sslcrypto.aes.new_key()
data = b"Hello, world!"
ciphertext, iv = sslcrypto.aes.encrypt(data, key)
assert sslcrypto.aes.decrypt(ciphertext, iv, key) == data
# ECDSA example
curve = sslcrypto.ecc.get_curve("secp256k1")
private_key = curve.new_private_key()
public_key = curve.private_to_public(private_key)
signature = curve.sign(data, private_key)
assert curve.verify(signature, data, public_key) == True
Verify before relying
- Whether the package has received security audits or is suitable for production use in high-security contexts.
- Current compatibility with modern Python versions and whether dependencies (base58, pyaes) are actively maintained.
- Whether OpenSSL detection and fallback behavior work reliably on all target platforms.
Package facts
| License | not declared (unclear) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 2 — base58, pyaes |
| Maintenance | abandoned — 2,319 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 92,571/month — #13,442 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: sslcrypto-5.3-py3-none-any.whl
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
eciespyEncrypts and decrypts data using Elliptic Curve…
permissive · top 15,000 on PyPI
gmsslPure-Python implementation of SM2, SM3, and SM4…
permissive · top 15,000 on PyPI
pysetoPySETO implements PASETO (Platform-Agnostic…
permissive · top 15,000 on PyPI
starkbank-ecdsaPure Python ECDSA implementation supporting…
permissive · top 5,000 on PyPI
cryptoProvides command-line tools to encrypt and…
permissive · top 5,000 on PyPI
fastecdsaProvides fast elliptic curve digital signature…
permissive · top 15,000 on PyPI
coincurvecoincurve provides Python bindings to…
permissive · top 5,000 on PyPI
ecdsaPure-Python implementation of ECDSA, EdDSA, and…
permissive · top 1,000 on PyPI
py-eccImplements elliptic curve cryptography…
permissive · top 5,000 on PyPI
x25519Provides pure Python implementations of…
permissive · top 15,000 on PyPI