Performance measurements › arm_1 › sign-15 · system: x86_1 · arm_1

sign-15 MORNING-ATLAS — performance on AArch64 (system arm_1)

Independent measurement following the structure of the NICCS ARM self-assessment guide, §3.5 (1)–(7). Not a submitter self-assessment.

1. Basic information

2. Assessment environment

item value
processor Qualcomm Oryon (CPU 2, one core)
machine ASUS Vivobook S 15
clock fixed 2.71 GHz (governor performance, minimum = maximum), boost off, SMT none
memory 30562 MiB
OS / kernel Ubuntu 26.04.1 LTS / 7.0.0-34-generic
compiler / build tool gcc (Ubuntu 15.2.0-16ubuntu1) 15.2.0 / cmake version 4.2.3
campaign start / end (UTC) 2026-09-28T15:05:46 / 2026-09-29T08:43:52

3. Functional testing (KAT)

Each library was checked against the submitted KAT vectors (SHA-256 manifest sign-15/kat.sha256 in the harness) before timing.

instance build flags KAT
lwrdsa128 harness-default OVERFLOW [1]
lwrdsa192 harness-default OVERFLOW [1]
lwrdsa256 harness-default OVERFLOW [1]
lwrdsa512 harness-default OVERFLOW [1]

[1] OVERFLOW: sig_sign returns (and writes) signatures up to 64 bytes longer than the declared maximum sn length (confirmed finding sign-15-1, out-of-bounds heap disclosure); timed with a 4 KiB guard buffer and the excess recorded. In addition, sig_verify accepted the honest signature once and then rejected the same unchanged inputs on later calls, so the verification time is that of calls with inconsistent verdicts (counted as verify_rejections in each record). These instances are timed anyway; their output is not validated.

4. Performance

instance operation mean cycles mean time ops/s median trial n (trials × iters)
lwrdsa128 keygen 2.49 M 924 µs 1.08e+03 924 µs 3320 (5 × 664)
lwrdsa128 sign 3.39 M 1.26 ms 794 1.26 ms 2390 (5 × 478)
lwrdsa128 verify 2.57 M 955 µs 1.05e+03 955 µs 3280 (5 × 656)
lwrdsa192 keygen 5.93 M 2.2 ms 455 2.19 ms 1420 (5 × 284)
lwrdsa192 sign 7.75 M 2.88 ms 348 2.86 ms 1095 (5 × 219)
lwrdsa192 verify 6.10 M 2.26 ms 442 2.26 ms 1395 (5 × 279)
lwrdsa256 keygen 3.48 M 1.29 ms 775 1.29 ms 1815 (5 × 363)
lwrdsa256 sign 9.43 M 3.5 ms 286 3.5 ms 700 (5 × 140)
lwrdsa256 verify 3.62 M 1.34 ms 744 1.34 ms 1855 (5 × 371)
lwrdsa512 keygen 10.35 M 3.84 ms 260 3.84 ms 635 (5 × 127)
lwrdsa512 sign 35.69 M 13.2 ms 75.5 13.2 ms 190 (5 × 38)
lwrdsa512 verify 10.83 M 4.02 ms 249 4.02 ms 625 (5 × 125)

5. Resource consumption

Static memory is approximated by the library's loadable ELF segments; peak memory is the process high-water mark (VmHWM) including the benchmark driver and libc, so both are upper-bound proxies rather than isolated algorithm memory.

instance operation static: ELF image (bytes) baseline RSS peak RSS
lwrdsa128 keygen 35468 1436 KiB 1548 KiB
lwrdsa128 sign 35468 3508 KiB 3620 KiB
lwrdsa128 verify 35468 1532 KiB 1600 KiB
lwrdsa192 keygen 31332 1428 KiB 1596 KiB
lwrdsa192 sign 31332 3560 KiB 3692 KiB
lwrdsa192 verify 31332 1604 KiB 1672 KiB
lwrdsa256 keygen 31604 1436 KiB 1608 KiB
lwrdsa256 sign 31604 1544 KiB 1708 KiB
lwrdsa256 verify 31604 1632 KiB 1696 KiB
lwrdsa512 keygen 33404 1448 KiB 1760 KiB
lwrdsa512 sign 33404 1692 KiB 1940 KiB
lwrdsa512 verify 33404 1868 KiB 1940 KiB

6. Transmission and storage overhead

