DES / 3DES / RC4 / XXTEA

Legacy symmetric encryption: DES, Triple DES, RC4, and XXTEA.

What DES / 3DES / RC4 / XXTEA helps you do

Encrypt and decrypt with legacy symmetric ciphers: DES, Triple DES, RC4 and XXTEA. It exists mainly for interoperability with old data and for learning why these algorithms were retired. DES, Triple DES and RC4 are handled by CryptoJS with a string key and ECB mode, while XXTEA uses its own Base64 format.

All operations run in your browser. Your text and keys are not uploaded to Haivix.

How it works

Every operation runs in your browser, and the keys and plaintext stay on the device. The underlying libraries are fetched from a public CDN when the page loads, so the code itself comes from a third party at runtime; that is acceptable for learning and interoperability, not for high-assurance key handling. These are low-level primitives, not a complete protection scheme: CBC, ECB and RC4 provide confidentiality only, with no integrity check, so altered ciphertext may decrypt to something an application still accepts. Modern designs pair encryption with authentication, such as AES-GCM or ChaCha20-Poly1305, and keep keys in a dedicated store rather than a form field.

How to use DES / 3DES / RC4 / XXTEA

  1. Choose the algorithm and enter the text or ciphertext and the key.
  2. Run the encryption or decryption.
  3. Check the output starts with the expected format.
  4. Copy the result.

When to use it

  • Decrypt legacy data encrypted with an old cipher.
  • Demonstrate how historic algorithms work.
  • Interoperate with a system that still uses one of these ciphers.
  • Show why ECB mode leaks patterns.
  • Check a legacy fixture before migrating it.
  • Compare output sizes across ciphers.

When not to use it

  • Do not use these algorithms for new protection; they are retired.
  • Do not assume the output matches another tool's raw ciphertext; the key derivation differs.
  • Do not use a short or reused passphrase for anything that matters.

Example

A value encrypted with RC4 or Triple DES decrypts with the same key, reproducing the original text. Because CryptoJS treats a string key as a passphrase, it derives the cipher key with a random salt and prefixes the ciphertext with the OpenSSL marker, so encrypting the same text twice gives different output. XXTEA returns a Base64 string without that marker.

What you can do with DES / 3DES / RC4 / XXTEA

  • Encrypt or decrypt with DES, TripleDES, RC4 or XXTEA.
  • Accept a string key or passphrase.
  • Output Base64 ciphertext for the CryptoJS ciphers.
  • Decrypt previously produced ciphertext.
  • Report an unsupported algorithm name.
  • Run the operation locally in the browser.

Example: know what you have before choosing an operation

Identify the input format. A raw key in hex, a passphrase and a PEM key are different things, and using one where another is expected produces garbage rather than an error.

Test with a known vector or a short round trip. Encrypt, decrypt and compare before using the tool on data you cannot afford to lose.

Never paste a production private key or long-lived secret into a web page. Use a throwaway key for experiments and a proper key store for real work.

Check the mode and padding against the system you are interoperating with. The same algorithm with a different mode is a different ciphertext format.

Prefer an authenticated mode for anything new. If the tool only offers CBC or ECB, treat the output as a demonstration rather than a protection mechanism.

Record the output encoding as well as the algorithm. Base64, hex and raw bytes are easy to confuse, and a format mismatch looks like a wrong key.

What to know before you start

  • These algorithms are considered insecure by modern standards and should not be used for new protection.
  • Correct results depend on the mode and padding conventions matching the original system.
  • DES, Triple DES and RC4 use OpenSSL-style key derivation with a random salt, not a raw key.
  • None of these modes authenticates the ciphertext.

Common mistakes

  • Expecting a raw DES key rather than a passphrase-derived key.
  • Comparing the output with a tool that uses a different key derivation.
  • Using ECB mode for structured data and leaking patterns.
  • Assuming a successful decrypt proves the ciphertext was authentic.

Troubleshooting

If decryption returns garbage, the key or the ciphertext format is wrong.

If the algorithm is rejected, use exactly DES, TripleDES, RC4 or XXTEA.

If the output starts with a salt marker, that is the OpenSSL-compatible format, not raw ECB.

If XXTEA fails, the input may not be a valid Base64 string.

Related standards and documentation

  • FIPS 197 defines AES, and NIST SP 800-38A defines its common modes of operation.
  • NIST SP 800-38D defines GCM, an authenticated mode suited to new designs.
  • FIPS 186-5 covers digital signatures, including RSA and ECDSA.
  • RFC 8017 defines RSAES and RSASSA, including PKCS#1 v1.5 and OAEP.
  • NIST SP 800-57 describes key management and key lifetime practices.
Primitives, not a scheme
  • Check key and input formats.
  • Round-trip before trusting.
  • No integrity in CBC or ECB.
  • Use AEAD for new work.

Frequently Asked Questions