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

sign-15 MORNING-ATLAS — performance on x86-64 (system x86_1)

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

1. Basic information

2. Assessment environment

item value
processor 12th Gen Intel(R) Core(TM) i7-12700 (CPU 2, one core)
clock max 2.10 GHz, governor performance, turbo off, SMT off
memory 31788 MiB
OS / kernel Debian GNU/Linux 13 (trixie) / 6.12.107+deb13-amd64
compiler / build tool gcc (Debian 14.2.0-19) 14.2.0 / cmake version 3.31.6
campaign start / end (UTC) 2026-09-25T10:02:21 / 2026-09-28T10:51:21

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.78 M 1.33 ms 753 1.33 ms 3620 (5 × 724)
lwrdsa128 sign 3.89 M 1.86 ms 538 1.86 ms 2690 (5 × 538)
lwrdsa128 verify 2.88 M 1.38 ms 726 1.38 ms 3605 (5 × 721)
lwrdsa192 keygen 6.61 M 3.16 ms 317 3.16 ms 1545 (5 × 309)
lwrdsa192 sign 8.80 M 4.21 ms 238 4.21 ms 945 (5 × 189)
lwrdsa192 verify 6.81 M 3.25 ms 307 3.26 ms 1540 (5 × 308)
lwrdsa256 keygen 4.23 M 2.02 ms 495 2.02 ms 2420 (5 × 484)
lwrdsa256 sign 12.39 M 5.92 ms 169 5.91 ms 1080 (5 × 216)
lwrdsa256 verify 4.44 M 2.12 ms 472 2.12 ms 2330 (5 × 466)
lwrdsa512 keygen 12.34 M 5.9 ms 169 5.9 ms 835 (5 × 167)
lwrdsa512 sign 43.40 M 20.7 ms 48.2 20.8 ms 445 (5 × 89)
lwrdsa512 verify 12.96 M 6.19 ms 161 6.2 ms 810 (5 × 162)

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 – 1708 KiB 1824 KiB
lwrdsa128 sign – 1752 KiB 1980 KiB
lwrdsa128 verify – 1812 KiB 1908 KiB
lwrdsa192 keygen – 1724 KiB 1896 KiB
lwrdsa192 sign – 1804 KiB 2000 KiB
lwrdsa192 verify – 1880 KiB 1948 KiB
lwrdsa256 keygen – 1712 KiB 1920 KiB
lwrdsa256 sign – 1824 KiB 2000 KiB
lwrdsa256 verify – 1916 KiB 2012 KiB
lwrdsa512 keygen – 1716 KiB 2060 KiB
lwrdsa512 sign – 1964 KiB 2260 KiB
lwrdsa512 verify – 2152 KiB 2220 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 83% 0.2% drng 1, pseudoXOF 62
lwrdsa128 sign 70% 0.0% pseudoXOF 62
lwrdsa128 verify 81% 0.0% pseudoXOF 57
lwrdsa192 keygen 83% 0.1% drng 1, pseudoXOF 142
lwrdsa192 sign 71% 0.0% pseudoXOF 143
lwrdsa192 verify 82% 0.0% pseudoXOF 134
lwrdsa256 keygen 61% 0.1% drng 1, pseudoXOF 72
lwrdsa256 sign 35% 0.0% pseudoXOF 81
lwrdsa256 verify 58% 0.0% pseudoXOF 59
lwrdsa512 keygen 58% 0.0% drng 1, pseudoXOF 86
lwrdsa512 sign 46% 0.0% pseudoXOF 227
lwrdsa512 verify 55% 0.0% pseudoXOF 59

7. Raw evidence index

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

instance item file
lwrdsa128 KAT log (sha256 702480bc43313e49…) 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 ebe44b51dc5aa3cc…) 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 426000e406d37405…) 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 9aef369292d1cd22…) 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.