【DanBoneh】Block Ciphers

分组密码:由两部分组成,加密算法E解密算法D,它的输入和输出具有严格相同的位数。

3DES:分组大小为 64 位,使用 168 位长的密钥。n = 64 bits,k = 168 bits。

AES:n = 128 bits,k = 128,192,256 bits。密钥越长,密码工作速度越慢,越安全。

伪随机函数(PRF):定义在密钥空间、输入空间、输出空间上的三元组 (K,X,Y) ,F:K×X→Y。有一个有效的方法来计算这个函数,无需可逆。

伪随机置换(PRP):定义在密钥空间和一个集合 X 上 (K,X) ,E:K×X→X,取密钥空间上的一个元素和 X 上的一个元素输出 X 上的一个元素。有一个有效的算法来计算这个函数,一旦固定密钥 K ,函数 E 是一一对应的,需要一个逆向算法

一个PRP是一个输入空间等于输出空间的PRF。

PRF安全的条件:在伪随机函数集合上的均匀分布全体函数上的均匀分布不可区分。

DES:核心思想是Feistel网络。

伪随机数发生器可以构建伪随机函数,而不是伪随机置换,最终目标是构建一个分组密码,本质上是PRP,可被证明是安全的,但很慢、不实用。

PRF转换引理:一个安全的PRP,事实上也是安全的PRF,只要集合 X 足够大。