https加密原理介绍

原创
2017/05/20 17:34
阅读数 93

首先我们先来了解一下加解算法的两个分类: 1.对称加密:对称加密就是加解密所要使用的密钥是一致的,例如使用公钥进行加密,那么就要使用公钥进行解密,使用私钥进行加密,那么就要使用私钥去解密。

2.非对称加密:和对称加密正好相反,如果使用了公钥进行加密,那么就必须要使用对应的私钥进行解密,如果使用了私钥加密,那么就一定要使用其对应的公钥进行解密。

接着,我们来了解一下什么时候使用私钥加密,什么时候使用公钥加密。

当我们要对一段数据进行加密传输的时候,只想要我指定的接收者能看到里面的内容,所以接收者必须持有私钥,因为私钥只有一把,发送者使用公钥进行加密,接收者使用私钥进行解密,获取发送的数据。

然而,接收者也会对发送过来的数据包进行校验,看看是不是我发过去的,这个时候就必须要我这边是唯一的,所以我这里会使用私钥进行加密签名,而接收者使用对应的公钥进行解密验签,如果能够解密成功,那么说明确实是我这里发过去的。

https访问协议使用的就是对称加密和非对称加密的结合。其实https就相当于http+ssl(数字证书),其中http是对称加密,ssl是非对称加密。那么https是怎么保证数据的安全性的呢?

首先,当客户端发送一个请求到服务端的时候,服务端会向客户端发送一个数字证书,其实这个数字证书就是一个公钥,而对应的私钥由客户端持有,一般来说这种数字证书都是由官方提供的,所有客户端可以通过官方校验这个证书是不是官方认证的,防止是个人伪造的,当我们拿到这个数字证书之后,客户端会使用这个数字证书产生一个随机数,并且用数字证书对这个随机数进行加密。其实这个随机数就是客户端和服务端约定好的对称加密私钥。由于数字证书对应的私钥只有服务端持有,那么当客户端将使用数字证书加密好的随机数发送给服务端的时候,也只能由服务端进行解密。防止了数据被篡改的风险。这个时候服务端解密获取到对应的私钥,接下来客户端和服务端之间的交互就会使用这个只有它们两个知道的随机数进行加解密,和http一样。

展开阅读全文
打赏
0
1 收藏
分享
加载中
更多评论
打赏
0 评论
1 收藏
0
分享
返回顶部
顶部