mirror of
https://github.com/kristoferssolo/tls-pq-bench.git
synced 2026-03-22 00:36:21 +00:00
Initial commit
This commit is contained in:
45
README.md
Normal file
45
README.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# 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
|
||||
Reference in New Issue
Block a user