加密 体系

RedMagicBox 采用 混合加密 体系,结合对称加密与非对称加密的优点,兼顾性能与安全性。本页从底层解析加密体系设计。

技术文档加密
⚠️ 风险提示

本技术文档仅供参考,非投资建议,自担风险。加密技术并不能消除所有风险,请理解体系并合理使用。

01混合加密体系

RedMagicBox 不采用单一加密算法,而是设计为「混合加密」架构:用对称加密处理主体数据,用非对称加密(口令 / 密钥派生)保护对称密钥。

混合加密流程

  1. 生成随机的会话密钥(对称加密密钥)。
  2. 使用会话密钥对原文件 / 数据进行对称加密。
  3. 使用由口令或钱包密钥派生的密钥加密保护会话密钥。
  4. 密文 = 加密头 + 保护后的会话密钥 + 加密主体 + 完整性校验值。
ℹ️ 为什么混合?

对称加密快,适合大文件;非对称加密灵活,适合密钥交换和身份绑定。混合加密兼顾了性能、灵活性与安全性,是现代加密应用的主流方案。

02算法选择

RedMagicBox 选用经过严格密码学检验的标准算法,并维护其实现与安全性。

用途算法密钥长度说明
对称加密AES-256-GCM256 位认证加密,提供保密性与完整性
哈希SHA-256256 位完整性校验与密钥派生
密钥派生PBKDF2-HMAC-SHA256 / Argon2可配置慢哈希抵抗字典攻击
椭圆曲线secp256k1256 位与 BSC 钱包兼容

03密钥派生与轮换

口令是用户输入的低熵字符串,需要通过慢哈希算法「拉伸」为高熵加密密钥。

  1. 口令输入
    用户输入口令字符串,长度可由用户自定义。
  2. 生成盐值
    随机生成 128 位盐值,写入加密头。
  3. 密钥派生
    通过 PBKDF2 / Argon2 慢哈希将口令 + 盐值拉伸为 AES 密钥。
  4. 加密会话密钥
    派生得到的密钥用于加密保护随机会话密钥。
ℹ️ 慢哈希的意义

慢哈希大幅度提高攻击者的字典攻击成本,让暴力猜测口令在计算上变得不可行。请使用高熵口令(长 + 复杂度)与慢哈希配合,安全性最佳。

04加密文件格式

.rbox 加密文件格式设计为序列化、可验证、向后兼容。

文件结构

  • Magic 字节(4 字节):0x52 0x42 0x4f 0x58 ("RBOX")
  • 版本号(1 字节):格式大版本,用于向后兼容。
  • 加密头:包含盐值、算法参数、非ce(初始化向量)、加密后会话密钥。
  • 密文主体:AES-GCM 加密后的原数据。
  • 认证标签:AES-GCM 认证标签,用于密文完整性校验。
  • 顶层哈希:SHA-256 完整性摘要,用于全局校验。

05完整性度量与校验

RedMagicBox 设计了两层完整性校验,确保密文在存储或传输过程中不被篡改。

内层:AES-GCM 认证标签

解密时由 AES-GCM 算法自动校验密文完整性,任何比特篡改都会导致认证失败,解密被拒绝。

外层:SHA-256 摘要

加密头 + 密文整体计算 SHA-256 写入文件末尾,解密时重新计算比对,发现文件被篡改。

两层校验均通过才认为解密可信,任何一层不通过都会提示完整性错误并拒绝输出明文。

06密钥与钱包绑定

除口令加密外,RedMagicBox 支持将加密密钥与钱包私钥绑定,实现「只有持有对应钱包的用户才能解密」。

  1. 绑定钱包公钥
    加密时使用当前钱包的公钥对会话密钥进行加密。
  2. 签名解锁
    解密时,钱包需对挑战签名以证明持有私钥,从而推导得到解密密钥。
  3. 本地解密
    推导出会话密钥后,在本地完成主体解密。
🔥 签名仅用于证明身份

RedMagicBox 不会要求钱包签署交易(除购买 / 核销等链上操作),绑定解密仅涉及对随机挑战签名,不消耗 Gas 也不改变链上状态。请始终确认签名内容。

📌 免责声明

本技术文档内容仅供学习与参考,非投资建议,自担风险。密码学设计不能保证绝对安全,合理使用与管理密钥是你的责任。