Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >对称加密VS非对称加密

对称加密VS非对称加密

作者头像
素履coder
发布于 2022-02-17 06:44:13
发布于 2022-02-17 06:44:13
2K00
代码可运行
举报
文章被收录于专栏:素履coder素履coder
运行总次数:0
代码可运行

首先,简要介绍一下加密技术。即将明文加密为密文,并通过通信路径发送,中途窃听者不会阅读或理解课文。在接收端接收时,密文被解密为明文。

加密算法一般可以分为两种:一种是对称加密,另一种是非对称加密

1.对称加密

采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。

简单的讲就是发件人和收件人必须使用相同的钥匙(秘钥),因为使用的钥匙相同,所以才叫对称加密。比如A要给B发送一个加密文件,首先A会用这个秘钥对明文信息加密,加密完成后明文就变成了密文,B收到这个密文之后,必须要用和A相同的秘钥进行解密后才能看到原先的明文信息。

常用算法:DES、3DES、TDEA、Blowfish、RC2、RC4、RC5、IDEA、SKIPJACK ……

缺点:

  • 在A和B共享秘钥的时候容易被黑客窃听
  • 所有人共用一个秘钥,当人数达到上千或上万的时候,只要一个人的秘钥泄漏了,其他人都会受到影响,整体加密信息也会被破解
  • 秘钥管理负担大

优点:

  • 算法公开、计算量小、加密速度快、加密效率高

2.非对称加密

对称加密算法在加密和解密时使用的是同一个秘钥;而非对称加密算法需要两个密钥来进行加密和解密,这两个密钥是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)

非对称加密解决了对称加密过程中秘钥容易被破解的问题。非对称加密不采用对称加密中大家都用相同秘钥的方法,而是每个人独立的生成“公钥-私钥”对,使用私钥加密的信息,只能由该私钥对应的公钥才能解密,同理,使用公钥加密的信息,只能由该公钥对应的私钥才能解密。其中公钥是可以对外公开的,而私钥只能自己知道,不对外公开。

比如:A生成了属于他自己的“A公钥-A私钥”对,B也生成了属于他自己的“B公钥-B私钥”对,当A想向B发送密文的时候:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
A说:
“我想给你发信息,但是我想对信息加密变成密文发给你,你可以把你的B公钥发给我用来加密吗?”

B说:
“可以,我的公钥是:*#UYBHH767**IXA,你可以用这个公钥加密你要发的信息”

A说:
“我加密好了,这是加密后的信息:#SJ2HDSJ35KDH*##5JK5AHD1JKA,你可以用你的私钥解开得到明文”

B说:
“我用我的私钥解开了,已收到信息”

A说:
“好的”

从上面的聊天过程可以看到,B私钥始终没有暴露出去,只有B自己知道。即使发送过程中密文和B公钥被窃听了,他也解不开,因为B公钥始终在B手中。

常用算法:RSA、DSA、ECDSA ……

优点:

  • 密钥分配简单
  • 密钥的保存量少
  • 可以满足互不相识的人之间进行私人谈话时的保密性要求
  • 可以完成数字签名和数字鉴别

缺点:

  • 公钥密码是对大数进行操作,计算量浩大,速度远比不上私钥密码体制
  • 公钥容易被别人冒充,例如:C可以冒充B把自己的公钥给A,A一样可以用C的公钥加密信息然后发给C,此时A还被蒙在鼓里,以为C就是B,A的信息就这样被套走了

3.电子签名和电子证书

上面说到非对称加密的缺点是不能确定B公钥就是B本人的,也可能是C冒充的。既然双方无法100%确认就是其本人,那么就要借助第三方,而且这个第三方还必须要是中立的,类似于公证处。

解决办法就是数字证书,数字证书从本质上来说是一种电子文档,是由电子商务认证中心(CA中心)所颁发的一种较为权威与公正的证书。

数字证书特征:

  • 第一,安全性。用户申请证书时会有两份不同证书,分别用于工作电脑以及用于验证用户的信息交互,若所使用电脑不同,用户就需重新获取用于验证用户所使用电脑的证书,而无法进行备份,这样即使他人窃取了证书,也无法获取用户的账户信息,保障了账户信息。
  • 第二,唯一性。数字证书依用户身份不同给予其相应的访问权限,若换电脑进行账户登录,而用户无证书备份,其是无法实施操作的,只能查看账户信息,数字证书就犹如“钥匙”一般,所谓“一把钥匙只能开一把锁”,就是其唯一性的体现。
  • 第三,便利性。用户可即时申请、开通并使用数字证书,且可依用户需求选择相应的数字证书保障技术。用户不需要掌握加密技术或原理,就能够直接通过数字证书来进行安全防护,十分便捷高效。数字证书是由CA中心所签发的,CA中心是一个具权威性、依赖度极高的第三方,其资格证书经国家颁发,可有效保障网络数据信息的安全性,使数据信息处国家掌握当中。用户在浏览网络数据信息或进行网上交易时,利用数字证书可保障信息传输及交易的安全性。

