IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> https加密 -> 正文阅读

[网络协议]https加密

此篇文章仅自己书写过底层代码书写,用于记录学习过程,以便以后复习。
所用到的抓包工具为wireshark。
找一个ip不变的网站,然后用浏览器访问进行抓包分析。
TCP三次握手是前提。以下只说明加密解密过程。
client向server发送随机数+加密算法列表
在这里插入图片描述

在这里插入图片描述
server自己生成私钥,并且从ca机构得到证书,证书中包含了ca的公钥。
并且RSA非对称加密解密,生成数字证书。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在client端,使用ca的pub_k解密数字证书得到s.pub_k,然后用s.pub_k对发送的数据加密(数据有随机数R3,等等)。然后在server端用s.p_k解密。最后就双方使用R1,R2,R3生成密钥。之后就是用生成的密钥进行数据通信。这样就看不到发送的数据具体内容了。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

之后生成的密钥进行数据通信,那么可以看到Application Data已经被加密,看不到了。
在这里插入图片描述
因为服务器的私钥是服务器自己拥有的,所以只有服务器才能解锁公钥加密的数据包。具体加密算法使用非对称RSA算法。
RSA算法涉及欧拉函数以及欧拉降幂。
比如要发送的数据为m(以下表示对m的每个字符加密),那么加密过程如下:
在这里插入图片描述
解释一下:
在这里插入图片描述
是欧拉函数(小于等于n的与n互质的数的个数):
在这里插入图片描述
p1,p2…是n的素因数。
所以很容易得到密钥d。
因为e(私钥)是ca生成的,d(公钥)也是ca生成的,只有授权用户的才能拥有d。
在商量好使用的密钥之前是使用的非对称RSA(私钥需要有公钥解密)。商量之后使用的密钥就采用对称加密,比如AES(双方都通过一个密钥进行加密解密)。
有个有趣的事情:
欧拉降幂定义:
在这里插入图片描述
证明密文解密确实是明文:
在这里插入图片描述
所以ssl加密还是挺有意思的。

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-09-05 11:23:21  更:2021-09-05 11:25:43 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年6日历 -2024/6/27 1:50:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码