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 ge_p3_alloc sys_mmap ↻ fe_alloc nx_scratch nx_scratch_init sys_mmap ↻ nx_scratch_oom sys_write sys_exit sys_mmap ↻ fe_zero ge_p3_decompress sys_mmap ↻ fe_from_bytes fe_alloc ↻ fe_sq fe_mul fe_one fe_zero ↻ fe_sub ed25519_d_fe sys_mmap ↻ ed25519_d_bytes fe_from_bytes ↻ fe_mul ↻ fe_add fe_pow22523 fe_alloc ↻ fe_sq ↻ fe_mul ↻ fe_neg fe_alloc ↻ fe_zero ↻ fe_sub ↻ fe_canonical_equal sys_mmap ↻ fe_to_bytes nx_scratch_save

structs

none

consts

none

functions

21func main() -> i64