Duplex Construction
The duplex construction is a streaming variant of the sponge construction, allowing absorb and squeeze operations to alternate, supporting stream ciphers and authenticated encryption.
Purpose
Alternates absorbing input and squeezing output over a single maintained state, used by Keccak-derived AEAD such as Keyak and Ketje.
Mechanism
State of b=r+c bits. Duplex(S, σ, ℓ): XOR σ into the rate part, apply permutation f, squeeze ℓ bytes. Repeated calls implement streaming absorb/squeeze.
Use cases
- Keccak AEAD(Keyak/Ketje)
- Streaming authenticated encryption
- Sponge streaming mode