单向函数的比特安全性
1. 单向函数比特安全的基本概念
在密码学中,单向函数是一个核心概念。设 $f : X \to Y$ 是一个双射的单向函数,对于 $x \in X$,有时可以在不反转 $f$ 的情况下从 $f(x)$ 计算出 $x$ 的某些比特。即使 $f$ 是单向函数,它也不一定能隐藏关于 $x$ 的所有信息。
如果从 $f(x)$ 计算 $x$ 的某一比特 $b$ 的难度与从 $f(x)$ 计算 $x$ 的难度相同,那么我们称 $b$ 是 $f$ 的安全比特。我们证明了,对于指数函数(Exp),$x$ 的最高有效位是安全比特;对于 RSA 和平方函数,$x$ 的最低有效位是安全比特。
我们先假设使用确定性算法来计算最高或最低有效位,这种情况相对容易,能借此展示基本思想。然后研究概率情况,假设可以以概率 $p \geq 1/2 + 1/P(|x|)$(其中 $P$ 是某个正多项式)计算最高或最低有效位,进而得出可以以极高的概率计算出 $x$。
离散对数假设意味着,最高有效位是指数函数族的硬核谓词。在 RSA 或因式分解假设下,最低有效位是 RSA 或平方函数族的硬核谓词。比特安全不仅具有理论意义,Bleichenbacher 针对基于 PKCS#1 方案的 100 万选择密文攻击表明,泄露安全比特可能导致危险的实际攻击。
2. 指数函数族的比特安全性
设 $p$ 是一个奇素数,$g$ 是 $Z_p^ $ 中的一个原根。我们考虑离散指数函数:
$Exp_{p,g} : Z_{p - 1} \to Z_p^ , x \mapsto g^x$
及其逆函数,即离散对数函数:
超级会员免费看
订阅专栏 解锁全文
143

被折叠的 条评论
为什么被折叠?



