Interface for Deterministic Authenticated Encryption with Associated Data (Deterministic AEAD).
For why this interface is desirable and some of its use cases, see for example RFC 5297 section 1.3.
Warning
Unlike
Aead, implementations of this interface are not semantically secure, because
encrypting the same plaintex always yields the same ciphertext.
Security guarantees
Implementations of this interface provide 128-bit security level against multi-user attacks
with up to 2^32 keys. That means if an adversary obtains 2^32 ciphertexts of the same message
encrypted under 2^32 keys, they need to do 2^128 computations to obtain a single key.
Encryption with associated data ensures authenticity (who the sender is) and integrity (the
data has not been tampered with) of that data, but not its secrecy. (see RFC 5116)