当前位置: 首页 > news >正文

REV-512 的数学原理详解

如果你已经读完了《从零到一:我设计了一个抗量子计算的哈希函数》,并且亲手跑通了代码,那么你一定会好奇:那80轮里到底在算什么?为什么这样就能抗量子计算?

这篇文章,我会把 REV-512 的数学原理拆开揉碎,一步步讲清楚。不需要你懂高深的数学,只需要跟着思路走。


🧠 核心思想:把信息揉匀

REV-512 的核心理念可以用一个比喻概括:

把输入的信息像揉面团一样,反复折叠、拉伸、挤压,直到完全均匀混合,无法分离。

这个“揉面”的过程,在数学上就是置换。而 REV-512 的整个算法,就是围绕一个 1600 位的“大面团”——内部状态——展开的。


🧱 一、1600 位状态:算法的“工作台”

为什么是 1600 位?

这是安全性和性能的平衡点:

指标数值意义
内部状态1600 位攻击者必须同时猜对所有位
经典碰撞攻击2⁵⁴⁴ 次查询比宇宙原子总数还多
量子碰撞攻击2²⁷² 次查询宇宙毁灭都算不完
状态大小200 字节完全可置于 CPU 缓存

状态的数学表示

内部状态被组织成一个5×5 的矩阵,每个元素是一个 64 位字:

A = [ A[0][0] A[0][1] A[0][2] A[0][3] A[0][4] ] [ A[1][0] A[1][1] A[1][2] A[1][3] A[1][4] ] [ A[2][0] A[2][1] A[2][2] A[2][3] A[2][4] ] [ A[3][0] A[3][1] A[3][2] A[3][3] A[3][4] ] [ A[4][0] A[4][1] A[4][2] A[4][3] A[4][4] ]

每个A[x][y]都是一个 64 位整数,取值范围 0 到 2⁶⁴-1。


🌀 二、轮函数:揉面的五种手法

每一轮置换包含五个步骤:θ、ρ、π、χ、ι。每个步骤都有明确的数学定义和设计目的。

2.1 θ步:列间扩散

目的:让每一列的信息迅速传播到其他列。

数学定义

  1. 计算每列的奇偶性:

    C[x] = A[x][0] ⊕ A[x][1] ⊕ A[x][2] ⊕ A[x][3] ⊕ A[x][4]
  2. 计算扩散向量:

    D[x] = C[(x+4) mod 5] ⊕ (C[(x+1) mod 5] 循环左移 1 位)
  3. 将 D[x] 异或到整列:

    A[x][y] = A[x][y] ⊕ D[x] (对所有 y)

为什么这样设计

  • 任何一列的变化,经过 θ 步后会影响到相邻两列
  • 循环左移 1 位打破了列之间的对称性
  • 这一步是可逆的,所以不损失信息

2.2 ρ步:字内旋转

目的:让每个 64 位字内部的位充分混合。

数学定义

A[x][y] = A[x][y] 循环左移 r[x][y] 位

其中旋转偏移量 r[x][y] 是一个 5×5 的固定表:

r = [ 0, 1, 62, 28, 27 ] [36, 44, 6, 55, 20 ] [ 3, 10, 43, 25, 39 ] [41, 45, 15, 21, 8 ] [18, 2, 61, 56, 14 ]

为什么选这些数字

  • 每个偏移量都是精心挑选的,确保所有位在 64 步内都能遍历所有位置
  • 偏移量互不相同,避免了周期性

2.3 π步:字位置置换

目的:重新排列 5×5 矩阵中的字,让信息在“字层面”扩散。

数学定义

将 A[x][y] 移动到新位置 B[y][(2x+3y) mod 5]

这个置换是完全可逆的,它只是改变了字的存放位置,不改变字的内容。

2.4 χ步:非线性层

目的:这是整个轮函数中唯一不可逆的步骤,提供算法的核心安全性。

数学定义