External public-key, ciphertext and signature sizes follow the curated performance/external_sizes.csv catalog; secret-key and shared-secret lengths remain API figures. See the size audit for disagreements.

instance public key secret key signature
lwrdsa128 1328 2128 2081
lwrdsa192 2112 3152 3365
lwrdsa256 2848 4016 4656
lwrdsa512 6688 7920 10081

Symmetric primitives

Survey verdict: ICCS-only

Share of each operation spent in the ICCS placeholder hash functions and in the ICCS DRNG (reference build, measured in the same run with link-time wrappers):

instance operation pseudohash/XOF/sm3 DRNG calls per operation
lwrdsa128 keygen 86% 0.2% drng 1, pseudoXOF 62
lwrdsa128 sign 74% 0.0% pseudoXOF 62
lwrdsa128 verify 84% 0.0% pseudoXOF 57
lwrdsa192 keygen 86% 0.1% drng 1, pseudoXOF 142
lwrdsa192 sign 75% 0.0% pseudoXOF 143
lwrdsa192 verify 85% 0.0% pseudoXOF 134
lwrdsa256 keygen 67% 0.1% drng 1, pseudoXOF 72
lwrdsa256 sign 42% 0.0% pseudoXOF 81
lwrdsa256 verify 65% 0.0% pseudoXOF 59
lwrdsa512 keygen 65% 0.0% drng 1, pseudoXOF 86
lwrdsa512 sign 52% 0.0% pseudoXOF 227
lwrdsa512 verify 62% 0.0% pseudoXOF 59

7. Raw evidence index

Paths are relative to performance/data/arm_1/ in the harness; each JSON file records its commands, environment and trials.

instance item file
lwrdsa128 KAT log (sha256 bc08acca98ef36d5…) kat/sign-15/lwrdsa128.log
lwrdsa128 timing keygen records/sign-15/lwrdsa128__keygen.json
lwrdsa128 timing sign records/sign-15/lwrdsa128__sign.json
lwrdsa128 timing verify records/sign-15/lwrdsa128__verify.json
lwrdsa128 hash profile keygen profile/sign-15/lwrdsa128__keygen.json
lwrdsa128 hash profile sign profile/sign-15/lwrdsa128__sign.json
lwrdsa128 hash profile verify profile/sign-15/lwrdsa128__verify.json
lwrdsa192 KAT log (sha256 b250523772e37f23…) kat/sign-15/lwrdsa192.log
lwrdsa192 timing keygen records/sign-15/lwrdsa192__keygen.json
lwrdsa192 timing sign records/sign-15/lwrdsa192__sign.json
lwrdsa192 timing verify records/sign-15/lwrdsa192__verify.json
lwrdsa192 hash profile keygen profile/sign-15/lwrdsa192__keygen.json
lwrdsa192 hash profile sign profile/sign-15/lwrdsa192__sign.json
lwrdsa192 hash profile verify profile/sign-15/lwrdsa192__verify.json
lwrdsa256 KAT log (sha256 d0adf95410eb90ac…) kat/sign-15/lwrdsa256.log
lwrdsa256 timing keygen records/sign-15/lwrdsa256__keygen.json
lwrdsa256 timing sign records/sign-15/lwrdsa256__sign.json
lwrdsa256 timing verify records/sign-15/lwrdsa256__verify.json
lwrdsa256 hash profile keygen profile/sign-15/lwrdsa256__keygen.json
lwrdsa256 hash profile sign profile/sign-15/lwrdsa256__sign.json
lwrdsa256 hash profile verify profile/sign-15/lwrdsa256__verify.json
lwrdsa512 KAT log (sha256 86ce37323564f7d4…) kat/sign-15/lwrdsa512.log
lwrdsa512 timing keygen records/sign-15/lwrdsa512__keygen.json
lwrdsa512 timing sign records/sign-15/lwrdsa512__sign.json
lwrdsa512 timing verify records/sign-15/lwrdsa512__verify.json
lwrdsa512 hash profile keygen profile/sign-15/lwrdsa512__keygen.json
lwrdsa512 hash profile sign profile/sign-15/lwrdsa512__sign.json
lwrdsa512 hash profile verify profile/sign-15/lwrdsa512__verify.json

Scripts: performance/campaign.py, performance/ngcc_perf.c, performance/hashprof/ in the harness.