有了数字证书后,B就不会直接把B公钥给A,而是先通过CA中心颁发的电子证书认证B公钥就是B本人的公钥,即CA中心把B公钥加密到数字证书中,这时候B才会把数字证书和自己的B公钥给A,A这边看到数字证书中加密的B公钥和B自己发过来的B公钥是一样的,就可以确定这就是B本人的公钥,所以才可以放心的用这个公钥将想要发送给B的信息加密发送给B,不用担心信息发错人。

这里解释一下为什么CA中心颁发的电子证书可以认证B公钥就是B本人的公钥。其实CA中心也有自己的“公钥-私钥”对,当B把公钥和个人信息给CA中心后,CA中心会用自己的私钥把这些信息加密到数字证书,只有CA中心自己的公钥才可以解开。其中CA中心自己的公钥也叫做“根证书”。“根证书”黑客是无法篡改的,比如浏览器的根证书是浏览器厂商发布的时候预制上的,黑客如果想更换根证书,除非自己开发个浏览器,然后让用户用,不然的话篡改不了。

A就是通过CA中心的公钥解开证书中的信息后得到B的公钥,然后把里面证书里面的B公钥和B自己传过来的B公钥对比,如果一样,就可以确认B传过来的公钥确实是B本人的公钥。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2021-10-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
对称加密和非对称加密
1.什么是对称加密,非对称加密 对称加密是指加解密使用的是同样的密钥 非对称加密是指加解密使用的密钥不同。
yaphetsfang
2020/07/30
1.7K0
对称加密和非对称加密
对称加密、非对称加密、RSA、消息摘要、数字签名、数字证书与HTTPS简介
对称加密算法使用的加密和解密的密钥一样,比如用秘钥123加密就需要用123解密。实际中秘钥都是普通数据在互联网传输的,这样秘钥可能会被中间人截取,导致加密被破解。其过程如下:
恋喵大鲤鱼
2019/03/11
12.7K3
对称加密、非对称加密、RSA、消息摘要、数字签名、数字证书与HTTPS简介
三、对称加密、非对称加密、混合加密
  两边用同一个密钥来加解密。 A把明文通过某一算法加密之后得到密文,然后把密文发送给B,B接收到密文之后用相同的密钥执行相同的算法去解密。X没有密钥,即使窃取到密文也无法窃听。
