第二章 完美保密
Part 0 任务
- 证明一比特完美保密
- 证明完美保密的等价公式
- 证明完美保密等价不可区分性
- 证明一次一密是完美保密
- 证明完美保密的局限性
Part 1 定义和基本属性
- 随机变量:
K
,
M
,
C
K, M, C
K,M,C
- 概率:
Pr
?
[
K
=
k
]
,
Pr
?
[
M
=
m
]
,
Pr
?
[
C
=
c
]
\Pr[K = k], \Pr[M = m], \Pr[C = c]
Pr[K=k],Pr[M=m],Pr[C=c]
1.1 定义完美保密
-
在
M
\mathcal{M}
M上
Π
\Pi
Π是完美保密的,若对于
M
\mathcal{M}
M上的任意概率分布,
?
m
∈
M
\forall m \in \mathcal{M}
?m∈M 与
?
c
∈
C
\forall c \in \mathcal{C}
?c∈C , 且
Pr
?
[
C
=
c
]
>
0
\Pr[C = c] > 0
Pr[C=c]>0:
Pr
?
[
M
=
m
∣
C
=
c
]
=
Pr
?
[
M
=
m
]
.
\Pr[M=m | C=c] = \Pr[M=m].
Pr[M=m∣C=c]=Pr[M=m]. -
某个明文被发送的后验似然与该明文被发送的先验概率没有差别
1.2 一比特上的完美保密
-
M
=
K
=
{
0
,
1
}
,
E
n
c
k
(
m
)
=
m
⊕
k
\mathcal{M}=\mathcal{K} = \{ 0,1 \} , \mathsf{Enc}_k(m)= m \oplus k
M=K={0,1},Enck?(m)=m⊕k
- 证明
- 只要密钥是均匀随机的,那么密文的概率分布就不收明文概率分布的影响;
- 虽然密文不独立与明文,但是密文是由明文和密钥共同决定的
1.3 完美保密的等价形式
-
Pr
?
[
C
=
c
∣
M
=
m
]
=
Pr
?
[
C
=
c
]
\Pr[C=c | M=m] = \Pr[C=c]
Pr[C=c∣M=m]=Pr[C=c]
- 密文的先验概率等于其后验概率
1.4 完美不可区分性
-
Pr
?
[
C
=
c
∣
M
=
m
0
]
=
Pr
?
[
C
=
c
∣
M
=
m
1
]
\Pr[C = c | M = m_0] = \Pr[C = c | M = m_1]
Pr[C=c∣M=m0?]=Pr[C=c∣M=m1?]
- 攻击者无法区分出密文是由哪个明文加密得到的
Part 2 一次一密 Vernam’s Cipher
- 定义
-
M
=
K
=
C
=
{
0
,
1
}
l
\mathcal{M} = \mathcal{K} = \mathcal{C} = \{0, 1\}^l
M=K=C={0,1}l
-
k
←
G
e
n
k \leftarrow Gen
k←Gen,以
2
?
l
2^{-l}
2?l的概率随机选择
k
k
k
-
c
:
=
E
n
c
k
(
m
)
=
k
⊕
m
c := Enc_k(m) = k \oplus m
c:=Enck?(m)=k⊕m
-
m
:
=
D
e
c
k
(
c
)
=
k
⊕
c
m := Dec_k(c) = k \oplus c
m:=Deck?(c)=k⊕c
- 证明其完美保密性
Part 3 完美保密的局限性
Part 4 香农定理
- 当明文空间、密钥空间和密文空间规模相同时,加密方案是完美保密的,当且仅当满足两个条件:
- (1)每个密钥是从密钥空间中均匀随机生成的;
- (2)对于任意明文和密文对,存在唯一的密钥使得该明文加密成该密文。
Part 5 窃听不可区分性
5.1 窃听不可区分实验
P
r
i
v
K
A
,
Π
e
a
v
(
n
)
PrivK_{\Alpha, \Pi}^{eav}(n)
PrivKA,Πeav?(n)
-
定义
- 给敌手
A
\Alpha
A指定
1
n
1^n
1n作为输入,(敌手在多项式时间内)输出一对等长的消息
m
0
,
m
1
m_0, m_1
m0?,m1?
- 产生随机密钥
k
←
G
e
n
(
1
n
)
k \leftarrow Gen(1^n)
k←Gen(1n),随机选择一个比特
b
←
{
0
,
1
}
b \leftarrow \{0, 1\}
b←{0,1},计算密文
c
←
E
n
c
k
(
m
b
)
c \leftarrow Enc_k(m_b)
c←Enck?(mb?)并交给
A
\Alpha
A
-
A
\Alpha
A输出一个比特
b
′
b^{\\'}
b′
- 如果
b
′
=
b
b^{\\'} = b
b′=b,则实验输出为
1
1
1,否则为
0
0
0。如果
P
r
i
v
K
A
,
Π
e
a
v
(
n
)
=
1
PrivK_{\Alpha, \Pi}^{eav}(n) = 1
PrivKA,Πeav?(n)=1,则称敌手成功。
-
注意:每次实验使用新生成的密钥
5.2 完美保密下的窃听不可区分性
-
Pr
?
[
P
r
i
v
k
A
,
Π
e
a
v
=
1
]
=
1
2
\Pr[Privk_{\mathcal{A}, \Pi}^{eav} = 1] = \frac{1}{2}
Pr[PrivkA,Πeav?=1]=21?
|