Documentation

Complexity.Crypto.Computational.Homomorphic.GSW.DecryptionCircuit

Selected-row GSW decryption circuits #

The input order is the complete serialized secret followed by the complete serialized ciphertext. The row selected by the existing total decoder is used on every input, without a key-generation or noise hypothesis. Arithmetic circuits preserve residues modulo the word modulus.

Main definitions #

Main results #

References #

@[reducible, inline]

Secret bits precede all square-matrix ciphertext bits.

Instances For

    The actual total GSW decryptor, with all raw secret and ciphertext bits as inputs.

    Instances For

      The selected-row construction has logarithmic depth in both parameter dimensions.

      Polynomial gate count includes all unused fallback gates in the balanced construction.

      theorem Cslib.Crypto.Homomorphic.GSW.DecryptionCircuit.correct (n w : ℕ) (secret ciphertext : List Bool) (hs : secret.length = n * w) (hc : ciphertext.length = (n + 1) * w * ((n + 1) * w)) :
      (circuit n w).eval Circuits.Boolean.interpretation (BitString.ofList (inputWidth n w) (secret ++ ciphertext)) 0 = decryptSerialized n w secret ciphertext

      The serialized contract required by generic refresh: every well-sized raw pair is covered.