这些加密算法不要再用了!
🎈 作者:Linux猿
🎈 简介:CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、面试、刷题、算法尽管咨询我,关注我,有问题私聊!
🎈 欢迎小伙伴们点赞👍、收藏⭐、留言💬
通常意义上,加密算法分为三大种类:消息摘要算法、对称加密算法和非对称加密算法。
一、消息摘要算法
消息摘要算法是将一段信息经过加密后产生一段固定长度的字符串,比如:128 位、256位长度。
1.1 特性
(1)相同信息加密后产生的字符串相同;
(2)具有不可逆性,不能从加密后的字符串推到出原消息;
(3)可以用于数字签名;
二、对称加密算法
对称加密算法是指加密秘钥和解密秘钥都是同一个秘钥的加密算法。
2.1 特性
(1)只有一个密钥,既用于加密,也用于解密;
(2)加/解密速度较快;
三、非对称加密算法
非对称加密算法是指加密秘钥和解密秘钥不是同一个秘钥的加密算法。
2.2 特性
(1)有两个秘钥,公钥用于解密,私钥用于加密,私钥一般不公开;
(2)信息经过公钥加密后,私钥能够解密,获取原消息;
(3)加/解密速度较慢;
四、不安全的加密算法
4.1 DES
DES 是数据加密标准(Data Encryption Standard)的缩写,是一种对称密钥加密算法。
1976年美国联邦政府将其确定为国家标准。但是,在1999年1月,distributed.net 与电子前哨基金会合作,在22小时15分钟内公开破解了一个 DES 密钥。
注意:通常说的加密算法被破解,一般是该加密算法有一组或几组密钥能在有限的时间内找到解,并不是说加密算法完全不能用了。
4.2 3DES
3DES 是三重数据加密算法(Triple Data Encryption Algorithm)的缩写,是一种对称加密算法。
从名称就可以知道,DES 和 3DES 有一定关系,3DES 比 DES 安全强度更高,3DES 是对每个数据块应用三次 DES,具有三个独立密钥。
但是,在 2017 年 3DES 已被 NIST 弃用,自 OpenSSL 1.1.0 版 起,默认不包含 3DES,并将其视为“弱密码”。
4.3 md2、md4、md5
从名称上来看,md2、md4、md5 显然是一个系列,MD 是 Message-Digest Algorithm 的简写,是一种信息摘要算法,也称为哈希算法,具有不可逆性。
但是,在 2009年,中国科学院谢涛和冯登国仅用了 2^20.96 的碰撞算法复杂度,破解了 MD5 的碰撞抵抗。2011年,RFC 6151 禁止 MD5 用作密钥散列消息认证码。
五、总结
尽量避免过时/不安全/被遗弃的加密算法的使用,后面将会讲解推荐使用的加密算法。
CSDN博客专家🏆,华为云享专家🏆,Linux、C/C++、面试、刷题、算法尽管咨询我,关注我,有问题私聊!
欢迎小伙伴们点赞👍、收藏⭐、留言💬
- 点赞
- 收藏
- 关注作者
评论(0)