Skip to content

Instantly share code, notes, and snippets.

@onvej-sl
Last active April 14, 2025 15:26
Show Gist options
  • Select an option

  • Save onvej-sl/3851bdae7ae5aa1f2624ca769737ea2e to your computer and use it in GitHub Desktop.

Select an option

Save onvej-sl/3851bdae7ae5aa1f2624ca769737ea2e to your computer and use it in GitHub Desktop.
Benchmark of post-quantum signatures
FN-DSA-512 FN-DSA-1024 ML-DSA-44 ML-DSA-65 ML-DSA-87 SLH-DSA-SHA2-128s SLH-DSA-SHAKE-128s SLH-DSA-SHA2-128f SLH-DSA-SHAKE-128f SLH-DSA-SHA2-192s SLH-DSA-SHAKE-192s SLH-DSA-SHA2-192f SLH-DSA-SHAKE-192f SLH-DSA-SHA2-256s SLH-DSA-SHAKE-256s SLH-DSA-SHA2-256f SLH-DSA-SHAKE-256f
security level 1 5 2 3 5 1 1 1 1 3 3 3 3 5 5 5 5
generate_keypair 2000 ms / 20 kB 4700 ms / 39 kB 21 ms / 42 kB OOM (> 64 kB) OOM (> 64 kB) 9800 ms / 3.3 kB 38000 ms / 3.8 kB 150 ms / 3 kB 600 ms / 3.6 kB 15000 ms / 6.0 kB 56000 ms / 6.1 kB
sign 510 ms / 44 kB OOM (> 64 kB) 78 ms / 55 kB OOM (> 64 kB) OOM (> 64 kB) 75000 ms / 10 kB 290000 ms / 11 kB 3600 ms / 20 kB 14000 ms / 20 kB 150000 ms / 21 kB 510000 ms / 21 kB
verify 7.0 ms / 5.0 KB OOM (> 64 kB) 21 ms / 36 kB OOM (> 64 kB) OOM (> 64 kB) 75 ms / 2.0 kB 290 ms / 2.5 kB 210 ms / 2.6 kB 860 ms / 3.2 kB 130 ms / 3.8 kB 430 ms / 3.8 kB
private key size 1281 B 2305 B 2560 B 4032 B 4896 B 64 B 64 B 64 B 64 B 96 B 96 B 96 B 96 B 128 B 128 B 128 B 128 B
public key size 897 B 1793 B 1312 B 1952 B 2592 B 32 B 32 B 32 B 32 B 48 B 48 B 48 B 48 B 64 B 64 B 64 B 64 B
signature size 666 B 1280 B 2420 B 3309 B 4627 B 7856 B 7856 B 17088 B 17088 B 16224 B 16224 B 35664 B 35664 B 29792 B 29792 B 49856 B 49856 B
full implementation size 61 kB 61 kB 15 kB 15 kB 15 kB 13 kB 9.5 kB 13 kB 9.5 kB 44 kB 9.6 kB 44 kB 9.6 kB 44 kB 9.6 kB 44 kB 9.6 kB
verification implementation size 11 kB 11 kB 11 kB 11 kB 11 kB 11 kB 7.7 kB 11 kB 7.7 kB 42 kB 7.7 kB 42 kB 7.7 kB 42 kB 7.7 kB 42 kB 7.7 kB
hash implementation size 4.7 kB 4.7 kB 5.6 kB 5.6 kB 5.6 8.2 kB 5.4 kB 8.2 kB 5.4 kB 39 kB 5.4 kB 39 kB 5.4 kB 39 kB 5.4 kB 39 kB 5.4 kB
hash used SHAKE-256 SHAKE-256 SHAKE-128,256 SHAKE-128,256 SHAKE-128,256 SHA-256 SHAKE-256 SHA-256 SHAKE-256 SHA-256,512 SHAKE-256 SHA-256,512 SHAKE-256 SHA-256,512 SHAKE-256 SHA-256,512 SHAKE-256
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxx
@onvej-sl
Copy link
Author

The last row in the table prevents the other rows from breaking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment