Skip to content

AES-256 encryption explained in plain words

Almost every app says AES-256. The question that matters is where the key lives.

2 min readLast reviewed

In short

AES is the encryption standard published by NIST, and AES-256 is the version with 256-bit keys — far too many possibilities to try them all. GCM is a way of using AES that also detects tampering. Because the algorithm is so strong, an app’s real security depends on key management: who holds the key, where it is stored and what unlocks it.

Key takeaways

  • AES-256: a NIST standard, 128-bit blocks, 256-bit keys.
  • GCM adds an integrity check: altered data fails to decrypt.
  • A strong cipher with a badly kept key protects nothing.

What AES is

AES, the Advanced Encryption Standard, is a block cipher selected by the US National Institute of Standards and Technology (NIST) in 2000 and specified in FIPS 197. It transforms data in blocks of 128 bits using a secret key. The standard defines three versions — AES-128, AES-192 and AES-256 — and the number is the length of the key in bits.

It is everywhere, including in your iPhone: setting a passcode turns on data protection, which encrypts your iPhone’s data with 256-bit AES.

Why 256 bits is plenty

A 256-bit key can take 2²⁵⁶ different values. Trying them all is not a question of faster computers: it is far beyond anything that can actually be done. That is why real attacks on well-built systems go around the cipher rather than through it — after the key, the password that unlocks it, or the data while it is decrypted.

What GCM adds

A cipher alone hides data but can’t tell you whether someone changed it. GCM, Galois/Counter Mode, specified by NIST in SP 800-38D, is authenticated encryption: alongside the encrypted data it produces a tag, and if the data or the tag has been altered, decryption fails instead of returning corrupted or manipulated content.

GCM has one strict rule: the value used to start each encryption, called a nonce or IV, must never repeat with the same key. Careful implementations generate a fresh one every time.

Key management is the real question

“AES-256” tells you the lock is strong. It says nothing about where the key is kept. These questions say much more about an app:

  • Who holds the key? If the company can reset your access by email, it — or anyone who breaches it — can reach your data.
  • Where is it stored? A key saved next to the data, or derived from a short PIN, becomes the weak point.
  • What unlocks it? A key protected by your device’s security hardware and a secret only you know is far harder to attack.
  • What if you forget the secret? An honest answer involves a recovery key you keep, not a support ticket.

Each file

its own AES-256-GCM key

Vault key

wraps every file key

Secure Enclave

opened by your pattern

Every file has its own key. The vault key wraps them all, and it can only be unwrapped inside the Secure Enclave, with your pattern.

How Latent applies it

Latent encrypts each file with its own AES-256-GCM key. Those keys are wrapped by a vault key, itself protected by a key in your iPhone’s Secure Enclave and unlocked by your pattern or password. Keys are erased from memory when the vault locks. Nobody else holds a copy: the nine-word recovery phrase is the only spare, and only you have it.

Sources

  1. NIST — FIPS 197, Advanced Encryption Standard (AES)
  2. NIST — SP 800-38D, Galois/Counter Mode (GCM) and GMAC
  3. Apple — Set a passcode on iPhone

Keep what is yours, yours.

Free to try, free to leave.