code wiki / _hdl_build / nx_opq_probe1.nx

nx_opq_probe1.nx

buildroot/runtime/_hdl_build/nx_opq_probe1.nx

2453 B65 linesdepth 12pulls 29 transitivereach 0 importersview sourcekind probe
docsdependenciesstructsconstsfunctions

about

nx_opq_probe1.nx -- stage probe for nx_opaque_core: derive the RFC 9807 C.1.5 oprf_key. seed = Expand(oprf_seed, cred_id || "OprfKey", Nok); (oprf_key,_) = DeriveKeyPair(seed, "OPAQUE-DeriveKeyPair") expect oprf_key = 2dfb5cb9aa1476093be74ca0d43e5b02862a05f5d6972614d7433acdc66f7f31 license_tier: ORIGINAL

dependencies 2 imports · 0 importers

nx_opaque_core.nx nx_syscalls.nx nx_opq_probe1.nx

imports: nx_opaque_core.nxnx_syscalls.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 p1_hex p1_nib p1_w sys_write sys_exit nx_opq_derive_keypair sys_mmap ↻ _voprf_load_context_string u256_alloc nx_scratch nx_scratch_init sys_mmap ↻ nx_scratch_oom sys_write ↻ sys_exit ↻ sys_mmap ↻ nx_opq_hash_to_scalar sys_mmap ↻ nx_h2c_expand_message_xmd_ sys_mmap ↻ _h2c_i2osp_1 _h2c_i2osp_2 u256_alloc ↻ _opq_reduce_48be_mod_n u256_alloc ↻ sys_mmap ↻ u256_load_be p256_modn_load_n u256_cmp u256_sub_with_borrow u256_copy _opq_load_Rn p256_modn_mul nx_scratch_save nx_scratch_init ↻ u256_wide_alloc nx_scratch ↻ u256_alloc ↻

structs

none

consts

none

functions

8func p1_w(s: *u8) -> i64 { var n: i64=0; while s[n]!=(0 as u8){n=n+1} sys_write(1,s,n); return 0 }
called by 2: p1_dumpmain calls 1: sys_write
9func p1_nib(c: i64) -> i64
called by 1: p1_hex
14func p1_hex(hexs: *u8, out: *u8) -> i64
called by 1: main calls 1: p1_nib
22func p1_dump(label: *u8, b: *u8, n: i64) -> i64
called by 1: main calls 3: p1_wsys_mmapsys_write
37func main() -> i64