加密库 libsodium 1.0.21 发布

加密库 libsodium 1.0.21 发布

libsodium 1.0.21 正式上线。该版本继承了 1.0.20-stable 的全部更新内容,并在此基础上新增多项关键功能与安全增强:

  • 全新 crypto_ipcrypt_ 系列函数,专为 IP 地址提供加密保护与匿名化处理能力;
  • 补充配套工具函数 sodium_bin2ipsodium_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

源码下载地址:点击下载

网友留言(0 条)

发表评论