code wiki / (root) / nx_ed25519_point_test.nx

nx_ed25519_point_test.nx

buildroot/runtime/nx_ed25519_point_test.nx

4148 B110 linesdepth 6pulls 6 transitivereach 0 importersview sourcekind gate/prooftopic ed25519
docsdependenciesstructsconstsfunctions

about

nx_ed25519_point_test.nx -- KAT for Edwards-curve point decompression. Verifies: A. Decompress RFC 8032 §7.1 TEST 1 pubkey -> resulting GeP3 satisfies the twisted Edwards equation (-X^2 + Y^2 == 1 + d*X^2*Y^2) B. Decompress the basepoint (RFC 8032 §6 / RFC 7748 base point encoded as Ed25519 pubkey) -> on curve C. Sign-bit flip: decompress P, then decompress P with high bit of byte 31 flipped -> X coordinates have opposite parity (one is the negative of the other) D. Y coordinate round-trips through fe_to_bytes expect_exit: 0 license_tier: ORIGINAL

dependencies 4 imports · 0 importers

nx_syscalls.nx nx_x25519.nx nx_ed25519_field.nx nx_ed25519_point.nx nx_ed25519_point_test.nx

imports: nx_syscalls.nxnx_x25519.nxnx_ed25519_field.nxnx_ed25519_point.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 ↻ ge_p3_alloc sys_mmap ↻ ge_p3_decompress sys_mmap ↻ ed25519_d_fe sys_mmap ↻ ed25519_d_bytes fe_pow22523 fe_neg fe_canonical_equal sys_mmap ↻ ed25519_sqrt_m1_fe sys_mmap ↻ ed25519_sqrt_m1_bytes ge_p3_on_curve fe_canonical_equal ↻ ed25519_d_fe ↻ fe_canonical_equal ↻ nx_ge_verdict_is_valid

structs

none

consts

none

functions

21func main() -> i64