形式陈述
取正整数半块长 ,给定任意函数 ,一轮 Feistel 变换为
它总可逆,即使 不可逆。因为若输出为 ,则
用独立密钥的PRF公理库伪随机函数Pseudorandom function · PRF由短密钥索引且对高效查询者不可与真随机函数区分的函数族。作轮函数,并按时间顺序执行 ,所得 位置换为
下面的渐近结论以半块长 为安全参数,轮函数对统一 PPT 对手安全,查询预算 为多项式;于是生日项也可忽略。若另用参数 ,则还需保证 相对 超多项式,不能只由轮 PRF 安全省去这一条件。Luby–Rackoff 定理区分两种攻击接口:[1]
- 三轮构造 是 PRP:只允许对手查询正向置换
- 四轮构造 是强 PRP:对手可自适应查询正向和逆向,两边总查询数计入同一预算
若每轮从随机函数换为 PRF 的优势损失至多 ,标准具体界具有
的形式。不同定理版本的常数和运行时间口径可不同;这里明确保留半块长 与生日级项,三轮只针对正向查询。定理使用独立轮密钥,并不直接认证任意现实密码的相关轮密钥调度。
直觉
一半输入先完整传到输出,另一半只被异或上 的值,因此解密时总能找回计算 所需的那一半。这是可逆性的来源,而不是靠求 。
可逆并不等于伪随机。前几轮可能保留很强的差分关系,让选择输入的对手识破。允许逆向查询后,对手还能从输出一端把约束倒灌回内部;多一轮是在保护这个更强的接口。
图中交叉线表示半块交换;没有实心圆点的交叉处不连接。
例子与边界
可逆性不依赖轮函数可逆
取二位半块,令 恒为 、、 恒为 。输入 的三轮状态为
从 开始,按式 (1) 用 逆序恢复,依次得到 、、。其中两个轮函数是常数,仍不影响可逆性;它们当然不是安全 PRF,这个算例只检查线路与逆运算。
两轮的正向攻击
两轮后写
输出为 。查询 与 ,其中 。两个输出的左半块必满足
右半块通常不会保持相同,攻击只需左半块关系。对随机 位置换,第二个输出必须避开第一个输出;其左半块满足这个指定非零差的概率为
远小于一。这给出两轮不能成为安全 PRP 的明确区分器。
三轮为什么能保护正向查询
加入第三轮后,输出变成
先把三轮 PRF 通过混合论证公理库混合论证Hybrid argument在一串相邻实验间逐步替换组件并累加不可区分优势的证明方法。替成独立随机函数。对不同正向输入,若内部 从未重复、输出左半 也从未重复,那么每次访问 、 都命中一个新位置。懒采样可使新 像独立均匀输出。
严谨的比较可以在一个参考游戏里始终独立抽取输出,并记录“内部 碰撞”或“ 碰撞”这两类坏事件;到首次坏事件前,两个游戏的 transcript 一致。参考游戏中输出不依赖隐藏的 表。对两次相同 、不同 的输入, 不可能碰撞;对不同 的输入,隐藏随机掩码让碰撞概率为 。独立输出的 碰撞也为 。用并集界公理库并集界Union bound · Boole 不等式多个坏事件中至少一个发生的概率,不超过各事件概率之和。,坏事件概率至多 。
最后,独立随机输出与随机置换输出的差,只在完整 位输出碰撞时出现,概率至多 。两项合起来给出三轮正向接口的 信息论误差,再加三次 PRF 替换损失。重复输入用缓存回答,不算新随机位置。
三轮一旦允许逆查询,就能被攻击
还是查询两条同右半块输入 、,令 ,得到 、。若 ,本轮攻击可放弃;这个事件本身在随机轮函数模型下很少发生。
向逆 oracle 提交新密文
三轮内部的 。逆算第一步得到的中间值正是 ,所以返回明文的右半块必为
当 ,该密文不同于两次已经查询的密文。对随机置换,新的逆像在剩余 个输入中均匀;恰满足式 (2) 指定右半块的概率至多 。这说明三轮的正向安全并不能升级成强 PRP 安全。
推论与应用
四轮定理给输入端和输出端都加上随机掩码层。其证明仍围绕中间两轮的输入、输出半块碰撞展开,但必须统一处理从左端来的正查询和从右端来的逆查询;不能把刚才只适用于正向新输入的懒采样论证原样照搬。[1,2] 本页完整展示了可逆性、三轮正向证明机制和少轮攻击,四轮双向界采用所引定理。
当 接近 时,上述半块生日项不再小;这一具体保证不会因完整块长是 而自动延伸到 次查询。分组密码公理库分组密码Block cipher由密钥索引、作用于固定长度分组且可高效求逆的置换族;消息级保密与认证还取决于工作模式。作为消息加密组件时,还要选择正确模式、nonce 规则和认证机制;PRP 或强 PRP 定义本身都不等于完整消息级加密安全。
参考资料
-
[1] Michael Luby and Charles Rackoff, How to Construct Pseudorandom Permutations from Pseudorandom Functions, SIAM Journal on Computing 17(2), 1988, pp. 373–386。
-
[2] Ben Lynn, Pseudo-Random Permutations, Stanford 密码学笔记,Luby–Rackoff Construction:三轮与四轮的查询接口。本文两轮差分攻击只检查左半块,三轮逆查询攻击逐式推导。
-
[3] David J. Wu, CS 255 Lecture Notes, Theorem 3.7 及其前的 Feistel 逆运算。
-
[4] Dan Boneh and Victor Shoup, A Graduate Course in Applied Cryptography, version 0.6, 2023,§4.5,Theorem 4.9:三轮构造的完整坏事件比较及块空间相对安全参数的增长条件。