nx_tls13_schedule_test.nx
buildroot/runtime/nx_tls13_schedule_test.nx
about
nx_tls13_schedule_test.nx -- RFC 8448 §3 cascade KAT for TLS 1.3
key schedule.
RFC 8448 §3 "Simple 1-RTT Handshake" worked example. We don't
compute X25519 here (that's nx_x25519's own KAT); we feed in the
ECDHE shared secret as a known input and verify every cascade
secret downstream matches the spec byte-exact.
Inputs:
PSK = 0^32 (no-PSK case)
ECDHE.shared= 8bd4054fb55b9d63fdfbacf9f04b9f0d35e6d63f537563efd46272900f89492d
empty_hash = SHA-256("") = e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
Expected cascade:
early_secret = 33ad0a1c607ec03b09e6cd9893680ce210adf300aa1f2660e1b22e10f170f92a
derived_1 = 6f2615a108c702c5678f54fc9dbab69716c076189c48250cebeac3576c3611ba
handshake_secret = 1dc826e93606aa6fdc0aadc12f741b01046aa6b99f691ed221a9f0ca043fbeac
derived_2 = 43de77e0c77713859a944db9db2590b53190a65b3ee2e4f12dd7a0bb7ce254b4
master_secret = 18df06843d13a08bf2a449844c5f8a478001bc4d4c627984d5a41da8d0402919
Plus per-traffic-secret AEAD key + IV derivation succeeds and
produces the expected lengths (32-byte key, 12-byte IV for
ChaCha20-Poly1305).
expect_exit: 0
license_tier: ORIGINAL
dependencies 3 imports · 0 importers
imports: nx_syscalls.nxnx_tls13_kdf.nxnx_tls13_schedule.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
| 32 | func main() -> i64 |