聊聊对称加密、非对称加密、Hash算法
对称加密
什么是对称加密(Symmetric Key Encryption)?
对称加密采用了对称密码编码技术,它的特点是加密和解密使用相同的密钥,用这个密钥都能去加密或解密 。
基本过程:
甲方(主导方或者服务器方)生成加密密钥,将密钥私下共享给乙方(客户方或者受众方),当甲方或者乙方用密文信息交换时,均用此钥将明文加密生成密文或者密文解密生成明文
常见的对称加密算法:
DES、3DES、Blowfish、IDEA、RC4、RC5、RC6和AES
常用的对称加密算法:
AES、DES
优点:
生成密钥的算法公开、计算量小、加密速度快、加密效率高、密钥较短
缺点:
一方面:双方共同的密钥,有一方密钥被窃取,双方都影响。另一方面:如果为每个客户都生成不同密钥,则密钥数量巨大,密钥管理有压力。
应用场景:
登录信息用户名和密码加密、传输加密、指令加密(如扣款、下单操作)
非对称加密
什么是非对称加密(Asymmetric Key Encryption)?
非对称加密算法需要一对密钥(两个密钥):公开密钥(publickey)和私有密钥(privatekey)(简称公钥,私钥)。公开密钥与私有密钥生成时是一对,用公钥加密只能是对应的私钥解密,同理用私钥加密只能用对应的公钥解密。
基本过程:
甲方(主导方或者服务器方)生成一对密钥(也就是公钥和私钥)并将其中的一把公用密钥向其它方公开或者私下共享;得到该公用密钥的乙方使用该公钥对机密信息进行加密后再发送给甲方;甲方再用自己保存的另一把对应的私钥对加密后的信息进行解密。相当于甲方和乙方各持一把钥匙。此时乙方可以是一“人”或者多“人”。
常见的非对称加密算法:
RSA、ECC、Diffie-Hellman、El Gamal、DSA(数字签名用)
常用的非对称加密:
RSA、 ECC
优点:
安全高(几乎很难破解)
缺点:
加解密相对速度慢、密钥长、计算量大、效率低
应用场景:
HTTPS(ssl)证书里制作、CRS请求证书、金融通信加密、蓝牙等硬件信息加密配对传输、关键的登录信息验证。
RSA与ECC对比
这两个生成公私密钥对的算法都是基于数学上的当前计算机未解决的数学问题
RSA对极大整数做因数分解的难度决定了RSA算法的可靠性,ECC椭圆曲线密码编码学。
RSA一般加密小量的数据,ECC多用移动设备,两者相比同样的安全性ECC密钥更短,速度更快。传输数据量小。
(1) RSA签名算法适合于:Verify操作频度高,而Sign操作频度低的应用场景。比如,分布式系统中基于capability的访问控制就是这样的一种场景。
(2) ECDSA签名算法适合于:Sign和Verify操作频度相当的应用场景。比如,点对点的安全信道建立
细说对称加密与非对称加密对比
在管理方面:非对称加密比对称加密更有优势,对称加密的密钥管理和分发上比较困难,不是非常安全,密钥管理负担很重。
在安全方面:非对称加密算法基于未解决的数学难题,在破解上几乎不可能。到了对称加密 AES 虽说从理论来说是不可能破解的,但从计算机的发展角度来看。非对称加密安全性更具有优越性;
在速度方面:比如对称加密方式AES 的软件实现速度已经达到了每秒数兆或数十兆比特。是非对称加密公钥的 100 倍,如果用硬件来实现的话这个比值将扩大到 1000 倍。
对称加密优缺点:对称加密相比非对称加密算法来说,加解密的效率要高得多、加密速度快。
非对称加密优缺点:安全性更高,公钥是公开的,密钥是自己保存的,不需要将私钥给别人。缺点:加密和解密花费时间长、速度慢,只适合对少量数据进行加密。
摘要(Hash算法)
摘要特别的地方在于它是一种单向算法,单向散列函数一般用于产生消息摘要,用户可以通过hash算法对目标信息生成一段特定长度的唯一hash值,却不能通过这个hash值重新逆向获得目标原文信息。(非可逆到原明文,相同的明文产生相同的摘要)
常见的Hash算法
MD2、MD4、MD5、HAVAL、SHA、SHA-1
常用的Hash算法
MD5、SHA-1
应用场景:
1, Hash算法常用在不可还原的密码存储、信息完整性校验。
2,文档、音视频文件、软件安装包等用新老摘要对比是否一样(接收到的文件是否被修改)
3, 用户名或者密码加密后数据库存储(数据库大多数不会存储关键信息的明文,就像很多登录功能的忘记密码不能找回,只能重置)
4,数字签名和数据检索。
SHA-1 与 MD5 的比较 :
因为二者均由 MD4 导出,SHA-1 和 MD5 彼此很相似。相应的,他们的强度和其他特性也是相似。
安全性:最显著和最重要的区别是 SHA-1 摘要比 MD5 摘要长 32 位。使用强行技术,产生任何一个报文使其摘要等于给定报摘要的难度对 MD5 是 2128 数量级的操作,而对 SHA-1 则是 2160 数量级的操作。这样,SHA-1 对强行攻击有更大的强度;对密码分析的安全性:由于 MD5 的设计,易受密码分析的攻击,SHA-1 显得不易受这样的攻击;
速度:在相同的硬件上,SHA-1 的运行速度比 MD5 慢
数字签名
数字签名非常简单,它是对上文中的摘要进行加密后得到数字签名。
也就是说,数字签名是由明文本身的内容经过hash算法计算得到digest摘要,然后用甲方(或者发起方或者直接代号A)的私钥加密而来的。简单理解就是,数字签名 = 对摘要加密
它主要解决你给了我摘要,但是谁知道这个摘要到底是不是你的摘要。如何保证你给的摘要在到我手上之前没被修改。所以就用了对方的私钥加密摘要。如果此时不是个人,而是信任的机构所做的签名,其实就是公证。
数字证书
上文中非对称加密、Hash摘要的应用场景都是提起到数字证书。也就是说数字证书是基于他们生成的。
数字证书是A(或者说甲方)向数字证书中心(CA)申请的,是由A的个人(或甲方的机构企业)信息,公钥等经过CA的私钥加密而来的。相当于进行公证。而数字证书中心(CA)就是根证书的生产单位,很多Windows系统的浏览器根证书都是由一个或多个可信根的证书颁发机构。(微软、苹果也有根证书颁发机构机构)。
过程如下:
1,产生数字证书请求(我求你办事需要你盖章,我准备的东西)
由于原文可能数据很大,非对称加解密比较耗时导致时间长,网络传输数据量大,所以证书请求生成时,需要对原文或者信息进行hash摘要(MD5或者SHA的方式),这样不管原信息多长,就得到固定的短信息摘要,然后再用A(或者甲方)的私钥进行数字签名(对摘要加密) 。然后将签名+个人(或机构企业)信息+公钥三者要素合成一个CRS(证书请求)让CA(数字证书中心)去生成数字证书(就是CA私钥加密),或者说你给盖章。这样CA就会给你一个相当于公证认可后的数字证书。
生成证书请求
2,拿到CA的签名的证书后解密过程
【PS:证书是可以上下关联的,比如经过根证书得到的子证书的机构还可以生成证书,相当于多次加密,此时证书解密需要过程会层层CA公钥解密】
应用场景:
常见的https的证书、区块链证书、一些金融开户或者蓝牙链接传输等。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
谁也别想跑:犯罪分子利用冠状病毒向Android和iOS用户挖陷阱!
网络犯罪分子正竭尽全力从冠状病毒大流行及混乱中受益。他们诱骗用户的陷阱是发布伪装成COVID-19最新消息的恶意间谍程序。 网络安全研究人员在2020年3月底发现了正在进行的网络间谍活动,他们将其命名为Project Spy。 根据他们的评估,通过Project Spy,攻击者正在利用冠状病毒的紧张形势传播,Wabi Music,Concipit 1248和Concipit Shop等应用程序会利用用户的不知情,让间谍软件感染Android和iOS设备。 这些间谍程序会在应用程序执行功能时截取信息,包括窃取Telegram,WhatsApp,Threema和Facebook的数据。 此外,它还可以收集语音信息,通话记录和联系信息,敏感的设备信息(例如设备ID,IMEI编号,制造商,硬件,型号,引导程序,标签,主机,应用程序和操作系统版本)。 图像,SIM卡信息(包括MCC-移动国家/地区,IMCI操作员代码,SIM卡序列号甚至手机号码。 此外,它会向攻击者上传WiFi信息,包括MAC地址,SSID和WiFi速度,以及来自移动设备的其他数据,例如指纹,日期,时间,显示,并会对信息进行修改...
- 下一篇
聚焦智能车联网与工业互联网安全,启明星辰严望佳在两会上的两个提案
【51CTO.com原创稿件】2020年全国两会正在进行中,全国政协委员、启明星辰信息技术集团股份有限公司首席执行官严望佳提交了7份提案,涉及网络安全和环保两个方向。其中2份提案关于网络安全:《关于推动人工智能赋能工业互联网安全发展的提案》、《关于推进智能车联网安全风险评估的提案》。 全国政协委员、启明星辰信息技术集团股份有限公司首席执行官严望佳 在《关于推动人工智能赋能工业互联网安全发展的提案》中,严望佳建议,应在大力推动工业互联网技术应用部署的同时,注重与之相匹配的网络安全防御保障技术的研发,推动人工智能赋能工业互联网安全发展,以进一步加强对工业互联网的安全保障。 在《关于推进智能车联网安全风险评估的提案》中,严望佳表示,一旦随着智能网联汽车的普及,缺乏相关的评估检测措施及防护手段,后果不堪设想。因此,她建议针对智能车联网进行常态化信息安全风险评估和车辆信息安全检测分析,保护智能车联网及交通安全,并给出了七点具体建议。 下面,让我们一起来看看这两个提案的具体内容。 关于推动人工智能赋能工业互联网安全发展的提案 ◆工业互联网存在的三大安全难题 近年来,我国工业互联网发展迅速。工业互联...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Windows10,CentOS7,CentOS8安装Nodejs环境
- CentOS8编译安装MySQL8.0.19
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- 设置Eclipse缩进为4个空格,增强代码规范
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题