GoForum › 🌐 V2EX

[开源] ECP:基于 ML-KEM-1024 + X25519 的后量子混合加密双棘轮协议 (纯前端/无后端/剪贴板传输)

jamesliu96 · 2026-09-21 17:53 · 0 次点赞 · 0 条回复

大家好,最近开源了一个纯前端、零后端的端到端加密( E2EE )传输协议与工具:E2EE Clipboard Protocol (ECP)

💡 为什么做这个项目?

我们日常在不信任的通道(如第三方聊天软件、邮件、社交媒体、在线文档甚至公共剪贴板)发送敏感数据(密钥、密码、私密信息)时,往往不得不依赖中央服务器或平台的安全性。

ECP 的目标是实现完全脱离后端的 Out-of-Band 端到端安全传输:

  1. 本地生成密钥并与对方交换 Identity Bundle ;
  2. 文本/媒体加密后生成 Base64URL 字符串并复制到剪贴板;
  3. 通过任何渠道发送给对方,对方粘贴即可在本地解密。

🛡️ 核心密码学 Stack (NIST Level 5 PQC)

考虑到未来量子计算的 Threat Model ,协议从一开始就采用了经典密码学与后量子密码学( PQC )结合的混合架构 (Hybrid Construction):

  • 混合密钥交换 (Hybrid Key Exchange): X25519 + FIPS 203 ML-KEM-1024
  • 复合签名 (Composite Signatures): Ed25519 + FIPS 204 ML-DSA-87 (用于握手身份校验与防 PITM)
  • 对称加密与认证: AES-256-GCM (96-bit IV)
  • 后量子混合双棘轮 (Hybrid Double Ratchet): 基于 HKDF-SHA256 ,每一轮 DH 棘轮均同时注入新的 ML-KEM 共享密钥,实现后量子级别的前向安全 (Forward Secrecy) 与 破入恢复 (Break-In Recovery)

🏗️ 架构特点

  1. 纯前端 / 零后端 / 离线可用: 密钥对生成、会话状态与双棘轮链条全部存储在本地 IndexedDB,不依赖任何 API 服务器,彻底消除服务端攻击面。
  2. 严格的 AAD 绑定: 针对 INIT / RESP / MSG 等不同 Packet 构造显式的 AAD (Authenticated Additional Data),防范跨信道重放、报文篡改与身份误导。
  3. 轻量与可验证性: 纯 TypeScript 编写,密码学底层基于 @noble 官方库,无复杂脚手架与不透明依赖,便于源码审计。

📦 开源与 Spec

协议规范、二进制 Wire 布局文档及完整代码均已开源,欢迎试用与 Code Review:

非常欢迎社区里对密码学、安全或 TypeScript/WebCrypto 感兴趣的朋友提出改进意见、安全假设讨论或 Issue !

0 条回复
添加回复
你还需要 登录 后发表回复

登录后可发帖和回复

登录 注册
主题信息
作者: jamesliu96
发布: 2026-09-21
点赞: 0
回复: 0