桂电大一的密码学学习思考:关于密码学在https里面的具体底层应用

1618 字
8 分钟
桂电大一的密码学学习思考:关于密码学在https里面的具体底层应用

桂电大一的密码学学习思考:关于密码学在https里面的具体底层应用#

对称加密、非对称加密、数字签名、CA 证书、密码协议……密码学概念满天飞,怎么串起来?——HTTPS 就是最好的教科书。

各位老师好,我现在是一名桂电大一新生,25 高考的,就读于密码学专业。前段时间研究 SIS 构造测的时候,入门了单向函数和陷门生成算法,以此牵扯出了 CA 证书和数字签名等等内容。因为这块内容比较系统,我自己就借助了经典的 https 加密进行学习,在此想要分享一下自己的学习经历。

前言:为什么借 HTTPS#

如果是大部分入门密码学的人,看到诸如对称、非对称加密、密钥管理与分发、数字签名、CA 证书、密码协议等等很多概念肯定都会一头雾水。因为密码学是一个高度体系化的领域,往往是好不容易弄清了一个概念,却发现到了实际情况还要去学其他很多概念,并且还非得弄清楚不同概念之间的联系(别问我为什么知道,因为自己其实已经被这个问题困扰很久了,直到最近才勉强理清一点点)。所以此次想要借助 https 辅助一下,看看能不能稍微融会贯通一点。

HTTPS 是什么#

对于 https,各位肯定很熟悉,也就是浏览器里面最前面的那几个字符,最典型的就是 https://www+域名 这种。而 https 也就是所谓的密码学协议,全称 Hypertext Transfer Protocol Secure。但是至于这个协议如何起作用的,这里面涉及的东西就比较多了。由于 https 主管通信侧,所以核心问题是如何在互联网这个开放性的虚拟世界里面,建立两个人之间的可信通信信道。以下是具体过程。

第一步:TCP 三次握手#

当我们在浏览器输入并回车后,浏览器会自动把输入解析成对应 ip 地址,也就是对应网页服务器所在的 ip。此时本地设备会先通过庞大的路由节点,与 ip 建立连接,也就是找到对方的位置。这个过程俗称 TCP 三次握手,为的是先确保能够建立通信链路(这个过程和密码学关系其实不大)。

第二步:TLS 身份验证#

建立通信链路之后,要怎么确保对方一定是正确的服务器呢?这就是 TLS 加密的开端,需要用数字签名 + CA 证书 + 哈希函数(通常为 SHA-384)进行操作。

  1. 首先,服务器会把自己的公钥、域名等信息,提前拿去给 CA 机构。CA 机构用自己的私钥对这些信息进行签名,生成一个数字证书。所以,服务器的 CA 证书里包含了自己的公钥,以及 CA 对这份公钥的签名。
  2. 当本地设备访问网站时,服务器会把自己的 CA 证书发送过来。
  3. 本地设备(浏览器或操作系统)内置了信任的 CA 根证书(即 CA 的公钥),它会用 CA 的公钥去解密证书里的数字签名,得到一份消息摘要(Hash 值 1)。同时,本地设备自己也会用同样的哈希函数对证书内容重新计算,得到另一份消息摘要(Hash 值 2)。
  4. 如果 Hash 值 1 和 Hash 值 2 完全一致,就说明证书内容没有被篡改,且确实是由那个权威 CA 签发的。
  5. 最后,再检查证书里的域名和自己正在访问的域名是否一致,就能确认对方的身份了。

第三步:协商对称密钥#

确认对方身份无误后,接下来要做的就是生成对称密钥了(因为高效传输海量信息一般用对称加密,而对称加密的密钥必须双方共享)。至于如何生成私钥,就是要用非对称加密了:

  • 这里一般是用 ECC,也就是椭圆曲线离散对数困难型问题为基础,用 ECDHE 协议来协商出共享秘密。
  • 具体来说,AES 的会话密钥,是基于这个共享秘密、加上客户端和服务器的随机数,通过 HKDF 等等密钥派生函数进一步生成的。
  • 当然此处私钥都是在本地,用于后续的加密。

