sslcrypto
ECIES, AES and RSA OpenSSL-based implementation with fallback
Decision gist · record as of 2026-08-14
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.AI-flagged interpretation of the facts on this page — verify before relying
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 · maintenance · safety
(unclear) — 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.
last release 2020-04-08 (2319 days) · last repo commit 2020-11-21 · 26 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 92,571 downloads/mo, #13,442 on PyPI
Alternatives
Verify before relying
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- 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.
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 on it.
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
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 packagesbase58pyaes |
| 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
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 › “OpenSSL fallback pure Python”
- sslcryptoProvides AES, ECIES, and ECDSA cryptographic operations with optional…
- starkbank-ecdsaPure Python ECDSA implementation supporting secp256k1 and prime256v1…
- M2CryptoM2Crypto wraps OpenSSL via SWIG to provide Python access to…
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 eciespy · gmssl · pyseto · starkbank-ecdsa · crypto · fastecdsa · coincurve · ecdsa · py-ecc · x25519