1.对称加密
对称加密:加密和解密使用相同的密钥
可解决的问题:机密性
常见算法:DES、3DES、AES
存在的问题:密钥配送问题
关于分组密码:
DES和AES都属于分组密码
分组密码:只能加密固定长度的明文,加密任意长度的明文时,需要进行迭代
分组密码模式:ECB、CBC、CFB、OFB、CTR
2.非对称加密/公钥加密
非对称加密:用公钥加密,用私钥解密
(处理速度问题:公钥加密处理速度只有对称加密的几百分之一)
可解决的问题:机密性
常见算法:RSA(基于大整数质因数分解)
存在的问题:公钥认证问题——判断所得到的的公钥是否合法,因此无法防御中间人攻击
中间人攻击:主动攻击者混入发送者和接收者中间,对发送者伪装成接收者,对接收者伪装成发送者
混合密码系统:用对称加密提供速度,用公钥加密保护会话密钥
(伪随机数生成器+对称加密+公钥加密,会话密钥由伪随机数生成器生成)
混合密码系统解决了公钥加密速度慢的问题,并通过公钥加密解决了对称加密的密钥配送问题。
典型例子:SSL/TLS
3.单向散列函数/消息摘要函数
单项散列函数:根据消息的内容生成固定长度的散列值
要解决的问题