《密码编码学与网络安全:原理与实践(第5版)》介绍了密码编码学与网络安全的基本原理和应用技术。全书主要包括以下七个部分:对称密码部分讨论了对称加密的算法和设计原则;公钥密码部分讨论了公钥密码的算法和设计原则;密码学中的数据完整性算法部分讨论了密码学Hash函数、消息验证码和数字签名;相互信任部分讨论了密钥管理和认证技术;网络与因特网安全部分讨论了应用密码算法和安全协议为网络和Internet提供安全;法律与道德问题部分讨论了与计算机和网络安全相关的法律与道德问题。《密码编码学与网络安全:原理与实践(第5版)》与第四版相比,内容和组织结构都做了较大的调整,增加了许多新内容,并首次采用了在线内容和使用Sage计算机代数系统。
序
随着信息科学技术的高速发展和广泛应用,社会逐步信息化。在信息化社会中,通信、计算机和消费电子的结合,产生了Internet、信息高速公路或全球信息基础设施(GII),构成了人类生存的信息环境,即信息空间(Cyberspace)。在信息空间中,计算机和网络在军事、金融、工业、商业、人们的生活和工作等方面的应用越来越广泛,社会对计算机和网络的依赖越来越大,如果计算机和网络系统的信息安全受到破坏将导致社会的混乱并造成巨大损失。
我们应当清楚,人类社会中的安全可信与信息空间中的安全可信是休戚相关的。对于人类生存来说,只有同时解决了人类社会和信息空间的安全可信,才能保证人类社会的安全、和谐、繁荣和进步。
因此,确保信息空间、计算机和网络系统的信息安全成为世人关注的社会问题,并成为信息科学技术领域中的研究热点。
发展我国信息安全技术与产业的关键是人才,而培养人才的关键是教育。目前,我国许多大专院校都开设了信息安全专业或开设了信息安全课程,迫切需要一本合适的教科书。为此,电子工业出版社组织我们于2006年翻译出版了《密码编码学与网络安全——原理与实践(第四版)》这本优秀的教科书。这本书翻译出版后得到了广大读者的厚爱,许多著名大学都采用它作为教材,为我国信息安全人才培养和传播信息安全知识发挥了重要作用。
2010年原书作者又出版了该书的第五版。在第五版中,作者对原书的内容和组织结构都做了较大的调整和更新。
1.在书的组织结构方面做了如下调整:
① 在密码学方面增加了第三部分:密码学数据完整性算法。专门讨论密码算法中涉及数据完整性的内容,包括密码学Hash函数,消息认证码和数字签名。
② 增加了第四部分:相互信任。集中讨论了信息系统中的实体相互信任问题,包括密钥管理和用户认证。
③ 首次采用了在线内容,包括在线章和在线附录。将第六部分:系统安全、第七部分:法律与道德、附录C至附录Q放到网站上,读者可以上网阅读学习为使本书的中文版读者能读到原书的完整内容,特地翻译了原书的在线内容[第20章至第23章,以及附录C至附录Q。这些内容的中文版已上载至华信教育资源网(http://www.hxedu.com.cn),有兴趣的读者可免费下载],从而为中文读者提供了一本完整的中文图书——编者注。。这样可以节约书的篇幅,降低书的成本。
④ 将伪随机数产生与序列密码集成为独立的一章。类似单独列章的还有传输层安全等。在以前的版本中,这些相关内容分散在各章中。这样将相关联的内容集成为一章,便于读者学习掌握。
2.在内容方面进行了许多修改,并增加了一些新内容。如对于欧几里得算法、AES、分组密码工作模式、伪随机数、Hash函数和消息认证码、密钥管理和分配、远程用户认证、IPsec等内容进行了修改,并新增了ElGamal加密和数字签名、SHA-3、认证加密、联合身份认证、HTTPS、安全框架SSH、域密钥身份认证邮件DKIM、无线网络安全、法律与道德、在线附录、Sage示例与问题等方面的新内容。
3.作为对本书内容的补充,增加了15个附录。这些附录为感兴趣的读者提供了更深入、更广泛的补充材料。这是以前的版本中所没有的。
4.首次使用开源免费的Sage计算机代数系统,使学生们能够亲手进行各种密码算法的实验。
为了使广大读者能够读到新版书,电子工业出版社又组织我们翻译出版了本书的第五版。
《密码编码学与网络安全——原理与实践》一书的作者William Stallings先后获得了Notre Dame电气工程学士学位和MIT计算机科学博士学位。他累计编写出版了48本计算机网络和计算机体系结构领域的书籍,在计算机网络和计算机体系结构的学术交流和教育方面做出了卓越的贡献。其中《密码编码学与网络安全——原理与实践》就是其中最成功的一本书籍。William Stallings的著作不仅学术造诣很高,而且十分实用,先后11次获得美国教材和著作家协会(Textbook and Academic Authors Assiciation) 颁发的优秀计算机科学教材奖。
本书系统地介绍了密码学与网络安全的基本原理和应用技术。全书主要包含以下7个部分。第一部分:对称密码,介绍了古典和现代对称密码算法,重点介绍数据加密标准(DES)和高级加密标准(AES)。此外,还讨论了伪随机数和流密码。第二部分:非对称密码,给出了数论基础、RSA密码、椭圆曲线密码和其他公钥密码。第三部分:密码学中的数据完整性算法,介绍了密码学Hash函数、消息认证码和数字签名。第四部分:相互信任,介绍了密钥管理和密钥分配,以及用户认证协议。第五部分:网络与因特网安全,讨论了传输层安全、无线网络安全、E-mail安全和IP安全等内容。第六部分:系统安全,讨论了非法入侵、恶意软件和防火墙技术。第七部分:法律与道德,讨论了与计算机和网络安全相关的法律和道德问题。
《密码编码学与网络安全——原理与实践(第五版)》一书内容丰富,讲述深入浅出,便于理解,尤其适合于课堂教学和自学,是一本难得的好书。本书可作为研究生和高年级本科生的教材,也可供从事信息安全、计算机、通信、电子工程等领域的科技人员参考。
本书的第一部分由杨敏和孟庆树翻译,第二部分由王后珍翻译,前言和第三部分由王张宜翻译,第四部分由陈晶翻译,第五部分由杜瑞颖翻译,第六部分和第七部分由彭国军翻译。
本书的附录C、E、F、G、H、I由杨敏翻译,附录A、B、D、K、N、M由王张宜翻译,附录J由王后珍翻译,附录L由陈晶翻译,附录O、P、Q由杜瑞颖翻译。全书由张焕国统稿和审校。研究生陈新姣、王丹、梁玉、郑美凤及叶青晟等参与了翻译书稿的整理工作。
由于译者的专业知识和外语水平有限,书中错误在所难免,敬请读者指正,译者在此先致感谢之意。
译者于武汉大学珞珈山
2011年6月
第0章 读者导引
0.1 本书概况
0.2 读者和教师导读
0.3 Internet和Web资源
0.4 标准
第1章 概述
1.1 计算机安全概念
1.2 OSI安全框架
1.3 安全攻击
1.4 安全服务
1.5 安全机制
1.6 网络安全模型
1.7 推荐读物和网站
1.8 关键术语、思考题和习题
第一部分 对称密码
第2章 传统加密技术
2.1 对称密码模型
2.2 代替技术
2.3 置换技术
2.4 转轮机
2.5 隐写术
2.6 推荐读物和网站
2.7 关键术语、思考题和习题
第3章 分组密码和数据加密标准
3.1 分组密码原理
3.2 数据加密标准
3.3 DES的一个例子
3.4 DES的强度
3.5 差分分析和线性分析
3.6 分组密码的设计原理
3.7 推荐读物和网站
3.8 关键术语、思考题和习题
第4章 数论和有限域的基本概念
4.1 整除性和除法
4.2 Euclid算法
4.3 模运算
4.4 群、环和域
4.5 有限域GF(p)
4.6 多项式运算
4.7 有限域GF(2n)
4.8 推荐读物和网站
4.9 关键术语、思考题和习题
附录4A mod的含义
第5章 高级加密标准
5.1 有限域算术
5.2 AES的结构
5.3 AES的变换函数
5.4 AES的密钥扩展
5.5 一个AES例子
5.6 AES的实现
5.7 推荐读物和网站
5.8 关键术语、思考题和习题
附录5A 系数在GF(28)中的多项式
附录5B 简化AES
第6章 分组密码的工作模式
6.1 多重加密与三重DES算法
6.2 电码本模式
6.3 密文分组链接模式
6.4 密文反馈模式
6.5 输出反馈模式
6.6 计数器模式
6.7 用于面向分组的存储设备的XTS-AES模式
6.8 推荐读物和网站
6.9 关键术语、思考题和习题
第7章 伪随机数的产生和流密码
7.1 随机数产生的原则
7.2 伪随机数发生器
7.3 使用分组密码的伪随机数产生
7.4 流密码
7.5 RC4算法
7.6 真随机数发生器
7.7 推荐读物和网站
7.8 关键术语、思考题和习题
第二部分 公钥密码
第8章 数论入门
8.1 素数
8.2 费马定理和欧拉定理
8.3 素性测试
8.4 中国剩余定理
8.5 离散对数
8.6 推荐读物和网站
8.7 关键术语、思考题和习题
第9章 公钥密码学与RSA
9.1 公钥密码体制的基本原理
9.2 RSA算法
9.3 推荐读物和网站
9.4 关键术语、思考题和习题
附录9A RSA算法的证明
附录9B 算法复杂性
第10章 密钥管理和其他公钥密码体制
10.1 Diffie-Hellman密钥交换
10.2 ElGamal密码体系
10.3 椭圆曲线算术
10.4 椭圆曲线密码学
10.5 基于非对称密码的伪随机数生成器
10.6 推荐读物和网站
10.7 关键术语、思考题和习题
第三部分 密码学数据完整性算法
第11章 密码学Hash函数
11.1 密码学Hash函数的应用
11.2 两个简单的Hash函数
11.3 需求和安全性
11.4 基于分组密码链接的Hash函数
11.5 安全Hash算法(SHA)
11.6 SHA-3
11.7 推荐读物和网站
11.8 关键术语、思考题和习题
附录11A 生日攻击的数学基础
第12章 消息认证码
12.1 对消息认证的要求
12.2 消息认证函数
12.3 对消息认证码的要求
12.4 MAC的安全性
12.5 基于Hash函数的MAC:HMAC
12.6 基于分组密码的MAC:DAA和CMAC
12.7 认证加密:CCM和GCM
12.8 使用Hash函数和MAC产生伪随机数
12.9 推荐读物和网站
12.10关键术语、思考题和习题
第13章 数字签名
13.1 数字签名
13.2 ElGamal数字签名方案
13.3 Schnorr数字签名方案
13.4 数字签名标准
13.5 推荐读物和网站
13.6 关键术语、思考题和习题
第四部分 相互信任
第14章 密钥管理和分发
14.1 对称加密的对称密钥分发
14.2 非对称加密的对称密钥分发
14.3 公钥分发
14.4 X.509认证服务
14.5 公钥基础设施
14.6 推荐读物和网站
14.7 关键术语、思考题和习题
第15章 用户认证
15.1 远程用户认证原理
15.2 基于对称加密的远程用户认证
15.3 Kerberos
15.4 基于非对称加密的远程用户认证
15.5 联合身份管理
15.6 推荐读物和网站
15.7 关键术语、思考题和习题
附录15A Kerberos加密技术
第五部分 网络与因特网安全
第16章 传输层安全
16.1 Web 安全性思考
16.2 安全套接层和传输层安全
16.3 传输层安全
16.4 HTTPS
16.5 SSH
16.6 推荐读物和网站
16.7 关键术语、思考题和习题
第17章 无线网络安全
17.1 IEEE 802.11 无线网络概述
17.2 IEEE 802.11i 无线局域网安全
17.3 无线应用通信协议概述
17.4 无线传输层安全
17.5 WAP端到端安全
17.6 推荐读物和网站
17.7 关键术语、思考题和习题
第18章 电子邮件安全
18.1 PGP
18.2 S/MIME
18.3 DKIM
18.4 推荐读物和网站
18.5 关键术语、思考题和习题
附录18A 基数64转换
第19章 IP安全性
19.1 IP安全性概述
19.2 IP 安全性策略
19.3 封装安全性有效载荷
19.4 组合安全性关联
19.5 因特网密钥交换
19.6 密码学套件
19.7 推荐读物和网站
19.8 关键术语、思考题和习题
附录A 用于密码学和网络安全教学的项目
附录B Sage示例
参考文献
索引
在线部分
第六部分 系统安全
第20章 入侵者
20.1 入侵者
20.2 入侵检测
20.3 口令管理
20.4 推荐读物和网站
20.5 关键术语、思考题和习题
附录20A 基于比率的错误
第21章 恶意软件
21.1 恶意软件的类型
21.2 病毒
21.3 计算机病毒的防治策略
21.4 蠕虫
21.5 分布式拒绝服务攻击
21.6 推荐读物和网站
21.7 关键术语、思考题和习题
第22章 防火墙
22.1 防火墙的必要性
22.2 防火墙的特性
22.3 防火墙的分类
22.4 防火墙基础
22.5 防火墙的位置与配置
22.6 推荐读物和网站
22.7 关键术语、思考题和习题
第七部分 法律与道德
第23章 法律与道德
23.1 网络犯罪和计算机犯罪
23.2 知识产权
23.3 隐私
23.4 道德问题
23.5 推荐读物和网站
23.6 关键术语、思考题和习题
在线附录
附录C Sage习题
附录D 标准和标准化组织
附录E 线性代数的基本概念
附录F 保密和安全的测度
附录G 简化DES
附录H AES的评估准则
附录I 简化AES的补充
附录J 背包公钥算法
附录K 数字签名算法的证明
附录L TCP/IP 和OSI
附录M Java密码函数API
附录N Whirlpool算法
附录O 使用ZIP的数据压缩
附录P PGP随机数产生
附录Q 国际参考字母表
术语表