出版说明
随着国家信息化步伐的加快和高等教育规模的扩大,社会对计算机专业人才的需求不仅体现在数量的增加上,而且体现在质量要求的提高上,培养具有研究和实践能力的高层次的计算机专业人才已成为许多重点大学计算机专业教育的主要目标。目前,我国共有16个国家重点学科、20个博士点一级学科、28个博士点二级学科集中在教育部部属重点大学,这些高校在计算机教学和科研方面具有一定优势,并且大多以国际著名大学计算机教育为参照系,具有系统完善的教学课程体系、教学实验体系、教学质量保证体系和人才培养评估体系等综合体系,形成了培养一流人才的教学和科研环境。
重点大学计算机学科的教学与科研氛围是培养一流计算机人才的基础,其中专业教材的使用和建设则是这种氛围的重要组成部分,一批具有学科方向特色优势的计算机专业教材作为各重点大学的重点建设项目成果得到肯定。为了展示和发扬各重点大学在计算机专业教育上的优势,特别是专业教材建设上的优势,同时配合各重点大学的计算机学科建设和专业课程教学需要,在教育部相关教学指导委员会专家的建议和各重点大学的大力支持下,清华大学出版社规划并出版本系列教材。本系列教材的建设旨在“汇聚学科精英、引领学科建设、培育专业英才”,同时以教材示范各重点大学的优秀教学理念、教学方法、教学手段和教学内容等。
本系列教材在规划过程中体现了如下一些基本组织原则和特点。
1. 面向学科发展的前沿,适应当前社会对计算机专业高级人才的培养需求。教材内容以基本理论为基础,反映基本理论和原理的综合应用,重视实践和应用环节。
2. 反映教学需要,促进教学发展。教材要能适应多样化的教学需要,正确把握教学内容和课程体系的改革方向。在选择教材内容和编写体系时注意体现素质教育、创新能力与实践能力的培养,为学生知识、能力、素质协调发展创造条件。
3. 实施精品战略,突出重点,保证质量。规划教材建设的重点依然是专业基础课和专业主干课; 特别注意选择并安排了一部分原来基础比较好的优秀教材或讲义修订再版,逐步形成精品教材; 提倡并鼓励编写体现重点大学计算机专业教学内容和课程体系改革成果的教材。
4. 主张一纲多本,合理配套。专业基础课和专业主干课教材要配套,同一门课程可以有多本具有不同内容特点的教材。处理好教材统一性与多样化的关系; 基本教材与辅助教材以及教学参考书的关系; 文字教材与软件教材的关系,实现教材系列资源配套。
5. 依靠专家,择优落实。在制订教材规划时要依靠各课程专家在调查研究本课程教材建设现状的基础上提出规划选题。在落实主编人选时,要引入竞争机制,通过申报、评审确定主编。书稿完成后要认真实行审稿程序,确保出书质量。
繁荣教材出版事业,提高教材质量的关键是教师。建立一支高水平的以老带新的教材编写队伍才能保证教材的编写质量,希望有志于教材建设的教师能够加入到我们的编写队伍中来。
教材编委会
前言
现代密码技术已被广泛地应用到了信息技术的许多领域,是实现信息系统安全的关键技术之一,在保障信息安全的应用中具有重要地位。现代密码技术的研究内容除传统的信息机密性保护技术外,还包括数字签名、报文与身份鉴别、密钥管理、安全协议等与信息安全密切相关的重要内容。“应用密码学”已成为许多高等院校信息安全、通信工程、计算机科学、信息管理、电子商务等本科专业一门重要的专业基础课程及重要教学内容。
针对高等院校信息技术类相关专业本科生所开设的课程特点,编者结合近几年在应用密码学方面的教学实践情况,广泛汲取了各类成功教材的有益经验,博采众家之长而精心编著了本书。在本书的体系构架和内容编排上以培养学生的密码技术应用能力为目标,突出本书的体系性和密码技术的实用性,尽量避免传统密码学或专著注重密码学的数学原理和理论分析,而应用性偏弱的局限,并对一些需要较深奥数学知识的知识点,如密码学的信息论基础、序列密码以及密码分析等内容进行了简化或忽略,重点选择一些具有典型意义和常用的密码体制、算法进行介绍,并在每章最后均配有思考题和习题以帮助学生对本章重要知识点的掌握和巩固。使其更加易于课堂教学的实施和学生阅读,激发学生潜在的学习积极性。
本书在第一版的基础上在以下方面做出了修订: 增加了密码分析技术基础知识的介绍,包括密码分析概述、密码算法的数学分析、密码协议的数学分析以及密码设备的边信道攻击技术等; 增加了国家商用密码管理政策及条例的相关内容; 对第一版部分章节进行了结构和内容的局部补充与调整; 对第一版个别地方进行了勘误,对习题进行了补充。
本书的主要特色是: 可读性强、结构合理、强调基础、注重应用,不求面面俱到,力求使学生能够较快掌握密码技术的核心内容。在书中内容取舍、结构编排、密码算法选择及习题设计上尽量体现出广泛的代表性和典型性,做到书中内容主次分明、结构清晰、重点突出、逻辑性强,对知识点的阐述强调由浅入深、循序渐进,使教材具有显著的可读性和实用性。可使读者能够在充分掌握密码学基础知识的同时,掌握应用密码技术,并将其尽快运用到实际工作中,是一本较为系统全面介绍密码学基本原理和典型应用的教材。全书共分为11章和3个附录,其具体章节内容安排如下。
第1章主要介绍信息安全与密码学、密码技术发展概况以及密码学的基本概念,包括密码学的任务、保密通信模型、密码系统的安全性及设计原则以及密码体制的分类等内容。
第2章介绍古典密码体制中的基本加密运算、几种典型的古典密码体制。
第3章通过对典型的分组密码算法,如数据加密标准(DES)、高级加密标准(AES)、国际数据加密算法(IDEA)、RC5等,介绍分组密码算法的特点、设计原理、实现方法与安全强度以及分组密码算法在实际应用中的基本工作模式及相关问题。
第4章介绍公钥密码体制的原理和基本概念,RSA与ElGamal算法原理、计算问题与安全性,椭圆曲线密码体制(ECC)基本原理与应用等内容。
第5章介绍散列函数的需求、特点、一般结构以及相关的安全性问题等。通过SHA、HMAC等密码算法,介绍散列算法和报文鉴别的原理以及在实现报文完整性保护和鉴别的应用。
第6章介绍数字签名的基本概念和典型数字签名方案,如RSA数字签名方案、ElGamal数字签名方案和数字签名标准(DSS)的原理与实现,并对典型特殊数字签名方案的原理与应用进行了介绍。
第7章介绍密钥的种类与层次结构、密钥管理的生命周期、密钥的生成与安全存储,密钥的协商与分发问题,典型密钥分配与协商协议及算法,PKI技术基础等。
第8章对身份鉴别的基本原理与典型协议进行了介绍。
第9章包括序列密码的基本原理及模型、线性反馈移位寄存器LFSR、基于LFSR的序列密码以及典型序列密码算法等内容。
第10章介绍密码技术在数字通信安全、电子商务中的典型应用技术和协议。
第11章介绍密码分析技术的基础知识和概念,包括密码分析概述、密码算法的数学分析、密码协议的数学分析以及密码设备的边信道攻击技术等。
考虑密码学要用到的数学知识较多,特别是概率论、近世代数和数论方面的基础知识。为方便读者学习,本书附录对书中用到的有关初等数论和近世代数的基础知识进行了介绍。学习和了解这方面的数学知识对研究和学习应用密码学是大有帮助的,但即使没有学过这些数学知识也不会影响对本书的阅读和学习。为了使读者了解国家对商用密码产品的有关规定和政策,本书还特别增加了国家商用密码管理政策及条例的相关内容。
本书由四川大学信息安全研究所组织编写,全书由刘嘉勇教授负责组织与统稿工作。第1、5、6、10章由刘嘉勇负责编写,第3、4、7、9、11章由任德斌负责编写,第2章由方勇编写,第8章及附录由胡勇、周安民编写。四川大学信息安全研究所全体同志为本书的编写给予了大力支持和帮助。本书的编写还从其他老师和同行的有关著作和教材(包括网站)中得到了帮助,作者在此一并表示由衷的感谢。
尽管作者已尽了最大努力,但限于作者的学识和水平,仍自感书中难免有需要商榷之处,诚望读者不吝赐教,为推动我国信息技术领域高级人才的培养共同努力。
本书的电子课件等配套资源可以从清华大学出版社网站www.tup.com.cn下载,如果读者在本书或课件的使用中遇到问题,请联系fuhy@tup.tsinghua.edu.cn。
编者2014年9月于四川大学