《普通高等教育"十二五"规划教材:密码学教程》全面讲解了密码学的基本知识,并对密码学近几年来的最新研究成果作了介绍。特别是在序列密码体制、分组密码体制、公开密钥密码体制和密码学新进展的章节中,不仅介绍了经典的密码体制和算法,而且阐述了部分算法的安全性分析,并进一步介绍了网络安全协议及近几年密码发展的新成果,如量子密码、生物密码和云计算等。为了使读者更好地掌握密码学知识,书中讲授了必要的数学背景,并在附录中提供了相关参考资料,以便读者进行相关研究。密码学教程表达清晰,论证严谨,习题丰富,并穿插有密码学史上的趣闻秩事。
《普通高等教育"十二五"规划教材:密码学教程》可作为高等院校“信息安全”、“计算机安全”、“网络安全”、“通信安全”和“应用数学”等课程的教材或参考书,也可供信息安全系统设计开发人员、密码学和信息安全爱好者参考。
《普通高等教育"十二五"规划教材:密码学教程》表达清晰,论证严谨,习题丰富,并穿插有密码学史上的趣闻秩事。《普通高等教育"十二五"规划教材:密码学教程》可作为高等院校“信息安全”、“计算机安全”、“网络安全”、“通信安全”和“应用数学”等课程的教材或参考书,也可供信息安全系统设计开发人员、密码学和信息安全爱好者参考。
序言
前言
第1章 引论
1.1 密码学与信息安全概述
1.2 密码体制与密码分析
1.3 密码体制的安全性
1.4 香农理论简介
1.5 计算复杂性理论简介
小结与注释
习题1
第2章 古典密码体制
2.1 语言的统计特性
2.2 单表代替密码
2.3 单表代替密码的分析
2.4 多表代替密码
2.5 多表代替密码的分析
2.6 转轮密码与M—209
2.7 M—209的已知明文攻击
小结与注释
习题2
第3章 布尔函数
3.1 布尔函数的表示方法
3.2 布尔函数的重量与概率计算
3.3 布尔函数的非线性度
3.4 布尔函数的相关免疫性及其构造
3.5 严格雪崩准则和扩散准则
3.6 布尔函数的代数免疫度
小结与注释
习题3
第4章 序列密码
4.1 线性反馈移位寄存器序列
4.2 基于LFSR的序列生成器及其分析
4.3 带进位的反馈移位寄存器序列
小结与注释
习题4
第5章 分组密码与数据加密标准
5.1 分组密码的基本概念
5.2 数据加密标准DES
5.3 KASUMI算法
5.4 高级数据加密标准AES
5.5 差分密码分析原理
5.6 线性密码分析原理
5.7 分组密码的工作模式和设计理论
小结与注释
习题5
第6章 公开密钥密码体制
6.1 公钥密码概述
6.2 RSA公钥密码体制
6.3 Rabin公钥密码体制
6.4 基于离散对数问题的公钥密码体制
6.5 抗量子计算的公钥密码体制
小结与注释
习题6
第7章 Hash函数与数字签名体制
7.1 Hash函数概述
7.2 Hash函数的安全性
7.3 Hash函数标准SHA—1
7.4 数字签名体制概述
7.5 数字签名体制的安全需求
7.6 几种著名的数字签名体制
7.7 具有隐私保护的数字签名体制
小结与注释
习题7
第8章 密钥建立及管理技术
8.1 密钥概述
8.2 密钥分配
8.3 密钥协商
8.4 秘密共享
8.5 密钥保护
小结与注释
习题8
第9章 零知识证明和身份识别体制
9.1 零知识证明的基本概念
9.2 识别个人身份的零知识证明
9.3 Feige-fiat-Shamir身份识别体制
9.4 Guilloll-Quisquarer身份识别体制
9.5 Schnorr身份识另1体制
9.6 Okamoto身份识别体制
小结与注释
习题9
第10章 SSL协议和IPsec协议
10.1 网络安全概述
10.2 SSL协议
10.3 IPsec协议
小结与注释
习题10
第11章 密码学新进展
11.1 概述
11.2 量子计算与量子密码
11.3 DNA计算与DNA密码
11.4 基于同态加密的云计算
小结与注释
参考文献
附录
附录A 数论基础
附录B 代数学基础
附录C 有限域基础
数字签名是一种给以电子形式储存消息签名的方法,正因为如此,签名之后的消息能够通过计算机网络传输,数字签名实现了签名的数字化,使只能使用物理形式验证的手写签名变成了可以以数学为基础的难题作为工具的数字化验证,数字签名能够把签名者与其签署的电子文档紧密联系在一起,一个数字签名体制包括两部分,即签名算法和验证算法。
一个数字签名体制至少应满足以下三个条件:
(1)签名者事后不能否认自己的签名,接收者也不能否认收到的签名消息;
(2)接收者能验证签名,而任何其他人都不能伪造签名;
(3)当双方关于签名的真假发生争执时,法官或第三者能解决双方之间发生的争执。
为了实现签名,发送者必须向接收者提供足够的非保密信息,以便使其能验证消息的签名,但又不能泄露用于产生签名的机密消息,以防他人伪造,按照签名的不同功能,可分成普通的数字签名和特殊功能的数字签名(如不可否认签名、盲签名、群签名和代理签名等),按照验证方法,可分成在验证时需要输入被签名信息和在验证时自动恢复被签名信息两类,按照是否使用随机数,可分成确定的和概率的两种签名算法,按使用公钥系统不同,可分为基于一般公钥系统和基于身份的公钥系统的签名体制等。
一个数字签名体制由有以下部分组成:
(1)一个明文消息空间M:某字母表中串的集合;
(2)一个签名空间S:可能的签名集合;
(3)一个签名密钥空间K:用于生成签名的可能密钥集合;一个认证密钥空间K':用于验证签名的可能密钥集合;
(4)一个有效的密钥生成算法Gen:N—K×K',其中K和K'分别为私钥和公钥空间;
(5)一个有效的签名算法Sign:M×K→S;
(6)一个有效的验证算法Verify:M×S×K'→{True,False}。
对任意sk∈K和任意的m∈M,用s←Signsk(m)表示签名变换,称“s是用密钥sk生成的m的签名”。