计算机网络|图解-对称加密和非对称加密的理解

592 阅读4分钟

对称加密

指的就是加密和解密使用同一个密钥,所以叫对称加密

对称加密通常使用的是相对较小的密钥,一般小于256 bit。因为密钥越大,加密越强,但加密与解密的过程越慢。如果你只用1 bit来做这个密钥,那黑客们可以先试着用0来解密,不行的话就再用1解;但如果你的密钥有1 MB大,黑客们可能永远也无法破解,但加密和解密的过程要花费很长的时间。密钥的大小既要照顾到安全性,也要照顾到效率

对称加密的一大缺点是密钥的管理与分配,换句话说,如何把密钥发送到需要解密你的消息的人的手里是一个问题。在发送密钥的过程中,密钥有很大的风险会被黑客们拦截。现实中通常的做法是将对称加密的密钥进行非对称加密然后传送给需要它的人。

image.png

image.png

对称加密的加密强度高,很难破解。但是在实际应用过程中不得不面临一个棘手的问题:如何安全的保存密钥呢?尤其是考虑到数量庞大的Client端,很难保证密钥不被泄露。一旦一个Client端的密钥被窃据,那么整个系统的安全性也就不复存在。为了解决这个问题,非对称加密应运而生。非对称加密有两个密钥:公钥和私钥。

非对称加密

非对称加密为数据的加密与解密提供了一个非常安全的方法,它使用了一对密钥,公钥(public key)和私钥(private key)。私钥只能由一方安全保管,不能外泄,而公钥则可以发给任何请求它的人。非对称加密使用这对密钥中的一个进行加密,而解密则需要另一个密钥。比如,你向银行请求公钥,银行将公钥发给你,你使用公钥对消息加密,那么只有私钥的持有人--银行才能对你的消息解密。与对称加密不同的是,银行不需要将私钥通过网络发送出去,因此安全性大大提高。

image.png

1.远程Server收到Client端用户TopGun的登录请求,Server把自己的公钥发给用户。

2.Client使用这个公钥,将密码进行加密。

3.Client将加密的密码发送给Server端。

4.远程Server用自己的私钥,解密登录密码,然后验证其合法性。

5.若验证结果,给Client相应的响应。

SSH

SSH公钥原理(密钥,秘钥,私钥)(看了还是懵逼啊!)

总结:

对称加密

优点 - 算法简单,加解密容易,效率高,执行快。

缺点 - 相对来说不安全,只有一把钥匙,密文如果被拦截,且密钥被劫持,那么信息很容易被破译。

非对称加密

优点- 安全,即使密文和公钥被拦截,但是由于无法获取到私钥,也就无法破译到密文。

缺点 - 加密算法复杂,安全性依赖算法和密钥, 且加密和解密效率很低。

对称加密和非对称加密的区别

一: 对称加密: 加密解密使用同一个密钥,被黑客拦截不安全

二:非对称加密:公钥加密,私钥解密。公钥可以公开给别人进行加密,私钥永远在自己手里,非常安全,黑客拦截也没用,因为私钥尚未公开。 著名的RSA加密算法就是用的非对称加密。

简单理解:

对称加密: A和B传输数据,使用同一个密钥,不安全

非对称加密: A和B传输数据, A具有自己的公私钥,B具有自己的公私钥。 (公钥是在公网上公开的,任何人都能看见, 私钥自己保留)

A拿着B的公钥+信息数据, 传递给B。 这个时候 , 只有B手里的密钥才能解开。

假设C拦截了A传递的信息,他是解不开的, 因为C没有这个公钥对应的私钥。 所以比较安全。

参考👀:

对称加密和非对称加密详解

对称加密和非对称加密