{"id":50486846,"url":"https://github.com/systemslibrarian/crypto-lab-ciphertext-mirror","last_synced_at":"2026-06-01T23:02:38.940Z","repository":{"id":352967652,"uuid":"1216947371","full_name":"systemslibrarian/crypto-lab-ciphertext-mirror","owner":"systemslibrarian","description":"Browser-based demo of three papers on ML-KEM's FO re-encryption check as side-channel oracle: masked comparison leakage (Hermelink 2024/060), imperfect DF-oracles with adaptive LDPC decoding (Guo-Nabokov-Johansson 2026/070), and NTT+CRT RNR blinding that holds under SCA and fault (Duparc-Taha 2025/181). The mirror…","archived":false,"fork":false,"pushed_at":"2026-04-21T23:16:16.000Z","size":78,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-21T23:34:36.321Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://systemslibrarian.github.io/crypto-lab-ciphertext-mirror/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","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":"LICENSE","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-21T11:47:36.000Z","updated_at":"2026-04-21T23:16:20.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/systemslibrarian/crypto-lab-ciphertext-mirror","commit_stats":null,"previous_names":["systemslibrarian/crypto-lab-ciphertext-mirror"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/systemslibrarian/crypto-lab-ciphertext-mirror","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemslibrarian%2Fcrypto-lab-ciphertext-mirror","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemslibrarian%2Fcrypto-lab-ciphertext-mirror/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemslibrarian%2Fcrypto-lab-ciphertext-mirror/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemslibrarian%2Fcrypto-lab-ciphertext-mirror/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/systemslibrarian","download_url":"https://codeload.github.com/systemslibrarian/crypto-lab-ciphertext-mirror/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/systemslibrarian%2Fcrypto-lab-ciphertext-mirror/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33797128,"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":[],"created_at":"2026-06-01T23:02:37.685Z","updated_at":"2026-06-01T23:02:38.935Z","avatar_url":"https://github.com/systemslibrarian.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# crypto-lab-ciphertext-mirror\n\n## 1. What It Is\n\nThis demo is a browser-based educational replay centered on ML-KEM decapsulation behavior, including K-PKE flows and the FO re-encryption comparison path modeled in the code. It illustrates how simulated leakage and oracle behavior can affect key-recovery experiments, and how simulated blinding changes observed outcomes in the same environment. The primitive family is post-quantum public-key cryptography, implemented here as inspectable TypeScript simulation code rather than production cryptographic software. It is intended for mechanism understanding and comparison, not for real-world secure deployment or attack tooling.\n\n## 2. When to Use It\n\n- Use this when teaching ML-KEM attack and defense mechanisms in a controlled browser lab.\n  It provides deterministic seeded runs and side-by-side visual outputs that make mechanism differences easier to observe.\n- Use this when you need to inspect FO comparison and replay logic directly in source code.\n  The implementation is local TypeScript, so instrumentation points are visible and editable.\n- Use this when demonstrating how noise and oracle quality affect recovery trends.\n  The UI exposes parameters like noise sigma and oracle error/availability so sensitivity can be explored interactively.\n- Do not use this as production cryptography or security assurance evidence.\n  The repository explicitly models synthetic conditions and does not certify security behavior on real hardware.\n\n## 3. Live Demo\n\nhttps://systemslibrarian.github.io/crypto-lab-ciphertext-mirror/\n\nThe live demo lets you open three paper-driven card replays and run simulations directly in the browser. You can change controls such as ML-KEM level, seeded run value, noise sigma, oracle error rate, and oracle availability, then observe the resulting charts and mirror-state visuals. The interface models encapsulation/decapsulation behavior and replay metrics for comparison, but it is not a deployment attack tool.\n\nReplay workflow highlights:\n\n- Selecting `Open replay` highlights the chosen paper and moves focus to a replay workspace with paper title, citation, and scope summary.\n- Replay runs expose visible execution state (sampling, confidence estimation, and result preparation) before output is shown.\n- Each output includes a structured interpretation layer and an explicit limitation statement, not only raw traces or status labels.\n- A compact paper-to-demo mapping is included per replay (`Paper claim`, `This demo models`, `This demo omits`).\n- Comparison views are available where applicable: Run A vs Run B in masked comparison and unblinded vs blinded A/B in the blinding replay.\n\n## 4. How to Run Locally\n\n```bash\ngit clone https://github.com/systemslibrarian/crypto-lab-ciphertext-mirror\ncd crypto-lab-ciphertext-mirror\nnpm install\nnpm run dev\n```\n\nNo environment variables are required.\n\n## 5. Part of the Crypto-Lab Suite\n\nOne of 60+ live browser demos at [systemslibrarian.github.io/crypto-lab](https://systemslibrarian.github.io/crypto-lab/) — spanning Atbash (600 BCE) through NIST FIPS 203/204/205 (2024).\n\n### Reality \u0026 Limitations\n\n- This repository is a didactic mirror with seeded synthetic leakage and oracle abstractions.\n- It does not claim exploit success rates, trace budgets, or break costs on physical devices.\n- Paper-specific math and implementation details are summarized at mechanism level, not fully reproduced.\n\n## Why this demo is trustworthy\n\n- Every card includes a paper citation, a simulation mapping, and an explicit omission list.\n- The code is inspectable TypeScript with deterministic seeds for reproducible replay behavior.\n- The UI intentionally separates evidence from interpretation and from non-claims.\n\n---\n\n*\"Whether you eat or drink, or whatever you do, do all to the glory of God.\" — 1 Corinthians 10:31*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystemslibrarian%2Fcrypto-lab-ciphertext-mirror","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsystemslibrarian%2Fcrypto-lab-ciphertext-mirror","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsystemslibrarian%2Fcrypto-lab-ciphertext-mirror/lists"}