code wiki / (root) / nx_p256_field_mul_oracle_test.nx

nx_p256_field_mul_oracle_test.nx

buildroot/runtime/nx_p256_field_mul_oracle_test.nx

2967 B96 linesdepth 5pulls 9 transitivereach 0 importersview sourcekind gate/prooftopic p256
docsdependenciesstructsconstsfunctions

about

nx_p256_field_mul_oracle_test.nx -- validates the FAST Solinas p256_field_mul against the SLOW bit-serial oracle (p256_field_mul_slow) over many random inputs + edge cases. fast MUST equal slow for every canonical (a,b). This is the correctness gate for the Solinas path.

dependencies 5 imports · 0 importers

nx_syscalls.nx nx_u256.nx nx_csprng.nx nx_p256_field.nx nx_p256_field_mul.nx nx_p256_field_mul_oracle_test.

imports: nx_syscalls.nxnx_u256.nxnx_csprng.nxnx_p256_field.nxnx_p256_field_mul.nx

imported by: nobody (leaf or entry point)

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

main u256_alloc nx_scratch nx_scratch_init sys_mmap nx_scratch_oom sys_write sys_exit sys_mmap ↻ p256_field_load_p sys_mmap ↻ nx_csprng_fill sys_mmap ↻ nx_csprng_urandom_path sys_openat_rd sys_read sys_close u256_load_be _t_canon _t_ge_p _t_sub_p _t_check u256_alloc ↻ p256_field_mul nx_scratch_save nx_scratch_init ↻ u256_wide_alloc nx_scratch ↻ u256_mul_wide _p256_solinas_reduce u256_alloc ↻ p256_field_load_p ↻ nx_scratch ↻ _r_reduce9 _r_cmp8 nx_scratch_restore p256_field_mul_slow nx_scratch_save ↻ u256_wide_alloc ↻ u256_alloc ↻

structs

none

consts

none

functions

13func _t_ge_p(a: *i64, p: *i64) -> i64
called by 1: _t_canon
26func _t_sub_p(a: *i64, p: *i64) -> i64
called by 1: _t_canon
38func _t_canon(a: *i64, p: *i64) -> i64
called by 1: main calls 2: _t_ge_p_t_sub_p
43func _t_check(a: *i64, b: *i64) -> i64
52func main() -> i64