Encryption Overhead Performance Calculator

Estimates throughput reduction, latency increase, and CPU overhead introduced by common encryption algorithms based on data size, hardware, and algorithm choice.

Results will appear here.

Formulas Used

Encrypted Throughput per Core (MB/s):
T_enc_core = (F_cpu [GHz] × 10⁹) / (cpb × 10⁶) = F_cpu × 1000 / cpb

Total Encrypted Throughput (MB/s):
T_enc = min(T_enc_core × N_cores, T_baseline)

Throughput Overhead (%):
Overhead = ((T_baseline − T_enc) / T_baseline) × 100

Transfer Times (s):
t_baseline = DataSize / T_baseline
t_enc = DataSize / T_enc
Δt = t_enc − t_baseline

CPU Utilisation (%):
CPU_util = (T_enc / (T_enc_core × N_cores)) × 100

Assumptions & References

  • Cycles per byte (cpb) values are derived from Intel AES-NI whitepapers and OpenSSL speed benchmarks on modern x86-64 CPUs.
  • AES-128-GCM with AES-NI: ~0.5 cpb; software: ~15 cpb. (Intel, "Intel® Advanced Encryption Standard Instructions", 2010)
  • AES-256-GCM with AES-NI: ~0.7 cpb; software: ~18 cpb. (OpenSSL 3.x benchmarks)
  • ChaCha20-Poly1305: ~2.6 cpb regardless of AES-NI (uses SIMD/AVX2). (Bernstein, 2008; Google TLS benchmarks)
  • 3DES: ~25 cpb; deprecated by NIST SP 800-131A Rev. 2 (2019).
  • RSA-2048: ~800 cpb modelled as symmetric-equivalent overhead for bulk data; in practice RSA is used only for key exchange, not bulk encryption.
  • Multi-core scaling assumes perfectly parallelisable independent data streams (e.g., TLS record-level parallelism).
  • Throughput is bounded by the baseline I/O or network speed — encryption cannot exceed the underlying channel capacity.
  • Results are theoretical estimates. Real-world performance varies with memory bandwidth, OS scheduling, and workload mix.

In the network