Performance measurements › x86_1 › kem-01 · system: x86_1 · arm_1

kem-01 Aigis-Enc+ — 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 kem-01/kat.sha256 in the harness) before timing.

instance build flags KAT
Aigis-enc1 guide PASS
Aigis-enc2 guide PASS
Aigis-enc3 guide PASS

4. Performance

instance operation mean cycles mean time ops/s median trial n (trials × iters)
Aigis-enc1 keygen 269.2 k 129 µs 7.78e+03 129 µs 35300 (5 × 7060)
Aigis-enc1 enc 331.4 k 158 µs 6.32e+03 158 µs 30135 (5 × 6027)
Aigis-enc1 dec 373.2 k 178 µs 5.61e+03 178 µs 26820 (5 × 5364)
Aigis-enc2 keygen 448.1 k 214 µs 4.67e+03 214 µs 21835 (5 × 4367)
Aigis-enc2 enc 602.4 k 288 µs 3.47e+03 288 µs 16975 (5 × 3395)
Aigis-enc2 dec 705.1 k 337 µs 2.97e+03 337 µs 14445 (5 × 2889)
Aigis-enc3 keygen 1.01 M 482 µs 2.08e+03 482 µs 9835 (5 × 1967)
Aigis-enc3 enc 1.35 M 644 µs 1.55e+03 644 µs 7565 (5 × 1513)
Aigis-enc3 dec 1.61 M 770 µs 1.3e+03 770 µs 6380 (5 × 1276)

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
Aigis-enc1 keygen 40689 1720 KiB 1792 KiB
Aigis-enc1 enc 40689 1680 KiB 1808 KiB
Aigis-enc1 dec 40689 1728 KiB 1820 KiB
Aigis-enc2 keygen 45033 1720 KiB 1828 KiB
Aigis-enc2 enc 45033 1748 KiB 1812 KiB
Aigis-enc2 dec 45033 1732 KiB 1836 KiB
Aigis-enc3 keygen 51537 1720 KiB 1844 KiB
Aigis-enc3 enc 51537 1768 KiB 1840 KiB
Aigis-enc3 dec 51537 1788 KiB 1872 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 ciphertext shared secret
Aigis-enc1 656 1456 896 16
Aigis-enc2 1312 2912 1664 32
Aigis-enc3 2624 5824 3584 64

Symmetric primitives

Survey verdict: ICCS-only — own fips202.c compiled but unreachable from the API

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
Aigis-enc1 keygen 30% 37% drng 15, pseudoXOF 3, sm3hash 1
Aigis-enc1 enc 35% 28% drng 13, pseudoXOF 4, sm3hash 1
Aigis-enc1 dec 33% 23% drng 12, pseudoXOF 4, sm3hash 1
Aigis-enc2 keygen 30% 36% drng 23, pseudoXOF 2, pseudohash 1, sm3hash 1
Aigis-enc2 enc 35% 26% drng 21, pseudoXOF 3, pseudohash 1, sm3hash 1
Aigis-enc2 dec 31% 21% drng 20, pseudoXOF 4, pseudohash 1
Aigis-enc3 keygen 38% 31% drng 42.8, pseudoXOF 2, pseudohash 2
Aigis-enc3 enc 39% 23% drng 41, pseudoXOF 3, pseudohash 2
Aigis-enc3 dec 35% 19% drng 40, pseudoXOF 4, pseudohash 1

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
Aigis-enc1 KAT log (sha256 b11498bb40d35ef1…) kat/kem-01/Aigis-enc1.log
Aigis-enc1 timing dec records/kem-01/Aigis-enc1__dec.json
Aigis-enc1 timing enc records/kem-01/Aigis-enc1__enc.json
Aigis-enc1 timing keygen records/kem-01/Aigis-enc1__keygen.json
Aigis-enc1 hash profile dec profile/kem-01/Aigis-enc1__dec.json
Aigis-enc1 hash profile enc profile/kem-01/Aigis-enc1__enc.json
Aigis-enc1 hash profile keygen profile/kem-01/Aigis-enc1__keygen.json
Aigis-enc2 KAT log (sha256 0e34c80db17af3ba…) kat/kem-01/Aigis-enc2.log
Aigis-enc2 timing dec records/kem-01/Aigis-enc2__dec.json
Aigis-enc2 timing enc records/kem-01/Aigis-enc2__enc.json
Aigis-enc2 timing keygen records/kem-01/Aigis-enc2__keygen.json
Aigis-enc2 hash profile dec profile/kem-01/Aigis-enc2__dec.json
Aigis-enc2 hash profile enc profile/kem-01/Aigis-enc2__enc.json
Aigis-enc2 hash profile keygen profile/kem-01/Aigis-enc2__keygen.json
Aigis-enc3 KAT log (sha256 576d178dade126a3…) kat/kem-01/Aigis-enc3.log
Aigis-enc3 timing dec records/kem-01/Aigis-enc3__dec.json
Aigis-enc3 timing enc records/kem-01/Aigis-enc3__enc.json
Aigis-enc3 timing keygen records/kem-01/Aigis-enc3__keygen.json
Aigis-enc3 hash profile dec profile/kem-01/Aigis-enc3__dec.json
Aigis-enc3 hash profile enc profile/kem-01/Aigis-enc3__enc.json
Aigis-enc3 hash profile keygen profile/kem-01/Aigis-enc3__keygen.json

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