code wiki / (root) / nx_sign_facade.nx

nx_sign_facade.nx

buildroot/runtime/nx_sign_facade.nx

7185 B191 linesdepth 2pulls 2 transitivereach 5 importersview sourcekind librarytopic sign
docsdependenciesstructsconstsfunctions

about

nx_sign_facade.nx -- unified signing interface. Wraps existing ML-DSA-65 (sovereign post-quantum, already shipped) + Ed25519 fallback (commodity, queued) behind one substrate-level API. Other primitives that take "externally-supplied signature" parameters can now call nx_sign_facade_sign() directly — closes the gap noted across many shipped primitives. Algorithm picked from trust ceiling: high-trust hosts use the sovereign post-quantum primitive; low-trust hosts fall back to Ed25519 (which is widely-vetted classical crypto, still strong vs non-quantum attackers). Composes: nx_ml_dsa_65 -- post-quantum signature primitive (existing) nx_attest_silicon -- trust ceiling informs algorithm choice nx_hash_facade -- pairs for sign+verify chains nx_methyl -- methyl marks via this facade nx_vesicle -- vesicle authenticity via this facade

dependencies 2 imports · 3 importers

nx_syscalls.nx nx_tier.nx nx_sign_facade.nx nx_crypto_event_compose_test.nx nx_save_slot.nx nx_sign_facade_test.nx

imports: nx_syscalls.nxnx_tier.nx

imported by: nx_crypto_event_compose_test.nxnx_save_slot.nxnx_sign_facade_test.nx

structs

70struct NxSignRequest

consts

23const NX_MAGIC_3309: i64 = 3309
27const NX_SA_ML_DSA_65: nx_int = 0 // post-quantum sovereign
28const NX_SA_ED25519: nx_int = 1 // classical commodity
29const NX_SA_N_ALGOS: nx_int = 2
33const NX_SF_OK: nx_int = 0
34const NX_SF_ERR_BAD_ALGO: nx_int = 1
35const NX_SF_ERR_BAD_KEY: nx_int = 2
36const NX_SF_ERR_BAD_INPUT: nx_int = 3
37const NX_SF_ERR_BAD_SIG_LEN: nx_int = 4
38const NX_SF_VERIFIED: nx_int = 5
39const NX_SF_REJECTED: nx_int = 6

functions

41func nx_sa_is_valid(a: nx_int) -> nx_int
53func nx_sign_facade_pick_algo(trust_q10: nx_int) -> nx_int
called by 1: main
62func nx_sign_facade_signature_size(algo: nx_int) -> nx_size
81func nx_sign_request_new(algo: nx_int,
110func nx_sign_facade_sign(req: *NxSignRequest) -> nx_int
166func nx_sign_facade_verify(algo: nx_int,