Skip to content

Symmetric Cryptosystems: DES, AES, RC4 and Blowfish

DES, AES, RC4 and Blowfish: cipher modes, nonce requirements, legacy risks and validation checks for encrypted digital evidence.

By Reviewed by Sushil Kumar

Last updated:

Symmetric cryptosystems protect data using secret keying material. Block ciphers such as AES need a suitable mode of operation; stream ciphers generate a keystream under scheme-specific rules. The cipher name alone does not establish integrity, secure nonce use or recoverability.

Forensic assessment identifies the actual format, algorithm, mode, key derivation, parameters and implementation. DES, Triple-DES, RC4 and Blowfish remain relevant to historical evidence and legacy software, but their security status and permitted uses differ.

By the end of this topic you will be able to:

  • Distinguish cipher structure from modes, formats and authentication.
  • Interpret ECB, CBC, CTR, GCM and XTS without inferring an algorithm from length alone.
  • Explain AES rounds and the scoped withdrawal of legacy algorithms.
  • Assess nonce handling, key derivation and implementation limits in encrypted evidence.
Key terms
Block cipher
A keyed permutation of fixed-size blocks; AES uses 128-bit blocks and DES/Blowfish use 64-bit blocks. A construction handles larger data.
Stream cipher
A construction generating keystream for combination with plaintext. Key/nonce/counter rules are essential; encryption alone need not authenticate.
Mode of operation
A defined way to use a block cipher for a security task. Padding, IVs and authentication depend on the chosen mode.
AEAD
Authenticated encryption with associated data. It protects confidentiality and integrity under its assumptions and can authenticate unencrypted context.
AES-NI
An x86 instruction-set extension for AES operations. Acceleration can avoid classic table-lookup leakage without proving the whole application immune to side channels.
Constant-time crypto
Implementation techniques that avoid secret-dependent timing and memory-access patterns under a specified model. They do not automatically eliminate physical power or electromagnetic leakage.

Block Ciphers vs Stream Ciphers

A block cipher maps one fixed-size block to another under a key. AES has a 128-bit block regardless of whether its key is 128, 192 or 256 bits. Block size and key size answer different questions.

Modes handle messages or storage units. CBC commonly uses padding for non-aligned messages, while CTR does not; a block cipher does not universally require PKCS#7 padding.

Stream constructions combine plaintext with generated keystream. Reusing the same keystream can expose relationships between plaintexts. Nonce requirements depend on the scheme and are not interchangeable with CBC IV rules.

Block ciphers transform fixed-size blocks; stream constructions combine a keystream with data. Padding depends on the mode, so ciphertext length alone does not reliably identify an algorithm.

Ciphertext size is a clue, not an identification test. Many formats share block alignment, prepend headers, omit stored nonces or encode their bytes. A multiple of 16 bytes plus an IV does not prove AES-CBC.

Identify formats using documented headers, metadata, application context and validated parsing. Report an unresolved cipher as unresolved rather than infer a banking protocol or integrity result from file size.

Modes of Operation: ECB, CBC, CTR, GCM, XTS

The mode determines how encryption handles data and what other checks are required. Preserve the actual IV/nonce, tag, associated data, counters and layout.

ECB deterministically maps equal plaintext blocks to equal ciphertext blocks under a fixed key. Strong cipher internals do not prevent this mode-level information leakage.

Scroll horizontally if needed to see the full table.

ModeRoleImportant limit
ECBIndependent block encryptionEqual input blocks under one key reveal equality; unsuitable for general structured-message confidentiality
CBCChained confidentiality constructionNeeds appropriate unpredictable IV and separate authentication; oracle risk depends on implementation
CTRCounter-generated keystreamNever repeat a counter block under a key; encryption alone lacks integrity
GCMAEAD with counter encryption and authenticationNonce uniqueness and data/tag limits are critical
XTSTweakable storage confidentialityDoes not provide general message authentication or replay protection
OFB / CFBFeedback constructionsIV rules and error behaviour differ; no inherent message integrity