砖业洋__
2023/05/06
1.8K0
三、对称加密、非对称加密、混合加密
对称加密和非对称加密
对称加密指的就是加密和解密使用同一个秘钥,所以叫对称加密。 对称加密只有一个秘钥,作为私钥。
小吕
2022/09/26
2.8K0
为什么非对称加密比对称加密慢?
这个问题是一个读者面试时遇到的一个问题,准备过面试的人应该都记得,非对称加密与对称加密的区别之一就是非对称加密的速度慢,但是我们做业务开发的时候通常都是直接调用算法,对其原因并没有过多深究,因此如果有面试官问到了这个问题,的确会让人措手不及。正好借着这篇文章来说一说。
出其东门
2020/07/31
4.3K0
为什么非对称加密比对称加密慢?
非对称加密算法
1976年,两位美国计算机学家Whitfield Diffie 和 Martin Hellman,提出了一种崭新构思,可以在不直接传递密钥的情况下,完成解密。这被称为"Diffie-Hellman密钥交换算法"。这个算法启发了其他科学家。人们认识到,加密和解密可以使用不同的规则,只要这两种规则之间存在某种对应关系即可,这样就避免了直接传递密钥。
只喝牛奶的杀手
2019/09/03
1.6K0
非对称加密算法
如何保证数据的安全?对称和非对称加密,身份认证,摘要算法,数字证书等傻傻分不清?波哥图解带你彻底掌握
明文:加密前的消息叫“明文”(plain text) 密文:加密后的文本叫“密文”(cipher text) 密钥:只有掌握特殊“钥匙”的人,才能对加密的文本进行解密,这里的“钥匙”就叫做“密钥”(key)
用户4919348
2023/03/08
1.4K0
如何保证数据的安全?对称和非对称加密,身份认证,摘要算法,数字证书等傻傻分不清?波哥图解带你彻底掌握
区块链科普:非对称加密、椭圆曲线加密算法
区块链技术的应用和开发,数字加密技术是关键。一旦加密方法遭到破解,区块链的数据安全将受到挑战,区块链的不可篡改性将不复存在。
程序你好
2018/07/23
2.3K1
都2022年了,还不会对称加密和非对称加密算法?
下单做一次支付,若还是使用HTTP协议,可能会被黑客盯上。 你发送个请求,买娃娃,但该网络包被截获,于是在服务器回复你之前,黑客先假装自己就是电商网站,然后给你回复一个假消息:“好呀,来把银行卡号、密码拿来。” 这时你真把银行卡密码发给它,就中招了。
JavaEdge
2022/01/19
4980
Https详细分析
目录介绍 01.为何会有Https 02.解决方案分析 03.SSL是什么 04.RSA验证的隐患 05.CA证书身份验证 06.Https工作原理 07.Https代理作用 08.Https真安全吗 09.Https性能优化 01.为何会有Https Http的缺点 通信使用明文; 通信使用明文意味着安全性大大降低,当通信过程被窃听后,无需花费额外的投入就可看到传输的数据。 例如使用抓包工具,无需任何配置就可查看任何使用HTTP协议的通信数据; 不验证通信方身份 不验证通信方的身份,将导致通信过程被窃听后
杨充
2020/09/25
6980
国密算法,明文、密文、密码、密钥、对称加密、非对称加密简单理解
国密算法是什么? 国密算法是由国家密码局发布,包含SM1、SM2、 SM3、 SM4、 SSF33算法。 国际算法是什么? 国际算法由美国的安全局发布,是现今最通用的商用算法。 密码学中应用最为广泛算法都有哪些? 密码学中应用最为广泛的的三类算法: 1、对称算法(分组密码算法)代表分组密码算法(DES和SM4); 2、非对称算法(公钥密码算法)代表公钥密码算法(RSA和SM2); 3、杂凑算法(摘要算法)代表摘要算法(HAS-256系列和SM3);
zhangjiqun
2024/12/16
2900
国密算法,明文、密文、密码、密钥、对称加密、非对称加密简单理解
对称加密和非对称加密
对称密钥是双方使用相同的密钥 。 对称加密的要求   (1)需要强大的加密算法。算法至少应该满足:即使分析人员知道了算法并能访问一些或者更多的密文,也不能译出密文或得出密匙。通常,这个要求以更强硬的形式表达出来,那就是:即使分析人员拥有一些密文和生成密文的明文,也不能译出密文或者发现密匙。即,加密算法应足以抵抗已知明文类型的破译。   (2)发送方和接收方必须用安全的方式来获得保密密匙的副本,必须保证密匙的安全。如果有人发现了密匙,并知道了算法,则使用此密匙的所有通信便都是可读取的。 从数学角度理解   以一个具体例子来说明有助于真正理解对称加密这概念。假设A需要把一份明文为M的资料发给B,但是因为怕资料在传输的中途被窃听或者篡改,A用了对称加密法将M经过一个加密函数Fk处理后生成M'加密文,而B接受到加密文后通过事先商定好的Fk再次处理M'便可以还原成明文M,从而达到安全传输信息的目的。
用户2909867
2018/08/22
1.3K0
只用10分钟,一次性搞懂公钥和私钥
关于什么是公钥和私钥,网上有一篇很经典的文章:http://www.youdzone.com/signature.html
zhanyd
2024/05/17
1.7K0
只用10分钟,一次性搞懂公钥和私钥
应用加密一;非对称加密算法揭秘
  RSA、Elgamal、背包算法、Rabin、D-H、ECC(椭圆曲线加密算法)
用户3745746
2018/11/02
1.1K0
应用加密一;非对称加密算法揭秘
对称加密与非对称加密
对称加密算法中对于数据的加密与解密使用同一密钥,即使用相同的密码对内容进行加密解密。
WindRunnerMax
2020/08/27
1.6K0
非对称加密的应用
估计有人看到这篇文章标题的时候会有很多的疑惑,非对称加密是干什么的,"非对称"大致很好理解,意思和对称相反,加密也能理解,但是非对称加密是个什么玩意儿。这东西有什么应用呢?
挥刀北上
2019/09/02
2.1K0
非对称加密的应用
对称加密与非对称加密
计算机网络在给我们带来便利的同时,也存在很多安全隐患,比如信息伪造,病毒入侵,端点监听,SQL 注入等,给我们日常生活造成很严重的影响。
ICT系统集成阿祥
2024/12/03
2060
对称加密与非对称加密
再谈加密-RSA非对称加密的理解和使用
枕边书
2018/01/04
2.8K0
对称加密算法与非对称加密算法的优缺点
对称加密指的就是加密和解密使用同一个秘钥,所以叫做对称加密。对称加密只有一个秘钥,作为私钥。
MavenTalker
2019/07/19
3.1K0
经得住拷问的HTTPS原理解析
HTTPS 是在 HTTP 和 TCP 之间建立了一个安全层,HTTP 与 TCP 通信的时候,必须先进过一个安全层,对数据包进行加密,然后将加密后的数据包传送给 TCP,相应的 TCP 必须将数据包解密,才能传给上面的 HTTP。
用户4456933
2021/06/01
6590
经得住拷问的HTTPS原理解析
推荐阅读
相关推荐
对称加密和非对称加密
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验