_aes128_gcm_throughput_bench.nx
buildroot/runtime/_aes128_gcm_throughput_bench.nx
about
_aes128_gcm_throughput_bench.nx -- pure-software AES-128-GCM
throughput baseline. Encrypts a 4 KiB plaintext buffer N times
(= 16 MiB total) so paired wall-clock timing converts to MB/s.
Target use:
Establish the BASELINE for the pure-software substrate AES-128-GCM
path so future silicon-ROI claims have a fixed number to beat:
- vs OpenSSL software AES (~150 MB/s on modern x86_64)
- vs OpenSSL AES-NI (~5000 MB/s on modern x86_64)
- vs hypothetical Nishi-silicon AES instruction (Tier B+ MPW)
Cardinal 25 ("build intelligence, never strip features"): this is
ADDITIVE -- existing KAT smoke (nx_aes128_gcm_kat_smoke.sh) keeps
guarding correctness; this script adds the throughput dimension.
Algorithm under test:
nx_aes128_gcm_seal(key, iv, aad=NULL, aad_len=0, pt, pt_len=4096,
ct, tag)
Returns: 0 (success); non-zero returns indicate setup failure that
the wrapping smoke script will report.
dependencies 2 imports · 0 importers
imports: nx_syscalls.nxnx_aes128_gcm.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
| 26 | func main() -> i64 |