A uniform linear binary hash and its strong extraction guarantee #
Multiplication modulo the explicit binary trinomial followed by coefficient truncation is universal at every output width within the field width. The actual bit-list evaluator computes that same map and belongs to FP uniformly in its source, seed, modulus half-degree, and requested output width.
For every fixed input length within field capacity, decoding is injective. The retained-seed leftover-hash lemma therefore applies directly to the computed output on flat sources. The seed has one field element's width; this is a building block for shorter-seed constructions. Source credits for the standard multiplication and truncation method are in Hashing.Field.Defs.
Every coefficient vector shorter than the modulus degree is represented.
Every fixed-seed binary field hash preserves source addition.
Every fixed-seed binary field hash sends zero to zero.
Distinct field inputs collide on exactly a reciprocal-output fraction of seeds.
Coefficient-prefix multiplication is a universal family.
Decoding is injective on each fixed source length within field capacity.
The actual multiply/reduce/take program computes the binary field hash.
The decoded program at a canonical field seed is the semantic hash.
The actual decoded hash preserves padded source XOR, including unequal lengths.
The actual program is universal on fixed-length sources within capacity.
The actual program strongly extracts whenever the sharp leftover-hash budget holds.
The evaluator reads the four runtime words from their paired encoding.
Even malformed paired inputs have output length at most the input length.
Runtime binary hashing is uniformly polynomial-time in all four operands.
A single polynomial-time machine computes the paired runtime hash.