为什么异或(XOR)在密码学中这么常见?
原因很简单:
异或满足以下性质——设随机变量X,Y;若X与Y独立,且X服从均匀分布;
定义随机变量Z满足,
Z
=
X
⊕
Y
Z=X \oplus Y
Z=X⊕Y无论Y如何分布,Z服从均匀分布。
证明如下:
设Y的概率分布如下:
Y | P(Y=y) |
---|---|
0 | P_0 |
1 | P_1 |
X的概率分布如下:
X | P(X=x) |
---|---|
0 | 1/2 |
1 | 1/2 |
则Z的概率分布如下:
Z | P(Z=z) |
---|---|
0 | P_0/2+P_1/2 |
1 | P0_/2+P_1/2 |
注:
因为P_0+P_1=1,所以P_0/2+P_1/2=1/2
则Z的概率分布如下:
Z | P(Z=z) |
---|---|
0 | 1/2 |
1 | 1/2 |
证明完毕
当然,这个结论可以推广到n位二进制数上。