DES Encryption (Legacy)
Encrypt text with legacy DES in CBC, CFB, OFB or ECB using an OpenSSL des-cbc passphrase or an 8-byte hex key. For compatibility only – DES is insecure.
Output uses the OpenSSL "Salted__" format in Base64: an 8-byte random salt followed by the ciphertext. Key and IV are derived from the passphrase and the salt, so the same text gives a different result every time. Equivalent command:
openssl enc -des-cbc -md md5 -a -A -provider legacy -provider default -k '…'Runs entirely in your browser. Your data is never uploaded.
What is DES Encryption?
Encrypts data with the Data Encryption Standard, the 1977 block cipher with a 64-bit block and an effective 56-bit key. It exists here to reproduce or interoperate with old systems (banking, smart cards, legacy files) – not to protect anything.
How to use DES Encryption
- Keep Key source on Passphrase (OpenSSL-compatible) and type a Passphrase, or switch to Raw key + IV (hex) and enter the exact key and IV in hex.
- Choose the Mode and Padding (CBC with PKCS#7 is the OpenSSL default).
- Type or paste the Plaintext (or switch the input encoding to Hex for binary data).
- Click Encrypt, pick Base64 or Hex as the Output encoding and copy the ciphertext.
Example
Raw key 133457799bbcdff1, mode ECB, padding None, hex plaintext 0123456789abcdef
85e813540f0ab405
Classic DES known-answer test, Hex output encoding.
When to use DES Encryption
Use it only when a legacy protocol or file format requires DES, or to generate known-answer test vectors. For anything new use AES. Triple DES is also deprecated.
How DES Encryption works
DES runs 16 Feistel rounds on 8-byte blocks. In passphrase mode an 8-byte key and IV are derived from your passphrase and a random salt (EVP_BytesToKey MD5 or PBKDF2-SHA256) and the result is the OpenSSL Salted__ format, compatible with openssl enc -des-cbc -provider legacy. In raw mode you give an 8-byte key (16 hex characters; the parity bits are ignored) and an 8-byte IV. CBC/ECB use PKCS#7 padding by default; CFB and OFB are 64-bit stream modes.
Common Use Cases
- Reproduce DES test vectors such as key 133457799BBCDFF1 / plaintext 0123456789ABCDEF
- Create test data for a legacy payment or smart-card system
- Teach how block ciphers and modes work with a classic example
- Encrypt data for an old application that only supports DES
Security Note
DES uses a 56-bit key that can be brute-forced in hours on commodity hardware. Use this tool only to read or reproduce legacy data; never encrypt new data with DES.
FAQs
Is DES secure?
No. Its 56-bit key was brute-forced publicly in 1998 (EFF DES Cracker) and today takes hours. Use AES for real data.
Why does OpenSSL 3 say the cipher is unsupported?
OpenSSL 3 moved DES to the legacy provider. Add -provider legacy -provider default to the command, e.g. openssl enc -des-cbc -md md5 -a -A -provider legacy -provider default -k ….
How long must the key be?
Exactly 8 bytes (16 hex characters). The lowest bit of each byte is a parity bit that DES ignores, so keys that differ only in those bits are equivalent.