12 Principles for secure encryption

 

This chapter covers

  • Five principles for secure encryption
  • Large blocks and long keys
  • Confusion, or non-linearity
  • Diffusion and saturation

Let’s pull together everything we learned in chapter 11. In sections 12.1 to 12.5 we will distill the 5 underlying principles that make a block cipher secure. One hallmark of a secure block cipher is that changing any bit in the key or any bit in the plaintext will cause about 50% of the bits in the ciphertext block to change, preferably in a random-looking pattern. Changing any other bit also will cause about 50% of the bits in the ciphertext block to change, but in a different pattern. Let’s call this the Fifty-Fifty property. This chapter will describe how to make that happen.

12.1 Large blocks

12.2 Long keys

12.2.1 Redundant keys

12.3 Confusion

12.3.1 Correlation coefficient

12.3.2 Base-26 linearity

12.3.3 Base-256 linearity

12.3.4 Adding a backdoor

12.3.5 Condensed linearity

12.3.6 Hybrid linearity

12.3.7 Constructing an S-box

12.3.8 S-box with a key

12.4 Diffusion

12.5 Saturation

Summary