For GCM, a 96-bit nonce is the usual recommended construction, but the specification also addresses other lengths. The tag and nonce are not necessarily a fixed prefix and suffix or overhead repeated for each AES block.

XTS uses two component AES keys. The labels used by products can describe component or combined key lengths differently; document the actual configuration rather than infer it from a product name.

An authenticated-encryption verification failure can reflect the wrong key, changed data, parameters or incomplete acquisition. Do not release unauthenticated plaintext as verified merely because a parser produced plausible text.

Mode weaknesses do not imply AES itself is broken. Conversely, a strong cipher does not repair reused nonces, weak passwords, missing integrity or unsafe key handling.

DES, Triple-DES and the Feistel Network

DES uses a 64-bit block, 56 effective key bits and 16 Feistel rounds. Its small key space makes it unsuitable for modern protection; FIPS 46-3 was withdrawn in 2005.

Feistel rounds apply a round function to part of the state and combine it with the other part. Decryption can use the round keys in reverse order; this structural observation is not a security endorsement.

Triple-DES applies DES operations in an encrypt-decrypt-encrypt construction. Three-key TDEA has 168 nominal key bits but is commonly assigned about 112-bit security strength, with important block-volume limits.

Under NIST transition guidance, applying new TDEA protection was disallowed after 31 December 2023 and SP 800-67 Rev. 2 was withdrawn on 1 January 2024. Certain legacy processing, such as decrypting already protected material, was distinguished from applying new protection.

This is a scoped standards status, not a claim that historical decryption is forbidden worldwide. Record the relevant policy and use, including whether the system generates new ciphertext or reads an archive.

Feistel rounds combine keyed transformation with swapping. Triple-DES applies DES in an encrypt-decrypt-encrypt composition; its historical role does not make it suitable for new protection.

Practical recovery depends on keys, derivation, data and resources. Avoid fixed promises that every DES file is cheaply recoverable within a day. Weak passwords can undermine a stronger underlying cipher as well.

64-bit block ciphers reach birthday-scale collision concerns around 2^32 blocks, approximately 32 GiB. Sweet32-style plaintext recovery additionally needs a vulnerable construction and traffic conditions; this is not a universal instant-decryption threshold.

AES: Rijndael Structure and Encryption Rounds

AES standardises selected Rijndael configurations: a 128-bit block and 128-, 192- or 256-bit keys with 10, 12 or 14 rounds respectively. FIPS 197 was updated editorially in 2023 without changing the algorithm.

AES transforms a 128-bit state through round operations. AES-128, AES-192 and AES-256 use 10, 12 and 14 rounds; the final round omits MixColumns.

Encryption starts with AddRoundKey. Ordinary rounds use SubBytes, ShiftRows, MixColumns and AddRoundKey; the final round omits MixColumns. The key schedule generates the round keys.

Scroll horizontally if needed to see the full table.

OperationTeaching description
SubBytesNonlinear byte substitution
ShiftRowsCyclic row shifts
MixColumnsLinear mixing within columns
AddRoundKeyXOR with the round key

AES-128 and AES-256 have different key-search margins and costs. A wider key does not fix a compromised endpoint or weak password-derived key. Do not describe either as unconditionally secure against all attacks.

Hardware AES instructions can improve speed and avoid classic software table access patterns. Performance depends on the CPU, mode, implementation and workload; no universal cycles-per-round or 20× speed claim applies.

FIPS 197 defines AES; FIPS 140-3 concerns cryptographic-module validation. Naming AES does not establish that a whole application or module has a current validation certificate or operates in an approved configuration.

RC4 and Blowfish: Design, Uses and Limitations

RC4 generates byte-oriented keystream using a permutation state. Its statistical weaknesses and protocol misuse make it unsuitable for new protection. RFC 7465 specifically prohibits RC4 cipher-suite negotiation in TLS.

