加解密算法
大体上可以分为两种
- 双向加密
- 对称加密
- 非对称加密
-
单向加密
对称加密
对称加密算法即:加密和解密使用相同密钥的算法。在对称加密算法中,使用的密钥只有一个,发收信双方都使用这个密钥对数据进行加密和解密,这就要求解密方事先必须知道加密密钥。
特点
- 优点:算法公开、计算量小、计算效率高、加密强度高。
- 缺点:交易双方都使用同样钥匙,交换时容易泄露,安全性得不到保证。
DES加密
参考:https://blog.csdn.net/happylee6688/article/details/44455407/
DES,全称为“Data Encryption Standard”,中文名为“数据加密标准”,是一种对称加密算法,出自IBM的研究,后来被美国政府正式采用,之后开始广泛流传。
近些年使用越来越少,因为DES使用56位密钥,以现代计算能力, 24小时内即可被破解 。
DES是一种使用密钥加密的块算法。明文按 64 位进行分组,密钥长 64 位,密钥事实上是 56 位参与 DES 运算(第8、16、24、32、40、48、56、64 位是校验位, 使得每个密钥都有奇数个 1)分组后的明文组和 56 位的密钥按位替代或交换的方法形成密文组的加密方法。
注意:DES加密和解密过程中,密钥长度都必须是8的倍数,实际用上的只有前面8个字节
3DES
三重DES加密,但现在也认为不够安全
AES
用来替代原先的DES,已成为对称密钥加密中最流行的算法之一,目前还未有有效的破解手段。
非对称加密
非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥 (privatekey)
- 优点:解决信息公开传送和密钥管理问题,适用于签名的场景
- 缺点:计算效率低,一般比对称加密算法慢两到三个数量级,且加密强度较弱
RSA 公钥加密算法
RSA是目前最有影响力的公钥加密算法,它能够抵抗到目前为止已知的所有密码攻击,已被ISO推荐为公钥数据加密标准。
ECC 椭圆曲线算法
具备较高安全性,但是加解密计算过程比较费时
单向加密(信息摘要)
也叫hash算法,是对任意长度的明文/文件映射成较短的摘要(也叫hash值、指纹),单向加密算法根据算力敏感可以分为:
- 算力敏感型:主频越高的CPU运行hash的速度越快
- 算力不敏感:需要大量的内存资源,简单增加CPU不能提高hash速度
MD5
已证明不安全
SHA2-256
安全