code wiki / _hdl_build / nx_chacha20enc_extvec_gate.nx

nx_chacha20enc_extvec_gate.nx

buildroot/runtime/_hdl_build/nx_chacha20enc_extvec_gate.nx

9810 B237 linesdepth 5pulls 8 transitivereach 0 importersview sourcekind gate/proof
docsdependenciesstructsconstsfunctions

about

nx_chacha20enc_extvec_gate.nx -- SIXTH provably third-party-validated claim: the ChaCha20 CIPHER (not just the block function) vs RFC 8439 2.4.2, from the same pinned document. ★THIS IS THE SECTION THAT BROKE THE PREVIOUS PARSER, AND THAT IS WHY IT IS WORTH DOING. 2.4.2's ASCII gutter is ENGLISH -- "...would be it." -- and `be` is a whitespace-delimited, exactly-two-character, ALL-HEX token. The content-classifying reader I first shipped would absorb it as byte 0xbe and shift every byte after it. The LINE-BOUNDED reader used here takes token 0 as the offset, tokens 1..16 as data, and ignores the rest BY POSITION, so the gutter cannot contribute no matter what it spells. ★★★★LAW: A DISCRIMINATOR PROVEN ON ONE INSTANCE OF A DIALECT IS NOT PROVEN ON THE DIALECT. ★STRONGER THAN THE POLY1305 GATE: there, the message was ASCII prose so I supplied the input and let the published tag verify it. Here BOTH the plaintext AND the ciphertext are hexdumps in the document, so every byte on both sides of the comparison is read from the authority. Nothing is agent-supplied. license_tier: ORIGINAL expect_exit: 0

dependencies 4 imports · 0 importers

nx_syscalls.nx nx_sha256_wasm.nx nx_chacha20.nx nx_gate_verdict.nx nx_chacha20enc_extvec_gate.nx

imports: nx_syscalls.nxnx_sha256_wasm.nxnx_chacha20.nxnx_gate_verdict.nx

imported by: nobody (leaf or entry point)

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

main w sys_write sys_mmap nxa_die sys_write ↻ sys_exit nxa_lock_take nxa_lock_addr sys_write ↻ nxa_lock_give nxa_lock_addr ↻ nxa_report_overrun sys_write ↻ nxa_dump_printable sys_write ↻ nxa_dump_sizes sys_write ↻ sys_read_file sys_openat_rd sys_lseek sys_mmap ↻ sys_read sys_munmap sys_close nx_sha256_one_shot _h_set _sha256_compress _blk_word_be _rotr32 _h_get _sha256_k _h_set ↻ _h_get ↻ hexnib wb sys_write ↻ findfrom starts parsenib

structs

none

consts

none

functions

20func 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: nnmain calls 1: sys_write
21func wb(b: *u8, n: i64) -> i64 { sys_write(1, b, n); return 0 }
called by 1: main calls 1: sys_write
23func nn(v: i64) -> i64
37func hexnib(v: i64) -> i64 { if v < 10 { return 48 + v } return 87 + v }
called by 1: main
39func hexval(c: i64) -> i64
called by 2: parsenibparsedump
46func isws(c: i64) -> i64
called by 2: parsenibparsedump
54func starts(b: *u8, n: i64, at: i64, s: *u8) -> i64
called by 1: findfrom
64func findfrom(b: *u8, n: i64, s: *u8, from: i64) -> i64
called by 1: main calls 1: starts
73func parsenib(b: *u8, n: i64, from: i64, out: *u8, want: i64) -> i64
called by 1: main calls 2: iswshexval
102func parsedump(b: *u8, n: i64, from: i64, out: *u8, want: i64) -> i64
called by 1: main calls 2: iswshexval
141func main() -> i64