一、三个发展阶段:
①:算法不公开 ②:算法公开,对称加密 ③:算法公开,非对称加密
二、对称加密:
优点:速度快,密码内容紧凑
缺点:秘钥分发管理难,不支持数字签名等
常用算法:DES、3DES、AES、RC2、RC4、RC5,国密:SM1、SM2、SM3、SM4等。
DES有ECB和CBC两种模式,ECB是每64bit分别用秘钥加密然后拼凑起来,容易通过统计学分析进行破解(通过高频字)。CBC模式需要一个初始IV向量,第一段的加密需要依赖IV向量,以后每一段的加密都需要依赖前一段的加密结果,能防止统计学分析破解。
DES秘钥只有56bit,容易被爆破,所以有了3DES,可以简单理解为是进行了三次DES。
AES秘钥有128bit、192bit、256bit等,无延时,适用于音视频等。
RC4常用于流媒体,面向bit加密,比AES快很多。
三、非对称加密:
公钥加密私钥解密,私钥加密公钥解密。
优点:私钥保存,公钥公开,数字签名,不可否认性等
缺点:加密慢,密文非紧凑(密文会增大很多)
常用算法:RSA、DH、DSA、ECC
RSA:软件加密比DES慢100倍,硬件慢1000倍,秘钥长度可变,512bit~4096bit(现在可能不止4096了)
ECC:比特币底层算法
四、数字签名:
发送方对明文用接收方公钥加密,明文摘要用发送方私钥加密。然后一起打包发送。接收方用自己的私钥解密密文后计算摘要,用发送方公钥解密签名后得到摘要,最后将两个摘要进行对比。
五、数字证书:
由CA机构颁发,证书里面有发送方的公钥,到期时间等。如何信任CA?----系统中有根证书
六、对称算法与非对称算法结合
实际使用中是两者结合使用。发送方将明文和签名用对称密钥加密,然后将对称密钥用接收方公钥加密,一起打包成数字信封发送。接收方用自己的私钥先解密对称密钥,然后在验签等。