systemslibrarian/crypto-lab-falcon-seal
GitHub: systemslibrarian/crypto-lab-falcon-seal
一个基于浏览器的教学演示,展示基于 NTRU 格与 FFT 采样的 Falcon 签名,并与 ML-DSA、SLH-DSA 进行对比,解决后量子签名在体积与安全性上的理解问题。
Stars: 0 | Forks: 0
# crypto-lab-falcon-seal
Live demo: https://systemslibrarian.github.io/crypto-lab-falcon-seal/
Falcon-512 · Falcon-1024 · NTRU Lattice · Fast Fourier Sampling
## 1. 什么是它
crypto-lab-falcon-seal 是一个基于浏览器的教学演示,涵盖 Falcon-512 和 Falcon-1024 这两种基于 NTRU 格与快速傅里叶采样的后量子非对称数字签名家族。它展示了密钥生成、签名、验证以及与 ML-DSA 和 SLH-DSA 的对比。它解决的问题是真实性与篡改检测:签名者证明消息的作者身份,验证者随后可以检测篡改。该仓库通过将签名路径明确标注为 **Illustrative - not production Falcon** 来界定范围。
## 2. 何时使用它
- **带宽受限的证书链与握手** — Falcon 的签名体积显著小于 ML-DSA 和 SLH-DSA,适用于传输字节数受限的场景。
- **IoT 固件签名与安全更新交付** — 紧凑的签名可降低受限设备、射频链路与启动链路的开销。
- **签名密集型系统且能投入实现保障** — 当签名体积最关键且可使用经过审计的常数时间实现时,Falcon 是强选择。
- **不适用于生产环境中的自定义课堂代码** — 本仓库有意使用教学近似实现,因此仅适用于学习与比较,而非实际部署。
## 3. 在线演示
请访问 https://systemslibrarian.github.io/crypto-lab-falcon-seal/。在浏览器中,你可以生成 Falcon-512 密钥对、签名一条消息、验证签名,并运行篡改测试以观察验证在修改输入后失败。交互控件包括消息文本区域以及 `Generate Falcon-512 keypair`、`Sign`、`Verify` 和 `Tamper test`,同时展示 NTRU 格的可视化与对比表格。
## 4. 可能出错的问题
- **非恒定时间的 Gaussian 采样** — Falcon 采样器必须为恒定时间,否则时序泄露可能暴露私钥信息。
- **用于 nonce 或采样器的弱随机性** — 可预测的随机性会使采样值更易分析并破坏签名安全性。
- **错误的 NTRU / FFT / 拒绝逻辑** — Falcon 依赖精确的格算术与范数检查,实现错误可能导致无效或无法互操作的签名。
- **参数集或编码不匹配** — 混用 Falcon-512 与 Falcon-1024 的预期或非标准编码会在跨系统验证时导致失败。
- **将教学流程误认为生产安全** — 本演示明确说明其并非完整参考实现,在真实协议中使用会制造虚假的安全感。
## 5. 实际应用
尽管广泛生产部署仍有限,但以下标准与互操作栈已在使用 Falcon 系列:
- **FN-DSA / NIST FIPS 206** — NIST 的联邦后量子签名赛道将基于 Falcon 的家族标准化为数字签名方案。
- **Open Quantum Safe (`liboqs`、`OQS-OpenSSL` 与 `oqs-provider`)** — 这些广泛使用的迁移项目已提供 Falcon,用于实验性 TLS 握手、X.509 链与互操作性测试。
- **PQClean** — 该项目维护可移植的 Falcon 实现,供下游研究与集成工作使用。
- **SUPERCOP / eBATS 基准测试** — Falcon 在同一基准测试生态中被测量,用于比较跨平台的真实签名实现。
## 相关演示
- https://github.com/systemslibrarian/crypto-lab-dilithium-seal
- https://github.com/systemslibrarian/crypto-lab-sphincs-ledger
- https://github.com/systemslibrarian/crypto-compare
- https://github.com/systemslibrarian/crypto-lab
参考文献:
- Falcon: Fast-Fourier Lattice-Based Compact Signatures over NTRU(官方规范文档,v1.2)
- Ducas, Prest (2016), Fast Fourier sampling over q-ary lattices
- NIST FIPS 206 与 NIST PQC 签名标准上下文(包括 ML-DSA 与 SLH-DSA 规范)
标签:AI工具, CMS安全, CVE, Falcon, FFT快速傅里叶采样, JavaScript, ML-DSA, NIST PQC, NTRU, SLH-DSA, WebAssembly, 后量子密码, 安全警告, 密钥生成, 带宽优化, 开源示例, 抗量子, 教学演示, 数字签名, 数据可视化, 格密码, 比较分析, 浏览器演示, 物联网固件签名, 签名大小对比, 签名方案, 签名验证, 篡改测试, 自动化攻击, 证书链, 调试辅助, 零后端, 非生产使用