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 edits, 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
A -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 a -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 , .
Soundness
A PRC is sound if there is a negligible function , such that for all ,
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 additionally requires that codewords are indistinguishable from uniformly random strings even to an adversary who holds the decoding key . That is, the joint distribution is computationally indistinguishable from where is a uniformly random -bit string. This is strictly stronger than pseudorandomness (which only requires indistinguishability without the key). Ideal PRCs support watermarking schemes where even a user who knows the watermarking key cannot detect whether a given string is a codeword.
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
- PRCs were introduced in CG24 motivated by undetectable watermarking of AI-generated content
- Zero-bit PRCs give a watermarking scheme for language model outputs that is undetectable (codewords look like random tokens) and robust to paraphrasing attacks — CG24
- PRCs can be constructed from LWE: the LWE ciphertext structure naturally yields a pseudorandom, decodable code robust to bounded noise — CG24
- The zero-bit PRC construction from LWE has codewords of length and is robust to -fraction bit flips for — CG24