Saber-Clean:后量子密码标准化的无名英雄

GitHub May 2026
⭐ 0
来源:GitHub归档:May 2026
一个名为 mkannwischer/saber-clean 的 GitHub 项目,正悄然革新后量子密码学界处理参考实现的方式。通过为 Saber 算法生成标准化、无依赖的代码,并将其整合进 PQClean 项目,该项目旨在为学术研究、安全审计和教学提供黄金标准。这究竟对更广泛的密码学生态意味着什么?

mkannwischer/saber-clean 仓库虽在 GitHub 上星标数不多,却代表着后量子密码(PQC)生态系统中一项关键的基础设施工程。该项目的核心使命是生成 Saber 密钥封装机制(KEM)的“清理版”参考实现,并将其整合进 PQClean 项目。PQClean 是一个社区驱动的项目,致力于收集和维护后量子算法的干净、可移植且可审计的实现,作为基准测试、研究和标准化的可信来源。Saber 是一种基于格的 KEM,曾是 NIST 后量子密码标准化过程的决赛选手,尽管最终未获选标准化(CRYSTALS-Kyber 胜出),但因其独特的设计,Saber 仍具有高度相关性。

技术深度解析

mkannwischer/saber-clean 项目的目标看似简单:'生成清理后的 Saber 参考实现代码,并整合至 https://github.com/PQClean/PQClean'。但要真正实现一个干净、可审计且可移植的后量子算法实现,其背后的工程技术挑战巨大。Saber 本身是一种基于模块-LWR(Learning With Rounding)的密钥封装机制。与使用模块-LWE 并需要从离散高斯分布中采样的 CRYSTALS-Kyber 不同,Saber 使用二项分布和舍入步骤来派生共享秘密。这一设计选择消除了对复杂、恒定时间高斯采样器的需求,而后者正是侧信道漏洞和实现错误的常见来源。

saber-clean 中的“clean”体现在以下几个具体的工程决策上:
1. 零外部依赖: 参考实现仅使用标准 C 库(stdint.h、string.h 等)。不依赖 OpenSSL、平台特定内联函数或汇编代码。这使得它可轻松移植到任何拥有 C 编译器的平台,从嵌入式微控制器到超级计算机。
2. 恒定时间执行: 该实现被设计为恒定时间,意味着执行路径和内存访问模式不依赖于秘密数据。这对于防止时序侧信道攻击至关重要。代码避免了依赖秘密的分支和表查找。
3. 最小化抽象: 代码避免了不必要的宏、函数指针或复杂数据结构。它采用直截了当的过程式风格编写,尽可能贴近数学规范。这使其成为安全审计和形式化验证的理想选择。
4. 与 PQClean 的集成: 生成的代码会自动集成到 PQClean 的测试框架中,该框架包含广泛的功能测试、内存消毒器(AddressSanitizer、MemorySanitizer)和恒定时间验证工具。这确保了“干净”的实现能随着算法的演进保持其纯净性。

生成过程本身也值得关注。该仓库包含 Python 脚本,这些脚本接收原始的 Saber 提交(可能包含平台特定优化和非必要代码),并生成清理后的输出。这种方法允许维护者更新参考实现,而无需每次手动重写代码。

基准数据: 虽然 saber-clean 项目本身不提供性能基准(它旨在清晰而非速度),但底层 Saber 算法已被广泛基准测试。下表比较了 Saber 与其他 NIST 决赛选手及最终胜者 CRYSTALS-Kyber 的性能特征:

| 算法 | 密钥生成(周期) | 封装(周期) | 解封装(周期) | 公钥大小(字节) | 密文大小(字节) | 安全等级 |
|---|---|---|---|---|---|---|
| Saber(Light) | 42,000 | 52,000 | 58,000 | 672 | 736 | NIST Level 1 |
| Saber | 66,000 | 81,000 | 92,000 | 992 | 1,088 | NIST Level 3 |
| Saber(Fire) | 106,000 | 130,000 | 148,000 | 1,312 | 1,472 | NIST Level 5 |
| Kyber-512 | 52,000 | 62,000 | 70,000 | 800 | 768 | NIST Level 1 |
| Kyber-768 | 82,000 | 98,000 | 110,000 | 1,184 | 1,088 | NIST Level 3 |
| Kyber-1024 | 132,000 | 156,000 | 176,000 | 1,568 | 1,568 | NIST Level 5 |

