Appearance
Week 2:完美安全、流密码、分组密码
完美安全
定义
对于在空间 上的算法E,对于任意的 ,任意的 ,都有:
解释:对于任意两个等长的明文和,以及任意一个密文,使用随机选择的密钥加密得到的概率,等于使用随机选择的密钥加密得到的概率,且都等于。
就是说对于任意一条明文,在对于一个密钥对应的密文空间映射中,每一个密文出现的概率都是均等的。
One-Time Pad
对于一次一密来说,当时,既密钥长度大于等于明文长度时,一次一密可以达到完美安全。
为什么当密钥长度小于明文长度时不完美安全
假设,则存在,使得,即,与矛盾。
为什么Two-Time Pad不安全
C_1 \leftarrow M_1 \oplus K \\ C_2 \leftarrow M_2 \oplus K \\则由于编码大多是ASCII编码,则可以通过的关系进行破解。
流密码
由于在工程实现中,一次一密要求的显然难以实现,所以引入了伪随机数生成器PRNG来扩展密钥以求近似一次一密的效果。
PRG的安全性:不可预测性(Unpredictable)
对于算法,其中,如果对于任意的,给定,无法以非忽略概率预测出,则称是不可预测的。
既对于已知前一个比特或者前n个比特,预测出下一个比特的概率是否大于1/2。
Pr[A(G(k)_{1,\dots,i}) = G(k)_{i+1}] \leq \frac{1}{2} + \varepsilon当时,认为是不可预测的。

更多定义
PRG的安全性:不可区分性(Indistinguishability)
伪随机数生成器的定义

既在真随机数空间 中,伪随机数只占据其中一个子集。
统计测试

定义
假设 ,既G是一个生成n比特的随机数生成器,并且存在一个统计测试,定义:
- 如果优势Adv接近1,则说明和很容易区分,不是一个好的伪随机数生成器。
- 如果优势Adv接近0,则说明和很难区分,是一个好的伪随机数生成器。
则如果对于任意的统计测试,优势是可忽略的,则称PRG是安全的具有不可区分性的
Add-on


语义安全
对于在空间 上的加密算法E:
E是完美安全的,当: , 既密文的分布概率是完全相等的
E是语义安全的,当: , 既密文的分布概率是计算性不可区分的
分组密码
PRF和PRP

PRF和PRP的区别在于,PRP是一个双射函数,既每一个输入对应唯一的输出,每一个输出也对应唯一的输入,而PRF则没有这个要求。

安全的PRF

安全的PRF

安全的PRP

安全的PRP
既对于一个安全的PRP,攻击者无法区分它和一个随机置换。