对每一列 y(固定 y): t0 = A[0][y] t1 = A[1][y] t2 = A[2][y] t3 = A[3][y] t4 = A[4][y] A[0][y] = t0 ⊕ ((~t1) & t2) A[1][y] = t1 ⊕ ((~t2) & t3) A[2][y] = t2 ⊕ ((~t3) & t4) A[3][y] = t3 ⊕ ((~t4) & t0) A[4][y] = t4 ⊕ ((~t0) & t1)

为什么这是不可逆的

  • 公式中包含&(与运算),这是信息损失的根源
  • 知道结果,无法唯一确定输入(因为可能有多种输入得到相同输出)
  • 这正是哈希函数“单向性”的来源

数学性质

  • 差分均匀性:4(最大差分概率 2⁻³)
  • 非线性度:12(线性逼近优势 2⁻³)
  • 代数次数:4(抵抗代数攻击的基础)

2.5 ι步:加轮常数

目的:打破轮与轮之间的对称性,防止某些攻击利用周期性。

数学定义

A[0][0] = A[0][0] ⊕ RC[round]

轮常数 RC来自 √n 的小数部分的前 64 位,n 从 2 开始递增,跳过完全平方数(4,9,16,…)。这保证了常数的:

  • 数学透明性:任何人都可以复现
  • 无后门:来源清晰无隐藏规律
  • 统计优良:无理数小数部分在 [0,1) 上均匀分布

🔄 三、80轮:为什么是这个数字?

你可能想问:既然 Keccak(SHA-3)只用 24 轮,为什么 REV-512 要 80 轮?

3.1 安全裕量分析

我们通过实验测量了“差分传播”的收敛速度:

轮数最大差分概率安全状态
24轮2⁻¹⁵²低于 2⁻¹²⁸,已安全
40轮2⁻²⁵⁶达到 AES-256 级别
50轮2⁻³²⁰远高于需求
80轮2⁻⁵¹²理论极限,无法再提高

3.2 为什么还要 80 轮?

因为我们要的不是“刚好安全”,而是未来 50 年都安全。80 轮提供了巨大的安全冗余,即使未来发现新的攻击方法,也很难突破这个屏障。

用数学表达:

安全冗余 = 80 - 安全阈值轮数 = 80 - 50 = 30 轮

这 30 轮冗余,就是 REV-512 对抗未知攻击的底气。


🧮 四、安全性证明的核心思想

4.1 抗碰撞性

海绵结构的碰撞攻击优势上界是:

Advᶜᵒˡˡ ≤ q² / 2ᶜ⁺¹ + Adv_perm

其中:

  • q 是攻击者查询次数
  • c = 1088 是容量
  • Adv_perm 是区分置换与随机置换的优势

代入 c = 1088:

Advᶜᵒˡˡ ≤ q² / 2¹⁰⁸⁹ + Adv_perm

要使 Advᶜᵒˡˡ > 0.5,需要 q ≥ 2⁵⁴⁴。这个数字的物理意义是:

即使你用全宇宙的原子做并行计算机,从宇宙诞生算到现在,也完成不了 2⁵⁴⁴ 次查询。

4.2 抗原像攻击

输出空间大小为 2⁵¹²,所以任何原像攻击的期望查询次数 ≥ 2⁵¹²。

量子 Grover 算法可以将这个数字降至 2²⁵⁶,但 2²⁵⁶ 仍然是天文数字:

T = 2²⁵⁶ × 10⁻⁹ 秒 ≈ 1.08 × 10⁶¹ 年 宇宙年龄 ≈ 1.38 × 10¹⁰ 年 所需时间 = 宇宙年龄的 7.8 × 10⁵⁰ 倍

4.3 差分与线性分析

χ 层的差分均匀性为 4,意味着最大差分概率 2⁻³。θ 层的线性分支数 ≥ 52,确保任何差分/线性模式经过一轮后活跃 S 盒数量大幅增加。

经过 80 轮后:

  • 最大差分概率 ≤ 2⁻⁵¹²
  • 最大线性优势 ≤ 2⁻⁵¹²

均远低于 2⁻²⁵⁶ 的安全阈值。


