第1章 概述 1.1 信息社会和信息安全 1.2 随机数的历史 1.3 随机数的定义 1.3.1 例子 1.3.2 定义 1.4 随机数发生器的定义 1.5 本书的章节安排 参考文献第2章 随机数和密码 2.1 保密通信 2.2 密码技术概述 2.2.1 加密技术 2.2.2 数字签名 2.2.3 密码协议 2.2.4 量子密码 2.3 理想保密和实际保密 2.3.1 理想保密 2.3.2 实际保密 2.4 密码学中使用随机数的例 2.5 随机性的度量 2.5.1 熵的定义 2.5.2 熵和RNG 参考文献第3章 伪随机数产生器理论 3.1 计算复杂性理论 3.2 单向函数 3.2.1 基本概念 3.2.2 单向函数族 3.3 伪随机数发生器的定义 3.4 伪随机性和不可预测性 3.5 伪随机数发生器的构造 3.5.1 基于单个单向置换构造 3.5.2 基于单向置换族构造 3.5.3 BBS发生器 3.6 伪随机发生器的应用 3.6.1 伪随机函数 3.6.2 伪随机置换 参考文献第4章 实际的伪随机数发生器 4.1 设计原理 4.1.1 伪随机数发生器的一般框架 4.1.2 伪随机数发生器的设计需求 4.2 线性反馈移位寄存器 4.2.1 构成 4.2.2 周期性 4.2.3 m-序列的统计特性 4.2.4 B-M算法 4.3 基于分组密码算法构造PRNG 4.3.1 基于OFB工作模式构造 4.3.2 基于CTR工作模式构造 4.3.3 AES 4.3.4 SMS4 4.3.5 KASIIMT 4.4 基于序列密码的伪随机数发生器 4.4.1 序列密码 4.4.2 ZUC 4.4.3 Enocoro-128 4.4.4 MUGI 4.4.5 Rabbit 4.4.6 KCipher-2 4.5 Yarrow 4.5.1 组成 4.5.2 状态空间 4.5.3 转换函数 4.5.4 输出函数 4.5.5 安全性 4.6 伪随机数发生器标准 4.6.1 ANSI X9.1 7伪随机比特发生器 4.6.2 FIPS 186中的伪随机比特发生器 4.6.3 SP800-90 4.6.4 基于分组算法的PRNG 4.6.5 基于数论问题的PRNG 参考文献第5章 真随机数发生器 5.1 设计原理 5.1.1 安全性质 5.1.2 真随机数发生器组成 5.1.3 熵源 5.2 评估方法 5.2.1 连续性测试 5.2.2 IID测试 5.2.3 估计IID源的最小熵 5.2.4 估计非IID源的最小熵 5.3 一些常见的真随机数发生器 5.3.1 /dev/random 5.3.2 Intel随机数发生器 参考文献第6章 量子随机数发生器 6.1 概述 6.2 量子真随机数发生器 6.2.1 离散变量量子随机数发生器 6.2.2 连续变量量子随机数发生器 6.3 量子真随机数发生器设计方法 6.3.1 量子随机源的选取 6.3.2 探测采样 6.4 一个连续变量QRNG设计方案 6.4.1 现有量子随机数发生器的技术局限 6.4.2 量子噪声源——超辐射发光二极管 6.4.3 基于放大自发辐射的量子随机数发生器实验方案 6.4.4 数据后处理 6.4.5 统计检验 6.5 总结 参考文献第7章 随机性的统计检验 7.1 随机性统计检验原理与方法 7.1.1 概率统计基础——几种概率分布 7.1.2 统计检验方法 7.2 几种常用的随机性统计测试包 7.2.1 五项基本随机性测试 7.2.2 ENT随机性测试 7.2.3 Diehard随机性测试 7.2.4 NIST的16项随机性测试 7.2.5 我国商用密码随机性检测规范 7.3 分组密码算法的随机性检测 7.3.1 密文的局部随机性检测 7.3.2 基于二项分布的随机性检测项目 7.3.3 明文一密文严格雪崩效应测试 7.3.4 密钥编排算法的随机性检验 7.4 序列密码算法的随机性检测 7.4.1 密钥流的局部随机性检测 7.4.2 种子密钥的扩散性检测 7.5 杂凑函数的随机性检测 7.5.1 摘要流的局部随机性检测 7.5.2 消息的扩散性检测 7.5.3 密钥的扩散性检测 参考文献第8章 随机数发生器的分析方法 8.1 攻击分类 8.2 分析微软WinclOWS操作系统的随机数发生器 8.2.1 WRNG的描述 8.2.2 密码分析 8.3 Dual_EC_PRNG的陷门 参考文献