Member-only story
DAEAD: Deterministic Authenticated Encryption with Associated Data
Overcoming Nonce Reuse/Misuse: SIV Mode
There is a core principle in cryptography, and where an output can either be deterministic or non-deterministic. With a deterministic output, we always get the same output for the same inputs. For example, we can create a cipher from plaintext, and where the output will always be the same ciphertext. With non-deterministic, we cannot predict what the output will be used, as some form of randomisation has been used in the process. With signatures, ECDSA is non-deterministic, and EdDSA is deterministic.
When it comes to symmetric key methods, the deterministic nature can be useful in searching for data, but it will be weaker from a security point of view, as an adversary can map the inputs to the output. In this case, we will combine the deterministic nature with Authenticated Encryption with Associated Data (Deterministic AEAD), and use the AES-SIV mode.
SIV — Synthetic Initialization Vector
We give away a little too much of our secrets, and often fail to protect one of our most important secret … our encryption keys. To overcome this, we can use a method called key wrapping, and which protects the key. This is especially important where we transmit the key over…
