Skip to content

单向函数

One-way function

易于正向计算,但随机输入所产生的像难以被任何高效算法反演的函数族。

条目类型
定义

形式陈述

设公开函数族

fλ:{0,1}n(λ){0,1}m(λ)

安全参数 λ 索引,其中输入、输出长度均受多项式控制。它首先必须易于正向计算:存在确定性多项式时间算法,在输入 (1λ,x) 后输出 fλ(x)

单向性由一个反演实验定义:

  1. 挑战者均匀采样 x{0,1}n(λ),计算 y=fλ(x)
  2. 挑战者把 (1λ,y) 交给概率多项式时间对手 A
  3. 对手输出 x。当且仅当 x 属于定义域且 fλ(x)=y 时,实验输出 1

记成功概率为

Succf,Ainv(λ)=Prx,A[A(1λ,fλ(x))fλ1({fλ(x)})].

概率同时覆盖随机输入与对手的随机币。若对每个 PPT 对手 A,该成功概率都是可忽略函数,则称 f 为强单向函数族。量词顺序是“对每个高效对手,都存在一个可忽略上界”;不能先固定一条可忽略函数,再要求它适合任意对手。

直觉

单向函数的不对称不来自“公式只能向一个方向写”,而来自计算资源:任何人都能迅速把随机输入映到像,看到像的高效攻击者却几乎从不找到有效原像。这里采样的是输入 x,挑战像 y 因而服从 fλ(x) 诱导的分布;它一般不是值域上的均匀随机元素。

攻击者不必猜回挑战者最初抽到的那个 x。若函数是多对一的,输出任意 x 满足 fλ(x)=y 就已成功。因此单向性既不要求函数为单射,也不把“原像唯一”当作安全来源。它要求随机生成的典型挑战难逆,而不是仅存在一批人工挑选的最坏实例。

例子与边界

RSA 函数给出带公开索引的候选例子:实验先随机生成公开参数 (N,e),再在其定义域内抽取 x 并给出 xemodN。公开参数允许高效模幂,知道陷门可反演,而不知道陷门时对随机像求逆被假设为困难。这是上述定义的索引化版本,概率还覆盖参数生成。这里“候选”很重要;具体函数族的单向性依赖未经无条件证明的计算假设,不能从正向公式复杂或模数很大直接推出。

考虑一个反例族:一半输入以首位 0 开头,函数在这些输入上直接输出剩余各位;另一半输入进入某个极难反演的分支。攻击者看到透明分支的像时可以立即恢复原像,整体成功概率至少为常数,因此该族不是强单向函数。少量极难实例无法抵消一大块容易实例,这正是平均情形量词的作用。

最坏情形困难也不自动蕴含单向性。一个 NP 困难问题可能只有罕见实例困难,而反演实验要求按指定随机生成过程得到的实例对所有高效算法都难。已知具体单向函数的存在会推出 PNP,反方向却没有从 PNP 到标准单向函数的一般结论。

多对一还带来另一条边界:难找原像不等于难找碰撞。碰撞抗性要求攻击者自行找出两个不同输入 xx 且像相同;单向性则由挑战者先给随机像,要求攻击者反演。两种实验的输入来源和成功事件不同,任何一方都不能只凭名称替代另一方。

强、弱与分布边界

强单向性要求每个 PPT 对手的成功概率可忽略。弱单向性只要求存在多项式 p,使每个 PPT 对手在充分大的参数上至少以 1/p(λ) 的概率失败;它允许对手在大部分实例上成功,却保留不可忽略的困难份额。通过对多个独立实例作直接积可以把弱单向性放大为强单向性,但副本数、输入独立性与成功事件必须进入证明,不能把“重复几次”当成自动结论。

定义也可以从均匀输入推广到高效可采样分布,此时采样器是函数族接口的一部分。改变输入分布可能把质量移到容易原像或困难原像上,从而改变单向性真假;因此安全主张必须连同参数生成和输入采样方式一起陈述。

推论与应用

单向函数是计算安全的基础存在性假设之一。经典结果表明,由单向函数可以构造伪随机生成器,并进一步支撑承诺、消息认证与数字签名等原语;每一步仍需要单独的构造与归约,不能把普通函数输出直接当作现成密钥或密文。

陷门单向函数额外生成一份秘密陷门,使持有者能够高效反演;普通单向函数没有这项接口,也不自动提供公钥加密所需的解密能力。单向置换还要求每个 fλ 是置换,是比一般多对一单向函数更强的结构条件。

参考资料
  • Jonathan Katz and Yehuda Lindell, Introduction to Modern Cryptography, 3rd ed., CRC Press, 2020,Chs. 2–12。
  • Oded Goldreich, Foundations of Cryptography, Vol. 1, Cambridge University Press, 2001,Chs. 1–4。
关系图谱11 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

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

限定层次等价