--- id: pure25519 version: "0.0.1" license: MIT license_treatment: permissive maintenance: abandoned --- # pure25519 — pure-python curve25519/ed25519 routines License: permissive · Maintenance: abandoned · Downloads: 78.0K/mo ## What it is and what it does pure25519 is a pure-Python cryptography library implementing Curve25519 and Ed25519 algorithms without requiring a C compiler. It provides Diffie-Hellman key agreement, Ed25519 digital signatures, and SPAKE2 password-authenticated key exchange entirely in Python. The package is intentionally educational and compiler-free, but the author explicitly warns against production use: it is much slower than C implementations (Ed25519 signing ~2.8ms vs ~142us in pynacl), performs full subgroup-membership checks that add overhead, and is not constant-time—it leaks hamming weights through timing side-channels. The package is abandoned (last commit 2020-02-06) and the description itself recommends using pynacl or python-ed25519 instead for real applications. Use it for: - Educational exploration of Curve25519 and Ed25519 algorithms when a C compiler is unavailable. - Implementing SPAKE2 password-authenticated key exchange in environments where libsodium bindings are not available. - Prototyping or testing cryptographic protocols in pure Python before optimizing with C libraries. - Environments where binary dependencies must be minimized, accepting severe performance trade-offs. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Pure-Python implementation of Curve25519 and Ed25519 cryptographic functions, including Diffie-Hellman key agreement, Ed25519 digital signatures, and SPAKE2 password-authenticated key exchange. No. The package is abandoned, explicitly recommends against its own use in favor of pynacl or python-ed25519, and introduces significant security and performance liabilities (timing side-channels, non-constant-time operations, subgroup checks). Install only for educational study of elliptic-curve math or when no alternative is available and performance/security are not concerns. ## Install pip install pure25519 uv add pure25519 poetry add pure25519 ## Installing pure25519 Before you install: Installation friction is high; the package is abandoned (last commit 2020-02-06, no releases since 2018-01-17) with no runtime dependencies. The description itself recommends using pynacl or python-ed25519 instead, citing performance and security concerns with this pure-Python approach. License in practice: MIT license is permissive and poses no legal restriction on use, modification, or distribution. Quickstart: pip install pure25519 from pure25519 import ed25519_eddsa # Sign a message signing_key, verifying_key = ed25519_eddsa.create_signing_key(b'seed') signature = signing_key.sign(b'message') # Verify signature verifying_key.verify(signature, b'message') No C compiler required, but performance is substantially slower than C-based alternatives (Ed25519 sign ~2.8ms vs ~142us in pynacl); timing side-channels leak hamming weights. Verify before relying: - Whether the package's subgroup-membership checks and non-constant-time implementation are acceptable for your threat model. - Current compatibility with modern Python versions beyond 2 and 3 (last release 2018-01-17). - Whether the Ed25519 implementation remains compatible with current ed25519.cr.yp.to reference vectors. ## Package facts - License: MIT (permissive) - Python support: unspecified - Install friction: high - Maintenance: abandoned - Downloads: 78.0K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags curve25519 python implementation, ed25519 signatures pure python, diffie-hellman key agreement, spake2 password authenticated key, elliptic curve cryptography python, pure python cryptography, ed25519 without c compiler, educational, abandoned, timing-side-channel [View on SkillFed](https://skillfed.io/packages/pure25519) · [View on PyPI](https://pypi.org/project/pure25519/)