前言
第1章 古典密码
1.1 源远流长的保密通信
1.1.1 “隐符”“隐书”与“密码棒”
1.1.2 加密与解密
1.2 置换密码及其破解方法
1.2.1 置换密码的数学描述
1.2.2 置换密码的蛮力破解
1.3 代替密码及其破解方法
1.3.1 凯撒密码
1.3.2 代替密码的数学描述
1.3.3 代替密码的频率破解
1.3.4 汉字加/解密方法—字典密码
1.4 Vigenere密码及其破解方法
1.4.1 Vigenere密码
1.4.2 多表代替密码的数学描述
1.4.3 Vigenere密码的分析破解
1.5 二战中的秘密武器—转轮密码机
1.5.1 转轮密码机设计原理
1.5.2 恩尼格玛密码机
1.5.3 紫色密码机
1.6 香农保密通信理论概要
1.6.1 完全保密的密码体制
1.6.2 计算安全的密码体制
1.7 相关的数学概念和算法
1.7.1 同余
1.7.2 代数结构
1.7.3 欧几里得算法
应用示例:中途岛战役中选择明文攻击
小结
习题
参考文献
第2章 序列密码
2.1 序列密码的起源
2.1.1 产生与明文一样长的密钥
2.1.2 密钥序列的伪随机化
2.2 线性反馈移位寄存器(LFSR)
2.2.1 LFSR的工作原理
2.2.2 n-LFSR的有理表示
2.2.3 *退化的LFSR情况
2.3 m序列的伪随机性
2.3.1 随机性和伪随机性的特性指标
2.3.2 m序列的伪随机性证明
2.4 对偶移位寄存器(DSR)
2.4.1 DSR的性质
2.4.2 DSR的状态更新过程
2.5 LFSR序列的线性综合解和非线性综合
2.5.1 Berlekamp-Massey算法
2.5.2 LFSR输出序列的非线性综合
2.5.3 针对序列密码的攻击
2.6 序列密码的著名算法
2.6.1 A5算法
2.6.2 RC4算法
2.6.3 *NESSIE和eSTREAM项目中的序列密码
2.6.4 我国序列密码商密标准ZUC算法
2.7 KG的统计测试方法
2.7.1 一般统计测试原理
2.7.2 常见的统计测试
应用示例:移动通信中的序列密码
小结
习题
参考文献
第3章 分组密码
3.1 分组密码概述
3.1.1 分组密码与序列密码的区别
3.1.2 香农提出的“扩散”和“混淆”准则
3.2 国际上第一个密码标准DES
3.2.1 Feistel结构
3.2.2 数据加密标准(DES)
3.2.3 DES的破译与安全性增强措施
3.3 IDEA和MISTY算法
3.3.1 LM结构和IDEA
3.3.2 MISTY结构和MISTY1算法
3.4 高级加密标准(AES)
3.4.1 NIST征集高级加密标准
3.4.2 AES算法
3.4.3 AES的优势
3.5 我国商用密码标准SM
3.5.1 我国分组算法标准SM
3.5.2 SM4的特点与优势
3.6 轻量级分组密码算法的兴起
3.6.1 更“节俭”的应用需求
3.6.2 标准算法PRESENT
3.7 分组密码的工作模式
3.7.1 电码本(ECB)模式
3.7.2 密码分组链接(CBC)模式
3.7.3 输出反馈(OFB)模式
3.7.4 密文反馈(CFB)模式
3.7.5 计数器(CTR)模式
应用示例:分组密码算法在云端存储中的应用
小结
习题
参考文献
第4章 Hash函数
4.1 消息的完整性及可靠性
4.1.1 消息认证的现实需求
4.1.2 电子文档的指纹生成器—Hash函数
4.2 Hash函数的设计与实现
4.2.1 Hash函数设计方法
4.2.2 Hash函数的一般实现过程
4.3 Hash算法标准的诞生与演变
4.3.1 早期的Hash算法标准
4.3.2 摘要长度的不断扩展
4.3.3 针对MD5/SHA-1等的攻击
4.3.4 针对MD结构的攻击方法
4.4 Hash算法的新标准
4.4.1 NIST的SHA-
4.4.2 我国商密标准SM
4.4.3 针对新标准算法的攻击
4.5 Hash函数的广泛应用
4.5.1 消息认证码(MAC)
4.5.2 认证加密
4.5.3 其他应用
应用示例:计算机软件的完整性保护
小结
习题
参考文献
第5章 公钥密码
5.1 公钥密码的诞生
5.1.1 解决对称密钥建立的问题
5.1.2 密码学的“新方向”
5.2 早期提出的公钥加密算法
5.2.1 基于背包问题的公钥加密算法
5.2.2 基于大整数分解的公钥加密算法
5.2.3 RSA选择多大的数才安全
5.3 基于离散对数问题的公钥加密算法
5.3.1 ElGamal提出的解决方案
5.3.2 椭圆曲线的“加盟”
5.3.3 离散对数的破解之道
5.4 公钥密码中的数字签名
5.4.1 认证技术的主要工具
5.4.2 数字签名经典算法
5.4.3 数字签名的安全性
5.4.4 数字签名的应用
5.5 公钥密码算法标准
5.5.1 美国NIST公钥密码标准
5.5.2 我国商用密码标准SM
5.5.3 *我国商用密码标准SM
5.6 迎接量子计算的挑战
5.6.1 传统密码算法的“危机”
5.6.2 后量子密码算法的“涌现”
5.6.3 后量子密码算法标准
应用示例:数字签名在电子保单中的应用
小结
习题
参考文献
第6章 密码协议
6.1 密钥分配协议
6.1.1 密钥管理的内涵
6.1.2 密钥分配
6.1.3 Needham-Schroeder密钥分配协议
6.1.4 Kerberos密钥分配协议
6.2 密钥协商协议
6.2.1 共享密钥的协商
6.2.2 DH密钥协商协议
6.2.3 MTI协议与STS协议
6.3 秘密共享协议
6.3.1 秘密共享的定义
6.3.2 典型秘密共享协议
6.3.3 秘密共享的进一步发展
6.4 身份认证协议
6.4.1 身份认证的实现方式
6.4.2 Guillou-Quisquater身份认证协议
6.4.3 零知识证明及其身份认证协议
6.5 安全多方计算协议
6.5.1 “百万富翁”问题及其求解
6.5.2 安全多方计算及其应用
6.5.3 安全多方计算实现方式
6.6 隐私计算与区块链
6.6.1 隐私计算的定义
6.6.2 隐私计算的实现技术
6.6.3 区块链技术
应用示例:电子证照中的身份认证
小结
习题
参考文献