Open Quantum Safe 后量子密码库 liboqs 上手指南:构建、示例与 TLS 接入

Open Quantum Safe 后量子密码库 liboqs 上手指南:构建、示例与 TLS 接入

【免费下载链接】liboqsC library for prototyping and experimenting with quantum-resistant cryptography项目地址: https://gitcode.com/GitHub_Trending/li/liboqs

NIST 在 2024 年陆续发布 FIPS 203、204、205 三份最终标准,将 ML-KEM、ML-DSA、SLH-DSA 定为标准方案后,后量子密码(PQC,Post-Quantum Cryptography)正式从论文走进了工程议程。如果团队想提前评估这些抗量子算法,Open Quantum Safe(OQS)项目下的 liboqs 是目前最常用的一站:它是一套开源 C 语言库,把多种后量子密钥封装(KEM)与数字签名算法收进统一 API,并附带测试和性能基准工具,专门用于原型验证与算法评估。

liboqs 支持哪些后量子算法

liboqs 是 OQS 项目的核心库,OQS 由 Linux 基金会下的后量子密码联盟支持运营。项目提供的东西可以拆成三块:一批量子安全 KEM 与签名算法的开源实现、一套统一的 C API、以及配套的测试与基准测试工具。这里先解释一下 KEM:它负责让通信双方协商出一个对称密钥,可以理解成 Diffie-Hellman 的通用化版本,只是换成了抗量子的数学基础。

算法覆盖面是当前版本的重点。NIST 已标准化的三族——密钥交换用 ML-KEM,签名用 ML-DSA 和 SLH-DSA——全部有实现,且算法名保持稳定;即使 NIST 调整实现细节,liboqs 也会同步适配。KEM 方向还收录了 FrodoKEM、HQC、Classic McEliece、BIKE、NTRU、NTRU-Prime 等,签名方向有 Falcon、MAYO、SNOVA、UOV、CROSS、MQOM 等,此外是 LMS 与 XMSS 两种有状态签名方案(分别对应 RFC 8554 和 RFC 8391)。每个算法的标准化状态、支持级别和平台优化情况汇总在 ALGORITHMS.md,每个算法族在 docs/algorithms/ 目录下还有单独详情页,选型前可以先看这里。

如何构建 liboqs 并跑通第一个 KEM 示例

以 Ubuntu 为例,先准备构建依赖:

sudo apt install cmake ninja-build gcc libssl-dev

推荐安装 OpenSSL 3.x;如果希望 liboqs 内部复用 OpenSSL 的 AES 与 SHA-2 实现,就必须带上它。然后拉取源码并构建:

git clone https://gitcode.com/GitHub_Trending/li/liboqs cd liboqs mkdir build && cd build cmake -GNinja .. ninja

默认构建产物是静态库liboqs.a;要生成共享库,给 cmake 追加-DBUILD_SHARED_LIBS=ON即可。启用或禁用某个算法族的构建选项记录在 CONFIGURE.md 中,也可以在 build 目录执行cmake -LAH -N ..查看全部选项。

构建成功后,tests目录下会生成一批命令行工具,这是 liboqs 最好用的部分:test_kem、test_sig做功能测试,speed_kem、speed_sig做基准测试,example_kem、example_sig是最小的可运行示例。典型的评估流程是:先跑example_kem确认 API 可用,再用speed_kem拿到各参数集的耗时与密钥尺寸,内存敏感的场景还可以用test_kem_mem测内存占用。

如何把 PQC 接入现有 TLS 栈

liboqs 本身只提供算法,协议层集成靠 OQS 生态完成:OQS 提供了基于 OpenSSL 3 Provider 的原型集成,把 liboqs 接入 TLS、X.509 和 S/MIME。对已有系统意味着:基于 OpenSSL 的应用不必重写握手逻辑,加载该 Provider 就能协商后量子密钥交换,这是验证"量子安全 TLS"成本最低的路线。

更稳妥的做法是混合加密:让 PQC 算法与传统公钥(如 RSA、椭圆曲线)并行工作,一方被攻破时另一方仍能兜底,整体安全性至少不低于纯传统方案。liboqs 的 README 也明确建议等待标准完全落地的团队优先采用混合模式。

liboqs 适合谁:研究原型,而非生产环境

直说边界:项目方声明 liboqs 面向研究与原型,不建议在生产环境或保护敏感数据时使用。这个判断是合理的——后量子算法整体经受的审查远不如 RSA 和椭圆曲线充分,HQC、Falcon 等算法族仍处于"已被选中、尚未定稿"的阶段,后续参数仍可能调整。

所以它适合这样的团队:未来一两年需要评估 PQC 算法、想在自己硬件上实测密钥尺寸/耗时/内存、或在内网测试环境跑通 PQC 协商。不适合的,是把生产流量或长期机密数据直接押在它上面——等标准生态进一步成熟再上。

最后一点合规提示:liboqs 本体采用 MIT 许可,但部分第三方算法实现携带各自许可证,重新分发前建议核对 README 中的许可清单。

【免费下载链接】liboqsC library for prototyping and experimenting with quantum-resistant cryptography项目地址: https://gitcode.com/GitHub_Trending/li/liboqs

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

