Skip to content

定理Theorem

Feistel 网络与 Luby–Rackoff 定理

Feistel network · Luby–Rackoff theorem

用Feistel的可逆结构从PRF构造PRP,给出两轮与三轮的区分攻击,解释三轮正向安全和四轮双向安全的不同接口及生日项。

形式陈述 ​

取正整数半块长 n≥1,给定任意函数 f:{0,1}n→{0,1}n,一轮 Feistel 变换为

Df(L,R)=(R,L⊕f(R)).

它总可逆,即使 f 不可逆。因为若输出为 (L′,R′),则

(1)R=L′,L=R′⊕f(L′).

用独立密钥的PRF作轮函数,并按时间顺序执行 f1,f2,…,fr,所得 2n 位置换为

Er=Dfr∘⋯∘Df1.

下面的渐近结论以半块长 n 为安全参数,轮函数对统一 PPT 对手安全,查询预算 q(n) 为多项式;于是生日项也可忽略。若另用参数 λ,则还需保证 2n(λ) 相对 λ 超多项式,不能只由轮 PRF 安全省去这一条件。Luby–Rackoff 定理区分两种攻击接口:[1]

  • 三轮构造 E3 是 PRP:只允许对手查询正向置换
  • 四轮构造 E4 是强 PRP:对手可自适应查询正向和逆向,两边总查询数计入同一预算

若每轮从随机函数换为 PRF 的优势损失至多 εPRF,标准具体界具有

rεPRF+O(q2/2n)

的形式。不同定理版本的常数和运行时间口径可不同;这里明确保留半块长 n 与生日级项,三轮只针对正向查询。定理使用独立轮密钥,并不直接认证任意现实密码的相关轮密钥调度。

直觉

一半输入先完整传到输出,另一半只被异或上 f 的值,因此解密时总能找回计算 f 所需的那一半。这是可逆性的来源,而不是靠求 f−1。

可逆并不等于伪随机。前几轮可能保留很强的差分关系,让选择输入的对手识破。允许逆向查询后,对手还能从输出一端把约束倒灌回内部;多一轮是在保护这个更强的接口。

图中交叉线表示半块交换;没有实心圆点的交叉处不连接。

例子与边界

可逆性不依赖轮函数可逆 ​

取二位半块,令 f1 恒为 01、f2(x)=x、f3 恒为 10。输入 (L,R)=(11,01) 的三轮状态为

(11,01)→(01,10)→(10,11)→(11,00).

从 (11,00) 开始,按式 (1) 用 f3,f2,f1 逆序恢复,依次得到 (10,11)、(01,10)、(11,01)。其中两个轮函数是常数,仍不影响可逆性;它们当然不是安全 PRF,这个算例只检查线路与逆运算。

两轮的正向攻击 ​

两轮后写

a=L⊕f1(R),b=R⊕f2(a),

输出为 (a,b)。查询 (L,R) 与 (L⊕Δ,R),其中 Δ≠0。两个输出的左半块必满足

a⊕a′=Δ.

右半块通常不会保持相同,攻击只需左半块关系。对随机 2n 位置换,第二个输出必须避开第一个输出;其左半块满足这个指定非零差的概率为

2n22n−1,

远小于一。这给出两轮不能成为安全 PRP 的明确区分器。

三轮为什么能保护正向查询 ​

加入第三轮后,输出变成

b=R⊕f2(a),c=a⊕f3(b),E3(L,R)=(b,c).

先把三轮 PRF 通过混合论证替成独立随机函数。对不同正向输入,若内部 a 从未重复、输出左半 b 也从未重复,那么每次访问 f2(a)、f3(b) 都命中一个新位置。懒采样可使新 (b,c) 像独立均匀输出。

严谨的比较可以在一个参考游戏里始终独立抽取输出,并记录“内部 a 碰撞”或“b 碰撞”这两类坏事件;到首次坏事件前,两个游戏的 transcript 一致。参考游戏中输出不依赖隐藏的 f1 表。对两次相同 R、不同 L 的输入,a 不可能碰撞;对不同 R 的输入,隐藏随机掩码让碰撞概率为 2−n。独立输出的 b 碰撞也为 2−n。用并集界,坏事件概率至多 2(q2)/2n。

最后,独立随机输出与随机置换输出的差,只在完整 2n 位输出碰撞时出现,概率至多 (q2)/22n。两项合起来给出三轮正向接口的 O(q2/2n) 信息论误差,再加三次 PRF 替换损失。重复输入用缓存回答,不算新随机位置。

三轮一旦允许逆查询,就能被攻击 ​

还是查询两条同右半块输入 (L,R)、(L′,R),令 Δ=L⊕L′≠0,得到 (b,c)、(b′,c′)。若 b=b′,本轮攻击可放弃;这个事件本身在随机轮函数模型下很少发生。

向逆 oracle 提交新密文

(b,c⊕Δ).

三轮内部的 a′=a⊕Δ。逆算第一步得到的中间值正是 a′,所以返回明文的右半块必为

(2)R∗=b⊕f2(a′)=b⊕b′⊕R.

当 b≠b′,该密文不同于两次已经查询的密文。对随机置换,新的逆像在剩余 22n−2 个输入中均匀;恰满足式 (2) 指定右半块的概率至多 2n/(22n−2)。这说明三轮的正向安全并不能升级成强 PRP 安全。

推论与应用

四轮定理给输入端和输出端都加上随机掩码层。其证明仍围绕中间两轮的输入、输出半块碰撞展开,但必须统一处理从左端来的正查询和从右端来的逆查询;不能把刚才只适用于正向新输入的懒采样论证原样照搬。[1,2] 本页完整展示了可逆性、三轮正向证明机制和少轮攻击,四轮双向界采用所引定理。

当 q 接近 2n/2 时,上述半块生日项不再小;这一具体保证不会因完整块长是 2n 而自动延伸到 2n 次查询。分组密码作为消息加密组件时,还要选择正确模式、nonce 规则和认证机制;PRP 或强 PRP 定义本身都不等于完整消息级加密安全。

参考资料
关系图谱9 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系