
libsodium 1.0.21 正式上线。该版本继承了 1.0.20-stable 的全部更新内容,并在此基础上新增多项关键功能与安全增强:
- 全新
crypto_ipcrypt_系列函数,专为 IP 地址提供加密保护与匿名化处理能力; - 补充配套工具函数
sodium_bin2ip和sodium_ip2bin,实现 IP 地址在二进制格式与字符串表示之间的便捷互转,与crypto_ipcrypt_*协同工作; - 引入 XOF(可扩展输出函数)支持:
crypto_xof_shake*与crypto_xof_turboshake*,具备任意长度输入/输出能力,兼具哈希函数的安全特性;广泛适用于后量子密码方案、密钥派生、会话加密等多样化场景。
1.0.20-stable 版本亮点回顾
- XCFramework 构建流程已强制启用 Apple Silicon 原生交叉编译,彻底规避 Rosetta 模拟带来的构建异常;
- Fil-C 编译器现已默认集成,开箱即用,无需额外配置;
- CompCert 编译器获得完整支持,亦可直接使用;
- 新增对 MSVC 2026(Visual Studio 2026)的官方兼容;
- Zig 构建系统扩展支持 FreeBSD 目标平台;
- 多款编译器优化了 ARM 架构下 AES256-GCM 与 AEGIS 算法的执行效率;
- NuGet 包中已纳入 Android 平台二进制文件;
- NuGet 包中同步新增 Windows ARM 架构二进制文件;
- Android 构建脚本全面升级:基础 SDK 版本提升至 27c,目标平台版本设为 21,同时支持 16 KB 页面大小;
- 支持使用 Zig 0.15 与 Zig 0.16 进行项目编译;
- 对于支持 PIC(位置无关代码)的目标平台,Zig 构建默认生成位置无关静态库;
- XCFramework 包中新增 arm64e 架构构建产物;
- XCFramework 现以完整构建形态发布,不再采用精简版;
- MSVC 构建已正式启用 ARM64 支持;
- XCFramework 构建脚本移除对 iOS 32 位架构(armv7/armv7s)的历史兼容;
- 安全强化:在核心代码路径中嵌入 optblockers,有效阻止编译器因条件跳转引入潜在侧信道风险——该问题曾在特定 RISC-V 工具链组合中被实测发现;
- 安全修复:
crypto_core_ed25519_is_valid_point()函数现已严格校验输入点是否属于主子群(main subgroup),准确拒绝所有低阶(small-order)非法点; - 部分
crypto_stream*接口的((nonnull))属性已适度放宽,允许在输出长度为零时传入 NULL 缓冲区指针; - 修复旧版 Clang 在交叉编译环境下的兼容性问题;
- JavaScript 支持扩展:新增 Cloudflare Workers 运行时适配;
- JavaScript 兼容性调整:为保障与早期运行时的向后兼容,WASM_BIGINT 功能已被显式禁用;
- 解决 Solaris 系统上老旧工具链导致的编译失败问题;
-
crypto_aead_aes256gcm_is_available函数现已导出至 JavaScript 接口; - libsodium 已完成与 Emscripten 4.x 的全面适配;
- 安全加固:在 AEAD 模式 MAC 验证完成后插入内存屏障,防止 CPU 在认证尚未完成前对明文数据进行推测性访问;
- 当启用 CET(Control-flow Enforcement Technology)插桩构建时,汇编源文件自动添加
.gnu.property注释,确保 IBT(Indirect Branch Tracking)与 Shadow Stack 功能正确启用。
更多信息请参阅官方发布页:https://www.php.cn/link/512ba6448f63790387e2ad3d3bc630d0
源码下载地址:点击下载










