Skip to content

Lecture 10: Cryptography

MIT 6.1200J Mathematics for Computer Science, Spring 2024


1. 密码学基础概念

密码学cryptography):保护信息的艺术与科学。核心目标:加密(encrypt)消息,使得只有指定接收方能解密(decrypt)。

角色约定:

  • Alice:发送方
  • Bob:接收方
  • Eve:窃听者(eavesdropper),能看到所有传输内容

密码方案cryptographic scheme)= 加密算法 + 解密算法。


2. 历史演进(概览)

2.1 Caesar 密码 → Caesar 移位

  • Caesar 密码: 每个字母固定向后移 3 位(A-Z 视为 1-26,加 3(mod26))。"Security by Obscurity",已知方案即可破解。
  • Caesar 移位: 引入秘密密钥 k,加密 +k(mod26),解密 k(mod26)。但密钥空间仅 26,暴力破解brute force attack)可轻松穷举。

2.2 代换密码 (Substitution Cipher)

密钥是一张字母映射表(26! 种可能),穷举不可行。 但可被频率分析frequency analysis)破解:高频密文字母对应高频明文字母(如英文中的 E)。

2.3 德国 Enigma 机

机械式变位设备,约 3×10114 种配置。"Security by Hubris"——设计者自认无法破解,但盟军仍将其攻破,关键利用了已知明文攻击known plaintext attack,如固定格式的气象报文)。

2.4 一次性密码本 (One-Time Pad)

将消息视为大整数 m0m<n),加密:enc(m,k)=(m+k)remn,解密:m=(enck)remn

优点: k 均匀随机时,密文完全均匀随机,信息零泄露(information-theoretically secure)。

致命缺点——密钥不可复用:

  • 已知明密文对 可还原 k(已知明文攻击)。
  • 两条密文之差 $= $ 两条明文之差(模 n),信息泄露。

根本矛盾: 安全地传送新密钥,本身就需要一个已有的安全信道——循环依赖。


3. Diffie-Hellman 密钥交换

目标: Alice 和 Bob 在公开信道上协商出共同秘密 k,Eve 无法得知。

依赖的困难问题: 离散对数问题(discrete logarithm problem)——已知 ccamodn,求 a 计算上不可行(n 为大质数时)。

协议:

  1. 公开大质数 n 和随机基 c1<c<n1);
  2. Alice 选随机私钥 a,计算并发送 camodn
  3. Bob 选随机私钥 b,计算并发送 cbmodn
  4. Alice 计算 (cb)amodn=cabmodn
  5. Bob 计算 (ca)bmodn=cabmodn
  6. 共同秘密 =cabmodn

Eve 知道 camodncbmodn,但无法从中高效推出 cabmodn(需解离散对数)。

实现细节: 计算 camodna 有数百位)使用快速幂repeated squaring),仅需 O(loga) 次模乘运算。


4. RSA 公钥密码系统

背景: Rivest、Shamir、Adleman 三人于 MIT 发明,2002 年获图灵奖。现代互联网安全基石。

公钥密码public-key cryptosystem)的惊人之处:加密密钥可以公开,但只有持有私钥的人才能解密。

4.1 密钥生成

  1. 选取两个大质数 p,q(保密),令 n=pq(公开);
  2. 选取与 (p1)(q1) 互质的整数 e(公开);
  3. 用 Pulverizer 计算 d(p1)(q1)e1(保密),即 ed(p1)(q1)1
  4. 公钥 kp=(n,e)私钥 ks=(n,d)

4.2 加解密

加密:E(m,kp)=memodn$$$$解密:D(c,ks)=cdmodn

4.3 正确性证明

需证 mednm

ed=1+t(p1)(q1)。对模 p(设 gcd(m,p)=1):

med=m1+t(p1)(q1)=m(mp1)t(q1)pm1t(q1)pm

(最后一步用了 Fermat 小定理:mp1p1

同理 medqm,故 p(medm)q(medm)。 因 gcd(p,q)=1,由 CRT 得 pq(medm),即 mednm

4.4 安全性

  • 公开: n=pqe
  • 保密: pqd
  • 安全假设: 分解大整数 n=pq 计算上不可行(大整数分解困难假设)。
  • 额外假设:RSA 假设(计算 e 次方根模 pq 困难)和扩展黎曼假设(ERH)。
  • 量子计算机可高效分解大整数(Shor 算法),RSA 届时将不安全。

4.5 寻找大质数

  • Miller-Rabin 算法高效检验一个数是否为质数。
  • 质数定理Prime Number Theorem):π(k)k/lnk,即在 k=10300 附近,约每 ln(10300)700 个数中有一个质数,随机试验期望约 700 次即可找到。

5. 中国剩余定理 (Chinese Remainder Theorem, CRT)

Theorem (CRT).p,q 互质,a,bZ。则在模 pq 意义下,方程组

xpa,xqb

存在唯一解 x0x<pq)。

构造解(存在性):

定义:

  • p1pq 的逆元;eq=p1p,则 eqp0eqq1
  • q1qp 的逆元;ep=q1q,则 epp1epq0
  • x=aep+beq

验证:

xpa1+b0=a,xqa0+b1=b

唯一性:

x,x 均满足,令 y=xx。则 pyqy。 由 gcd(p,q)=1,用 Bézout 恒等式可推出 pqy,即 xpqx

Example. 0x<55x54x117。 满足 x117 的数:7,18,29,40,51;其中 2954,故 x=29


6. 关键术语速查

英文中文
Cryptography密码学
Encrypt / Decrypt加密 / 解密
Eavesdropper窃听者
Cryptographic scheme密码方案
Brute force attack暴力破解
Frequency analysis频率分析
Known plaintext attack已知明文攻击
One-time pad一次性密码本
Discrete logarithm problem离散对数问题
Diffie-Hellman key exchangeDiffie-Hellman 密钥交换
Repeated squaring快速幂 / 反复平方法
Public-key cryptosystem公钥密码系统
RSARSA 加密算法
Public key / Secret key公钥 / 私钥
Prime Number Theorem质数定理
Miller-RabinMiller-Rabin 素性检验
Chinese Remainder Theorem (CRT)中国剩余定理