All benchmarks

Cryptography

tasqnetwork.io/benchmark/crypto

Every cryptographic step a TasQ job takes, timed on a 2 vCPU Intel Xeon(R) Processor @ 2.10GHz with one thread. Each figure is the median of 7 runs. These set the floor on per-job overhead that is not GPU time.

215.4 µsHybrid key agreement, one side
10.2 msML-DSA-65 receipt signature
60.2 msMerkle root, 65,536 leaves
5.4 GiB/sBLAKE3 throughput, 1 MiB input

All primitives

PrimitiveCategoryMedianMinMaxOps per secondMiB/s
BLAKE3, 1 MiBhash182.1 µs180.4 µs188.3 µs5,4925,492
SHA-256, 1 MiBhash772.8 µs764.5 µs774.4 µs1,2941,294
BLAKE3, 64 Bhash411 ns401 ns438 ns2,433,106
AES-256-GCM encrypt, 1 MiBsymmetric118.0 µs116.2 µs136.0 µs8,4768,476
AES-256-GCM decrypt, 1 MiBsymmetric123.4 µs118.4 µs130.1 µs8,1028,102
Ed25519 signsignature38.1 µs37.5 µs40.8 µs26,212
Ed25519 verifysignature122.2 µs118.8 µs123.3 µs8,183
ML-DSA-65 keygensignature (PQ)270.2 µs268.0 µs285.2 µs3,702
ML-DSA-65 signsignature (PQ)10.2 ms10.1 ms10.3 ms98
ML-DSA-65 verifysignature (PQ)217.0 µs216.2 µs217.9 µs4,609
Hybrid Ed25519 + ML-DSA-65 signsignature (hybrid)10.3 ms10.2 ms10.4 ms97
X25519 key exchangekey exchange38.8 µs38.3 µs39.6 µs25,751
ML-KEM-768 keygenkey exchange (PQ)67.6 µs67.2 µs70.3 µs14,795
ML-KEM-768 encapsulatekey exchange (PQ)79.7 µs78.4 µs83.8 µs12,553
ML-KEM-768 decapsulatekey exchange (PQ)98.8 µs98.3 µs101.1 µs10,118
Hybrid X25519 + ML-KEM-768 (one side, full)key exchange (hybrid)215.4 µs214.1 µs217.8 µs4,642
HKDF-SHA256, 32 B outputkdf3.8 µs3.8 µs4.0 µs262,691
Merkle root (BLAKE3), 1024 leavescommitment875.7 µs873.6 µs882.2 µs1,142
Merkle root (BLAKE3), 65536 leavescommitment60.2 ms58.5 ms61.3 ms17
Ledger ID derivation (Eq. 2-3)identity9.2 µs9.1 µs9.4 µs108,893

Source: micro_crypto.csv, micro_crypto.py

Reading this

The hybrid handshake and an ML-DSA-65 signature together cost about 10.4 ms, paid once per session, not per token. ML-DSA-65 signing dominates. Verification is about 0.2 ms, which is the side a client pays.

Library versions: cryptography, blake3 1.0.10 and pqcrypto, as pinned in the script. Timings on GPU servers will differ. Run the script on your own machine to compare.