Resources on (AEAD) encryption

General stuff

AEAD ciphers

stands for “authenticated encryption with associated data”

Also interesting, but not captured in “AEAD” is probabilistic encryption:

  • Prevents the same message to have the same ciphertext when encrypted twice with the same key.
  • Usually achieved by providing a nonce (sometimes called initialization vector) that is either randomly generated or incremented for every message with a given random key.

Most ciphers are probabilistic (or “non-deterministic”). So why are some ciphers deterministic?

  • You might not need additional randomness if your messages are inherently random, e.g. when you’re doing key-wrapping.
  • To provide non-determinism you need to attach a random nonce to your ciphertext. Deterministic encryption ciphertexts thus tend to be shorter.
3 Likes

Amazing! Thanks for putting this together @matheus23 :tada:

Nice! thx for the resources @matheus23 :partying_face:

fwiw - Rust :crab: AEAD go-to list:

1 Like