Introduction

This document is a companion to the Post-Quantum Safety Analysis of the Blend Protocol, which identified the quantum-vulnerable components in the Blend Protocol and proposed a phased migration path. This document evaluates specific post-quantum candidate primitives for each component: Key Encapsulation Mechanisms (KEMs), digital signature schemes, and zero-knowledge proof systems.

The purpose of this document is to present the pros and cons of candidate primitives along the relevant trade-off axes — not to select one. Deployment decisions (security category per component, lattice-vs-non-lattice posture, specific candidate selection, compression strategy for ZK proofs) are deferred to dedicated decision documents and RFCs. The analysis below is intended as input to those decisions, providing a consistent comparison baseline and surfacing the trade-offs that the decision documents will need to navigate.

The evaluation criteria are driven by the Blend Protocol’s specific constraints:

<aside> 💡

On performance figures. Absolute timings are platform- and implementation-dependent and are therefore reported in the shared companion benchmark document — measured on a Raspberry Pi 5 and an Apple M3 MacBook, through three independent implementations (the liboqs C library, the pure-Rust RustCrypto crates, and aws-lc-rs) and two TLS stacks (OpenSSL and rustls) — not here. Throughout this document, performance is characterized only by order of magnitude (microsecond / millisecond / sub-second) and by relative comparison between candidates, both of which the benchmark shows to be stable across platforms and implementations. The benchmark additionally quantifies the worst-case latency of the intrinsically variable operations (rejection-sampled signing and key generation) — the figure that matters wherever an operation sits inside a deadline, such as message construction. Sizes (public key, secret key, ciphertext, signature, proof) are deterministic functions of the parameter set and are reported in full.

</aside>

Migration Phases

The companion analysis document defines four migration phases. Before listing them, we briefly summarize the two threat classes each phase targets, so that the migration phases can be read without consulting the companion document:

Each migration phase targets a single security property at a specific layer of the stack, and the phases are separated as distinct infrastructure upgrades. Although Phases 0 and 1 both use a KEM, and Phases 2 and 3 both defend against real-time forgery, the layer each one protects — and therefore its size, performance, and deployment requirements — differs. For each phase we state what is replaced, what it protects, and the consequence of not doing it:

Phases 0 and 1 together cover the full HNDL (retroactive) surface — connection-level and message-level confidentiality — while Phases 2 and 3 cover real-time forgery (signatures and proofs). All four phases defend against attacks that require a CRQC to execute; the distinction is when the adversary must act. The HNDL threats (Phases 0–1) are retroactive — the adversary harvests traffic today and decrypts it once a CRQC exists — so the protection must be in place before the traffic is sent. The real-time forgery threats (Phases 2–3) have no harvesting phase: they can only be mounted while a CRQC is operating, so those migrations must be complete before a CRQC arrives but protect nothing in retrospect.