书籍详情
密码学原理与实践(第二版)
作者:Douglas R.Stinson著;冯登国译;冯登国译
出版社:电子工业出版社
出版时间:2003-02-01
ISBN:9787505384651
定价:¥34.00
购买这本书可以去
内容简介
密码学的研究与应用已有几千年的历史,但作为一门科学是20世纪50年代才开始的。不可否认,互联网的广泛应用大大推动了密码学的研究与发展。大多数国家和地区都已经成立了密码学学会,这些学会定期举办学术会议进行学术交流,促进了密码学的研究与应用。国内外已出版了大量有关密码学的书籍,其理论研究也相对比较成熟,在很多观点上已达成共识。DouglasR.Stinson所著的《密码学原理与实践(第二版)》一书是一本很有特色的教科书,具体表现在以下几个方面:1.表述清晰。书中的语言描述浅显易懂,如分组密码的差分分析和线性分析本是很难描述的问题,本书中却表述得非常清楚。2.论证严谨。书中对很多密码问题,如惟一解距离、Hash函数的延拓准则等进行了严格的数学证明,具有一种逻辑上的美感。3.内容新颖。书中从可证明安全的角度对很多密码学问题特别是公钥密码问题进行了清楚的论述,使用了预言(Oracle)这一术语,通过阅读本书可使读者能够精确掌握这一概念的灵魂。书中顺便对一些密码学领域的最新进展也做了相应的介绍。4.选材精良。书中选择了大量典型的、相对成熟的素材,特别适合于教学使用。5.习题丰富。通过演练每章后面精心安排的习题,可以迅速并熟练掌握密码学的基本技巧。要掌握好一门课程,必须选择一两本好书。我认为本书是非常值得精读的一本好书,这也是我花费大量时间翻译本书的初衷。本书在翻译过程中,得到了一大批博士的协助,他们是徐涛博士、薛锐博士、孙中伟博士、黄寄洪博士、张斌博士、王鹏博士和杨海波博士,特别是徐涛博士协助完成了全书的统稿和审校工作,没有他们的鼎力相助,本书的翻译和审稿工作绝不会如此顺利,在此对他们表示衷心的感谢。本书的翻译工作得到了国家973项目(编号:G1999035802)和国家杰出青年科学基金(编号:60025205)的支持,在此表示感谢。冯登国2003年元旦于北京序言本书的第一版于1995年3月出版。那时,我的目标是写一本通用的教材,包含密码学方面所有的基本核心领域,并选择一些前沿的主题。在写作过程中,我试图使内容具有足够的弹性并容纳这一学科的众多方向,以便它可在数学、计算机科学和工程等专业的本科生和研究生的密码学课程中使用。下面列举了本书第一版中的一些特色,并在本书中保留了下来。数学背景知识在需要的时候“及时(justintime)”地提供出来。·密码体制的描述由更精确的伪代码给出。·提供例子以说明密码体制的工作过程。·对算法和密码体制的数学基础做了仔细、严格的解释。·包含了大量的练习,其中一些很具有挑战性。本书的第一版包含13章。当两年前开始修订时,我发现有丰富的新材料可以加入到第二版中。为了防止篇幅过于庞大,并能在合理的时间内完成,我决定把第二版的内容更紧密地集中在密码学的核心领域上,这就更像是一门课程里所覆盖的内容。其结果就使得本书包含了对第一版的前7章内容的更新、修改、扩展和重新组织。我计划不久再写一本“姊妹篇”,包含对第一版其余内容的更新,并加入新的内容。下面对本书的7章内容做一概述:·第1章对于简单的“经典”密码体制进行了基本的介绍。一些主题被更新或改进,例如,给出了基于DanVelleman建议的对于维吉尼亚密码的简化的密码分析。·第2章覆盖了密码学中Shannon理论的主要内容,包括完善保密性的概念以及信息论在密码学中的应用。这些内容并没有显著的改动;然而,相对于第一版,本书包含了对于基础概率论的更细致的阐述。·第3章是几乎完全重写的。在第一版对应的章节中基本上只讲述了数据加密标准(DES),现在看来已很陈旧。我决定使用代换-置换网络(substitution-permutationnetworks)作为数学模型来引入现代分组密码设计和分析的许多概念,包括差分分析和线性分析。这里比以前更加强调一般的原则,并讨论了特定的密码体制(DES和新的AES)以说明这些一般原则。·第4章对第一版的第7章做了较大改动。这一章现在介绍了对于带密钥的Hash函数和不带密钥的Hash函数的统一处理,以及它们在构造消息认证码中的应用。这里强调了数学分析和安全性证明。本章还包含了安全Hash算法(SHA)的描述。·第5章讨论了RSA密码体制,并给出了相当多的数论背景知识,例如素性检验(primalitytesting)和因子分解。本章已经被扩展了,包含了几个新的小节,例如Pollardρ算法、Wiener的低解密指数攻击和基于RSA的密码体制的语义安全。·第6章讨论了基于离散对数(DiscreteLogarithm)问题的公钥密码体制,例如ElGamal密码体制。这一章也包含了很多新内容,例如Pollardρ算法、通用算法复杂性更低的下界、椭圆曲线的扩展讨论、离散对数密码体制的语义安全性,以及Diffie-Hellman问题。本章中不再对背包(knapsack)密码体制和McEliece密码体制进行讨论。·第7章讨论了签名方案问题。像以前一样,介绍了DSA方案,也包含了对特殊类型的签名方案的阐述,例如不可否认签名和fail-stop签名。新材料重点讨论了安全性定义、ElGamal签名方案的变种(例如Schnorr签名方案和椭圆曲线DSA方案),和可证明的安全签名方案,例如全域Hash。写一本密码学方面的著作的一个最大的困难就是确定应包含多少数学背景知识。密码学是一个涉及广泛的学科,它需要多个数学领域的知识,包括数论、群论、环论、域论、线性代数、概率论以及信息论。同样地,熟悉计算复杂性、算法和NP完全性理论也是很有用的。
作者简介
本书作者DouglasR.Stinson博士:加拿大Waterloo大学教授,“JounrnalofCombinatori-alDesign”期刊的主编。他的研究领域包括密码学、网络和分布式系统、算法和计算复杂性、组合结构的构造及在计算机和密码学中的应用。
目录
第1章 古典密码学
1.1 几个简单的密码体制
1.1.1 移位密码
1.1.2 代换密码
1.1.3 仿射密码
1.1.4 维吉尼亚密码
1.1.5 希尔密码
1.1.6 置换密码
1.1.7 流密码
1.2 密码分析
1.2.1 仿射密码的密码分析
1.2.2 代换密码的密码分析
1.2.3 维吉尼亚密码的密码分析
1.2.4 希尔密码的密码分析
1.2.5 基于LFSR流密码的密码分析
1.3 注释与参考文献
练习
第2章 Shannon理论
2.1 引言
2.2 概率论基础
2.3 完善保密性
2.4 熵
2.4.1 Huffman编码
2.5 熵的性质
2.6 伪密钥和惟一解距离
2.7 乘积密码体制
2.8 注释与参考文献
练习
第3章 分组密码与高级加密标准
3.1 引言
3.2 代换-置换网络
3.3 线性密码分析
3.3.1 堆积引理
3.3.2 S盒的线性逼近
3.3.3 SPN的线性密码分析
3.4 差分密码分析
3.5 数据加密标准
3.5.1 DES的描述
3.5.2 DES的分析
3.6 高级加密标准
3.6.1 AES的描述
3.6.2 AES的分析
3.7 工作模式
3.8 注释与参考文献
练习
第4章 Hash函数
4.1 Hash函数与数据完整性
4.2 Hash函数的安全性
4.2.1 随机预言模型
4.2.2 随机预言模型中的算法
4.2.3 安全标准的比较
4.3 迭代Hash函数
4.3.1 Merkle-Damg?rd结构
4.3.2 安全Hash算法
4.4 消息认证码
4.4.1 嵌套MAC和HMAC
4.4.2 CBC-MAC
4.5 无条件安全消息认证码
4.5.1 强泛Hash函数族
4.5.2 欺骗概率的优化
4.6 注释与参考文献
练习
第5章 RSA密码体制和整数因子分解
5.1 公钥密码学简介
5.2 更多的数论知识
5.2.1 Euclidean算法
5.2.2 中国剩余定理
5.2.3 其他结论
5.3 RSA密码体制
5.3.1 实现RSA
5.4 素性检测
5.5 模n的平方根
5.6 分解因子算法
5.6.1 Pollard p-1算法
5.6.2 Pollard ρ方法
5.6.3 Dixon的随机平方算法
5.6.4 实际中的分解算法
5.7 对RSA的其他攻击
5.7.1 计算φ(n)
5.7.2 解密指数
5.7.3 Wiener的低解密指数攻击
5.8 Rabin密码体制
5.8.1 Rabin密码体制的安全
5.9 RSA的语义安全
5.9.1 与明文比特相关的部分信息
5.9.2 最优非对称加密填充
5.10 注释与参考文献
练习
第6章 基于离散对数问题的公钥密码体制
6.1 ElGamal 密码体制
6.2 离散对数问题的算法
6.2.1 Shanks 算法
6.2.2 Pollard ρ 离散对数算法
6.2.3 Pohlig-Hellman算法
6.2.4 指数演算法
6.3 通用算法的复杂性下界
6.4 有限域
6.5 椭圆曲线
6.5.1 实数上的椭圆曲线
6.5.2 模素数的椭圆曲线
6.5.3 椭圆曲线的性质
6.5.4 点压缩与ECIES
6.5.5 计算椭圆曲线上点的乘积
6.6 实际中的离散对数算法
6.7 ElGamal体制的安全性
6.7.1 离散对数的比特安全性
6.7.2 ElGamal体制的语义安全性
6.7.3 Diffie-Hellman 问题
6.8 注释与参考文献
练习
第7章 签名方案
7.1 引言
7.2 签名方案的安全需求
7.2.1 签名和Hash函数
7.3 ElGamal签名方案
7.3.1 ElGamal签名方案的安全性
7.4 ElGamal签名方案的变型
7.4.1 Schnorr签名方案
7.4.2 数字签名算法(DSA)
7.4.3 椭圆曲线DSA
7.5 可证明的安全签名方案
7.5.1 一次签名
7.5.2 全域Hash
7.6 不可否认的签名
7.7 fail-stop签名
7.8 注释与参考之献
练习
1.1 几个简单的密码体制
1.1.1 移位密码
1.1.2 代换密码
1.1.3 仿射密码
1.1.4 维吉尼亚密码
1.1.5 希尔密码
1.1.6 置换密码
1.1.7 流密码
1.2 密码分析
1.2.1 仿射密码的密码分析
1.2.2 代换密码的密码分析
1.2.3 维吉尼亚密码的密码分析
1.2.4 希尔密码的密码分析
1.2.5 基于LFSR流密码的密码分析
1.3 注释与参考文献
练习
第2章 Shannon理论
2.1 引言
2.2 概率论基础
2.3 完善保密性
2.4 熵
2.4.1 Huffman编码
2.5 熵的性质
2.6 伪密钥和惟一解距离
2.7 乘积密码体制
2.8 注释与参考文献
练习
第3章 分组密码与高级加密标准
3.1 引言
3.2 代换-置换网络
3.3 线性密码分析
3.3.1 堆积引理
3.3.2 S盒的线性逼近
3.3.3 SPN的线性密码分析
3.4 差分密码分析
3.5 数据加密标准
3.5.1 DES的描述
3.5.2 DES的分析
3.6 高级加密标准
3.6.1 AES的描述
3.6.2 AES的分析
3.7 工作模式
3.8 注释与参考文献
练习
第4章 Hash函数
4.1 Hash函数与数据完整性
4.2 Hash函数的安全性
4.2.1 随机预言模型
4.2.2 随机预言模型中的算法
4.2.3 安全标准的比较
4.3 迭代Hash函数
4.3.1 Merkle-Damg?rd结构
4.3.2 安全Hash算法
4.4 消息认证码
4.4.1 嵌套MAC和HMAC
4.4.2 CBC-MAC
4.5 无条件安全消息认证码
4.5.1 强泛Hash函数族
4.5.2 欺骗概率的优化
4.6 注释与参考文献
练习
第5章 RSA密码体制和整数因子分解
5.1 公钥密码学简介
5.2 更多的数论知识
5.2.1 Euclidean算法
5.2.2 中国剩余定理
5.2.3 其他结论
5.3 RSA密码体制
5.3.1 实现RSA
5.4 素性检测
5.5 模n的平方根
5.6 分解因子算法
5.6.1 Pollard p-1算法
5.6.2 Pollard ρ方法
5.6.3 Dixon的随机平方算法
5.6.4 实际中的分解算法
5.7 对RSA的其他攻击
5.7.1 计算φ(n)
5.7.2 解密指数
5.7.3 Wiener的低解密指数攻击
5.8 Rabin密码体制
5.8.1 Rabin密码体制的安全
5.9 RSA的语义安全
5.9.1 与明文比特相关的部分信息
5.9.2 最优非对称加密填充
5.10 注释与参考文献
练习
第6章 基于离散对数问题的公钥密码体制
6.1 ElGamal 密码体制
6.2 离散对数问题的算法
6.2.1 Shanks 算法
6.2.2 Pollard ρ 离散对数算法
6.2.3 Pohlig-Hellman算法
6.2.4 指数演算法
6.3 通用算法的复杂性下界
6.4 有限域
6.5 椭圆曲线
6.5.1 实数上的椭圆曲线
6.5.2 模素数的椭圆曲线
6.5.3 椭圆曲线的性质
6.5.4 点压缩与ECIES
6.5.5 计算椭圆曲线上点的乘积
6.6 实际中的离散对数算法
6.7 ElGamal体制的安全性
6.7.1 离散对数的比特安全性
6.7.2 ElGamal体制的语义安全性
6.7.3 Diffie-Hellman 问题
6.8 注释与参考文献
练习
第7章 签名方案
7.1 引言
7.2 签名方案的安全需求
7.2.1 签名和Hash函数
7.3 ElGamal签名方案
7.3.1 ElGamal签名方案的安全性
7.4 ElGamal签名方案的变型
7.4.1 Schnorr签名方案
7.4.2 数字签名算法(DSA)
7.4.3 椭圆曲线DSA
7.5 可证明的安全签名方案
7.5.1 一次签名
7.5.2 全域Hash
7.6 不可否认的签名
7.7 fail-stop签名
7.8 注释与参考之献
练习
猜您喜欢