code wiki / (root) / _ed25519_rfc8032_kat.nx

_ed25519_rfc8032_kat.nx

buildroot/runtime/_ed25519_rfc8032_kat.nx

3221 B87 linesdepth 9pulls 12 transitivereach 0 importersview sourcekind tooltopic ed25519
docsdependenciesstructsconstsfunctions

about

_ed25519_rfc8032_kat.nx — RFC 8032 §7.1 TEST 1 KAT for Ed25519. SECRET: 9d61b19deffd5a60ba844af492ec2cc44449c5697b326919703bac031cae7f60 EXPECTED PUB: d75a980182b10ab7d54bfed3c964073a0ee172f3daa62325af021a68f707511a MSG: (empty) EXPECTED SIG: e5564300c360ac729086e2cc806e828a84877f1eb8e5d974d873e065224901555fb8821590a33bacc61e39701cf9b46bd25bf5f0595bbe24655141438e7a100b If our pub_from_priv or sign produces different bytes, the substrate Ed25519 implementation is buggy against the spec (not just internally inconsistent).

dependencies 2 imports · 0 importers

nx_syscalls.nx nx_ed25519_signature.nx _ed25519_rfc8032_kat.nx

imports: nx_syscalls.nxnx_ed25519_signature.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 _hex_to_bytes _hex_byte ed25519_pub_from_priv sys_mmap ↻ ed25519_sha512 sys_mmap ↻ sha512_init sha512_update sha512_blk_set_byte blk_get_i64 blk_set_i64 sha512_compress sys_mmap ↻ blk_get_i64 ↻ sha512_gamma0 rotr64_v shr64_v sha512_gamma1 rotr64_v ↻ shr64_v ↻ sha512_sigma1 rotr64_v ↻ sha512_ch sha512_k sha512_sigma0 rotr64_v ↻ sha512_maj sha512_final sha512_blk_set_byte ↻ sha512_compress ↻ ge_p3_alloc sys_mmap ↻ fe_alloc nx_scratch nx_scratch_init sys_mmap ↻ nx_scratch_oom sys_write

structs

none

consts

none

functions

14func _hex_byte(c: u8) -> i64
called by 1: _hex_to_bytes
22func _hex_to_bytes(hex: *u8, n: i64, out: *u8) -> i64
called by 1: main calls 1: _hex_byte
33func _byte_eq(a: *u8, b: *u8, n: i64) -> i64
called by 1: main
42func _hex_putd(b: u8) -> i64
called by 1: _puthex calls 2: sys_mmapsys_write
53func _puthex(p: *u8, n: i64) -> i64
called by 1: main calls 2: _hex_putdsys_write
60func main() -> i64