Frappe LMS 多语言配置指南:让平台界面跟着学员的语言走

Frappe LMS 多语言配置指南:让平台界面跟着学员的语言走

Frappe LMS 多语言配置指南:让平台界面跟着学员的语言走 【免费下载链接】lms Easy to Use, 100% Open Source Learning Management System 项目地址: https://gitcode.com/GitHub_Trending/lms1/lms 场景:满屏英文的界面,留不住海外学…

2026/10/20 10:39:22 阅读更多 →
AutoDL 4090上Qwen2.5-7B微调实战:LLaMA-Factory与LoRA全流程解析

AutoDL 4090上Qwen2.5-7B微调实战:LLaMA-Factory与LoRA全流程解析

简介:面向有一定机器学习基础的研究人员与开发者,这是一份基于Qwen2.5-7B-Instruct的大模型微调实战指南,重点解决在AutoDL平台独立部署并微调大模型的完整流程问题,适合自然语言处理任务优化、模型性能提升等实际项目。内容涵盖环…

2026/10/20 10:38:22 阅读更多 →
用Python打造超级AI助手:AiPy框架的架构与实践

用Python打造超级AI助手:AiPy框架的架构与实践

提到超级AI助手,很多人的第一反应还是某个聊天窗口:把问题丢进去,回车,等答案。聊天当然算AI,但离“助手”还有一段距离。我最近在打磨一个叫AiPy的项目框架,名字拆开就是AIPython,核心思路很简…

2026/10/20 10:38:22 阅读更多 →

最新新闻

从码农到扫地机器人掌门:跨界创业的底层系统思维

从码农到扫地机器人掌门:跨界创业的底层系统思维

很多人看到“从码农到扫地茅掌门,再到越野追梦人”这个标题,第一反应都是问同一句:你到底是写代码的、造机器人的,还是玩越野车的? 我的回答是:三个都做过,但没有任何一个是靠“换工作”换来的…

2026/10/20 17:08:33 阅读更多 →
PostgreSQL安装报错Requires: llvm-toolset-7-clang的排查与解决

PostgreSQL安装报错Requires: llvm-toolset-7-clang的排查与解决

碰到Requires: llvm-toolset-7-clang > 4.0.1这种报错,很多人第一反应是“装个数据库怎么还跟编译器扯上关系了”。我当年第一次在 CentOS 7 上装 PostgreSQL 11 也愣了半天,后来把 RPM 依赖链和 PostgreSQL 的 JIT 机制都翻了一遍才彻底搞明白。这篇…

2026/10/20 17:08:33 阅读更多 →
RRT-Connect MATLAB从零实现:代码详解、调参避坑与路径后处理

RRT-Connect MATLAB从零实现:代码详解、调参避坑与路径后处理

简介:这是一份基于MATLAB实现的RRTconnect双向路径规划算法源码,适合机器人运动规划、自动驾驶避障等场景的学习与二次开发,尤其适合刚接触RRT系列算法的学生和工程师。RRTconnect在标准RRT基础上引入双树扩展机制,通过同时从起点…

2026/10/20 17:08:33 阅读更多 →
Linux压力测试工具stress-ng原理与实战指南

Linux压力测试工具stress-ng原理与实战指南

简介:本资源为Linux系统压力测试核心工具stress的源码发布包,面向Linux系统管理员、运维工程师及性能调优学习者,用于快速部署和定制化编译高可靠性压力测试环境。资源包含32个文件,以configure构建脚本、Makefile系列&#xff08…

2026/10/20 17:08:33 阅读更多 →
Sybase IQ安装部署避坑指南:Linux环境依赖与系统配置核查

Sybase IQ安装部署避坑指南:Linux环境依赖与系统配置核查

简介:本资源为Sybase IQ 15版本的完整安装部署支持包,面向数据库运维工程师、企业级数据仓库实施人员及需要在Linux/Windows环境下快速搭建Sybase IQ分析型数据库的学习者。资源提供跨平台安装包、配套ODBC驱动及详细安装教程,覆盖环境准备、…

2026/10/20 17:08:33 阅读更多 →
论文AI率飘红?人机协作改稿实操指南

论文AI率飘红?人机协作改稿实操指南

我先说个事,每年一到4月份,我的私信里就全是同一类问题:导师催稿、盲审恐惧、论文查重一关过了但AI率直接飘红,系统判定"疑似AI代写",轻则退回修改,重则直接失去盲审资格。今年情况更狠&#xff…

2026/10/20 17:07:31 阅读更多 →

日新闻

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

CLRC663芯片Pin-to-Pin替代实战:从评估到量产全记录

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
ESP32舵机控制指南:原理、多路驱动与避坑实战

ESP32舵机控制指南:原理、多路驱动与避坑实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →
位移法实现一阶低通滤波:单片机ADC采样降噪实战

位移法实现一阶低通滤波:单片机ADC采样降噪实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:01:30 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/20 10:02:13 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/19 17:32:41 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/20 2:50:50 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 10:02:08 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:17 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 9:50:45 阅读更多 →