Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

第 3 题:讲解一下https对称加密和非对称加密。 #3

Open
airuikun opened this issue Apr 8, 2019 · 2 comments
Open

第 3 题:讲解一下https对称加密和非对称加密。 #3

airuikun opened this issue Apr 8, 2019 · 2 comments

Comments

@airuikun
Copy link
Owner

airuikun commented Apr 8, 2019

对称加密:

发送方和接收方需要持有同一把密钥,发送消息和接收消息均使用该密钥。相对于非对称加密,对称加密具有更高的加解密速度,但双方都需要事先知道密钥,密钥在传输过程中可能会被窃取,因此安全性没有非对称加密高。

非对称加密:

接收方在发送消息前需要事先生成公钥和私钥,然后将公钥发送给发送方。发送放收到公钥后,将待发送数据用公钥加密,发送给接收方。接收到收到数据后,用私钥解密。
在这个过程中,公钥负责加密,私钥负责解密,数据在传输过程中即使被截获,攻击者由于没有私钥,因此也无法破解。
非对称加密算法的加解密速度低于对称加密算法,但是安全性更高。

几个名词要理清
  • RSA:非对称加密
  • AES:对称加密 生成一个随机字符串key 只有客户端和服务端有 他们两个通过这个key对数据加密和传输跟解密 这一个统称对称加密
  • CA:权威认证机构 服务器在建站的时候 去CA认证机构认证 得到对应的数字签名 相当于身份证号 客户端每次安装浏览器的时候 都会下载最新的CA列表 这个列表有对应的数字签名和服务器IP一一对应的列表 这就是为什么我们自己搭建的localhost没法发https的原因 因为没法进行CA认证
  • 数字证书:包含了数字签名跟RSA公钥
  • 数字签名:保证数字证书一定是服务器传给客户端的 相当于服务器的身份证ID
  • 对称密钥: 对数据进行加密的key
  • 非对称密钥: (k1, k2) k1加密的数据 只有k2能解开 k1位非对称公钥 k2为非对称私钥
  • 非对称公钥:RSA公钥 k1加密的数据 只有k2能解开
  • 非对称私钥:RSA私钥 k1加密的数据 只有k2能解开
@zoubingwu
Copy link

RSA 是一种广泛使用的非对称加密算法,严格来说并不等同于非对称加密,同样的对称加密算法除了 AES ,还有 DES,3DES 等等。

@leecin
Copy link

leecin commented May 22, 2019

非对称加密 和 对称加密 的加解密速度体现在哪呢?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants