目录

mb-secure-stream

CI Mooncakes 0.2.0 · 安装与复现 · 架构 · 来源与许可

用 MoonBit 实现兼容 libsodium secretstream 的流式认证加密,让 MoonBit 应用能与 Python/libsodium 交换分块加密数据。面向加密备份、文件传输和存储组件集成。

本体是供开发者集成的组件库;文件 CLI、SQLite 和 OpenSeek 是接入示例。OpenSeek 示例通过了本地集成验证,不表示上游已经采用。

它解决什么问题

  • 跨语言交换数据:MoonBit 加密可以由 libsodium 解密,反向也有独立验证。
  • 检测不完整传输:支持显式与计数器溢出的自动重密钥、FINAL 和截断拒绝。
  • 失败不发布恢复文件:文件示例在完整验证前只写独占临时文件,失败清理,不覆盖已有目标。

生态已有密码库和分块 AEAD;本项目的重点是 libsodium secretstream 的帧格式、状态行为和可复现互通,而非算法数量。

架构

flowchart LR
    Source[合成文件 / 应用数据] --> Adapter[有界 I/O 与应用分帧]
    Adapter --> Moon[MoonBit secretstream]
    Moon --> Encrypted[分块认证密文]
    Encrypted --> MoonReader[MoonBit 接收端]
    Encrypted --> Sodium[Python / libsodium 接收端]
    MoonReader --> Gate[完整 FINAL 和 EOF 检查]
    Gate --> Restore[发布恢复文件]

密码计算在 MoonBit 内完成;Node 负责文件读写和输出发布,Python 提供独立参考。文件示例的 MBSS0001 容器是项目自定义封装,其内部帧与 libsodium secretstream 兼容。查看组件分工与恢复流程。

源码开发版本为 0.3.0,尚未发布到 Mooncakes;已发布的 0.2.0 保持不变。JWT 使用者请见 独立项目。

开始体验

目的 入口
安装已发布库或从源码构建 安装与复现
对 SQLite 数据库做一致性加密备份与恢复 SQLite 应用
OpenSeek 会话自动归档、恢复并继续运行 OpenSeek 应用
加密并恢复合成文件 文件 CLI
复现双向互通、篡改和截断拒绝 独立验证说明
了解 WasmGC 宿主接入 Node Web Crypto 宿主示例
集成到自己的程序 独立接口指南

验证结果

  • 核心协议、CLI 故障回归、独立互通和应用恢复检查纳入 CI;测试数量随项目拆分变化,精确结果以对应提交为准。
  • 独立差分默认验证 32 条流 / 800 帧,逐字节比较密文及明文/tag,检查 5,536 次畸形输入拒绝和 800 次提前完成检查后的恢复。
  • 文件验证包含双向哈希匹配、八类损坏输入、临时文件清理及已有输出保护;重复测量工具保存各轮原始结果和运行参数。
  • JS、Linux Native 和 Node Web Crypto WasmGC 有运行证据。
  • 文件默认分块 64 KiB。总进程 RSS 包含运行时、JIT 和 GC,不等于算法工作内存;目前仍有较明显分配开销。

验证代码与工具 · CI 记录 · 版本记录

本期工作与历史代码

本期重点是 secretstream 状态机、Bytes 封装、安全随机发送工厂、跨语言向量与差分验证、文件完整性和失败发布语义。JWT 和鉴权中间件已拆到独立项目;Worker 与流控等无关功能不再随本库维护。历史密码基础不能全部计为本期原创。

基础密码模块源自 moonbit-crypto/mb-crypto;secretstream 参考 libsodium,保留对应来源及许可。详细衍生关系 · 拆分与版本迁移。

贡献与反馈

安装与验证 · 本期贡献与证据

欢迎报告可复现问题、平台验证和接入体验。提交 Issue,附工具链版本、操作系统、完整命令和经过脱敏的错误信息。请使用合成文件复现,不提交私钥、凭据或私人明文。

后续重点:备份应用的实际接入、类型化接口的发布与接入、分配分析和优化、外部试用反馈。

许可证

主体为 Apache-2.0,libsodium 参考部分保留 ISC 版权许可。见 来源说明 与 secretstream NOTICE。

关于

基于 MoonBit 语言开发的高性能、低延迟网络安全流控网关系统。

1023.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

版权所有:中国计算机学会技术支持:开源发展技术委员会
京ICP备13000930号-9 京公网安备 11010802047560号