Kristofers Solo 09fb7821bb feat(bench-common): add certificate generation utilities
- CaCertificate: self-signed CA that can sign server certificates
- ServerCertificate: DER-encoded cert chain and private key
- generate_test_certs(): convenience helper for local testing
- Uses rcgen 0.14 for X.509 certificate generation
2026-01-25 16:29:33 +02:00
2026-01-25 15:57:47 +02:00
2026-01-25 15:57:47 +02:00

tls-pq-bench

Reproducible benchmarking harness for comparing TLS 1.3 key exchange configurations:

  • Classical: X25519
  • Hybrid PQ: X25519MLKEM768 (via rustls + aws_lc_rs)

Primary metrics:

  • Handshake latency
  • TTLB (Time-to-Last-Byte)

Secondary metrics:

  • CPU cycles (perf)
  • Memory behavior (optional: Valgrind/Massif)
  • Binary size (optional)

This repo is intended as the implementation for the empirical part of the bachelor thesis (following the course thesis methodology).

Non-goals

  • Not a general-purpose TLS load tester
  • Not a cryptographic audit tool
  • Not a middlebox compatibility test suite (can be added later)

Quick start (local dev)

  1. Install Rust stable and Linux tooling:
    • perf, tcpdump (optional), jq, python3
  2. Build:
    • cargo build --release

Reproducibility notes

All experiments should record:

  • commit hash
  • rustc version
  • CPU model and governor
  • kernel version
  • rustls and aws-lc-rs versions
  • exact CLI parameters and network profile
Description
No description provided
Readme 288 KiB
Languages
Rust 97%
Just 2.6%
Shell 0.4%