Skip to content
uencoder

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

Related tools

References