核心:每一个密钥 k ∈ K k\in\mathcal{K} k∈K,都对应着一张明密文表。考察,任意密文 c ∈ C c\in\mathcal{C} c∈C, c c c在所有的明密文表中对应的明文形成的集合记为 M ( c ) \mathcal{M}(c) M(c),则显然有 ∣ M ( c ) ∣ ≤ ∣ K ∣ |\mathcal{M}(c)|\leq |K| ∣M(c)∣≤∣K∣。如果 ∣ K ∣ < ∣ M ∣ |\mathcal{K}|<|\mathcal{M}| ∣K∣<∣M∣,即密钥空间小于明文空间,则必然 ∣ M ( c ) ∣ < ∣ M ∣ |\mathcal{M}(c)|<|\mathcal{M}| ∣M(c)∣<∣M∣,进而,必然存在 m ′ ∈ M m'\in\mathcal{M} m′∈M同时满足 m ′ ∉ M ( c ) m'\not\in \mathcal{M}(c) m′∈M(c),即存在 m ′ ∈ M m'\in\mathcal{M} m′∈M,使得 P r [ M = m ′ ∣ C = c ] = 0 Pr[M=m'|C=c]=0 Pr[M=m′∣C=c]=0显然,矛盾!
前言:仅个人小记。对绝对保密非常核心的理解我认为是:绝对保密,即看到密文等价于没有看到密文,在概率上就是后验概率等于先验概率,而后验概率等于先验概率就等价于两个随机变量独立,而根据独立,则可以非常直接的,避开一些推导,而得到一些很重要的性质,也非常有助于理解这些性质。
前要知识和约定
- 明文空间
M
M
M,密钥空间
K
K
K,密文空间
C
C
C.
∣ M ∣ |M| ∣M∣表示明文空间的大小,即明文的个数; ∣ K ∣ |K| ∣K∣表示密钥空间的大小,即密钥的总个数; - 加密机制正确性,指的是,用给定的密钥解密任意一个密文的时候,明文是唯一确定的。
- 给定一个密钥 k, 我们可以生成一张明文密文对照表,显然所有的明文参与,同时同一张表中,为了保持加密机制的正确性,必然所有的密文互相不同,即同一张明文密文对照表中不可能出现相同的密文。
- 后验概率等于先验概率,就等价于两个随机量独立(这里是直接点出来的,将两个东西联系了起来。虽然简单,熟用之是非常重要的) P ( A = a ∣ B = b ) = P ( A = a ) P(A=a|B=b)=P(A=a) P(A=a∣B=b)=P(A=a)展开得到 P ( A = a , B = b ) P ( B = b ) = P ( A = a ) \frac{P(A=a,B=b)}{P(B=b)}=P(A=a) P(B=b)P(A=a,B=b)=P(A=a)进而 P ( A = a , B = b ) = P ( A = a ) P ( B = b ) P(A=a,B=b)=P(A=a)P(B=b) P(A=a,B=b)=P(A=a)P(B=b) 这个等式成立,即说明随机变量 A 和 B 相互独立,即 A ⊥ B A\perp B A⊥B
简要示例分析
分析
绝对保密(Perfectly Secure),即密文不泄露任何有关明文的信息。概率上来讲,就是后验概率等于先验概率,即 P r [ M = m ∣ C = c ] = P r [ M = m ] Pr[M=m|C=c]=Pr[M=m] Pr[M=m∣C=c]=Pr[M=m]即拿到了密文 c 之后,对 M 的判断没有发生任何改变。
使用反证法:假如
∣
K
∣
<
∣
M
∣
|K|<|M|
∣K∣<∣M∣,对于密文 c, 根据第3条知识,我们知道,在任意一张明文密文对照表中,c 最多只能出现 1 次,而明文密文对照表总计有
∣
K
∣
|K|
∣K∣张,记密文 c 对应的明文集合为
∣
M
(
c
)
∣
|M(c)|
∣M(c)∣,则必然
∣
M
(
c
)
∣
≤
∣
K
∣
|M(c)|\leq |K|
∣M(c)∣≤∣K∣,又因为
∣
K
∣
≤
∣
M
∣
|K|\leq|M|
∣K∣≤∣M∣,故而
∣
M
(
c
)
∣
≤
∣
M
∣
|M(c)|\leq|M|
∣M(c)∣≤∣M∣,故而必然,进而有
∃
m
∈
M
,
m
∉
M
(
c
)
,
P
r
[
M
=
m
∣
C
=
c
]
=
0
≠
P
r
[
M
=
m
]
\exist m\in M,m\notin M(c),Pr[M=m|C=c]=0\neq Pr[M=m]
∃m∈M,m∈/M(c),Pr[M=m∣C=c]=0=Pr[M=m]
进而打破了“后验概率=先验概率”这条规则,进而当
∣
K
∣
<
∣
M
∣
|K|<|M|
∣K∣<∣M∣ 时,不可能是绝对保密的。