计算安全:对抗资源限制与单向函数分析
1. 信息论安全与计算安全
在密码学中,信息论安全旨在构建无法被自然法则攻破的方案。这种安全具有很强的保障,但也伴随着严格的要求,某些场景难以在信息论安全的框架下实现。例如,在基于密码的登录系统中,攻击者可以通过不断尝试找到密码的原像,这表明在信息论安全的设定下,不存在绝对安全的认证方案。
与之相对的是计算安全,它基于存在难以解决的问题这一假设。这里的“难以解决”指的是,除了以极小的概率外,不存在能在合理时间内解决问题的算法。在密码学里,“合理时间”可能意味着使用当前可用的所有计算资源花费数十年甚至数千年,而“极小概率”则如同在已知宇宙中猜对一个原子。
2. 限制对抗资源
2.1 对抗资源的自然限制
在基于密码的登录系统中,暴力攻击表明我们需要限制攻击者的尝试次数。一种方法是限制登录尝试次数,但这种方法并非在所有情况下都可行。例如,当服务器被攻破导致密码哈希值泄露时,就难以限制攻击者的尝试次数。更抽象的解决方案是考虑攻击者的自然限制,即攻击者的运行时间是有限的,因此验证尝试的次数也是有限的。我们不再追求对任何攻击者的安全,而是追求对任何高效攻击者的安全。在密码学中,“合理有界运行时间”通常等同于多项式时间,因此计算安全可以转化为对任何多项式时间攻击者的安全。
2.2 彩虹表
彩虹表是一种空间优化的查找表,用于反转单向(哈希)函数,它基于查找链的思想。假设要高效地反转一个难以反转的函数 F 在其部分图像上的值,例如长度为 8 的小写字母组成的图像(类似于破解密码)。一种简单的方法是预先计算所有相关原像 x 的值 y ← F(x),并将对 (x, y) 存
超级会员免费看
订阅专栏 解锁全文
1930

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



