目 录第1章 古典密码学 11.1 几个简单的密码体制 11.1.1 移位密码 21.1.2 代换密码 51.1.3 仿射密码 61.1.4 维吉尼亚密码 91.1.5 希尔密码 101.1.6 置换密码 141.1.7 流密码 161.2 密码分析 191.2.1 仿射密码的密码分析 211.2.2 代换密码的密码分析 221.2.3 维吉尼亚密码的密码分析 241.2.4 希尔密码的密码分析 271.2.5 LFSR流密码的密码分析 281.3 注释与参考文献 29习题 30第2章 Shannon理论 362.1 引言 362.2 概率论基础 372.3 完善保密性 382.4 熵 422.4.1 Huffman编码 432.5 熵的性质 462.6 伪密钥和唯一解距离 482.7 乘积密码体制 52习题 54第3章 分组密码与高级加密标准 573.1 引言 573.2 代换-置换网络 583.3 线性密码分析 613.3.1 堆积引理 613.3.2 S盒的线性逼近 633.3.3 SPN的线性密码分析 663.4 差分密码分析 693.5 数据加密标准 743.5.1 DES的描述 743.5.2 DES的分析 783.6 高级加密标准 793.6.1 AES的描述 803.6.2 AES的分析 843.7 工作模式 843.8 注释与参考文献 87习题 88第4章 Hash函数 924.1 Hash函数与数据完整性 924.2 Hash函数的安全性 934.2.1 随机谕示模型 944.2.2 随机谕示模型中的算法 954.2.3 安全性准则的比较 984.3 迭代Hash函数 1004.3.1 Merkle-Damg?rd 结构 1014.3.2 安全Hash算法 1064.4 消息认证码 1084.4.1 嵌套MAC和HMAC 1094.4.2 CBC-MAC 1114.5 无条件安全消息认证码 1134.5.1 强泛Hash函数族 1154.5.2 欺骗概率的优化 1174.6 注释与参考文献 119习题 120第5章 RSA密码体制和整数因子分解 1265.1 公钥密码学简介 1265.2 更多的数论知识 1275.2.1 Euclidean算法 1275.2.2 中国剩余定理 1315.2.3 其他有用的事实 1335.3 RSA密码体制 1355.3.1 实现RSA 1365.4 素性检测 1395.4.1 Legendre和Jacobi符号 1405.4.2 Solovay-Strassen算法 1425.4.3 Miller-Rabin算法 1465.5 模n的平方根 1475.6 分解因子算法 1485.6.1 Pollard p?1算法 1485.6.2 Pollard ?算法 1505.6.3 Dixon的随机平方算法 1525.6.4 实际中的分解因子算法 1565.7 对RSA的其他攻击 1575.7.1 计算?(n) 1575.7.2 解密指数 1585.7.3 Wiener的低解密指数攻击 1625.8 Rabin密码体制 1655.8.1 Rabin密码体制的安全性 1675.9 RSA的语义安全性 1685.9.1 与明文比特相关的部分信息 1695.9.2 最优非对称加密填充 1715.10 注释与参考文献 176习题 177第6章 公钥密码学和离散对数 1846.1 ElGamal密码体制 1846.2 离散对数问题的算法 1866.2.1 Shanks算法 1866.2.2 Pollard ?离散对数算法 1886.2.3 Pohlig-Hellman算法 1906.2.4 指数演算法 1936.3 通用算法的复杂度下界 1946.4 有限域 1976.5 椭圆曲线 2016.5.1 实数上的椭圆曲线 2016.5.2 模素数的椭圆曲线 2036.5.3 椭圆曲线的性质 2066.5.4 点压缩与ECIES 2066.5.5 计算椭圆曲线上的乘积 2086.6 实际中的离散对数算法 2106.7 ElGamal体制的安全性 2116.7.1 离散对数的比特安全性 2116.7.2 ElGamal体制的语义安全性 2146.7.3 Diffie-Hellman问题 2156.8 注释与参考文献 216习题 217第7章 签名方案 2227.1 引言 2227.2 签名方案的安全性需求 2247.2.1 签名和Hash函数 2257.3 ElGamal签名方案 2267.3.1 ElGamal签名方案的安全性 2287.4 ElGamal签名方案的变形 2307.4.1 Schnorr签名方案 2307.4.2 数字签名算法(DSA) 2327.4.3 椭圆曲线DSA 2347.5 可证明安全的签名方案 2357.5.1 一次签名 2357.5.2 全域Hash 2387.6 不可否认的签名 2417.7 fail-stop签名 2457.8 注释与参考文献 248习题 249第8章 伪随机数的生成 2528.1 引言与示例 2528.2 概率分布的不可区分性 2558.2.1 下一比特预测器 2578.3 Blum-Blum-Shub生成器 2628.3.1 BBS生成器的安全性 2648.4 概率加密 2688.5 注释与参考文献 272习题 272第9章 身份识别方案与实体认证 2759.1 引言 2759.2 对称密钥环境下的挑战-响应方案 2779.2.1 攻击模型和敌手目标 2819.2.2 交互认证 2829.3 公钥环境下的挑战-响应方案 2849.3.1 证书 2859.3.2 公钥身份识别方案 2859.4 Schnorr身份识别方案 2879.4.1 Schnorr身份识别方案的安全性 2909.5 Okamoto身份识别方案 2939.6 Guillou-Quisquater身份识别方案 2969.6.1 基于身份的身份识别方案 2989.7 注释与参考文献 299习题 299第10章 密钥分配 30310.1 引言 30310.2 Diffie-Hellman密钥预分配 30610.3 无条件安全的密钥预分配 30710.3.1 Blom密钥预分配方案 30710.4 密钥分配模式 31310.4.1 Fiat-Naor密钥分配模式 31510.4.2 Mitchell-Piper密钥分配模式 31610.5 会话密钥分配方案 31910.5.1 Needham-Schroeder方案 32010.5.2 针对NS方案的Denning-Sacco攻击 32110.5.3 Kerberos 32110.5.4 Bellare-Rogaway方案 32410.6 注释与参考文献 326习题 327第11章 密钥协商方案 33011.1 引言 33011.2 Diffie-Hellman密钥协商 33011.2.1 端-端密钥协商方案 33211.2.2 STS的安全性 33211.2.3 已知会话密钥攻击 33511.3 MTI 密钥协商方案 33611.3.1 关于MTI/A0的已知会话密钥攻击 33911.4 使用自认证密钥的密钥协商 34111.5 加密密钥交换 34411.6 会议密钥协商方案 34611.7 注释与参考文献 348习题 349第12章 公开密钥基础设施 35112.1 引言:PKI简介 35112.1.1 一个实际协议:安全套接层SSL 35312.2 证书 35412.2.1 证书生命周期管理 35512.3 信任模型 35612.3.1 严格层次模型 35612.3.2 网络化PKI模型 35712.3.3 Web浏览器模型 35912.3.4 Pretty Good Privacy(PGP) 35912.4 PKI的未来 36112.4.1 PKI的替代方案 36112.5 基于身份的密码体制 36212.5.1 基于身份的Cock加密方案 36312.6 注释与参考文献 367习题 368第13章 秘密共享方案 37013.1 引言:Shamir门限方案 37013.1.1 简化的(t, t)门限方案 37313.2 访问结构和一般的秘密共享 37413.2.1 单调电路构造 37513.2.2 正式定义 37913.3 信息率和高效方案的构造 38213.3.1 向量空间构造 38313.3.2 信息率上界 38913.3.3 分解构造 39213.4 注释与参考文献 395习题 396第14章 组播安全和版权保护 39814.1 组播安全简介 39814.2 广播加密 39814.2.1 利用Ramp方案的一种改进 40614.3 组播密钥重建 40914.3.1 “黑名单”方案 41014.3.2 Naor-Pinkas 密钥重建方案 41214.3.3 逻辑密钥层次体系方案 41414.4 版权保护 41614.4.1 指纹技术 41614.4.2 可识别父码的性质 41814.4.3 2-IPP码 41914.5 追踪非法分发的密钥 42214.6 注释与参考文献 426习题 426进一步阅读 430参考文献 433