Diffusion spreads the influence of each plaintext element across many ciphertext elements. Confusion hides the relationship between plaintext and ciphertext; diffusion distributes that relationship across the output. section 5.0
The stream-cipher and block-cipher contrast makes the implementation goal concrete:
- A stream cipher encrypts one bit or byte at a time, so changing one plaintext byte changes precisely one corresponding ciphertext byte. section 5.0
- A block cipher buffers multiple plaintext bytes and encrypts them together, providing stronger diffusion alongside confusion. section 5.6
- Block operation introduces engineering concerns such as padding and modes of operation; diffusion alone does not prevent attacks against flawed implementations. section 5.6 section 5.3
Visible patterns
Encrypting an image with ECB can leave recognizable patterns, whereas CBC removes the penguin’s discernible features. The contrast shows how block processing and chaining affect the spread of plaintext structure. section 5.3
Figure 5.1 Confusion hides the relation between plaintext and ciphertext. Diffusion distributes the effect of each plaintext byte over many ciphertext bytes.
Compare confusion, which obscures plaintext-to-ciphertext correspondence, with diffusion, which distributes each plaintext byte’s effect across many ciphertext bytes. section 5.0
