「这是我参与2022首次更文挑战的第25天,活动详情查看:2022首次更文挑战」。
相必大家对数字加密技术都不陌生,数字加密技术主要依赖于各种加密算法,本篇文章我们来一起来研究一下数字加密技术及加密算法,让我们对数据安全有更为深刻的认知。
诞生历史
加密算法最早诞生在什么时期?大家知道吗?是在计算机出现之后吗?
不不不,早在古罗马时期,加密算法就被应用于战争当中。在战争中,各部队常常依赖信使来传递信息,信使在传递情报时,很容易被敌方抓住,从而导致重要信息被敌方截获,致使我方落败;甚至信使叛变,敌人篡改信息,致使我方部队落入陷阱,将会造成更大的损失。
如何保证不让这种情况发生呢?
这时我们让信使和敌人都看不懂这段消息不就行了,只有收发双方能看懂,最早期的加密技术就这样诞生了。
如今随着信息技术的发展,我们在网络通讯中,也会有同样的安全问题,我们通过网络传输的信息,也可能会被黑客或者不法分子截获,甚至是篡改,致使我们隐私泄露,甚至造成更为严重的损失。
加密算法介绍
加密算法是加密技术的核心,我们通过算法的加密,解密使得只有具有密钥的人才能获取到真实信息。
加密算法的分类:
-
对称加密算法:对称加密算法很好理解,就是我们在加密解密使用相同的密钥
对称加密算法的优势就是加密解密的效率比较高。缺点就是不够安全,通信双方约定的密钥是相同的,只要密钥本身被任何一方泄露出去,通信的密文就会被破解,双方建立通信之初,服务端把密钥告诉给客户端的时候,也有被拦截到的危险。
-
非对称加密算法:非对称加密算法,正好解决了对称加密密钥泄露会有风险的问题,它使用不同的两个不同的密钥(不对称),一个是公钥,用于加密,一个是私钥用于解密,这样我们建立通信时将公钥发给客户端,及时被截获,也无法进行解密。
还有一类算法常常会被我们误以为是加密算法,其实并不属于加密算法的范畴,那就是哈希算法,哈希算法并不属于加密算法,却在信息安全领域起到了非常重要的作用。其中一个重要的作用就是生成信息摘要,可以用来验证原信息的完整性和来源的可靠性。
通过哈希算法生成信息摘要的过程叫做签名,验证信息摘要的过程叫做验签。通过签名和验签我们可以确认信息是否被篡改。
我们现在好多系统都会使用CA签名就是这种原理,保证信息的安全性、真实性、可靠性、完整性和不可依赖性。
常用加密算法
-
对称加密算法
-
DES算法
-
3DES算法(对DES算法安全上的升级)
-
AES算法(最为流行)
支持三种长度的密钥:128位,192位,256位
-
-
非对称加密算法
- RSA算法
-
哈希算法
-
MD5算法(信息摘要128位)
-
SHA系列算法(对MD5算法安全性的一个升级,MD5生成信息摘要位数太短,但是性能略差)
-
SHA-1:摘要长度160bit
-
SHA-2:对SHA-1的升级,有如下版本
- SHA-256:生成长度256bit的信息摘要
- SHA-224:SHA-256的阉割版,可以生成长度224bit的信息摘要
- SHA-512:可以生成长度512bit的信息摘要
- SHA-384:SHA-512的阉割版,可以生成长度384bit的信息摘要
-
-