pyDes
Pure python implementation of DES and TRIPLE DES encryption algorithm
What it is and what it does
pyDes is a pure Python implementation of the DES and Triple DES block cipher algorithms. It provides both DES-EDE3 with a 24 byte key and DES-EDE2 with a 16 byte key for symmetric encryption and decryption. The package has no external runtime dependencies and works with both Python 2 and Python 3, making it portable across environments.
The package is classified as mature but has been abandoned since its single release on 2016-05-06. DES itself is cryptographically broken by modern standards and should not be used for new security-critical applications. This package is most useful for decrypting legacy data, interfacing with older systems that still use DES, or educational exploration of symmetric encryption—not for protecting sensitive information in new systems.
Use it for:
- Decrypt legacy data or files encrypted with DES or Triple DES from older systems.
- Integrate with legacy applications or protocols that require DES cipher support.
- Educational study of symmetric encryption algorithms and block cipher operation modes.
- Reverse-engineer or analyze existing DES-encrypted communications in a controlled environment.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Pure Python implementation of DES and Triple DES encryption algorithms, supporting DES-EDE3 with a 24 byte key and DES-EDE2 with a 16 byte key.
No, unless you are maintaining legacy code that specifically requires DES decryption. The package is abandoned with no maintenance since 2016, and DES is cryptographically broken. For new encryption needs, use modern alternatives. For legacy compatibility, verify whether a maintained fork exists first.
Install
pydes on PyPI
pip
pip install pydesuv
uv add pydespoetry
poetry add pydesInstalling pyDes
Before you install
High install friction: the package is abandoned (last release 2016-05-06, no updates in 3752 days) with no active maintenance. Installation requires building from source tarball with no runtime dependencies to smooth the process.
License in practice
Public Domain license places no restrictions on use, modification, or redistribution—you may use this code freely in any context without attribution or licensing obligations.
Quickstart
pip install pyDes
from pyDes import des, triple_des
key = b'encryption_key'
cipher = des(key)
encrypted = cipher.encrypt(b'plaintext')
DES and Triple DES are cryptographically broken and should not be used for new security-sensitive applications; this package is suitable only for legacy system compatibility or educational purposes.
Verify before relying
- Whether this implementation has been audited for constant-time or side-channel resistance.
- Current real-world usage patterns and whether any active forks or maintained alternatives exist.
- Specific Python version compatibility beyond the unspecified classifier declarations.
Package facts
| License | Public Domain (permissive) |
| Python support | not specified |
| Install friction | high — source build required |
| Runtime dependencies | none |
| Maintenance | abandoned — 3,752 days since the last release |
| First released | |
| Downloads | 218,011/month — #9,346 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: pyDes-2.0.1.tar.gz
Keywords: DES, TRIPLE-DES, ENCRYPTION, ALGORITHM, SECURITY
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
py3rijndaelpy3rijndael provides a pure-Python…
permissive · top 15,000 on PyPI
twofishProvides Python bindings to the Twofish block…
permissive · top 15,000 on PyPI
xxteaxxtea is a Python extension that implements the…
permissive · top 15,000 on PyPI
spake2Implements SPAKE2, a password-authenticated key…
permissive · top 15,000 on PyPI
pyaesPure-Python implementation of AES encryption…
permissive · top 5,000 on PyPI
ff3Implements NIST FF3 and FF3-1 format-preserving…
permissive · top 15,000 on PyPI
gmsslPure-Python implementation of SM2, SM3, and SM4…
permissive · top 15,000 on PyPI
pyscryptA pure-Python implementation of the scrypt…
permissive · top 15,000 on PyPI
pyffxpyffx implements Format-Preserving Encryption…
permissive · top 15,000 on PyPI
aes-pkcs5Provides AES encryption and decryption with…
permissive · top 15,000 on PyPI