本页目录

密码学 I · 对称、公钥与数论基础

对标:Boneh–Shoup A Graduate Course in Applied Cryptography / Katz–Lindell | 前置:toc-02(难度即安全)、数学站数论/代数(群、模运算) 密码学是把复杂度理论的"难"锻造成"安全"的工程。这一页从"安全到底指什么"(可证明安全的定义哲学)讲起,过对称加密、走到公钥革命,落到 RSA/ECC 依赖的数论难题。对有代数底子的你,这一页大半是"群论 + 数论的应用题",但安全定义那部分是全新的思维方式,值得慢读。

1. 安全的定义:从"看起来乱"到可证明

业余者问"这密码强吗",密码学家问"在什么攻击模型下、归约到什么难题、优势有多小"。核心范式:

一次一密(OTP):密钥与明文一样长、真随机、异或——信息论完美保密(Shannon 证明:密文与明文独立,🔗 信息论线)。但密钥太长不实用 ⇒ 现代密码用计算安全(伪随机替代真随机)换实用性。这个"信息论安全 → 计算安全"的退让是整个现代密码学的起点

2. 对称加密与它的工具箱

双方共享密钥 \(k\)

方法论不要自己发明密码原语——用久经审查的标准库(libsodium)。密码学的失败几乎全在误用(重用 nonce、自制协议、忽略认证),不在算法本身。这条工程纪律比任何公式都重要。

3. 公钥革命:不共享秘密也能加密

对称加密的死结:通信前怎么安全地交换密钥? 1976 年 Diffie–Hellman 破局——公钥密码:每人一对公钥(公开)/ 私钥(自留)。

对称加密和公钥加密的钥匙模型对比

图 crypto-01.1对称与公钥密码——同一把密钥适合高速通信,公私钥对解决公开信道上的密钥分发。

Diffie–Hellman 密钥交换【推导级】:公开大素数 \(p\) 与生成元 \(g\)。Alice 选私密 \(a\)、发 \(g^a\bmod p\);Bob 选 \(b\)、发 \(g^b\)。双方各算 $ (g^b)^a = (g^a)^b = g^{ab}\bmod p$ = 共享密钥。窃听者看到 \(g,g^a,g^b\) 却算不出 \(g^{ab}\)——这就是计算 Diffie–Hellman 难题,其硬度依托离散对数难题(DL):知道 \(g^a\) 反求 \(a\) 在合适的群里没有已知高效算法。\(\blacksquare\) 妙处:两人在公开信道上,凭各自的秘密,凭空生成了共享秘密

Diffie-Hellman 密钥交换时序

图 crypto-01.2Diffie-Hellman——Alice 与 Bob 公开交换 g^a、g^b,却各自算出同一个共享秘密 g^{ab}。

4. RSA 与椭圆曲线:数论难题当地基

RSA【推导级】:取两大素数 \(p,q\)\(N=pq\)\(\varphi(N)=(p-1)(q-1)\)。选公钥 \(e\),私钥 \(d\equiv e^{-1}\pmod{\varphi(N)}\)。加密 \(c=m^e\bmod N\),解密 \(m=c^d\bmod N\)正确性靠欧拉定理\(m^{ed} = m^{1+k\varphi(N)}\equiv m\pmod N\)(🔗 数学站数论——费马小定理/欧拉定理直接上岗)。安全靠分解难:知道 \(p,q\) 就能算 \(\varphi\) 进而 \(d\);而大整数分解没有已知多项式算法(NP-中间的疑似居民,toc-02)。

RSA 密钥生成加密解密流程

图 crypto-01.3RSA 流程——密钥生成得到公钥和私钥,加密解密的正确性靠模指数与欧拉定理。

椭圆曲线(ECC):把群从 \((\mathbb Z/p)^*\) 换成椭圆曲线上的点群,离散对数在曲线群上更难同等安全下密钥短得多(256 位 ECC ≈ 3072 位 RSA)。移动端、TLS 现代套件的主力。数学上是"换一个离散对数难的群",密码框架不变——再次印证密码学的模块化:难题可替换,协议骨架不变

5. 练习与要点

例 1(DH 手算) \(p=23,g=5\),Alice \(a=6\)、Bob \(b=15\):算 \(g^a=8\)\(g^b=19\)、共享 \(g^{ab}=2\)——在小数字上亲手跑一遍公钥交换,"凭空造共享秘密"的魔法就不神秘了。

例 2(为什么要认证) 演示比特翻转攻击:CTR 模式下改密文某比特 = 改明文对应比特,无认证则接收方察觉不到——"加密 ≠ 安全,缺了认证就是漏洞"用一次异或说清

例 3(RSA 的脆点不在数学) 教科书 RSA(无填充)有可乘性 \(c_1c_2 = (m_1m_2)^e\) 泄露结构、且确定性加密不 IND-CPA ⇒ 实务必用 OAEP 填充"正确的数学 + 错误的用法 = 不安全"是密码学的永恒教训\(\blacksquare\)


下一页:密码学 II——协议、零知识证明与后量子:从两个人的加密到互不信任的多方,以及量子计算机来了怎么办。