可忽略函数
维基百科,自由的百科全书
- 一个函数
是可忽略的(negligible),当对于任意一个(多项式度数)常数c和所有足够大的x(所谓“足够大”即存在一个Nc > 0,对所有的x > Nc),
[编辑] 历史
可忽略函数这个概念是和数学分析的形式化模型相关的。尽管“连续函数”和“无穷小”的概念在牛顿和莱布尼茨时代(十七世纪八十年代)就有了,但直到十九世纪一十年代才为后来的数学家们给出严格的数学定义。第一个比较严格的定义是波尔查诺在1817年给出的。后来的柯西, 魏尔施特拉斯和海涅都用了基本相同的以下定义(其中所有数都在实数域中):
- (连续函数) 一个实数函数f(x)在x = x0处连续,当对于任意一个正实数ε > 0,有一个正实数δ > 0,使 | x − x0 | < δ时,有 | f(x) − f(x0) | < ε。
只要每步改变一项参数,此定义就可经数步转换成为可忽略函数的定义。首先,当时,我们需要定义"足够大"(sufficiently large),并定义"无穷小"(infinitesimal):
- (足够大) 实数x足够大时一个数学命题为真,当且仅当存在一个实数Nc > 0,对所有的实数x > Nc此数学命题为真。
然后我们把"正实数ε"换成"正实数多项式函数ε(x)"。因为数可以看作是度数为0的多项式函数,“可忽略函数”其实就是“函数值无穷小”在概念上的一个广义定义。
- (可忽略函数) 一个连续函数μ(x)可忽略,当对任意足够大的正实数x,对任意正多项式
,有
。
在基于計算複雜性理論的现代密码学中,一个安全技术是数学上可证明安全的(provably secure),当对于密钥长度x = n,此安全技术的失败概率(比如在多项式时间内将单向函数逆反,或在多项式时间内将密码随机数发生器产生的数和真正随机数区别开来)可忽略。 因为密钥长度n肯定是自然数,这就是为什么开篇的定义把定义域改为自然数域的原因。
不过,此关于可忽略函数的数学定义从未规定函数输入x必须是密钥长度n。实际上在具体分析中,x可以是任何事先规定好的系统的某个参数,然后可以通过数学上的分析揭示一些并不显而易见的复杂系统的行为。
[编辑] 注释
- ↑ 注意此处的倒数pnum在定义域为实数域时并不需要加入,这样写是为了推导时看得清楚。
[编辑] 参考书目
- Goldreich, Oded (2001). Foundations of Cryptography: Volume 1, Basic Tools. Cambridge University Press. ISBN 0-521-79172-3. Fragments available at the author's web site.
- Michael Sipser (1997). Introduction to the Theory of Computation,PWS Publishing. ISBN 0-534-94728-X. Section 10.6.3: One-way functions, pp.374–376.
- Christos Papadimitriou (1993). Computational Complexity,1st edition,Addison Wesley. ISBN 0-201-53082-1. Section 12.1: One-way functions, pp.279–298.