A uniform serialized Lyubashevsky extractor #
The extractor needs only runtime dimensions m,k, two bit challenges and two optional integer
responses. It computes the response difference followed by the signed reversed challenge
difference. Dimensions are unary resources; integer magnitudes are binary. Every input word has
a total interpretation: missing vector entries are zero, missing challenge bits are false, and
surplus coordinates are ignored. The optional-vector default is the zero vector.
The same word program handles all dimensions; no parameter-family claim is inferred from a certificate for one fixed finite vector type. This is a deterministic operation certificate, not a rewinding, knowledge-soundness or cryptographic security theorem.
Main definitions #
Cslib.Crypto.Protocols.SigmaProtocol.LyubashevskyExtractInput: the fixed runtime input type.Cslib.Crypto.Protocols.SigmaProtocol.lyubashevskyExtractList: the native integer output.Cslib.Crypto.Protocols.SigmaProtocol.lyubashevskyExtractWord: the complete word program.
Main results #
Cslib.Crypto.Protocols.SigmaProtocol.computableInPolyTime_lyubashevskyExtractWord: all parsing, arithmetic, framing and output costs in one uniform plain certificate.Cslib.Crypto.Protocols.SigmaProtocol.lyubashevskyExtractWord_eq_extract: exact agreement with the typed protocol extractor for all dimensions, statements and commitments.
Dimensions followed by two challenge/optional-response pairs.
Instances For
Unary dimensions, raw challenges and framed optional lists of binary signed integers.
Instances For
Parse every input word with the existing framing conventions; malformed fields have total zero/default interpretations.
Instances For
Parsing inverts the complete canonical input encoding.
The total input parser has a plain polynomial-time certificate, including malformed words.
Compute z-z′ first, then the SIGNED challenge difference c′-c. The unary dimensions
control both output segments; optional responses default to zero coordinatewise.
Instances For
Extraction always writes the two declared segments, even on malformed-length inputs.
One native extractor handles runtime dimensions and all binary integer magnitudes.
Canonical typed vectors give exactly the ordered response difference and signed reversed challenge difference. This formula is independent of statement matrices and the modulus.
The complete extractor is one plain polynomial-time word function, not a separate machine for each fixed dimension.
The word program exactly implements the integer-list extractor on canonical encoded data.
Canonical vectors realize the actual typed extractor for every statement and commitment. The ignored statement dimensions and modulus do not need to be supplied to the word program.
The complete word program agrees exactly with the named typed extractor, including absent responses and zero dimensions, without assuming acceptance of either conversation.