文章目录
最近在Coursera上看Dan Boneh的Cryptography 1课程 1,看到一些有意思的性质,因此想着做一些笔记记录。
介绍一些记号
首先介绍一些记号:
- { 0 , 1 } n \{0,1\}^{n} {0,1}n表示长度为 n n n的01串,例如: n = 2 n=2 n=2,有 00 00 00, 01 01 01, 10 10 10, 11 11 11四个01串。
- { 0 , 1 } n \{0,1\}^{n} {0,1}n上均匀分布的变量:例如 n = 2 n=2 n=2,从 { 0 , 1 } n \{0,1\}^{n} {0,1}n中选一个串的概率均为 1 4 \frac{1}{4} 41。(总共只有四个串 00 00 00, 01 01 01, 10 10 10, 11 11 11四个串。
- ⊕ \oplus ⊕表示异或2,异或的定义可参考百度百科。
- P r [ X = 1 ] Pr[X=1] Pr[X=1]:表示 X = 1 X=1 X=1的概率。
XOR的一个重要性质
定理(Thm): Y Y Y是定义在 { 0 , 1 } n \{0,1\}^{n} {0,1}n上的随机变量, X X X是定义在 { 0 , 1 } n \{0,1\}^{n} {0,1}n上独立的、均匀分布的变量。定义 Z = X ⊕ Y Z=X\oplus Y Z=X⊕Y,则 Z Z Z是 { 0 , 1 } n \{0,1\}^{n} {0,1}n上均匀分布的变量。
对定理的解释:在密码学中,如果 Y Y Y是明文 m m m, X X X是加密的密钥 k k k(每个 m m m都取一个新的 k k k),加密的方式为 Z = Y ⊕ X Z=Y\oplus X Z=Y⊕X,即 Z Z Z是密文,那么我仅仅从密文是看不出原来的明文 m m m是什么,因而能保证安全性。
证明: ⊕ \oplus ⊕是对每一位分别求的,因此如果我们能证明某一位满足定理,则 n n n位就都满足定理了。因此,我们仅考虑 n = 1 n=1 n=1的证明:
设 Y Y Y的概率为如下表格所示(其中 p 0 + p 1 = 1 p_0+p_1=1 p0+p1=1):
Y Y Y | Pr |
---|---|
0 0 0 | p 0 p_0 p0 |
1 1 1 | p 1 p_1 p1 |
X
X
X因为是均匀变量,所以
P
r
[
X
=
0
]
=
P
r
[
X
=
1
]
=
1
2
Pr[X=0]=Pr[X=1]=\frac{1}{2}
Pr[X=0]=Pr[X=1]=21,
则
Y
Y
Y和
X
X
X的概率如下表所示:
Y Y Y | X X X | Pr |
---|---|---|
0 0 0 | 0 0 0 | p 0 / 2 p_0/2 p0/2 |
0 0 0 | 1 1 1 | p 0 / 2 p_0/2 p0/2 |
1 1 1 | 0 0 0 | p 1 / 2 p_1/2 p1/2 |
1 1 1 | 1 1 1 | p 1 / 2 p_1/2 p1/2 |
因此,
P
r
[
Z
=
0
]
=
P
r
[
(
X
,
Y
)
=
(
0
,
0
)
或
者
(
X
,
Y
)
=
(
1
,
1
)
]
=
P
r
[
(
X
,
Y
)
=
(
0
,
0
)
]
+
[
(
X
,
Y
)
=
(
1
,
1
)
]
=
p
0
/
2
+
p
1
/
2
=
1
/
2
,
\begin{aligned} Pr[Z=0] &=Pr[(X,Y)=(0,0) 或者 (X,Y)=(1,1)] \\ &=Pr[(X,Y)=(0,0)]+[(X,Y)=(1,1)] \\ &=p_0/2+p_1/2=1/2, \end{aligned}
Pr[Z=0]=Pr[(X,Y)=(0,0)或者(X,Y)=(1,1)]=Pr[(X,Y)=(0,0)]+[(X,Y)=(1,1)]=p0/2+p1/2=1/2,
同理,可得
P
r
[
Z
=
1
]
=
1
/
2
=
P
r
[
Z
=
0
]
Pr[Z=1]=1/2=Pr[Z=0]
Pr[Z=1]=1/2=Pr[Z=0],即
Z
Z
Z是均匀变量,得证。
这是下一篇文章的地址。