Symmetric-key encryption transforms readable plaintext into ciphertext with a secret key, then uses the same key to decrypt it. The algorithm can be public; protecting the key is essential. section 5.1
Protecting stored application data
AES is the practical default for encrypting data in cloud applications, databases, and disks. For secure application encryption, use AES-GCM with a secret key and a random, unique IV; the authentication tag detects tampering as well as protecting confidentiality. section 5.1 section 5.7
Avoid these common symmetric-encryption failures:
- Do not reuse an IV with the same key; use cryptographically secure randomness. section 5.7
- Do not use ECB for patterned data, or CBC when integrity and authenticity are required. section 5.7
- Prefer developer-friendly cryptographic libraries over hand-coding AES. section 5.7
Figure 5.1 A cipher consists of an algorithm and a key for encrypting and decrypting data. The details of the encryption and decryption algorithm are public knowledge; the key is secret. If the same key is used to encrypt and decrypt, the cipher is called a symmetric cipher; otherwise, it’s called an asymmetric cipher.
A cipher combines a public algorithm with a secret key; using that key for both operations makes the cipher symmetric. section 5.1





