Challenge Assignment: Comprehensive Benchmark Binary
Create pqc-demo/src/bench.rs that produces output like:
=== Key Generation ===
X25519: 0.8 µs
ML-KEM-768: 18.2 µs (22.8× slower)
ECDSA P-256: 9.1 µs
ML-DSA-65: 45.3 µs ( 4.9× slower)
=== Key Exchange / Encapsulation ===
X25519: 0.9 µs (both sides)
ML-KEM-768: 26.5 µs (Encaps + Decaps, 29.4× slower)
=== Sign ===
ECDSA P-256: 43.2 µs
ML-DSA-65: 312.4 µs ( 7.2× slower)
=== Verify ===
ECDSA P-256: 130.1 µs
ML-DSA-65: 198.6 µs ( 1.5× slower) ← nearly the same
=== Key and Signature Sizes ===
X25519 pubkey: 32 bytes
ML-KEM-768 pubkey: 1184 bytes (37.0× larger)
ECDSA P-256 sig: 64 bytes
ML-DSA-65 sig: 3293 bytes (51.5× larger)