code wiki / _hdl_build / nx_quic_tls_schedule_test.nx

nx_quic_tls_schedule_test.nx

buildroot/runtime/_hdl_build/nx_quic_tls_schedule_test.nx

2889 B45 linesdepth 9pulls 14 transitivereach 0 importersview sourcekind gate/prooftopic quic
docsdependenciesstructsconstsfunctions

about

nx_quic_tls_schedule_test.nx -- RUNG 6c gate: TLS 1.3 key schedule byte-exact vs the RFC 8448 trace (early -> derived -> handshake secret). This is the schedule QUIC reuses to make the 1-RTT keys that protect DATAGRAM-carrying packets. Native, sovereign, on our own HKDF. Prints computed values for audit. license_tier: ORIGINAL

dependencies 4 imports · 0 importers

nx_quic_tls_schedule.nx nx_g_pn_lite_lib.nx nx_g_check_lib.nx nx_g_puts_lib.nx nx_quic_tls_schedule_test.nx

imports: nx_quic_tls_schedule.nxnx_g_pn_lite_lib.nxnx_g_check_lib.nxnx_g_puts_lib.nx

imported by: nobody (leaf or entry point)

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

main g_puts sys_write tls13_early_secret set_hex hexnib phex g_puts ↻ g_check g_puts ↻ eq tls13_derived_secret tls13_empty_hash hkdf_expand_label hkdf_expand sys_mmap hmac_sha256 sys_mmap ↻ sha256_digest sys_mmap ↻ sha256_init sha256_update sha256_final sha256_init ↻ sha256_update ↻ sha256_final ↻ tls13_handshake_secret g_pn sys_mmap ↻ sys_write ↻

structs

none

consts

none

functions

10func hexnib(c: i64) -> i64 { if c>=48 { if c<=57 { return c-48 } } if c>=97 { if c<=102 { return c-87 } } return 0 }
called by 1: set_hex
11func set_hex(out: *u8, hex: *u8, nbytes: i64) -> i64 { var i: i64=0; while i<nbytes { out[i]=((hexnib(hex[i*2] as i64)<<4)|hexnib(hex[i*2+1] as i64)) as u8; i=i+1 } return 0 }
called by 1: main calls 1: hexnib
12func eq(a: *u8, b: *u8, n: i64) -> i64 { var i: i64=0; while i<n { if a[i]!=b[i] { return 0 } i=i+1 } return 1 }
called by 1: main
13func phex(label: *u8, b: *u8, n: i64) -> i64
called by 1: main calls 1: g_puts
21func main() -> i64