A. 数学小课堂:一文看懂模运算、群环域
密码学的数学基础听起来吓人,但核心概念并不复杂。这里我们用最直观的方式,为你梳理正文中出现的几个关键数学概念。
模运算(Modular Arithmetic)
模运算就是“取余数”。钟表就是模12的算术:12点之后是1点。在密码学中,我们通常用模一个大质数运算。
- 记作:( a \bmod n ) 表示 ( a ) 除以 ( n ) 的余数。
- 例如:( 17 \bmod 12 = 5 ),因为 ( 17 = 12 \times 1 + 5 )。
- 性质:模运算下加法、乘法都封闭,且满足交换律、结合律、分配律。
凯撒密码其实就是模26加法:( C = (P + k) \bmod 26 )。RSA用模指数运算:( c = m^e \bmod n )。
群(Group)
群是一个集合,加上一个运算,满足:
- 封闭性:任意两个元素运算结果仍在集合中。
- 结合律:( (a b) c = a (b c) )。
- 单位元:存在 ( e ),使得 ( a e = e a = a )。
- 逆元:每个元素 ( a ) 都有 ( a^{-1} ),使得 ( a * a^{-1} = e )。
例如,整数加法群(单位元0,逆元是相反数);模 ( n ) 的剩余类加法群(单位元0,逆元是 ( n-a ))。椭圆曲线上的点也构成一个群。
环(Ring)
环比群多一个运算(通常记作乘法),并满足:
- 加法构成交换群。
- 乘法满足封闭性、结合律,对加法有分配律。
- 乘法单位元不一定存在。
整数集就是环。密码学中常用多项式环、整数模 ( n ) 环等。
域(Field)
域是特殊的环,要求乘法也构成交换群(即非零元素都有乘法逆元)。常见的域:
- 有理数、实数、复数。
- 有限域:元素个数是质数幂。比如模质数 ( p ) 的整数集 ( \mathbb{F}_p ),它的加法和乘法都是模 ( p ) 运算。
AES、椭圆曲线都基于有限域运算。理解有限域,就能理解这些算法的数学根基。
一句话总结:模运算是钟表算术,群是“可逆的运算集合”,环是“能加能乘”,域是“能加能乘还能除”。这些结构是密码学的语言。
B. 密码算法速查表:密钥长度、安全性对比
| 算法类型 | 算法名称 | 推荐密钥长度 | 安全强度(位) | 典型应用 |
|---|---|---|---|---|
| 对称加密 | AES | 128 / 192 / 256 | 128 / 192 / 256 | 数据加密、TLS |
| ChaCha20 | 256 | 256 | 移动端、TLS | |
| 3DES | 168 | 112(实际约80) | 遗留系统(不推荐) | |
| 公钥加密/签名 | RSA | 2048 / 3072 / 4096 | 112 / 128 / 140 | 数字签名、密钥交换 |
| ECC (ECDSA, ECDH) | 224 / 256 / 384 / 521 | 112 / 128 / 192 / 256 | 签名、密钥交换(比特币、TLS) | |
| Ed25519 | 256 | 128 | 现代签名(SSH、TLS) | |
| 哈希函数 | SHA-256 | 256 | 128 | 完整性校验、数字签名 |
| SHA-3 | 256 / 512 | 128 / 256 | 新一代标准 | |
| BLAKE2 | 256 / 512 | 128 / 256 | 高性能替代 |
说明:
- 安全强度表示暴力破解所需的计算量(2的n次方次操作)。目前建议至少128位安全强度。
- 对称加密用128位密钥通常足够,但256位更安全(针对量子计算机)。
- RSA建议至少2048位,且应逐步向ECC迁移。ECDH/ECDSA在相同安全强度下密钥短很多。
- 哈希函数推荐SHA-256或SHA-3,避免MD5和SHA-1。
C. 经典密码机图示
1. 凯撒密码盘(Caesar Cipher Disk)
一种简单的圆盘,外圈固定字母表,内圈可旋转。将内圈字母与外圈对齐,即可实现移位加密。凯撒本人可能用这个工具快速加密军令。
2. 维吉尼亚方阵(Vigenère Square)
一个26×26的表格,第一行是正常字母表,第二行向左移1位,第三行移2位……加密时,用关键词字母确定行,明文字母确定列,交叉点即为密文字母。这个表格曾被欧洲各国使用数百年。
3. Enigma 密码机
Enigma 外形像一台打字机,内部有转子、反射器、接线板。每按下一个键,电流通过一系列转子,点亮对应的灯。转子会转动,改变后续映射。它是二战时德军的核心加密设备。破译它的故事在本书第1章已详述。
图示示意(纸质书可配实物照片或手绘图):
- 凯撒盘:两个同心圆,外圆固定字母,内圆可旋转。
- 维吉尼亚方阵:画一个26×26网格,行和列标字母,单元格填密文字母。
- Enigma:外观如打字机,顶部一排灯,键盘下方有转子仓。
D. 练习题与思考(含提示)
第1章 密码学的奇妙世界
凯撒密码中,如果加密后得到
WKLV LV D WHVW,求密钥和明文。
提示:尝试几种移位,寻找有意义的单词。简述Enigma被破译的关键因素。
提示:操作员失误、重复的密钥、波兰人的数学突破、图灵的机器等。
第2章 核心概念速览
柯克霍夫原则为什么重要?请用一句话概括。
答案:安全性不应依赖算法的保密,而应依赖密钥的保密。列举身边三个用到对称加密的例子。
提示:Wi-Fi、硬盘加密、HTTPS(会话密钥部分)等。
第3章 换字游戏:替换密码
用凯撒密码加密
CRYPTOGRAPHY(密钥为5)。
答案:HWDUYTLWFUMD(手动或编程验证)。一段英文密文,字母频率统计显示:E出现最多,其次是T。如果这是单表替换,你应该先猜测哪两个字母?
提示:E和T。
第4章 换位游戏:位置的艺术
用两行栅栏密码加密
HELLOWORLD。
答案:HLOOLELWRD。矩阵换位中,如果密钥是
3 1 4 2,明文WEAREDISCOVERED,请写出加密结果。
提示:先填入4列矩阵,再按密钥顺序读列。
第5章 对称加密
AES-256的密钥长度是多少位?它的安全强度大约多少?
答案:256位,约256位安全强度。为什么ECB模式不安全?举例说明。
提示:相同明文块加密成相同密文块,泄露模式(如图片轮廓)。
第6章 非对称加密
RSA的安全性基于什么数学难题?
答案:大整数分解。为什么比特币选择椭圆曲线(ECC)而不是RSA?
提示:密钥短、计算快、安全性相当。
第7章 哈希函数
什么是哈希碰撞?为什么它危险?
提示:两个不同输入产生相同哈希值,可用来伪造签名。网站存储用户密码时,为什么要加盐?
提示:防止彩虹表攻击。
第8章 数字签名
数字签名如何实现不可否认性?
提示:私钥只有签名者持有,公钥可验证。数字证书中包含了哪些关键信息?
提示:公钥、主体、有效期、CA签名等。
第9章 你每天都在用的密码协议
TLS握手的目的是什么?简述三个核心目标。
答案:协商加密算法、身份认证、生成会话密钥。VPN如何隐藏真实IP?
提示:所有流量经过VPN服务器,服务器代替你访问目标网站。
第10章 密码学塑造的新世界
区块链为何不可篡改?
提示:哈希链 + 工作量证明。零知识证明“零知识”的含义是什么?
答案:验证者除了证明有效外,学不到任何额外信息。
第11章 量子计算的挑战
为什么Shor算法能破解RSA?
提示:它能在多项式时间内求解周期,从而分解大数。列举一种后量子密码候选方案。
提示:格密码、编码密码、多变量密码等。
第12章 隐私增强技术
差分隐私如何保护个体隐私?
提示:在查询结果中添加噪声,使个体数据不可区分。联邦学习的核心理念是什么?
答案:数据不动,模型动——模型在本地训练,只上传更新。
第13章 密码工程:安全开发最佳实践
为什么不能自己发明加密算法?
提示:容易引入未知漏洞,已被历史反复证明。什么是侧信道攻击?列举一种。
提示:利用功耗、时间、电磁泄露等物理信息推断密钥。
第14章 密码学的社会博弈
苹果与FBI案例中,苹果拒绝解锁手机的理由是什么?
提示:后门会削弱所有人安全,且会被滥用。密码学家有哪些伦理责任?
提示:透明、负责任披露、保护用户、不参与作恶等。
思考题提示:本书的许多问题没有唯一答案,鼓励读者在理解原理的基础上,结合现实情境,形成自己的判断。