OpenSSL 4.1.0 shipped today. I built it and measured ML-KEM, ML-DSA, and DTLS 1.3
Description and use
OpenSSL 4.1.0 adds DTLS 1.3 and post‑quantum ML‑KEM/ML‑DSA support. Build and tests show ML‑KEM‑768 keygen is ~1200× faster than RSA‑2048, while ML‑DSA‑65 signing is faster but verification slower. Key and signature sizes are much larger, making bandwidth the new bottleneck.
Problem
Deploying DTLS 1.3 and post‑quantum algorithms requires understanding new features, performance, and known issues in OpenSSL 4.1.0.
Outcome
DTLS 1.3 handshakes succeed; ML‑KEM keygen is ~1,200× faster than RSA‑2048; ML‑DSA‑65 signing is faster but verifying is slower than RSA‑2048; key and signature sizes are significantly larger, making bandwidth the new bottleneck.
Workflow
- Download OpenSSL 4.1.0 source tarball
- Configure with no-shared no-tests and -O3
- Build on a real disk to avoid /tmp space limits
- Run DTLS 1.3 handshake test with s_server -dtls1_3 and s_client -dtls1_3
- Measure post‑quantum performance with openssl speed
- Generate keys and signatures to assess byte sizes
- Review release notes for known DTLS issues
- Plan deployment based on handshake paths used
Evidence
DTLS 1.3 negotiates — and 3.0 can't even parse the flag
ML-KEM-768 keygen 16345.9 29921.6 19203.1
ML-DSA-65 verify 13598.3
ML-DSA-65 signature on a 10-byte message: 3309 bytes
The system 3.0.13 knows zero post-quantum algorithms
- Record date: 2026-10-23T16:11:25.153Z