第11章 加密算法与随机数
1、加密算法
常见的加密算法通常分为分组加密算法与流密码加密算法。
分组加密算法基于“分组”(block)进行操作,根据算法的不同,每个分组的长度可能不同。分组加密算法的代表有:DES、3-DES、Blowfish、IDEA、AES等。
下图演示了一个使用CBC模式的分组加密算法的加密过程:
流密码加密算法,则每次只处理一个字节,密钥独立于消息之外两者通过异或实现加密与解密。流密码加密算法的代表有RC4、ORYX、SEAL等。
下图演示了流密码加密算法的加密过程。
根据攻击者能获取的信息,将加密算法的攻击分为:
- 唯密文攻击:攻击者有一些密文,它们是使用同一加密算法和同一密钥加密的。
已知:
C1=EK ( P1 ),C2=EK( P2 ),……,Ci=EK(Pi)
推导出:
P1,P2,……,Pi,K或者找出一个算法从Ci+1=EK(Pi+1 )推出