HTTPS协议及密码学的简单学习

HTTPS协议了解

https协议是明文传输的,因此很容易被截取和解析,泄漏个人数据。https协议是在http和tcp之间多添加了一层,进行身份验证和数据加密。
HTTPS和HTTP协议相比提供了:

  • 数据完整性:内容传输经过完整性校验
  • 数据隐私性:内容经过对称加密,每个连接生成一个唯一的加密密钥
  • 身份认证:第三方无法伪造服务端(客户端)身份

密码学基础

明文:能直接代表原文含义的信息

​ 密文:经过加密处理之后,隐藏原文含义的信息

​ 加密:将明文转换成密文的实施过程

​ 解密:将密文转换成明文的实施过程

​ 密钥:控制加密或解密过程的可变参数,分为加密密钥和解密密钥
在这里插入图片描述

名词

明文:
明文指的是未被加密过的原始数据。(我们接触过的socket,ftp代码都是明文)
密文:
明文被某种加密算法加密之后,会变成密文,从而确保原始数据的安全。密文也可以被解密,得到原始的明文。
密钥:
密钥是一种参数,它是在明文转换为密文或将密文转换为明文的算法中输入的参数。密钥分为对称密钥与非对称密钥,分别应用在对称加密和非对称加密上。

加密方式

对称

对称加密又叫做私钥加密,即信息的发送方和接收方使用同一个密钥去加密和解密数据。对称加密的特点是算法公开、加密和解密速度快,适合于对大数据量进行加密,常见的对称加密算法有DES、3DES、TDEA、Blowfish、RC5和IDEA。
其加密过程如下:明文 + 加密算法 + 私钥 => 密文
解密过程如下: 密文 + 解密算法 + 私钥 => 明文
简单说对称加密和解密用同样的方式。

非对称

非对称加密也叫做公钥加密。非对称加密与对称加密相比,其安全性更好。对称加密的通信双方使用相同的密钥,如果一方的密钥遭泄露,那么整个通信就会被破解。而非对称加密使用一对密钥,即公钥和私钥,且二者成对出现。私钥被自己保存,不能对外泄露。公钥指的是公共的密钥,任何人都可以获得该密钥。用公钥或私钥中的任何一个进行加密,用另一个进行解密。
被公钥加密过的密文只能被私钥解密,过程如下:
明文 + 加密算法 + 公钥 => 密文, 密文 + 解密算法 + 私钥 => 明文
被私钥加密过的密文只能被公钥解密,过程如下:
明文 + 加密算法 + 私钥 => 密文, 密文 + 解密算法 + 公钥 => 明文

由于加密和解密使用了两个不同的密钥,这就是非对称加密“非对称”的原因。
非对称加密中使用的主要算法有:RSA、Elgamal、Rabin、D-H、ECC(椭圆曲线加密算法)等

哈希值

哈希值是由哈希函数从一个给定的数据计算出来的。哈希函数H和数据v满足如下要求:

1、需要有一个函数(通常是等号)来判断v1和v2是否相等。这里的相等是指逻辑上的。譬如说你实现一个分数的struct,那么只要他们约分后的结果一样,那么这两个分数就是相等的,尽管他们的分子和分母这些数据可能不相等。
2、对于v1==v2的情况,必须要有H(v1)==H(v2)。但是并没有要求在不同的时间里,哈希函数一定要给出一样的结果。

当你需要用哈希值来做不同的事情的时候,譬如说加密,譬如说做哈希表,对于需求或者自然所规定的不同的数据集,你要选择不同的哈希函数,才能起到最好的效果。
通过一个固定的算法,给内容一个固定的标签,并尽可能的保证在内容变动之后,标签值也跟着改变

猜你喜欢

转载自blog.csdn.net/weixin_45824920/article/details/115140978
今日推荐