Unconditional
MAC / KEY DERIVATIONPrimitive

One-time MACs

In plain words

A tamper seal for a message that can't be forged however powerful the attacker, as long as each key seals just one message.

The idea: Think of the key as picking one hash function at random from a huge, carefully designed family. The tag is that function applied to the message. A forger who has seen one message and its tag still doesn't know which function was picked, and the family is built so that the right tag for any other message is still a blind guess. With a fresh key for every message there's nothing to learn, so even unlimited computing power doesn't help. In practice the fresh keys come from a cipher, which is where a hardness assumption sneaks back in.

Why it matters: It's the quick "did anyone change this?" check inside the encryption that protects most web traffic.

The details

On the map: Poly1305, GHASH

A MAC (message authentication code) lets a receiver check that a message wasn't altered. One-time MACs built from universal hashing (Wegman-Carter)[1] are unconditionally secure: if each key authenticates a single message, a forger succeeds only with negligible probability, whatever their computing power.

Poly1305 and GHASH are of this kind[2, 3]. In ChaCha20-Poly1305 a fresh Poly1305 key is derived from the cipher for every message[4]. AES-GCM keeps one GHASH key but masks each tag with a fresh block from the cipher, the classic Wegman-Carter construction[5]. Either way the combination relies on the cipher being a good pseudorandom function. One-time MACs also authenticate the classical channel that QKD needs.

Rests on

If any of these breaks, this breaks too.

If it falls

If this breaks, these break with it.

References

  1. Mark N. Wegman and J.Lawrence Carter. New hash functions and their use in authentication and set equality. Journal of Computer and System Sciences, 1981. doi:10.1016/0022-0000(81)90033-7
  2. Daniel J. Bernstein. The Poly1305-AES Message-Authentication Code. Fast Software Encryption, 2005. doi:10.1007/11502760_3
  3. David A. McGrew and John Viega. The Security and Performance of the Galois/Counter Mode (GCM) of Operation. Progress in Cryptology - INDOCRYPT 2004. doi:10.1007/978-3-540-30556-9_27
  4. Y. Nir and A. Langley. ChaCha20 and Poly1305 for IETF Protocols. RFC 8439, 2018. rfc-editor.org/rfc/rfc8439
  5. M J Dworkin. Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) and GMAC. National Institute of Standards and Technology, 2007. doi:10.6028/NIST.SP.800-38D