code wiki / (root) / nx_ghash_clmul_gate.nx

nx_ghash_clmul_gate.nx

buildroot/runtime/nx_ghash_clmul_gate.nx

3771 B92 linesdepth 4pulls 4 transitivereach 0 importersview sourcekind gate/prooftopic ghash
docsdependenciesstructsconstsfunctions

about

nx_ghash_clmul_gate.nx -- KAT-equality gate: the PCLMULQDQ GHASH backend (nx_ghash_mul_clmul) must be BYTE-IDENTICAL to the canonical bit-by-bit reference (nx_ghash_mul) on the NIST vector, edge cases, and many pseudo-random inputs. The bit-by-bit reference is the trusted oracle. Any mismatch fails LOUD with a code. expect_exit: 0 license_tier: ORIGINAL

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_ghash.nx nx_ghash_clmul.nx nx_ghash_clmul_gate.nx

imports: nx_syscalls.nxnx_ghash.nxnx_ghash_clmul.nx

imported by: nobody (leaf or entry point)

call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown

main sys_mmap check nx_ghash_mul_bitwise sys_mmap ↻ nx_ghash_mul_clmul gh_scratch sys_mmap ↻ gh_byterev_bits gh_revtab sys_mmap ↻ gh_revbyte gh_clmul_core gh_scratch ↻ gh_clmul_mul256_acc gh_scratch ↻ gh_clmul_reduce256 gh_lshr eq16 g_ps sys_write sys_exit gh_byte_from g_pn sys_mmap ↻ sys_write ↻

structs

none

consts

none

functions

13func g_ps(s: *u8, n: i64) -> i64 { sys_write(1, s, n); return 0 }
called by 1: main calls 1: sys_write
14func g_pn(v: i64) -> i64
called by 1: main calls 2: sys_mmapsys_write
24func eq16(a: *u8, b: *u8) -> i64
called by 1: check
33func check(x: *u8, h: *u8, zr: *u8, zc: *u8) -> i64
39func main() -> i64
89func gh_byte_from(st: i64, which: i64) -> i64
called by 1: main