数据要点: 在同等安全等级下,Saber 通常提供比 Kyber 略小的密钥和密文大小,且其周期数具有竞争力。然而,Kyber 在标准化和更广泛生态系统支持方面的优势使其成为默认选择。saber-clean 项目确保 Saber 在特定性能特征有利的专用场景中,仍是一个可行的替代方案。

关键人物与案例研究

saber-clean 背后的主要人物是 Matthias J. Kannwischer(mkannwischer),一位后量子密码学界的知名研究者。Kannwischer 也是 PQClean 的核心贡献者,并在创建各种 PQC 算法的干净、可移植实现方面发挥了关键作用。他在 pqm4 项目(ARM Cortex-M4 微控制器上的 PQC)上的工作在嵌入式安全社区被广泛引用。saber-clean 项目正是基于这一专长,将同样的极简主义和可审计性原则应用于 Saber 算法。

PQClean 项目本身是一项协作努力,涉及来自学术界(如拉德堡德大学、埃因霍温理工大学)和工业界(如微软研究院、谷歌)的研究人员。它作为参考实现的核心仓库,用于:
- 基准测试: 在公平的平台上比较不同 PQC 算法的性能。
- 标准化: 提供可作为标准文档基础的实现。
- 安全审计: 提供一个可信的基线,用于对比优化后的实现。

更多来自 GitHub

无标题ccusage, created by developer ryoppippi, is a command-line tool designed to parse and analyze local JSONL log files gene从零到GPT:开源书籍如何手把手教你构建大语言模型由Sebastian Raschka创建的开源项目rasbt/llms-from-scratch,迅速崛起为GitHub上最受瞩目的AI教育仓库之一。它提供了一条循序渐进的、代码优先的学习路径,仅使用PyTorch,不依赖任何黑盒库,从零构pgweb:开发者真正想要的极简PostgreSQL Web客户端pgweb,一个用Go编写的开源PostgreSQL Web客户端,通过解决一个简单但持久的问题——需要一个零依赖、即开即用的数据库浏览器——悄然在GitHub上积累了超过9300颗星。与需要完整Python栈或Docker设置的pgAdm查看来源专题页GitHub 已收录 1699 篇文章

时间归档

May 20261212 篇已发布文章

延伸阅读

PQClean:后量子密码参考实现的新黄金标准PQClean 已成为 NIST 标准化后量子密码算法的事实参考实现库。凭借 915 个 GitHub Star 且持续增长,这一干净、可移植且经过严格测试的代码库,正在重塑安全研究人员和开发者评估与集成量子安全密码学的方式。ChipWhisperer:开源硬件安全攻击工具链,让芯片防护不再高不可攀来自 NewAE Technology 的开源硬件安全平台 ChipWhisperer,正彻底改变研究人员与工程师测试嵌入式设备抗侧信道功耗分析与电压毛刺攻击的方式。它将示波器、波形捕获、功耗分析与电压毛刺注入功能整合于一个统一且亲民的平台Radicle合约测试套件:去中心化Git托管的无名守护者Radicle的去中心化Git托管协议终于拥有了专属测试套件。AINews深入解析dapp-org/radicle-contracts-tests仓库如何借助Dapp工具链验证核心智能合约逻辑,并揭示这套测试基础设施为何成为整个RadiclClaude Code Usage Analytics: Why ccsage's 14K GitHub Stars Signal a Developer Tooling ShiftA new open-source CLI tool, ccsage, is quietly solving a pain point many Claude Code users didn't realize they had: unde

常见问题

GitHub 热点“Saber-Clean: The Unsung Hero Paving the Way for Post-Quantum Cryptography Standards”主要讲了什么?

The mkannwischer/saber-clean repository, while modest in GitHub stars, represents a critical infrastructure play in the post-quantum cryptography (PQC) ecosystem. The project's cor…

这个 GitHub 项目在“What is the difference between Saber and Kyber in post-quantum cryptography?”上为什么会引发关注?

The mkannwischer/saber-clean project is deceptively simple in its stated goal: 'Code to generate the cleaned up reference implementations of Saber in https://github.com/PQClean/PQClean.' But the technical engineering req…

从“How does PQClean ensure constant-time execution in reference implementations?”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 0,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。