MultiversX恒定时间分析技能Skill mvx_constant_time

本技能用于验证MultiversX区块链平台上加密实现中的恒定时间操作,防止定时攻击,确保安全。关键词:恒定时间、加密、定时攻击、MultiversX、区块链、智能合约、密码学。

加密算法 0 次安装 0 次浏览 更新于 3/21/2026

name: mvx_constant_time description: 验证加密实现中的恒定时间操作。

MultiversX 恒定时间分析

本技能帮助您验证加密秘密是否以恒定时间处理,以防止定时攻击。

1. 何时使用

  • 自定义加密:如果合约手动实现椭圆曲线数学、ZK验证或签名(不使用API)。
  • 比较:检查秘密(例如,比较用户提供的哈希与存储的哈希)。

2. 应避免的模式(可变时间)

  • 早期退出if byte[i] != other[i] { return false }。这会泄漏第一个差异的索引。
  • 短路操作:对秘密使用 &&||

3. MultiversX 解决方案

  • 托管类型:使用API提供的 ManagedBuffer 比较(通常在虚拟机中实现为恒定时间)。
  • Subtle crate:对于手动 u8 切片比较,使用 subtle::ConstantTimeEq

4. 验证

  • 测量:在链上测量困难,因为Gas计量。Gas通常会粗略泄漏执行轨迹。
  • 规则:依赖虚拟机的加密函数(self.crypto().verify_signature(...)),而不是在WASM中实现。