最近在写一些加密的东西。所以就整理一下常见的加密算法。
欢迎帮助纠错,谢谢。
废话不多直接上图:
加密学习 | ||||
一级 | 介绍 | 描述 | 常见算法 | 常见算法细分 |
非对称加密 | 解释 | 非对称加密需要两个密钥:公钥 (publickey) 和私钥 (privatekey)。公钥和私钥是一对,如果用公钥对数据加密,那么只能用对应的私钥解密。如果用私钥对数据加密,只能用对应的公钥进行解密。因为加密和解密用的是不同的密钥,所以称为非对称加密。 | ||
特点 | 一对密钥 | |||
公钥加密私钥解密,私钥加签公钥验签 | ||||
应用场景 | 数字签名 | |||
数字证书 | ||||
常见算法 | 国产 | SM2 | ||
SM9 | ||||
国际 | RSA | |||
Diffie-Hellman | ||||
El Gamal | ||||
DSA(数字签名用) | ||||
ECC(移动设备用) | ||||
对称加密 | 解释 | 对称加密,顾名思义,加密方与解密方使用同一钥匙(秘钥)。具体一些就是,发送方通过使用相应的加密算法和秘钥,对将要发送的信息进行加密;对于接收方而言,使用解密算法和相同的秘钥解锁信息,从而有能力阅读信息。 | ||
特点 | 加解密使用同一个密钥 | |||
可逆 | ||||
加密速度比非对称加密算法快 | ||||
应用场景 | 加密传输 | |||
密码 | ||||
配置文件加密 | ||||
常见算法 | 国产 | SM1 | ||
SM7 | ||||
ZUC(祖冲之算法) | ||||
SSF446 | ||||
SM4 | ||||
国际 | DES | |||
3DES | ||||
AES | ||||
RC5 | ||||
RC6 | ||||
RC4 | ||||
摘要算法 | 解释 | 摘要算法又称哈希算法、散列算法。(严格意义上摘要算法不算是加密算法,但通常与加密算法一起使用并有一定相似性,所以这里拿来做比较)。它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示)。消息摘要算法的主要特征是加密过程不需要密钥,并且经过加密的数据无法被解密,只有输入相同的明文数据经过相同的消息摘要算法才能得到相同的密文。 | ||
特点 | 加密不需要密钥 | |||
不可逆 | ||||
任意长度转为固定长度 | ||||
应用场景 | 存储密码 | |||
校验文件完整性 | ||||
生成签名 | ||||
常见算法 | 国产 | SM3 | ||
国际 | SHA-1 | |||
MAC | ||||
MD5 | ||||
SHA-2 | SHA-224 | |||
SHA-256 | ||||
SHA-384 | ||||
SHA-512 |