对称密码
DES
每次只加密64比特数据,密钥长度是56比特,通过多轮加密并左右对调实现明文的加密
![](/images/DES.jpg”>
分组密码
ECB模式
相当不安全的一种分组加密方式,可以不需要解密就可以任意变动明文内容
![](/images/ECB.jpg”>
CBC模式
在ECB模式的基础上做了调整
![](/images/CBC1.jpg”>
在每次加密之前进行了一个XOR
但是存在反转攻击:
对IV的反转更改,可以控制第一组明文的内容
但是对密文分组的更改就比较麻烦了,因为会影响到更多的明文分组内容
![](/images/CBC2.jpg”>
CFB模式
与CBC不同的是,前一个密文分组是先加密,再与明文进行XOR操作,而不是先与明文进行XOR操作,再进行加密
这样可以避免了CBC的反转攻击。
![](/images/CFB1.jpg”>
但是CFB也不是无懈可击,利用重放攻击可以影响明文的内容
![](/images/CFB2.jpg”>
OFB模式
OFB模式通过每次加密一次IV,产生不同的密钥流对明文进行加密
![](/images/OFB.jpg”>
只要在加密之前准备好密钥流,就可以快速的与明文进行XOR操作加密,效率高,速度快
CTR模式
通过将逐次累加的计数器进行加密来生成密钥流的流密码
![](/images/CTR.jpg”>
但是这种方法存在反转攻击,并且错误不会被放大
公钥密码
RSA
详细见http://skysec.top/2017/06/21/RSA%E7%AE%97%E6%B3%95%E7%A0%94%E7%A9%B6/
http://skysec.top/2017/07/25/RSA%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7/