Recipes¶
One page per question developers actually ask. Every recipe is a complete program that was executed against the package source before this site was published, and each page shows the output it printed.
-
How to sign JWTs with ML-DSA in Python
Hybrid ML-DSA-65 + Ed25519 JWS tokens with
pqblocks-jose, including a wrong-key rejection check. -
How to add post-quantum tokens to FastAPI
Issue and verify ML-DSA-signed bearer tokens in a FastAPI service, with a tamper test.
-
How to do hybrid X25519 + ML-KEM key exchange
Establish a shared secret that survives a break of either ML-KEM or X25519, with
pqblocks-primitives. -
How to encrypt files with a post-quantum key
Passphrase-sealed key files and ML-KEM-768 + X25519 file encryption with
pqblocks-files. -
How to check if my app still uses RSA or ECC
Inventory quantum-vulnerable algorithms, grade readiness and emit a CycloneDX 1.6 CBOM with
pqblocks-scan. -
How to solve Max-Cut with a quantum-inspired solver
Simulated Bifurcation on an Ising model, checked against brute force, with
pqblocks-bifurcation.
How these recipes stay correct
The code on each page is included verbatim from docs/recipes/code/, and scripts/check_recipes.py runs every file before a release of the site. If a package API changes, the check fails before the page can go wrong.