Carr Digital

Research

Three public datasets on what the post-quantum migration actually does to certificates, chains, and TLS servers. Each is measured, versioned, archived with a DOI, and reproducible from its repo. The articles interpret; these are the numbers.

How claims are stamped

Every claim in these repos carries one of three stamps. Verified: measured here, and the script plus its captured output ship in the repo.Reported: cited to a standard or vendor document, not re-derived.Proposed: designed but not yet measured. Each repo also carries a PRIOR-ART.md naming what was already known before it, and retractions stay in the file rather than disappearing: three claims were retracted from the chain-selection work in August 2026, and the record says which and why.

pqc-cert-matrix

Dataset · MIT · 88 measured cells

Eight certificate chain shapes by eleven client stacks: 88 cells, each a script plus its captured output. The headline is that parsing never fails. All 88 cells parse, including the chains that then fail validation, so a parse-based inventory cannot tell a working chain from a broken one. On this corpus, that is a 100% false-pass rate.

DOI: 10.5281/zenodo.21749600

Repo →  ·  Hybrid certificates, weighed →  ·  How much certificate can you afford? →

pqc-chain-budget

Dataset · MIT · 8,151 real chains

The certificate chains of the Tranco top 10,000, captured 2026-08-07 and projected under the NIST signature algorithms. The inputs are measured; the outputs are projections on stated assumptions, never a measurement of a post-quantum handshake. Under drop-in ML-DSA-44, 85.1% of measured sites project past the IW10 initial congestion window, and leaf-only migration fits almost everywhere. The deciding variable is chain depth. Compression recovers a median 985 bytes today and roughly the same 985 bytes after migration, because the saving is structural and migration adds no structure.

DOI: 10.5281/zenodo.21846142

Repo →  ·  The typical chain moved →  ·  The same 985 bytes →

pqc-chain-selection

Dataset · MIT · 5 server stacks

Give a TLS server a certificate chain the client has said it will not accept, and record what it sends. Three of five stacks (Caddy, rustls, Envoy) send it anyway; OpenSSL and nginx refuse. All three are conformant, because RFC 8446 makes the constraint a SHOULD and tells a server with no acceptable chain to send one regardless. What decides the chain a client receives is the client's own preference order, not the server's configuration file.

DOI: 10.5281/zenodo.21911032

Repo →  ·  Three of five sent it anyway →

Checking the work

The method behind all three is the book's: Post-Quantum, Measured, with the free companion evidence in the whitepaper and the measurements made usable in the tools. Every number on this page traces to a file in one of these repos. If you find one that does not survive checking, file an issue. The retraction record shows what happens next.