🎯 五、总结:数学如何保障安全?

攻击类型安全机制数学保障
暴力破解大输出空间2⁵¹² 种可能,穷举不可能
碰撞攻击高容量需要 2⁵⁴⁴ 次查询
原像攻击单向性χ 步的信息损失不可逆
差分分析高扩散80 轮后差分概率低于 2⁻⁵¹²
线性分析高非线性80 轮后线性优势低于 2⁻⁵¹²
代数攻击高代数次数代数次数饱和为 1600


作者:余承卓
更新日期:2026-03-15
反馈邮箱:laoyuyuchengzhuo2011@outlook.com


如果你觉得这篇文章有帮助,欢迎去 Gitee 点个星⭐支持一下初中生的第一次开源尝试。

http://www.jsqmd.com/news/486241/

相关文章:

  • 食品生产企业中医药外用代工优质服务商推荐 - 优质品牌商家
  • 国内知名半导体材料展会合集(2026版),专业又好逛 - 品牌2025
  • QT 事件驱动架构
  • Thinkphp和Laravel框架都支持基于微信小程序的城市公交查询系统 web pc 小程序手机端
  • 石家庄自闭症干预机构全攻略|写给迷茫的家长,每一步都有方向 - 品牌测评鉴赏家
  • 2026年工地/矿山/工程车辆洗车台推荐:陕西聚壹环保科技全系产品助力环保清洁 - 品牌推荐官
  • 上海交大首创PlanViz:计算机使用任务中的智能图像生成新基准
  • 2026郑州自闭症康复机构全攻略:为“星星的孩子”照亮前路 - 品牌测评鉴赏家
  • 智造赋能全域突破:2026中国风机五大领军企业重塑通风生态 - 深度智识库
  • 2024提示工程架构师趋势:自主代理AI的7个革命性提示策略
  • 2026净化车间承建服务商排行榜助拿生产许可证:祖传秘方申请批号/祛痘淡斑妆字号申报代办/秘方备案代办代工/选择指南 - 优质品牌商家
  • 2026六大城市高端腕表“表带养护”终极档案:从鳄鱼皮到904L钢,这些细节决定你的表带寿命 - 时光修表匠
  • Ddrops滴卓思维生素d3怎么样?3款测评医生推荐避坑安心选 - 品牌排行榜
  • 初创团队选哪家短信平台?优质短信供应商盘点 - Qqinqin
  • 新西伯利亚大学推出“Pisets“:让机器写字员听懂每一句话
  • 游戏行业选哪家短信接口?应对高频注册与消息通知 - Qqinqin
  • 智造未来,精准封藏:2026年五金配件包装机实力厂家深度测评与前瞻推荐 - 深度智识库
  • B端拓客核验难题:精准度与成本,到底该怎么平衡?氪迹科技法人号码核验工具
  • 石家庄自闭症干预机构全攻略:为“星星的孩子”照亮前行之路 - 品牌测评鉴赏家
  • MCP 协议详解:构建 AI 助手的通用接口
  • 爱丁堡大学突破:AI实现无标注数据驱动的世界规律自我进化学习
  • 杭州爱彼/南京宝珀/无锡帝舵维修指南:36个高端腕表维修避坑+六城正规网点实测 - 时光修表匠
  • AI检索工具项目话术
  • 【Personal Skills】用系统思维看问题:结构、反馈与杠杆点
  • UC伯克利和UCSF研究团队发现:AI模型“节食“后竟然变得更加偏见!
  • 新生儿D3选购指南:3款热门产品测评,哪款才是安心首选? - 品牌排行榜
  • PAT 乙级 1034
  • YOLOv11涨点改进| CVPR 2026 | 全网独家首发、特征融合改进篇| 引入SRFusion 空间细化多级融合,含多种创新融合改进,涨点可直接发论文,适合裂缝图像检测,小目标检测任务高效涨点
  • Win10 -> Win11 升级机制 导致应用不可用
  • 计科-计网4-数据链路层「整理」