加密算法梳理

对称加密算法

对称加密指加密和解密使用同一密钥。

对称加密过程:采用单秘钥加密,发送方将发送数据分割成固定大小的块,经过秘钥和加密算法加密后发送。接收方收到报文后,结合解密算法使用相同的密钥解密得出原始数据。N个用户需要N*(N-1)/2个不同的密钥。

优点:效率高,算法简单,系统开销小,适合加密大量数据。

缺点:安全性差(密钥泄露),扩展性差(通信双方要协商密钥,密钥生成过多不易于管理)。

常见的对称加密算法:DES、AES、sm4

非对称加密算法

非对称加密指的是加密和解密使用不同的密钥,一把公开的公钥,一把私有的私钥。公钥加密的信息只有私钥才能解密,私钥加密的信息只有公钥才能解密。

N个用户,需要2N个密钥。

非对称加密过程:甲使用乙的公钥并结合相应的非对称算法将明文加密发送给乙,乙结合自己的私钥和非对称算法解密得到明文。

优点:更安全

缺点:算法复杂度高,加密之后报文冗长,适合对少量数据加密,增加了网络传输成本。

RSA算法 sm2算法

SM2 RSA
算法结构 椭圆曲线 可逆模幂运算
计算复杂度 指数级 亚指数级
存储空间 192-256bit 2048-4096bit
秘钥生成速度 比RSA快百倍以上
加解密速度 较快 一般

单向加密

单向加密算法只能对数据加密,不能解密。特点为定长输出,雪崩效应(少量消息位的变化会引起信息摘要的许多位的变化)。

单向加密常用于验证数据完整性、数字摘要、数字签名等。

加密过程:发送方对明文进行加密发送,接收方对同样的明文进行加密,比对。

常见的单向加密算法:MD5、sm3

CA认证