What this research found
Two exercises from the public Cryptopals Set 1 challenges illustrate how statistical structure that survives encryption is enough to defeat confidentiality without attacking the cipher itself. One attack recovered a 29-byte repeating-XOR key and the full 2,876-byte plaintext behind it; the other picked out the single ciphertext encrypted with AES in Electronic Codebook mode from a corpus of 204, without performing any decryption at all. Both reproduced the canonical answers exactly.
- The repeating-XOR key came back as 29 bytes of readable ASCII, "Terminator X: Bring the noise", which decrypted the entire 2,876-byte message at a printable-byte ratio of 1.0000. The plaintext is a 562-word song lyric.
- Key length 29 won both diagnostics simultaneously: the lowest averaged normalized Hamming distance at 2.7471 bits per byte, and a mean per-column chi-squared of 40.93 against 619.99 for the next-best candidate. No other candidate length produced coherent text.
- Among 204 hex-encoded ciphertexts of ten 16-byte blocks each, exactly one line showed any block repetition at all, making the Electronic Codebook identification unambiguous rather than merely most-likely.
- On that line, a single distinct block recurs four times, in block positions 2, 4, 6 and 8, leaving 7 unique blocks out of 10. Finding it took a linear scan for duplicate blocks with no key and no decryption.
- Neither attack touched the strength of the underlying primitive. Both work because the encryption is a deterministic function of the plaintext: repeating-key XOR preserves the letter distribution within each key position, and Electronic Codebook mode preserves equality between blocks, which is exactly what the modern indistinguishability standard forbids.
How it was done
The key length was estimated with no knowledge of the plaintext: for every candidate size from 2 to 40 bytes, the bit-level Hamming distance was averaged over all six pairs among the first four blocks and normalized per byte. Correctly aligned blocks cancel the key and leave the XOR of two English fragments, which differ in comparatively few bits. The ciphertext was then transposed into one stream per key position, each of which is a single-byte XOR solved by trying all 256 possibilities and keeping the one whose output best fit an English letter-and-space frequency model under a chi-squared score penalized for non-printable bytes. The top five candidate lengths were fully decrypted and compared on mean chi-squared and printable ratio, guarding against divisors or multiples of the true period that score well on distance alone. Detecting the Electronic Codebook ciphertext needed only a block census: decode each line, split it into 16-byte blocks, and count duplicates.
Data sources
- Cryptopals Set 1 Challenge 6 — Base64 ciphertext of 3,836 characters decoding to 2,876 bytes
- Cryptopals Set 1 Challenge 8 — 204 hex-encoded ciphertexts of 160 bytes, or ten 16-byte blocks, each
Limitations
Both attacks are statistical and sharpen with more data: on shorter messages the Hamming scores for nearby candidate key lengths can overlap, which is why the second-stage decryption cross-check is necessary rather than optional. The frequency model assumes largely alphabetic English plaintext, and the block-repetition detector is blind to an Electronic Codebook ciphertext whose plaintext happens to contain no repeated 16-byte block.
How this research was produced
K-Dense Web planned and ran this cryptography investigation end to end — gathering the sources, carrying out the analysis, producing the figures, and drafting the report. The full session transcript, including every intermediate step, is available to view.


