{"id":50487132,"url":"https://github.com/systemslibrarian/crypto-lab-hqc-vault","last_synced_at":"2026-06-01T23:04:00.704Z","repository":{"id":349885404,"uuid":"1204157114","full_name":"systemslibrarian/crypto-lab-hqc-vault","owner":"systemslibrarian","description":"Browser-based HQC demo — Hamming Quasi-Cyclic post-quantum KEM with perfect correctness, Reed-Muller/Reed-Solomon decoding, and three-way comparison against BIKE and ML-KEM. No backends. No simulated math.","archived":false,"fork":false,"pushed_at":"2026-04-08T00:14:37.000Z","size":40,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-08T02:22:52.063Z","etag":null,"topics":["aes-256-gcm","browser","code-based","crypto-lab","cryptography","hqc","kem","nist-pqc","post-quantum","quasi-cyclic","reed-muller","reed-solomon","typescript","vite"],"latest_commit_sha":null,"homepage":"https://systemslibrarian.github.io/crypto-lab-hqc-vault/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/systemslibrarian.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-07T18:39:48.000Z","updated_at":"2026-04-08T00:14:44.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/systemslibrarian/crypto-lab-hqc-vault","commit_stats":null,"previous_names":["systemslibrarian/crypto-lab-hqc-vault"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/systemslibrarian/crypto-lab-hqc-vault","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemslibrarian%2Fcrypto-lab-hqc-vault","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemslibrarian%2Fcrypto-lab-hqc-vault/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemslibrarian%2Fcrypto-lab-hqc-vault/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemslibrarian%2Fcrypto-lab-hqc-vault/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/systemslibrarian","download_url":"https://codeload.github.com/systemslibrarian/crypto-lab-hqc-vault/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemslibrarian%2Fcrypto-lab-hqc-vault/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33797129,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["aes-256-gcm","browser","code-based","crypto-lab","cryptography","hqc","kem","nist-pqc","post-quantum","quasi-cyclic","reed-muller","reed-solomon","typescript","vite"],"created_at":"2026-06-01T23:03:59.947Z","updated_at":"2026-06-01T23:04:00.699Z","avatar_url":"https://github.com/systemslibrarian.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# crypto-lab-hqc-vault\n\nLive demo: https://systemslibrarian.github.io/crypto-lab-hqc-vault/\n\n## What It Is\n\ncrypto-lab-hqc-vault is a browser-based educational demo centered on HQC, with Reed-Muller and Reed-Solomon shown as concatenated code layers and SHA-256 plus AES-256-GCM used in the illustrative KEM+DEM flow. HQC is an asymmetric post-quantum, code-based key-encapsulation mechanism whose job is to let two parties derive a shared secret over an untrusted channel without relying on a pre-shared symmetric key. The code explicitly presents an illustrative in-browser model with reduced dimensions and helper logic for clarity, so it explains the construction and message flow but is not a production HQC implementation. It also compares HQC against BIKE and ML-KEM to show where the code-based design sits in the broader PQ KEM landscape.\n\n## When to Use It\n\n- Studying code-based post-quantum KEMs alongside lattice-based alternatives. HQC gives a different hardness family than ML-KEM, and this demo makes that algorithmic-diversity tradeoff explicit.\n- Teaching how a KEM+DEM workflow fits together. The app lets you derive a shared secret with HQC and then use that secret with AES-256-GCM to encrypt and decrypt a message in the browser.\n- Exploring parameter-set tradeoffs across HQC-128, HQC-192, and HQC-256. The UI exposes those exact parameter families so you can inspect how the demo maps level changes to sizes and flow.\n- Not for production cryptography. The repository labels itself as illustrative, uses an educational helper path, and does not claim to be a constant-time or standards-conformant HQC deployment.\n\n## Live Demo\n\nLive demo: https://systemslibrarian.github.io/crypto-lab-hqc-vault/\n\nThe demo lets you choose HQC-128, HQC-192, or HQC-256, generate an illustrative keypair, and run encapsulation plus decapsulation in the browser. It also supports encrypting and decrypting a message with AES-256-GCM after the shared secret is derived, so the KEM+DEM flow is visible end to end. A separate Comparison level control updates the HQC vs BIKE vs ML-KEM table and size bars.\n\n## What Can Go Wrong\n\n- Side-channel leakage in sparse-vector arithmetic or decoding code. HQC implementations manipulate secret sparse supports and decoder-related state, so variable-time behavior can leak structure that should stay secret.\n- Parameter-set mismatch between peers. HQC-128, HQC-192, and HQC-256 use different n, w, w_e, and w_r values, so mixing levels breaks decapsulation and shared-secret agreement.\n- Protocol breakage from large artifacts. The published HQC public-key and ciphertext sizes shown in this demo are materially larger than ML-KEM reference sizes, which can stress handshake framing, MTU assumptions, or storage formats.\n- Treating an educational helper path as if it were the specified scheme. This repository reduces dimensions in-browser and uses illustrative helper logic, so its correctness and security properties are not a substitute for a full HQC implementation.\n- Assuming HQC is the default deployment choice today. The project itself positions HQC as a diversity-track alternative beside ML-KEM, so using it where policy or interoperability expects the current default KEM can create operational problems.\n\n## Real-World Usage\n\n- NIST post-quantum backup KEM standardization track. HQC was selected by NIST in 2025 for standardization as a code-based alternative, so its most important current real-world use is in standards work rather than broad default deployment.\n- liboqs. The Open Quantum Safe library includes HQC parameter sets so engineers can benchmark, test, and integrate HQC in post-quantum evaluation environments.\n- oqs-provider for OpenSSL 3. This provider exposes liboqs algorithms, including HQC when enabled, so applications and TLS stacks can run interoperability experiments with HQC-backed KEMs.\n- PQClean. PQClean carries clean HQC implementations that downstream projects use for portability, comparison, and implementation review.\n- SUPERCOP/eBACS benchmarking. The benchmarking suite includes HQC implementations so implementers can measure key generation, encapsulation, and decapsulation costs across platforms.\n\n## Related Demos\n\n- https://systemslibrarian.github.io/crypto-lab-kyber-vault/\n- https://systemslibrarian.github.io/crypto-lab-bike-vault/\n- https://systemslibrarian.github.io/crypto-lab-mceliece-gate/\n- https://systemslibrarian.github.io/crypto-compare/?category=kem\n- https://systemslibrarian.github.io/crypto-lab/\n\n\u003e *\"So whether you eat or drink or whatever you do, do it all for the glory of God.\" — 1 Corinthians 10:31*","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystemslibrarian%2Fcrypto-lab-hqc-vault","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsystemslibrarian%2Fcrypto-lab-hqc-vault","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystemslibrarian%2Fcrypto-lab-hqc-vault/lists"}