博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网络安全-加密算法
阅读量:6608 次
发布时间:2019-06-24

本文共 1072 字,大约阅读时间需要 3 分钟。

hot3.png

加密算法是网络安全中不可缺少的一部分,那我通常们什么时候需要使用加密算法呢?

加密数据:保证数据的私密性。例如账号以及一些个人信息在传输和存储之前都需要加密处理,这样即使别人拿到数据也只是一堆看不懂的密文。

身份验证:确保访问者为指定的用户或者系统,例如一些网站或者网银需要安装证书才可以使用,这些证书都是由数字证书认证机构(CA)发放的。
数据完整性:防止数据在传输过程中被篡改。
加密算法可以分为:单向加密算法、对称加密算法和非对称加密算法。

单向加密算法

算法不可逆,即通过密文无法还原原始数据。

输入一致,输出必定一致,并且输出长度固定(128位)。
细微的变化会生成完全不同的密文。
一般适用于数据验证,通过再次输入明文,用相同的算法加密,看能否得到相同的密文来判断输入的正确性,例如用户登录密码的验证。可以做到数据加密,但无法保证数据完整性和身份验证。
常见的单向加密算法有:MD5、SHA、HMAC、CRC

对称加密算法

算法可逆,对密文进行解密算法即可得到明文。

速度要比非对称加密算法快。
因为算法是可逆的,所以对称加密算法的安全性就建立在秘钥的基础上,如果A和B的秘钥相同,并且B拿到A传输的密文,那么B就可以将密文解密,所以必须保证所有人的秘钥都不同,这样如果使用者增多,对称加密算法的管理难度就会增加。
常见的对称加密算法有DES、3DES、AES、Blowfish、IDEA、RC4、RC5、RC6。

非对称加密算法

是一对加密秘钥和解密秘钥,A用户秘钥加密后信息,只有A的解密秘钥才能解密,并且知道其中一个并不能算出另外一个。公开的密钥为公钥,不公开的密钥为私钥。

如果加密密钥是公开的,这用于客户给私钥所有者上传加密的数据,这被称作为公开密钥加密(狭义)。例如,网络银行的客户发给银行网站的账户操作的加密数据。如果解密密钥是公开的,用私钥加密的信息,可以用公钥对其解密,用于客户验证持有私钥一方发布的数据或文件是完整准确的,接收者由此可知这条信息确实来自于拥有私钥的某人,这被称作数字签名,公钥的形式就是数字证书。例如,从网上下载的安装程序,一般都带有程序制作者的数字签名,可以证明该程序的确是该作者(公司)发布的而不是第三方伪造的且未被篡改过(身份认证/验证)。
常见的公钥加密算法有:RSA、ElGamal、背包算法、Rabin(RSA的特例)、迪菲-赫尔曼密钥交换协议中的公钥加密算法、椭圆曲线加密算法。

转载于:https://my.oschina.net/u/1188115/blog/172521

你可能感兴趣的文章
云安全:这也是需要花大钱去建设的部分
查看>>
LinkedIn文本分析平台:主题挖掘的四大技术步骤
查看>>
以全局产业观领航智慧城市建设
查看>>
Intel 18核酷睿i9因故延期到明年:AMD Ryzen反超
查看>>
5G网络不止能1秒下一部电影,它还能够…
查看>>
英特尔:McAfee将剥离出去独立运营
查看>>
中国电信集采终端6700万部 金额达1070亿元
查看>>
2016年的十个数据中心故事
查看>>
《Java并发编程的艺术》一一3.3 顺序一致性
查看>>
《CCNP SWITCH 300-115认证考试指南》——导读
查看>>
《设计之外——比修图更重要的111件事》—第1部分3 虚心学习
查看>>
Solaris Studio 12.4 Beta update 7/2014
查看>>
EVCache —— Netflix 的分布式内存数据存储
查看>>
《用友ERP-U8(8.72版)标准财务模拟实训》——1.4 系统管理注册和导入演示账套...
查看>>
《Node.js区块链开发》一3.6 总结
查看>>
《UG NX8.0中文版完全自学手册》一2.8 布尔运算
查看>>
pera 发布新概念浏览器 Neon ,内置分屏模式
查看>>
移动阅读时代“长文章”生存状态调查
查看>>
springboot docker笔记
查看>>
跟我一起学QT3:电子表格的制作
查看>>