pqblocks
Skill0 starsChanged 8 days agoApache-2.0View on GitHub
Post-quantum engineering with the PQBlocks packages. Use when adding, migrating or auditing cryptography for the quantum threat (ML-KEM / FIPS 203, ML-DSA / FIPS 204, SLH-DSA / FIPS 205, Kyber, Dilithium, hybrid X25519 + ML-KEM), signing or encrypting JWTs post-quantum, encrypting files post-quantum, finding RSA / ECC in code, producing a CBOM, CNSA 2.0 compliance, checking TLS for X25519MLKEM768, running NIST ACVP vectors, or solving QUBO / Ising / Max-Cut problems with quantum-inspired solvers.
- Installs packages
In this repository3 other files it gives its agents.
- AGENTS.mdAGENTS.md
- .cursor/rules/pqblocks.mdcCursor rule
- llms.txtllms.txt
The file
We split this skill into the rules it gives an agent
5 rules. About 0 are common, 2 are distinctive, and 3 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
3
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Very specific: line 14
Use the documented API only: Before writing code with a PQBlocks package, read its reference file below (or call the get_snippet tool of …
- Distinctive: line 17
Never hand-roll post-quantum cryptography: Use the packages; they wrap maintained implementations (liboqs, pyca/cryptography).
- Very specific: line 21
Randomness from the OS only: Never pass a seed argument when generating production keys.
- Distinctive: line 28
Install lines: use the exact install line listed for each package.
- Very specific: line 60
Discover: run pqblocks-scan on the code base (and pqblocks-tls-interop on endpoints).
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
<!-- GENERATED by scripts/gen_skills.py from data/catalog.json - do not edit by hand -->PQBlocks: post-quantum engineering
PQBlocks is an open-source organisation that builds verified post-quantum (PQ) components: cryptography, migration and readiness tooling, protocol interoperability, conformance testing and quantum-inspired optimisation. 29 packages, Apache-2.0, docs at https://pqblocks.github.io.
Rules
- Use the documented API only. Before writing code with a PQBlocks package, read its reference file
below (or call the
get_snippettool of thepqblocks-mcpserver). Every quickstart there was executed against the package. Never guess function names. - Never hand-roll post-quantum cryptography. Use the packages; they wrap maintained implementations (liboqs, pyca/cryptography).
- Hybrid by default during the transition: ML-KEM-768 + X25519 for key establishment, ML-DSA-65 + Ed25519 for signatures. Downgrade to classical-only must be explicit.
- Randomness from the OS only. Never pass a
seedargument when generating production keys; seeds exist for reproducible tests. - Never log or return secret keys or shared secrets (logs, exceptions, HTTP responses,
repr). - Say exactly what is true. PQBlocks packages implement FIPS 203/204/205 and test against official vectors where they exist. They are not FIPS 140-3 / CMVP validated, not externally audited, and pre-1.0. Never call them certified, validated, audited or quantum-proof.
- Quantum-inspired packages are optimisation, not cryptography. Never place them in a security path.
- Install lines: use the exact install line listed for each package; most install from GitHub until their PyPI release is published.
Which package for which task
| Task | Package | Install | Import |
| ML-KEM / ML-DSA / SLH-DSA primitives (keygen, encapsulate, sign) | pqblocks-primitives | pip install pqblocks-primitives | pqblocks_primitives |
| Hybrid ML-KEM-768 + X25519 key establishment, native speed | pqblocks-core | pip install git+https://github.com/PQBlocks/hybrid-sdk | pqblocks_core |
| Sign or verify JWTs / JWS with ML-DSA; encrypt JWE with ML-KEM | pqblocks-jose | pip install pqblocks-jose | pqblocks_jose |
| Encrypt files or byte strings to a post-quantum public key | pqblocks-files | pip install pqblocks-files | pqblocks_files |
| Find RSA / ECC / weak hashes in code or a TLS endpoint; CBOM + SARIF | pqblocks-scan | pip install pqblocks-scan | pqblocks_scan |
| Python crypto data-flow linting; CBOM + SARIF | pqblocks-lint | pip install pqblocks-lint | pqblocks_lint |
| Enrich a CycloneDX CBOM with quantum-safety and CNSA 2.0 tags | pqblocks-cbom | pip install pqblocks-cbom | pqblocks_cbom |
| Crypto-agility readiness score and CI regression gate | pqblocks-agility | pip install pqblocks-agility | pqblocks_agility |
| Policy-as-code: fail CI on forbidden algorithms | pqblocks-policy | pip install pqblocks-policy | pqblocks_policy |
| Audit which JWE / JOSE algorithms a gateway accepts | pqblocks-jwe-audit | pip install pqblocks-jwe-audit | pqblocks_jwe_audit |
| CNSA 2.0 compliance evidence pack | pqblocks-cnsa-evidence | pip install pqblocks-cnsa-evidence | pqblocks_cnsa_evidence |
| Probe a TLS 1.3 endpoint for X25519MLKEM768; hybrid key-schedule checks | pqblocks-tls-interop | pip install pqblocks-tls-interop | pqblocks_tls_interop |
| Binary container for ML-KEM ciphertexts and ML-DSA / SLH-DSA signatures | pqblocks-wire | pip install pqblocks-wire | pqblocks_wire |
| Five-part hybrid JWE wire layout (serialise / parse only, no encryption) | pqblocks-jwe | pip install pqblocks-jwe | pqblocks_jwe |
| ML-KEM certificate signing request with proof of possession | pqblocks-csr-pop | pip install pqblocks-csr-pop | pqblocks_csr_pop |
| Run NIST ACVP vectors against ML-KEM / ML-DSA implementations | pqblocks-acvp | pip install pqblocks-acvp | pqblocks_acvp |
| Reject malformed or wrong-length FIPS 203/204 inputs at a boundary | pqblocks-fips-check | pip install pqblocks-fips-check | pqblocks_fips_check |
| Verify post-quantum X.509 certificate chains in browser or Node.js | pqblocks-browser-pqc-verifier | npm install git+https://github.com/PQBlocks/browser-pqc-verifier | @pqblocks/browser-pqc-verifier |
| Build or convert QUBO / Ising models | pqblocks-qubo | pip install pqblocks-qubo | pqblocks_qubo |
| Solve QUBO / Ising / Max-Cut (Simulated Bifurcation) | pqblocks-bifurcation | pip install pqblocks-bifurcation | pqblocks_bifurcation |
| Simulated annealing / quantum annealing / population annealing / QIEA solvers | pqblocks-anneal-sa, pqblocks-anneal-sqa, pqblocks-population-anneal, pqblocks-qiea | pip install pqblocks-anneal-sa | pqblocks_anneal_sa |
| Benchmark QUBO / Ising solvers (time-to-solution) | pqblocks-qubo-bench | pip install pqblocks-qubo-bench | pqblocks_qubo_bench |
Migration workflow
- Discover: run
pqblocks-scanon the code base (andpqblocks-tls-interopon endpoints). - Assess: enrich the CBOM with
pqblocks-cbom; score withpqblocks-agility. - Govern: gate CI with
pqblocks-policy; build evidence withpqblocks-cnsa-evidence. - Migrate:
pqblocks-primitives/pqblocks-corefor primitives,pqblocks-josefor tokens,pqblocks-filesfor files. - Verify:
pqblocks-acvpagainst NIST vectors;pqblocks-fips-checkat input boundaries.
Reference files
Each file holds the package summary, install line, import, command-line entry points and its executed quickstart. Read the one you need before writing code.
pqblocks-core: Post-quantum hybrid cryptography core SDK with C shared libraries and policy enforcement.pqblocks-files: Hybrid post-quantum file encryption: ML-KEM-768 plus X25519 key encapsulation with chunked ChaCha20-Poly1305 in the pfsh v1 format.pqblocks-fips-dualmode: Dual-mode cryptographic abstraction switching between FIPS 140-3 classical crypto (ECDH/AES-GCM) and post-quantum crypto (ML-KEM/ML-DSA).pqblocks-jose: Post-quantum hybrid JOSE library supporting ML-KEM and ML-DSA JWE and JWS tokens.pqblocks-primitives: Production-ready integrated post-quantum cryptographic primitives (ML-KEM, ML-DSA, SLH-DSA, and hybrid schemes).pqblocks-agility: Cryptographic Agility Readiness Scoring (CARS) and CI/CD regression firewall for CycloneDX 1.6 CBOM inventories.pqblocks-cbom: CycloneDX 1.5 CBOM metadata enrichment engine injecting quantum-safe classifications and CNSA 2.0 compliance properties.pqblocks-cnsa-evidence: CNSA 2.0 evidence pack generator for quantum-safe compliance, CBOM generation, and migration scheduling.pqblocks-jwe-audit: High-throughput JSON Web Encryption (JWE) cryptographic policy auditor enforcing CNSA 2.0 and NIST FIPS 203 PQC standards.pqblocks-lint: Static analysis for Python source that finds classical and post-quantum cryptographic primitives with a source-to-sink taint pass and reports them as a CycloneDX 1.6 CBOM or a SARIF 2.1.0 log.pqblocks-policy: Policy-as-code engine for post-quantum cryptography compliance and CBOM verification.pqblocks-scan: Cryptography inventory scanner: finds classical and post-quantum algorithms in source code or a TLS endpoint and writes a CycloneDX 1.6 CBOM, a SARIF 2.1.0 report and a readiness grade.pqblocks-csr-pop: ML-KEM (FIPS 203) PKCS#10 Certificate Signing Request (CSR) generator with RFC 9883 Proof of Possession (PoP).pqblocks-jwe: Compact five-part wire format, with a serializer and structural parser, for hybrid ML-KEM-768 + X25519 JWE-style tokens; it performs no encryption itself.pqblocks-tls-interop: TLS 1.3 hybrid key exchange (X25519MLKEM768 / RFC 10024) endpoint probe, downgrade detector, and key material validator.pqblocks-wire: Length-prefixed container format (PQCWF1) for ML-KEM ciphertexts and ML-DSA / SLH-DSA signatures, with thin wrappers over liboqs-python and pyca/cryptography; it implements no primitive itself.pqblocks-acvp: Cross-implementation NIST ACVP conformance harness for FIPS 203 (ML-KEM) and FIPS 204 (ML-DSA).pqblocks-browser-pqc-verifier: Post-quantum certificate and chain verifier for browsers and Node.js using ML-DSA/SLH-DSA from @noble/post-quantum.pqblocks-fips-check: FIPS 203/204 boundary validator and hybrid key exchange (X25519 + ML-KEM-768) with ML-DSA-65 signatures and CBOM reporting.pqblocks-anneal-sa: Simulated Annealing heuristic solver for Ising and QUBO optimization problems. Quantum-inspired classical optimization, not cryptography.pqblocks-anneal-schedule: Quantum-inspired instance-adaptive simulated annealing with statistics-driven schedule generation for Ising and QUBO optimization problems. Quantum-inspired classical optimization, not cryptography.pqblocks-anneal-sqa: Simulated Quantum Annealing (Path-Integral Monte Carlo via Suzuki-Trotter decomposition) heuristic solver for Ising and QUBO optimization. Quantum-inspired classical optimization, not cryptography.pqblocks-bifurcation: Simulated Bifurcation (ballistic and discrete) heuristic solver for Ising and QUBO problems. Quantum-inspired classical optimization, not cryptography.pqblocks-digital-anneal: Digital Annealer-style parallel-trial heuristic solver for Ising and QUBO optimization problems. Quantum-inspired classical optimization, not cryptography.pqblocks-population-anneal: Population Annealing Monte Carlo heuristic solver for Ising models and QUBO combinatorial optimization. Quantum-inspired classical optimization, not cryptography.pqblocks-qiea: Quantum-Inspired Evolutionary Algorithm (QIEA) with Q-bit representations and quantum rotation gates for Ising and QUBO optimization problems. Quantum-inspired classical optimization, not cryptography.pqblocks-qubo: Unified mathematical representation and converter library for Quadratic Unconstrained Binary Optimization (QUBO) and Ising formulations.pqblocks-qubo-bench: Benchmarking harness and standard instance loaders for quantum-inspired optimization algorithms against classical baselines.pqblocks-sparse-bifurcation: Sparse Discrete Simulated Bifurcation (dSB) heuristic solver for large-scale Ising and QUBO combinatorial optimization.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

