Coursera - Dan Boneh - Cryptography 1 - Week 1 - discrete probability 学习笔记【1】

本文探讨了XOR运算在密码学中的应用,特别是在确保数据加密安全方面的作用。通过分析随机变量X与任意变量Y进行XOR操作后得到的Z,证明了Z在特定条件下遵循均匀分布,从而保证了加密过程的安全性和不可预测性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


最近在Coursera上看Dan Boneh的Cryptography 1课程 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串。
  2. { 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四个串。
  3. ⊕ \oplus 表示异或2,异或的定义可参考百度百科
  4. 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=XY,则 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=YX,即 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 YPr
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 XPr
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是均匀变量,得证。

这是下一篇文章的地址


  1. https://www.coursera.org/learn/crypto/home/welcome ↩︎

  2. 百度百科异或的定义 ↩︎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值