code wiki / (root) / nx_ecdsa_p384_test.nx

nx_ecdsa_p384_test.nx

buildroot/runtime/nx_ecdsa_p384_test.nx

6014 B110 linesdepth 11pulls 13 transitivereach 0 importersview sourcekind gate/prooftopic ecdsa
docsdependenciesstructsconstsfunctions

about

nx_ecdsa_p384_test.nx -- KAT for ECDSA-P384 verify against the RFC 6979 §A.2.6 vector (P-384 with SHA-256 over "sample"). Inputs loaded via u384_load_be from BIG-ENDIAN byte tables -- mirrors the pattern used by nx_ecdsa_p256_test, eliminates the hand-transcribed LE-limb error class. A prior version of this file had a typo at sig_r[1] (0xFA2B3C36 vs correct 0x2FA2B3C3) because manually splitting a BE hex string into LE 32-bit limbs is error-prone. See [[feedback-canonical-constants-kat-against- reference-not-hand-converted]] -- same lesson: don't hand- convert representation; load_be takes the bytes as-is. expect_exit: 0 license_tier: ORIGINAL

dependencies 3 imports · 0 importers

nx_syscalls.nx nx_u384.nx nx_ecdsa_p384.nx nx_ecdsa_p384_test.nx

imports: nx_syscalls.nxnx_u384.nxnx_ecdsa_p384.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 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 ↻ u384_alloc nx_u384_scratch nx_u384_scratch_init sys_mmap ↻ sys_write ↻ sys_exit ↻ sys_mmap ↻ u384_load_be nx_ecdsa_p384_verify nx_u384_scratch_save nx_u384_scratch_init ↻ _nx_ecdsa_p384_verify_inne u384_alloc ↻ p384_modn_load_n u384_is_zero u384_cmp p384_point_alloc nx_u384_scratch ↻ u384_alloc ↻ p384_field_one u384_one u384_zero p384_field_zero u384_zero ↻

structs

none

consts

none

functions

20func main() -> i64