关于对称加密,非对称加密,以及哈希函数一些概念和作用(复习)
哈希函数又称为单向散列函数,任意长度经过哈希函数变成一个固定的值,且具有不可逆性。输入相同,输出一定相同,不同的输入数据想要获得相同的输出很难,概率很低。
常见的哈希算法如:MD5、SHA1(有衍生系列)、HMAC(基于秘钥的哈希运算)保证了完整性和来源真实性
可用作判断数据的完整性,例如A发送数据以及经过哈希后的值,B接受使用相同的哈希函数计算的值与A发送的值作为对比
判断数据的完整性(即是否被修改),但是并不能判断数据的真实性,即数据是否是A本人发送,有可能是C伪装成A。
对称加密算法:使用相同的秘钥来加密解密,秘钥分发困难(通过网络发送秘钥,被截取危险)。适用于大量数据的加密
如:DES(数据加密标准)3DES(三次的DES) AES(高级加密标准)速度快,安全级别高
非对称加密算法:使用公钥和私钥,使用对方的公钥加密,对方使用自己的私钥解密,公钥公开也不怕被截取。适用于少量数据的加密
如:RSA ECC椭圆曲线密码编码学
数字签名:
【关于对称加密,非对称加密,以及哈希函数一些概念和作用(复习)】其实就是利用算法(不一定是非对称算法)对原文hash值加密,然后附着到原文的一段数据。数字签名的作用就是验证数据来源以及数据完整性!解密过程则称为数字签名验证。(数据的真实性,不可抵赖)
- 如果中间人同时篡改了Email正文和数字签名,那B收到邮件无法察觉啊。
答案:数字签名的生成需要对方私钥,所以数字签名很难被伪造。私钥都能弄丢? - 公钥是公开的并且可以自行导入到电脑,如果有人比如C偷偷在B的电脑用自己公钥替换了A的公钥,然后用自己的私钥给B发送Email,这时B收到邮件其实是被C冒充的但是他无法察觉。
答案:确实存在这种情况!解决办法就是数字证书(机构颁发数字证书防止冒充)
推荐阅读
- 关于早起
- 对inflater.inflate的理解、关于Support|对inflater.inflate的理解、关于Support v4、v7、v13
- 一个走过两遍高考的女生,关于高考的建议清单
- 毕业后,关于社保你必须知道的
- 达梦sql优化(关于模糊匹配前后百分号的使用小结)
- 关于|关于 Angular PWA 应用中的 ngsw.json 文件
- 【k8s系列】k8s架构(二)(认证)
- 链得得|【链得得独家】美国加强加密资产领域管理,监管机构连放大招
- 关于大v店,我想说两句
- [Qt学习笔记]Qt程序加密,实现软件运行次数和硬件信息绑定