前言<br>第1章 预备知识<br>1.1 集合、元组与数制<br>1.1.1 集合与元组<br>1.1.2 函数<br>1.1.3 谓词<br>1.1.4 数制与字符串<br>1.2 概率基础<br>1.2.1 概率的概念<br>1.2.2 概率的性质<br>1.2.3 常用的概率不等式<br>1.2.4 条件概率贝叶斯公式<br>1.3 密码学中的证明方法<br>1.3.1 归纳法<br>1.3.2 反证法<br>1.3.3 构造证明<br>1.3.4 归约方法<br>1.3.5 几种证明方式的总结<br>1.4 进一步阅读的建议<br><br>第2章 理论计算机科学基础<br>2.1 基本图灵机<br>2.1.1 基本图灵机模型<br>2.1.2 基本图灵机的计算<br>2.2 图灵机的变形<br>2.2.1 非确定图灵机<br>2.2.2 多带图灵机<br>2.2.3 概率图灵机<br>2.2.4 神谕图灵机<br>2.2.5 电路计算<br>2.3 计算复杂性<br>2.3.1 计算复杂性概述<br>2.3.2 计算复杂性定义<br>2.3.3 计算复杂性类<br>2.4 进一步阅读的建议<br><br>第3章 密码学基础知识<br>3.1 数论基础<br>3.1.1 因子<br>3.1.2 素数<br>3.1.3 模运算<br>3.1.4 二次剩余<br>3.1.5 素数性<br>3.2 代数基础<br>3.2.1 群的概念<br>3.2.2 环及域<br>3.2.3 多项式环<br>3.3 难解问题<br>3.3.1 因子分解假设<br>3.3.2 离散对数假设<br>3.3.3 Diffie-Hellman问题<br>3.3.4 次剩余问题<br>3.3.5 几种难解问题的关系<br>3.4 一个小故事<br>3.5 进一步阅读的建议<br><br>第4章 密码学基础<br>4.1 对称密码学<br>4.1.1 基本概念<br>4.1.2 一次一密算法<br>4.2 对称密码算法<br>4.2.1 对称密码算法简介<br>4.2.2 对称密码算法的研究前沿<br>4.3 协议<br>4.3.1 协议<br>4.3.2 协议的分类<br>4.3.3 对协议的攻击<br>4.3.4 协议设计<br>4.3.5 密码学协议的研究前沿<br>4.4 进一步阅读的建议<br><br>第5章 随机性与单向散列函数<br>5.1 随机与伪随机<br>5.1.1 随机性的概念<br>5.1.2 计算不可区分<br>5.1.3 采样与计算不可区分<br>5.1.4 伪随机性<br>5.2 伪随机数生成器<br>5.2.1 伪随机数生成器定义<br>5.2.2 线性同余发生器<br>5.2.3 线性反馈移位寄存器<br>5.2.4 混沌序列发生器<br>5.2.5 伪随机种子<br>5.2.6 伪随机序列应用<br>5.3 单向函数与单向散列函数<br>5.3.1 单向函数的定义<br>5.3.2 弱单向函数<br>5.3.3 单向散列函数<br>5.3.4 单向散列函数的应用<br>5.3.5 陷门单向函数<br>5.4 单向散列函数研究前沿<br>5.5 进一步阅读的建议<br><br>第6章 公开密钥算法与数字签名<br>6.1 RSA公开密钥算法<br>6.1.1 RSA公开密钥算法的构造<br>6.1.2 用公开密钥算法通信<br>6.1.3 用公开密钥进行密钥分配<br>6.2 数字签名<br>6.2.1 公开密钥算法用于认证<br>6.2.2 DSA数字签名算法<br>6.3 研究前沿<br>6.3.1 椭圆曲线公开密钥算法<br>6.3.2 其他公开密钥算法<br>6.3.3 离散对数数字签名<br>6.3.4 盲签名<br>6.3.5 失败终止签名<br>6.3.6 不可抵赖数字签名<br>6.3.7 记名签名<br>6.3.8 群签名<br>6.4 进一步阅读的建议<br><br>第7章 数字承诺<br>7.1 数字承诺的概念<br>7.1.1 比特承诺的定义<br>7.1.2 完美隐藏的比特承诺<br>7.2 数字承诺方案的构造<br>7.2.1 用单向置换函数构造比特承诺方案<br>7.2.2 用任意单向函数构造比特承诺方案<br>7.2.3 用单向置换构造完美隐藏承诺<br>7.3 若干种数字承诺方案<br>7.3.1 基于对称密码学的承诺<br>7.3.2 使用单向函数的承诺<br>7.3.3 使用伪随机数生成器的承诺<br>7.3.4 一个著名的数字承诺方案<br>7.4 承诺的应用<br>7.4.1 在零知识证明中的应用<br>7.4.2 在硬币抛掷中的应用<br>7.4.3 在商业中的应用<br>7.4.4 在多方保密计算中的应用<br>7.5 承诺技术的研究前沿<br>7.5.1 不可关联承诺<br>7.5.2 量子比特承诺<br>7.5.3 承诺新用途的研究<br>7.6 进一步阅读的建议<br><br>第8章 零知识证明与不经意传输<br>8.1 基本概念<br>8.1.1 证明者与验证者<br>8.1.2 可行性与可靠性<br>8.1.3 知识与信息<br>8.2 交互证明系统<br>8.2.1 交互图灵机<br>8.2.2 交互联合计算<br>8.2.3 交互证明<br>8.3 零知识证明定义<br>8.3.1 零知识的含义<br>8.3.2 模拟范例<br>8.3.3 完美零知识<br>8.3.4 计算零知识<br>8.3.5 统计零知识<br>8.3.6 关于零知识证明的一些结果<br>8.4 零知识证明协议举例<br>8.4.1 离散对数的零知识证明<br>8.4.2 知道某公钥对应的私钥的零知识证明<br>8.4.3 n是Blum整数的零知识证明<br>8.4.4 哈密尔顿图的零知识证明<br>8.4.5 图的三着色的零知识证明<br>8.5 零知识证明的研究前沿<br>8.5.1 非交互零知识<br>8.5.2 顺序零知识<br>8.5.3 并行零知识<br>8.5.4 寻找零知识的用途<br>8.6 不经意传输<br>8.6.1 不经意传输的概念<br>8.6.2 l-out-of-n不经意传输<br>8.6.3 不经意传输的研究前沿<br>8.7 进一步阅读的建议<br><br>第9章 多方保密计算<br>9.1 多方保密计算的定义<br>9.1.1 定义应考虑的问题<br>9.1.2 双方保密计算定义<br>9.2 恶意参与者模型<br>9.2.1 理想模型<br>9.2.2 实际模型<br>9.2.3 恶意参与者的安全性定义<br>9.3 恶意的参与者<br>9.3.1 研究动机与综述<br>9.3.2 安全归约<br>9.3.3 编译器中使用的函数<br>9.3.4 编译器<br>9.3.5 编译器的效果<br>9.4 一些实际问题的多方保密计算<br>9.4.1 百万富翁问题<br>9.4.2 两个数相等问题<br>9.4.3 计算几何问题<br>9.4.4 集合成员判定问题<br>9.4.5 集合相交问题<br>9.4.6 百万富翁问题高效方案<br>9.4.7 多方保密计算的保密性评价<br>9.5 研究前沿<br>9.5.1 三方以上的保密计算<br>9.5.2 恶意参与者的有效计算<br>9.5.3 新的多方保密计算问题<br>9.6 多方保密计算的应用<br>9.7 进一步阅读的建议<br><br>第10章 量子密码学<br>10.1 量子密码<br>10.1.1 量子密码简介<br>10.1.2 量子密钥分配<br>10.2 量子密码与传统密码<br>10.2.1 传统密码<br>10.2.2 量子密码<br>10.3 量子密码研究的前沿问题<br>10.3.1 量子信息论<br>10.3.2 量子密钥分配<br>10.3.3 量子加密<br>10.3.4 量子认证<br>10.3.5 量子密码安全协议<br>10.3.6 量子签名<br>10.4 量子密码发展前景<br>10.5 进一步阅读的建议<br>参考文献
展开