密钥相关数据的认证加密
1. 头部不安全性
在加密方案的使用中,我们期望头部数据不依赖于密钥,但实际情况可能不受我们控制。应用程序可能基于系统中的数据生成头部,从而导致头部依赖于密钥。因此,我们希望在存在密钥相关头部的情况下仍能保证安全性。然而,事实证明,即使消息与密钥无关,这也是不可能的。
对于通用随机数(nt = u)和随机随机数(nt = r)两种情况,都存在攻击手段,表明没有一种方案能达到(nt, ki, kd)安全。具体命题如下:
设 SE = (K, E, D) 为一个加密方案,对于任意 nt ∈ {u, r},都存在一个高效的敌手 A ∈ A[ki, kd],使得 Advae - nt_SE(A) ≥ 1/2。
1.1 证明过程
设 SE 的密钥长度为 k,我们构造一个敌手 B,它能以概率 1 恢复密钥,进而可以轻松构建出敌手 A。以下是敌手 B 的具体实现以及它所使用的消息推导函数:
Adversary B
Initialize(1)
For i = 1, ..., k do
(Ni, Ci) ←$ Enc(1, i, biti, φ0) ; Vi ← Dec(1, Ni, φ0, Ci)
If Vi = ⊥ then L[i] ← 0 else L[i] ← 1
Return L
Function biti(K)
Return K[i]
这里 φc 表示返回 c ∈ {0, 1} 的常量函数。在第 i 次 Enc 查询时,游戏计算并使用的头部是 K[i];在第 i 次 Dec 查
密钥相关数据的认证加密及RHtE变换
超级会员免费看
订阅专栏 解锁全文

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



