Pseudorandom error-correcting code

A Pseudorandom Error-correcting Code (PRC) is a type of SKE that requires ciphertext decoding to be robust to some modifications, introduced by CG24. There is additionally a zero-bit PRC which does not allow for a message. Both variations are useful for constructing cryptographic watermarking of generative AI.

Syntax

An -bit PRC is a tuple of efficient algorithms , with respect to key space , message space , and ciphertext space such that

  • , is a randomized algorithm that takes a security parameter, and outputs a key ,
  • , is a randomized algorithm that takes a key and message , and outputs a ciphertext ,
  • , is a deterministic algorithm that takes a key and candidate ciphertext , and outputs either a message or

A zero-bit PRC has the same requirements as an -bit PRC, except that the message space is just the singleton set , which means that takes no input and just outputs codewords. Then, simply detects whether or not the candidate ciphertext is close to a codeword.

Properties

Pseudorandomness

We define the advantage of a distinguisher as where and is a random response oracle, which on each query gives a uniformly random -bit string (even on the same input, unlike a random oracle).

A PRC is pseudorandom if for all efficient , there exists a negligible function , such that: .

Completeness/Robustness

A PRC is -robust if there is a negligible function , such that for every message , where and is any -bounded channel. Meaning that is a length preserving function with the property that for every -bit string , and have Hamming distance at most .

Soundness

A PRC is sound if there is a negligible function , such that for all , — CG24.

Variations

Adaptive robustness

A PRC with adaptive robustness strengthens the robustness property to allow the channel to be chosen after seeing the codeword , rather than being fixed in advance. Formally, the adversarial channel may depend on (but not on or directly). This models a stronger adversary who can tailor the corruption pattern to the specific codeword.

Ideal PRC

An ideal PRC is one for which, with , oracle access to is computationally indistinguishable from oracle access to an ideal functionality. Its encoder returns a fresh uniformly random -bit string on every query. Its decoder returns on any string within Hamming distance of a string the encoder returned on input , and on every other string. The adversary never receives . Ideal security implies pseudorandomness, soundness and adaptive robustness against efficient channels — AACDG25.

Zero-bit PRC

A zero-bit PRC has a singleton message space : the encoder takes no message input and simply outputs a codeword, while the decoder detects whether a candidate string is close to a codeword. Zero-bit PRCs are useful for watermarking generative AI outputs: embed a pseudorandom codeword into generated text/images such that possession of the secret key allows detection, while outputs look uniformly random to anyone without the key — CG24.

Other results

Participates in

Builds on Pseudorandom error-correcting code

Produces Pseudorandom error-correcting code