systemslibrarian/crypto-lab-lll-break

GitHub: systemslibrarian/crypto-lab-lll-break

一个浏览器端的格规约教学演示,直观展示LLL与BKZ如何影响LWE攻击可行性并解释后量子密码参数选择依据。

Stars: 0 | Forks: 0

## 什么是它 本演示在浏览器中展示了 LLL 格规约以及在学习带误差(Learning With Errors, LWE)嵌入上的玩具 BKZ 规约。它聚焦于攻击者工作流程:规约基、搜索短向量、测试在选定参数集下是否可能恢复秘密。所说明的核心问题是 SVP 近似质量如何影响实际的 LWE 攻击。这是一个后量子密码教学模型,并非生产级密码分析工具,也不能作为 LLL 破解真实 Kyber 参数的证据。 ## 何时使用它 - 教学为何后量子参数在格密码中至关重要。此演示使维度、模数、噪声与攻击可行性之间的关系变得可见。 - 向学生或工程师解释 LLL 与 BKZ 的机制。步骤追踪和块改进日志展示每个规约阶段实际改变了什么。 - 对比玩具不安全设置与类似 Kyber 的设置。同一流水线可在小参数和大参数下运行,以展示攻击何时不再有效。 - 展示原始 LWE 嵌入是如何构造的。矩阵与规约输出直接展示,以便学习者检查攻击面。 - 不用于真实世界安全评估。此浏览器实现有意简化,不会替代专门的格估计器或高性能规约库。 ## 在线演示 https://systemslibrarian.github.io/crypto-lab-lll-break/ 该在线应用允许你逐步执行 LLL、检查 Gram-Schmidt/Lovasz 行为、生成玩具 LWE 实例,并运行基于 LLL/BKZ 的恢复尝试。它不执行加密/解密;它演示规约与恢复攻击动态,用于教育分析。控制项包括格维度预设、delta、LWE 参数(`n`、`q`、`sigma`)以及 BKZ 块大小(`beta`)。 ## 如何本地运行 ``` git clone https://github.com/systemslibrarian/crypto-lab-lll-break cd crypto-lab-lll-break npm install npm run dev ``` 不需要环境变量。 ## 密码实验室套件的一部分 超过 60 个在线浏览器演示之一,地址为 [systemslibrarian.github.io/crypto-lab](https://systemslibrarian.github.io/crypto-lab/) —— 涵盖 Atbash(公元前 600 年)到 NIST FIPS 203/204/205(2024)。 > “无论你吃或喝,还是做什么,都要为荣耀神而行。” — 哥林多前书 10:31
标签:BKZ算法, browser-based math demo, crypto education, Gram-Schmidt正交化, Kyber, lattice reduction demo, LLL算法, Lovász条件, LWE, parameter explorer, post-quantum cryptography, primal attack toy LWE, step-by-step reduction, SVP近似, 参数探索, 后量子密码学, 多模态安全, 学习带误差问题, 对偶攻击, 教育演示, 数据可视化, 暗色界面, 最短向量问题, 格基规约, 格密码分析, 格密码学, 格约化, 步行动画, 浏览器加密, 玩具参数, 素攻击, 自动化攻击, 量子安全