Its presence in historical files, legacy services or malware is worth documenting, but does not alone prove a particular exploit, attacker or recovery cost. A long nominal key does not remove keystream biases.

Blowfish is a 16-round Feistel cipher with a 64-bit block and variable keys up to 448 bits. The small block size limits bulk-use safety even when the key is long; avoid recommending it for new general bulk encryption.

bcrypt uses an expensive Blowfish-derived key setup for password hashing. That does not mean password hashes are Blowfish-encrypted passwords or inherit a CBC traffic attack directly. Support and defaults vary by product.

Twofish is a distinct 128-bit-block AES finalist, not the same algorithm as Blowfish with a larger key. Other legacy ciphers should be identified from actual format documentation rather than presumed from a country or application.

ChaCha20-Poly1305 combines a stream cipher with authentication. The IETF construction specifies a 256-bit key and 96-bit nonce, with a 128-bit tag. Repeating a nonce under the same key violates its security requirements.

Performance relative to AES-GCM depends on available acceleration and implementation. ARM cryptographic extensions are distinct from x86 AES-NI; an ARM phone does not acquire AES-NI merely because it accelerates AES.

Compare Cipher Security and Validate an Implementation

Compare effective security, construction limits and operational status rather than raw key length alone. There is no fixed practical “RC4 is 2^48–2^64” bound covering every format and attack.

Scroll horizontally if needed to see the full table.

AlgorithmUseful baselineAssessment
DES56-bit effective key, 64-bit blockLegacy evidence; unsuitable modern protection
Three-key TDEAAbout 112-bit assigned strength, 64-bit blockNIST new-protection use disallowed after 2023
AES128-bit block, 128/192/256-bit keysEvaluate mode, parameters, keys and implementation
Blowfish64-bit block, variable keySmall-block bulk-data concern
RC4Biased stream constructionProhibited in TLS; legacy/malware analysis remains relevant
ChaCha20-Poly1305AEAD constructionEnforce nonce/counter/data rules and tag verification

Cryptographic-module boundaries, hardware instruction use and pure software are different implementation dimensions. An HSM may restrict export or permit authorised wrapped backups under policy; do not promise keys can never leave any HSM.

Hardware modules, CPU instructions and software libraries provide different operational boundaries. Constant-time design addresses timing and access-pattern leakage; it does not guarantee immunity to every physical side channel.

Constant-time software reduces relevant timing/cache leakage under its model. It is not a guarantee of constant power consumption, immunity to faults or absence of application-layer leaks.

Hypothetical technical example: an examiner receives an encrypted container, format metadata and a candidate recovery key. On a copy, they identify the mode and KDF, record parameters, attempt the supported operation and verify any authentication tag before interpreting plaintext.

If verification fails, retain the failure and check acquisition completeness and parameters. A plausible header recovered with an unverified method is not a proven authentic document. This method is country-neutral; legal access and reporting requirements vary by jurisdiction.

For signatures and certificate trust, continue to Asymmetric Cryptosystems, Hashing, PKI and Digital Signatures.

AEAD protects confidentiality and authenticity under its usage conditions. XTS is designed for storage confidentiality and does not by itself authenticate sectors.

Check Your Understanding

Question 1 of 5· 0 answered
Which is fixed for AES?

Sources

  1. 1.AES and 2023 editorial update · NIST FIPS 197
  2. 2.Confidentiality modes · NIST SP 800-38A
  3. 3.GCM authenticated encryption · NIST SP 800-38D
  4. 4.XTS storage confidentiality · NIST SP 800-38E
  5. 5.TDEA transition and legacy processing · NIST
  6. 6.Prohibiting RC4 in TLS · RFC 7465
  7. 7.ChaCha20 and Poly1305 · RFC 8439
  8. 8.Birthday attacks on 64-bit block ciphers: original research · Sweet32 researchers

Test yourself on Digital Forensics with free, timed mocks.

Practice Digital Forensics questions

Found this useful? Pass it along.