私钥加密:计算安全与语义安全解析
1. 放松条件的必要性
计算保密性对完美保密性进行了两个方面的放松。其一,保密性仅针对高效的对手(即运行时间为多项式的对手)提供保证;其二,保密性可能会以极小的概率“失效”。这两个放松条件对于实现实用的加密方案至关重要,特别是对于规避完美保密加密的负面结果。
假设存在一个加密方案,其密钥空间 (K) 的大小小于消息空间 (M) 的大小(如之前所讨论,这意味着该方案无法实现完美保密)。无论该加密方案如何构建,都会面临以下两种攻击:
- 暴力破解攻击 :给定一个密文 (c),对手可以使用密钥空间 (K) 中的所有密钥 (k) 对 (c) 进行解密,从而得到一个 (c) 可能对应的所有消息的列表。由于该列表不可能包含消息空间 (M) 中的所有消息(因为 (|K| < |M|)),这种攻击会泄露一些关于被加密消息的信息。此外,如果对手进行已知明文攻击,得知密文 (c_1, \ldots, c_{\ell}) 分别对应消息 (m_1, \ldots, m_{\ell}),那么对手可以再次尝试用所有可能的密钥对这些密文进行解密,直到找到一个密钥 (k),使得对于所有的 (i) 都有 (Dec_k(c_i) = m_i)。之后,对于一个加密未知消息 (m) 的密文 (c),几乎可以确定 (Dec_k(c) = m)。这种暴力破解攻击使对手在时间 (O(|K|)) 内“成功”的概率约为 1。
- 随机猜测攻击 :同样假设对手得知密文 (c_1, \ldots, c_{\ell}) 分别对应消息 (m_1, \ldots, m_{\ell}),对手可以随机猜测一个均匀分布的密钥 (k \in
超级会员免费看
订阅专栏 解锁全文
19

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