到这里 TLS 加密就结束了。

第四步:AES 加密传输#

这个时候已经有了会话密钥了,然后就可以进行加密了。一般来说,明文数据都是在物理设备本地进行相关的加密(也就是在操作系统的 sys 程序里面),然后经过网卡包装,加上设备 ip、mac 等等信息生成数据包,最后通过已经建立好的通道发送出去。而加密的过程就是用对称加密,一般是 AES——安全性高而且效率也高。

一般来说,此时发送出去的数据为密文,就算被劫持也没有大碍,因为第三方既没有你的本地私钥,也没有你的具体加密手段。但是数据到达服务器之后,就会被自动解密成明文,存储在服务器的后端数据库里面——因为之前在本地生成的私钥是本地和服务器共享的,所以说服务器是完全可以解密的。此时想要从 web 的后端数据库获得明文,就是另外一码事了。

此处说个题外话:如果直接 ping 任意网页的话,是直接向对应服务器发送 icmp 数据包,是不涉及 TCP 三次握手和 TLS 加密的。

总之,以上只是我个人关于密码学在 https 当中实际应用的一些思考,内容深度比较浅,同时也难免有细节有误的地方,欢迎各位老师积极进行指正,同时有好的建议也欢迎指出!我将不吝感激!


原文发布于知乎(2026-05-18),收录于《桂电密码学本科生的密码学学习笔记》系列,作者:亦梦。

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

桂电大一的密码学学习思考:关于密码学在https里面的具体底层应用
https://yi-meng.top/posts/crypto-in-https/
作者
亦梦
发布于
2026-05-18
许可协议
CC BY-NC-SA 4.0
相关文章智能推荐
1
桂电大一的密码学学习思考:关于后量子密码学里面的SIS问题
密码学从格的离散点集讲清 SIS:Z-模(阿贝尔群+整数环)vs 实数域、mod 运算的周期性、方程解空间=格基空间,以及"坏基→好基"的格基约化动机。
2
桂电准大二的密码学学习思考:关于密码学底层概念,计算安全与伪随机性
密码学Katz《密码学原理与协议》底层概念梳理:完美保密 vs 计算安全(PPT 多项式时间)、香农定理与密钥长度、PRG 伪随机生成器、语义安全与不可区分性实验。
3
桂电密码学大一 | 入学一年来的心路历程 | 繁星与新生
杂谈入学一年的总结:从半迷茫、七次情绪崩溃,到网站、文章、B站视频的输出驱动——"发出去的声音一定会传来回响"。三年之约:成为想成为的自己。
4
桂电大一的数学学习思考:从抽象代数(李群,李代数)到微分几何(流形,联络,曲率)
数学从纯几何的流形出发,经人为引入联络+内积获得代数结构,发现与李群李代数等价;协变导数与曲率因此可用李代数解释——无穷小旋转恰好落在李代数切空间,逻辑闭环。
5
桂电大一的数学学习分享:由空间解析几何恒等式本质来自SO(3)上的双不变度量延伸的相关代数与几何关系思考
数学从"空间解析几何恒等式本质来自 SO(3) 上的双不变度量"出发:矩阵作为元素→旋转群 SO(3),同时是几何流形;双不变度量=不依赖参照系的测量规则;李代数=单位元处切空间(反对称矩阵),李括号恰好等于叉积。
随机文章随机推荐
Profile Image of the Author
亦梦
桂电密码学准大二 · 反黑盒 · 输出驱动 · 重度二次元
公告
这里是亦梦的输出阵地 🍀 反黑盒、推导到底层逻辑:数学(线代→泛函→抽代→微分几何)· 密码学(格密码/Katz)· 逆向/CTF · 成长杂谈。从液态内耗到气态建造,发出去的声音一定有回响。
分类
标签
最新动态
站点统计
文章
11
分类
3
标签
39
总字数
21,539
运行时长
0
最后活动
0 天前
站点信息
构建平台
Local
博客版本
Firefly v6.15.5
文章许可
CC BY-NC-SA 4.0