Post-Quantum Risk Intelligence

Quantum doesn’t weaken your cryptography. It ends it.

Lattice scans certificates, networks, containers and source code — then tells you what a quantum adversary could actually do, with the reasoning attached.

235 tests · FIPS 203/204 · 61 API routes

What it does

It does not stop at “this uses RSA.”

Lattice tells you whether that matters, how much, and what to do about it.

01

Enumerate

Certificates, negotiated suites, dependency manifests and image layers — the cryptography actually present, not what a name suggests.

02

Assess

Each primitive is classified by family and resolved to a strength, then measured against two specific quantum attacks: Shor and Grover.

03

Report

A 0–100 score where 0 is safe, a CycloneDX CBOM, a PDF, and per-finding provenance naming the detector behind every claim.

Every number carries its reasoning: severity never moves without an explanation, an evidence block, and a provenance marker.

How the quantum assessment works

Severity follows evidence, not names.

Traffic captured today can be decrypted once a quantum computer arrives — harvest now, decrypt later. So Lattice measures, it does not guess.

Shor is binary

Rule 01

A primitive in an asymmetric family is either Shor-broken or it is not. No partial credit. RSA, DH, ECDSA and EdDSA do not get weaker under Shor — they stop existing.

SHOR-BROKENeffective_bits = 0

Circuit-verified factorisations

15 → 3×5 · 21 → 3×7 · 33 → 3×11 · 35 → 5×7 · 39 → 3×13 · 55 → 5×11

Periods verified classically before any factor is returned.

Grover is arithmetic

Rule 02

Quadratic search costs √(2^n) ≈ 2^(n/2) evaluations, so a symmetric primitive of strength n is worth n/2. A 256-bit key is worth about 128 bits.

GROVER-DEGRADEDeffective_bits = n / 2
PrimitiveClassicalEffectiveVerdict
AES-128128 bits64 bitsHIGH
AES-256256 bits128 bitsacceptable floor
SHA-256256 bits128 bitslow

Only post-quantum algorithms clear the 128-bit effective floor. Anything below it is reported as Grover-degraded rather than safe.

Measured on Qiskit-Aer at 4096 shots: the π/4 coefficient fits at 0.7328 against 0.7854 theory — a 6.7% gap from shot noise and finite-depth discretisation.

Unknown is not zero

Rule 03

An algorithm Lattice cannot classify is reported as unassessed — never rounded up to broken, never rounded down to safe. None is not 0: zero is the sentinel meaning Shor-broken, and treating unknown as zero would turn every unclassified primitive into an existential finding.

Shor is executed against small composites (15–55) to demonstrate the method — no laptop simulator factors a 2048-bit modulus. Classical strength numbers come from published tables, and the code labels them as such.