一、密码学范式革命:从对称到非对称
1.1 对称加密的局限性
传统对称加密算法(如AES、DES)采用共享密钥机制,加解密使用相同密钥。虽然计算效率优异(AES-256加密速度可达800MB/s),但在密钥分发环节存在致命缺陷。设想一个分布式系统中有n个节点,采用对称加密需要维护C(n,2)=n(n-1)/2个独立密钥,密钥管理复杂度呈指数级增长。
1.2 非对称加密的突破
1976年Diffie-Hellman密钥交换协议的提出,标志着现代公钥密码学的诞生。非对称加密的核心在于使用数学上相关的密钥对:
公钥(Public Key):可公开分发,用于加密或验证签名
私钥(Private Key):严格保密,用于解密或生成签名
关键特性:
Decrypt(Encrypt(M, PK), SK) = M
Sign(M, SK) → σ, Verify(M, σ, PK) → true/false
二、核心算法数学原理解析
2.1 RSA算法(基于大整数分解难题)
密钥生成:
选择大素数p,q(通常1024-4096位)
计算n=p×q,φ(n)=(p-1)(q-1)
选择e满足1<e<φ(n)且gcd(e,φ(n))=1
计算d ≡ e⁻¹ mod φ(n)
公钥:(e,n),私钥:(d,n)
加密过程:
def rsa_encrypt(m, e, n):
return pow(m, e, n) # 模幂运算
安全性基础:给定n,难以在多项式时间内分解出p和q。目前最优算法GNFS的时间复杂度为:
O\left(exp\left(\left(\sqrt[3]{\frac{64}{9}} + o(1)\right)(\ln n)^{\frac{1}{3}}(\ln \ln n)^{\frac{2}{3}}