nx_argon2_block_test.nx
buildroot/runtime/nx_argon2_block_test.nx
about
nx_argon2_block_test.nx -- algebraic-property smoke for G(X, Y).
expect_exit: 0
Tests:
1. G(0, 0) = 0 -- all-zero in, all-zero out (R = 0 XOR 0 = 0;
GB(0,0,0,0) = (0,0,0,0); final XOR yields 0).
2. G(X, X) = 0 -- self-XOR makes R = 0; same as test 1.
3. G(X, Y) symmetric: G(X, Y) == G(Y, X). R = X XOR Y is
symmetric, P operates on R, final XOR R is symmetric.
4. G(X, Y) deterministic: two runs yield same output.
5. G(X, Y) sensitive to a single-bit flip in X (avalanche
check): flipping one bit of X must change at least 256
bits of output (4x SHA-256-style avalanche; Argon2's G
empirically has very strong avalanche due to multiplications).
license_tier: ORIGINAL
dependencies 2 imports · 0 importers
imports: nx_syscalls_x86_64.nxnx_argon2_block.nx
imported by: nobody (leaf or entry point)
call flow from main pre-order; caps 40 nodes / depth 6 declared; ↻ = already shown
structs
| none |
consts
| none |
functions
| 22 | func bytes_eq(a: *u8, b: *u8, n: i64) -> i64 called by 1: main |
| 31 | func bits_differ(a: *u8, b: *u8, n: i64) -> i64 called by 1: main |
| 47 | func main() -> i64 |