书籍详情

现代密码学理论与实践

现代密码学理论与实践

作者:(英)Wenbo Mao著;王继林,伍前红等译;王继林译

出版社:电子工业出版社

出版时间:2004-07-01

ISBN:9787505399259

定价:¥49.00

购买这本书可以去
内容简介
  很多密码方案与协议,特别是基于公钥密码体制的,有一些基础性或所谓的"教科书式密码"版本,这些版本往往是很多密码学教材所包含的内容。本书采用了一种不同的方式来介绍密码学:更加注重适于应用的密码学方面。它解释了那些"教科书式密码"版本仅适合于理想世界的原因,即数据是随机的、坏人的表现不会超越预先的假定。本书通过展示"教科书式密码"版本的方案、协议、和系统在各种现实应用场合存在着很多攻击,来揭示"教科书式密码"版本在现实生活中的不适用性。本书有选择性的介绍了一些实用的密码方案、协议和系统,其中多数已成为了标准或事实上的标准,对其进行了详细的研究,解释了其工作原理,讨论了其实际应用,并且常会以建立安全性形式证明的方式来考察它们的强(实用)安全性。另外,本书还完整地给出了学习现代密码学所必备的理论基础知识。序言23年1月,本书英文版刚出版两个多月后,我收到西安电子科技大学(西电)王育民教授发来的电子邮件,说西安电子科技大学已着手本书的中文翻译工作。半年后的今天,高质量的全书中文译稿已摆在我面前!我非常感谢王老师及参加本书翻译的全体同仁们的辛勤工作,使本书能如此快地与中文读者见面!应王老师之邀为中译本作序,我便想写上几句适宜于对我的中文读者们表达的我写此书之原动机。取决于密码算法及协议应用环境之敌意性,本书着重强调了应用(特别是商用)密码学研究与开发的几项原则:走标准化、公开性及在极端强化了的安全概念下获得形式可证安全的道路。这几项原则或许可以用孙子的名训"知己知彼,百战不殆"来概括。我想其中标准化、公开性可以解释为"知己",而追求极端强化安全概念下的可证安全则是向着"知彼"的境界升华。若对孙子名训做更通俗点的诠释,则我认为在商用密码学上,我们可以说:"谁是我们的朋友,谁是我们的敌人,这个问题也是商用密码学的首要问题"。为了能与外部朋友们进行安全的商务交易,我们不可以没有算法的标准化;为了在极大程度上限制暗藏(特别是内部)的敌人,我们需要算法的公开性;而达到强安全概念下的可证明安全则为走标准化、公开性道路提供高信度的保障。毛文波24年3月于西安译者序随着人类进入信息化社会,信息安全已成为人们在信息空间中生存与发展的重要保证条件,著名未来学家托夫勒曾说过,在信息时代"谁掌握了信息,控制了网络,谁就将拥有整个世界"。因此,密码学和信息安全技术在最近二十多年来,越来越受到人们的重视,特别是"911"事件以来,信息安全业已成为各国政府和有关部门、企业、机构的重要议事内容。现代密码学形成于2世纪7年代,其重要标志有两个,一是美国制定并于1977年1月15日批准公布了公用数据加密标准(DES,DataEncryptionStandard);二是公钥密码体制的诞生。这两个事件在密码学史上具有里程碑意义。DES的出现有两方面的意义,一是算法的标准化,二是密码算法的公开化。标准化的重要性容易为人们所认识,人类在2世纪学到的一件最重要的经验就是技术进步中标准化的作用。标准化提供产品的互操作性,对生产厂家和使用者都提供了极大的方便,大大降低了成本和提高了推广应用的速度,极大地促进了生产率的提高和技术进步。在密码和安全技术普遍用于实际通信网的过程中,密码算法的标准化是一项非常重要的工作。标准化可以实现规定的安全水平,具有兼容性,在保障安全的互连互通中起关键作用;标准化有利于降低成本、训练操作人员和技术的推广使用。因此各国政府有关部门和国际标准化组织都大力开展标准化的研究和制定工作。首先我们来看密码算法的标准化问题。支持现代人生存的重要基础设施之一是国家信息基础设施,即NII。在NII中建设国家信息安全基础设施(NISII)具有极其重要的意义,它是保障人民、国家、企业和个人能够在信息空间中生存的重要条件,是发展电子商务的基础。而公用密码算法和安全协议标准又是NISII的一个重要组成部分。没有密码算法和安全协议的支持,就无法建立信息空间中的信赖性,就不能支持信息空间中的仲裁机构、保护个人隐私和个人数据的安全保密。作为现代人也就无法在信息空间中生存。如欧盟就出资33亿欧元来制定NESSIE(NewEuropeanSchemesforSignatures,Integrity,andEncryption,新的欧洲数字签名、完整性和加密方案)。公用密码算法的标准要不要公开?长期以来,这一直是一个有争议的论题。虽然早在1多年以前,1883年荷兰密码学家A.Kerchoff(1835~193)就给出了密码学的一个基本原则:密码的安全必须完全寓于密钥之中。尽管密码学家们大都同意这一看法,但直到制定DES时才首次认真地遵循这一原则。这一做法适应信息化社会发展的需要,是完全正确的。但是,1984年9月美国总统里根签署了145号国家安全决策令(NSDD),命令NSA着手发展新的加密标准,并且规定算法不再公开,认为算法公开不利于美国国家的安全。到1993年4月,克林顿政府公布了一项建议的加密技术标准,称做密钥托管加密标准(EES,EscrowedEncryptionStandard)。EES不仅算法保密,而且每个芯片中的单元(或用户)密钥也在政府完全控制之下。在密码发展史上,DES确定了发展公用标准算法的模式,而EES的制定路线却与DES的背道而驰。EES在美国引起很大争论,由于它对美国公民的隐私权造成威胁而遭到多方面的反对。1995年5月AT&T贝尔实验室的M.Blaze博士在PC机上用45分钟时间使SKIPJACK的LEAF协议失败,伪造ID码获得成功。虽然NSA声称已弥补,但丧失了公众对此体制的信心。1995年7月美国政府宣布放弃用EES来加密数据,重新回到制定DES标准立场,这一耗资几亿美元的计划基本上遭到失败。1997年1月2日美国NIST着手进行AES(AdvancedEncryptionStandard)的研究,成立了标准工作室。1997年4月15日讨论了AES的评估标准,开始在世界范围内征集AES的建议算法。1998年8月2~22日经评审选定并公布了15个候选算法。1999年8月经评审筛选出5个算法,2年1月2日最后确定了以比利时两位密码学家ProtonWorldInternational公司的JoanDaemen博士和Katholeke大学电机工程系的VincentRijmen博士所设计的Rijdeal算法作为AES的标准算法。方针、政策的正确制定非常关键,它应当符合社会发展的需要,能代表先进的社会生产力,这样才能推动事物的发展。由DES到EES,再到AES的曲折历史告诉我们,制定信息化社会所需的公用密码算法标准的正确途径是公开地进行,一是算法要公开,二是方案要公开征集和公开评价。只有这样才能使密码算法的使用者相信用它能够保护自己的隐私和数据的安全、保证他能够在信息空间中公平地参加各类活动而不会遭受欺诈。也只有这样才能使所制定的密码算法标准能够经受住各种攻击,达到所需的安全性。毛博士在其书的1.2.6节中所做有关"民用的密码研究应该采用公开的途径"的论述,是非常正确和重要的。并非所有人都同意这种看法。有人认为,密码是一把双刃剑,既可以为我所用,也可以为敌所用。应当努力研究和发展密码的可控性理论和技术,以防范我们的密码为敌所用和滥用。这的确是一个重要和值得研究的问题。但是这决不是公用密码不应公开的根据。我们知道,EES的初衷就是想用它来对付恐怖分子、贩毒集团等犯罪分子,只要这类人采用EES的保密终端进行通信,就可以对他们实施实时监听。试想,这些人会如此之傻地跳进为他们设好的陷阱吗?难道他们不会用自行设计的密码来保护他们的关键数据?所以说EES不能实现他们预想的目的,倒是成为监听好人通信的工具了。作为公用密码算法标准EES是失败了,但它在密码发展史上也有成功之处。EES发展了密可控性理论与技术,大大推进了密钥托管和密钥恢复技术的发展,这类技术在电子商务和电子政务等方面有重要用途。我们在应用密码的各种技术时,一定要分析清楚所在的环境,有些适用于像Intranet和Extranet环境,有些更适用于Internet环境。其次,我们来看现代密码学赖以发展的环境问题。我们知道,2世纪7年代以前的密码学,包括香农所创建的保密通信的信息理论,讨论的基本问题是抗击被动攻击者对密文的截收和分析。只要设计出在理论和实际上让密码分析者难以破译的密码算法,就能保证信息的安全性。而现代密码学的应用环境是开放的网络环境,除了要对付被动攻击者外,还必须对付开放网络环境中的各种主动攻击者。如何对付主动攻击者,特别是如何对付那些刁钻的主动攻击者,是现代密码学中最具挑战性的问题。这类攻击者不仅很好地掌握了密码学和信息安全技术方面的知识,而且智商不低,能够充分利用开放网络环境所提供的资源来获取所需的信息,对他们所感兴趣的系统实施攻击。他们不仅会利用密码算法上的各种弱点,而且还能利用协议设计和使用中的各种缺陷。毛博士在他的书中全力以赴论述如何对付刁钻的主动攻击者。这不仅涉及"教科书式密码"的内容,还要用到现代密码学的一些新理论,特别是安全性的形式证明理论。这本书的重要特色就是全面而又深刻、严谨而又通俗地论述了现代密码学这一极为重要而又很前沿的问题。当今,任何密码算法、协议的设计和相应标准的制定,都不能回避可证明安全性,都必须通过这一理论的严格检验。毛博士的书以一种全新的方式介绍密码学,首先深刻揭示"教科书式密码"的不安全性和弱点,阐明它们不适于实际应用的理由;而后引入如何将一个密码算法或协议的"原型"改造成为一个能实际用于开放网络环境的安全方案,并给出这类方案安全性的形式证明。书中对于"理想世界"和"现实世界"、"两类攻击者"、"教科书式密码"和"非教科书式或适于应用的密码学"、"密码原型"和"实用密码方案"、安全协议等的论述是十分精辟的,需要认真体会。因此,本书对于密码和信息安全技术专业的学生以及从事这方面的工作者来说是一本不可多得、值得认真研读的好书。有关安全性可证明理论,Goldreich的"FundationsofCrytography"是应当提及的,但这是一本严格而数学化的书,适合于那些有很好数学基础而且要认真研究这一理论的读者。三十年前,要想找一本密码方面的书并不容易。最近二十多年来,特别是最近十年来,已出版了数以百计的密码学和信息安全技术的书。其中,中文书也已不下百本。这一方面是由于信息安全问题的重要性,另一方面也是由于借助于计算机来编写一本书已不是什么难事。但要写一本有特色、有存在价值的书就绝非易事。我想,当我们读过毛博士这本书以后,就会知道我们为什么要翻译和出版它了。毛博士能写这样的书与他的经历是分不开的。这里向读者简要介绍毛博士的有关信息。毛博士于1982年7月获复旦大学应用数学学士学位;1987年1月获北京航空航天大学计算机科学硕士学位;1993年7月获英国格拉斯哥Strathclyde大学计算机科学博士学位;1992年到1994年在英国曼彻斯特大学做博士后研究,与C.Boyd博士对密码协议和协议形式的分析进行深入研究,做出了贡献。曾在澳大利亚Technology学院、IssacNewtonInstitute及布里斯托尔大学做访问研究。1994年11月加入HP公司做高级技术成员,在英国的布里斯托尔研究实验室的可信赖系统实验室,参加了多项重要的电子商务系统和信息安全系统的设计和开发工作,其中包括欧盟的CASENET计划的HP部分的领导工作。在密码算法、协议的设计和分析方面进行了广泛而深入的研究,做出了优异成绩。他在重要国际会议和杂志上发表了多篇论文,曾获IEE的TheHartree奖,是IEEE、BCS和IACR会员,澳大利亚昆士兰、布里斯托尔、伦敦等大学客座研究员。多个有关密码和信息安全重要国际会议的程序委员会成员和有关杂志的密码和信息安全方面专辑的编辑或顾问组成员。自2年4月至今任HP公司总工程师、技术领导。毛博士正在撰写"CryptographicProtocol"一书,我们期待它早日问世。参加本书翻译的八位博士生,他们对于所分担部分的内容都比较熟悉,与他们博士论文的研究方向比较接近。翻译的初稿,先两两一组相互校对,然后由姜正涛做仔细的初校,最后由我做全面的校对,有些部分进行了多回合的商榷和订正。各部分分工如下:王继林译前言、目录、图的列表、第1章、第2章,伍前红译第4章、第18章、第19章、第2章,庞辽军译第3章、第1章,郝艳华译第5章、第7章,姜正涛译第6章、第8章,张键红译第9章、第13章,田海波译第11章、第12章,陈原译第14章、第15章、第16章、第17章。名词索引的初稿由伍前红和王继林译出。他们都认真、负责和按时完成了任务。姜正涛付出最多,他连续工作了三个多月,寒假也在工作;他的英语水平高,汉语语言表达能力强;他工作认真、细心,负责,出色地完成了校对任务。没有这八位同学的努力和合作,就不可能把这本书及时献给中文读者。毛博士曾仔细地阅读了中译本的初稿,提出不少修改意见,在此表示衷心的感谢!感谢电子工业出版社在我们翻译本书时所给予的协助和支持,以及编辑们的辛勤工作!我们衷心希望这本书的中文版能在我国的密码和信息安全技术领域发挥它应有的作用。虽然我们做了努力,但有些地方的译文未必能正确表达出原书的意思,甚至会有错误。敬请读者批评和指正。西安电子科技大学王育民ymwang@xidian.edu.cn24年3月18日前言我们的社会已经进入了一个崭新时代,传统的商务活动、事务处理以及政府服务已经或越来越多地将要通过开放的计算机和通信网,如Internet,特别是基于万维网的工具来实施和提供。对在世界各个角落的人来说,在线工作有着"随时可得"的巨大优点。下面是一些可以或即将可以在线完成的事例:银行业务、账单支付、家中购物、股票交易、拍卖、税收、赌博、小额支付(例如按下载支付)、电子身份、对医药记录的在线访问、虚拟保密网、安全数据存档与恢复、文件的挂号递送、敏感文件的公平交换、公平合同签署、时戳、公正、选举、广告、授权、订票、交互式游戏、数字图书馆、数字权限管理、盗版追踪等。只有在开放网络能提供安全通信的条件下,上述诱人的商务活动、事务处理以及服务才能实现。而要保证在开放网络中通信的安全性,一个有效的解决办法就是利用密码技术。加密、数字签名、基于口令的用户认证是实现安全通信的一些最基本的密码技术。但是,正如我们将在本书中多次看到的那样,即使是最基本的密码技术,在应用中也存在令人惊讶的难以捉摸和严重的安全性问题。而且对很多像上一段所列出的"想像的"应用来说,这些基本的密码技术是不够的。越来越复杂的电子商务、事务处理和服务形式GartnerGroup预计,欧盟的B2B和B2C电子商务税收在24年将以.7的概率达到2.6万亿美元,是2年的28倍[5]。eMarketer[15]也报告,美国金融机构在22年因电子身份问题被窃的损失为14亿美元,并预计每年将会以29%的速度增加。对在开放的网络中实现安全通信的需求正迅速增加。对能够进行设计、开发、分析和维护信息安全系统和密码协议的信息安全方面的专业人员的需求量正日益增大。这些专业人员可能是从IT系统的管理员、信息安全工程师和有安全要求的软/硬件系统产品的开发人员,直到密码学家。在过去的几年里,作者作为在英国布里斯托尔HewlettPachard实验室信息安全与密码系统方面的一名技术顾问,已经注意到了对信息安全人员需求的持续增长和现有专业人员明显短缺这一失调现象。结果,很多在密码或信息安全方面缺少适当训练的面向应用的工程师,由于应用的需要,不得不"挽起袖子"成了安全系统或密码协议的设计者或者开发者。尽管这是不争的事实,但要设计密码系统和协议,即便对密码学专家来说,也不是件容易的事。作者的工作性质允许他有机会审查很多信息安全系统和密码协议,其中有一些就是由"挽袖子"工程师所提出和设计的,而且是用在一些重要的实用上。在很多场合,作者看到了这些系统中存在有所谓的"教科书式密码"的特征,这是把很多密码学教科书中一般都介绍的密码算法直接拿来应用的结果。利用基本的公钥加密算法(如RSA)直接对口令(一个不大的秘密数)进行加密就是"教科书式密码"的一个典型例子。教科书式密码以"不可忽略的概率"在重要应用场合下的出现引起了作者的担心。看来,教科书式密码的一般危害,尚没有被那些针对重要现实应用来设计和开发信息安全系统的许多人所意识到。考虑到对信息安全专业人才的大量需求,并相信专业人才的密码学知识不能仅囿于教科书式密码学,作者写了这本"非教科书式密码学"教材。本书致力于:在强调"非教科书式"的情况下,广泛介绍有关密码算法、方案和协议。通过展示对这类系统的大量攻击和总结典型的攻击技术,来说明"教科书式密码"的不安全性。通过对标准的关注,为密码系统和协议的设计、分析与实施提供原理和指导原则。研究严格建立密码系统和协议的强而实用安全性表示的形式化技术和方法。为希望系统了解这一领域的读者精心选取学习现代密码学必备的理论素材。本书范围在过去的3年里,现代密码学的研究可谓突飞猛进,其研究领域非常广泛和深入。本书集中讨论一个方面的问题:对以其强安全性能明确建立起来的实用密码方案和协议进行介绍。本书分为6部分:第一部分这一部分共有两章内容(第1章,第2章),是本书和密码学与信息安全的入门性介绍。其中第1章以解决一个微妙的通信问题为开场白,来阐述密码学的效用。本章将给出一个在电话上实现公平掷币的简单密码协议(本书的第一个协议)并对其进行讨论。然后对要研究领域的文化和"贸易"进行介绍。第2章使用一系列的简单认证协议,来表明该领域的一个不幸的事实:缺陷处处存在。作为入门性介绍,这一部分是为想进入该领域的新手写的。第二部分这一部分介绍学习本书必备的数学背景知识,它包含4章内容(第3章~第6章)。只想"知其然",即了解如何使用实用密码方案和协议的读者,可以跳过这一部分而基本上不影响大多数后续章节的阅读。要想知道"所以然",即为什么这些方案和协议具有强安全性的读者将会发现,这里给出的数学背景知识是足够的。当我们揭示方案和协议的工作原理,指出其中的一些方案和协议是不安全的,或者论述别的协议和方案是安全的时候,我们就能在这里找到相应的理论根据。这一部分也可作为学习现代密码学理论基础的系统背景知识。第三部分这部分也有4章内容(第7章~第1章),介绍提供保密和数据完整性保护最基本的密码算法和技术。其中第7章是对称加密方案,第8章是非对称加密技术,第9章讨论的是,在数据是随机的理想条件下,利用基本通用的非对称密码函数所拥有的一个重要的安全特性。最后的第1章是数据完整性技术。由于这里介绍的是最基本的方案和技术,其中多数属于"教科书式密码",因而是不安全的。在介绍这些方案的同时,也给出不少相应的攻击,并明确阐述了告诫注释。对于那些不想对实用密码和它们的强安全性概念做深入研究的实际工作人员,教科书式密码部分也仍会就教科书式密码的不安全性向他们提出明确的预警信号。第四部分这部分有3章内容(第11章~第13章),介绍应用密码学和信息安全中一个重要的概念:认证。这些章节的研究范围很广,第11章介绍技术背景、原理、一系列的基础协议和标准,以及常规的攻击技术和防护措施。第12章是对四个著名的认证协议系统在现实应用案例的研究。第13章介绍特别适合于开放系统的有关最新技术。企业中信息安全系统的管理者、安全产品的软/硬件开发商们将会发现这一部分对他们是非常有用的。第五部分这部分有4章内容(第14章~第17章),对公钥密码技术(加密、签名和签密)的强(实用)安全性概念进行严格的形式化处理,并给出认证协议的形式化分析方法。第14章介绍强安全性概念的形式化定义,接着的两章是和第三部分教科书式密码方案相对的实用密码方案,具有形式化建立起(即明确推理)的强安全性。最后,第17章对在第四部分尚未进行分析的认证协议,给出其形式化的分析方法和技术。第六部分这是本书的最后一部分,包括两个技术章节(第18章~第19章)和一个简短的评述(第2章)。其主要的技术章节,第18章,介绍了一类被称为零知识协议的密码协议。这类协议能提供一种重要的安全性业务,它为"想像中"的各种电子商务和事务处理应用所必需,在对所声明的内容保持严格保密性的情况下,对一个秘密数所宣称的性质进行证实(例如,符合商业上的需求)。这部分要引入零知识协议,说明了在各种现实应用中对特定安全性需求的多样性。这种多样性超越了机密性、完整性、认证和不可否认性。在本书的最后一个技术章节(第19章)中,我们将解决本书一开始介绍的协议中的遗留问题:实现"通过电话公平掷币"。最后的实现协议不但在效率上适宜实用,而且也明确地建立起了强安全性。不用说,对每一个实用密码协议或方案的描述,都是要先给出与之相应的教科书式密码不适用的原因。我们总是以给出相应存在的攻击来说明原因,就相应的攻击而言,这些方案和协议往往存在某些微妙之处。另外,一个实用密码协议和方案的描述,也必是以其所宣称的必须包含的强(实用)安全性成立的分析来结束。因而,本书一些部分不可避免地要包含有数学和逻辑推理、为明示和对付攻击所需的归纳和变换。实用密码学并不是一个轻易驾驭或者稍稍读读就能掌握的论题。尽管如此,本书并不是一本仅为专业密码学家所感兴趣的高深研究课题的书。这里所介绍的东西对密码学家来说都是已知的和相当基本的。作者相信,在有充足的解释、实例、足够的数学背景知识和参考材料的情况下,这些东西完全能被非专业人士理解。本书针对的读者对象为:已经或即将完成计算机、信息科学、应用数学第一学位课程并计划从事信息安全行业的学生。对他们来说,本书可以作为应用密码学的高级教程。在高科技公司从事信息安全系统设计和开发的安全工程师。如果我们说在科学研究计划中,教科书式密码所产生的危害不是很大的话,至多是出现一种令人尴尬的场面,那么在信息安全产品中使用教科书式密码将会造成严重损失。因此对这类读者来说,了解教科书式密码在现实中的不适用性是非常必要的。而且,这类读者应该对隐藏在实用方案和协议下的安全原理有很好的理解,以便能正确地使用这些方案和原理。第II部分所给出的自足的数学基础材料使得本书很适合这类读者自学。对企业信息安全系统管理人员或者生产安全产品的软/硬件开发商这类读者来说,第I部分是简单而基本的文化和"商务"方面的培训教程,第III部分和第IV部分是一个适当裁减的密码学和信息安全知识集。这三部分包含有很多基本的密码方案和协议,以及很多对应的攻击方法和防护措施。这些攻击方法和防护措施能被大多数读者理解,不需要有所谓理论基础的负担。对于刚开始从事密码学或计算机安全方面研究的博士生这类读者来说,将会欣赏一本能包含强安全性概念的形式化处理并对其进行适当和详细解释的书感兴趣。本书将能帮助他们快速深入地进入这一浩瀚的研究领域。对这类人员来说,第II、IV、V和VI部分构成了一个适当深度的文献综述材料,这将能引导他们找到更进一步的文献,并能帮助他们明确自己的研究课题。本书的适当取舍(如第1章、第2章、第3章和第6章)也可以组成适合计算机、信息科学和应用数学大学高年级学生学习用的应用密码学教程。致谢非常感谢FengBao、ColinBoyd、StevenGalbraith、DieterGollmann、KeithHarrison、MarcusLeech、HelgerLipmaa、HoiKwongLo、JavierLopez、JohnMalonelee、CaryMeltzer、ChristianPaquin、KennyPaterson、DavidPointcheval、VincentRijmen、NigelSmart、DavidSoldera、PaulvanOorschot、SergeVaudenay和StefekZaba。他们花费了大量时间校阅有关章节或全书,并提供了非常有价值的评论、批评和建议,使得本书更加完善。本书还得益于向下列人士的请教:MihirBellare、JanCamenisch、NeilDunbar、YairFrankel、ShaiHalevi、AntoineJoux、MarcJoye、ChalieKaufman、AdrianKent、HugoKrawczyk、CatherineMeadows、BillMunro、PhongNguyen、RadiaPerlman、MarcoRicca、RonaldRivest、SteveSchneider、VictorShoup、IgorShparlinski和MotiYung。作者还要感谢PrienticeHallPTR的JillHarry和HPProfessionalBooks的SusanWright,他们鼓励并引导我写作了本书,并在我漫长的写作中提供了技术帮助,感谢PrienticeHallPTR的JenniferBlackwell、RobinCarroll、BrendaMulligan、JustinSomma和MarySudul以及HPProfessionalBooks的WalterBruce和PatPekary。还要感谢我在布里斯托尔Hewlettpackard实验室的同事们在技术、修辞和管理方面给予的支持,他们是DavidBall、RachardCardwell、LiqunChen、LanCole、GarethJones、StephenPearson和MartinSadler。作者于英国布里斯托尔23年5月
作者简介
  WenboMao,1993年获英国格拉斯哥Strathclyde大学计算机科学博士。1992年到1994年在英国Manchester大学做博士后研究期间,与C.Boyd博士对密码协议和协议形式的分析进行了深入研究并做出了贡献。后加入HP公司做高级技术成员,在英国的Bristol研究实验室的可信赖系统实验室,参加了多项重要的电子商务系统和信息安全系统的设计和开发工作。他是多个有关密码和信息安全重要国际会议的程序委员会成员和有关杂志的密码及信息安全方面专辑的编辑或顾问组成员。自2000年4月至今任HP公司总工程师、技术领导。
目录
第一部分  引言
第1章  一个简单的通信游戏
1.1  一个通信游戏
1.1.1  我们给出密码学的第一个应用示例
1.1.2  对密码学基础的初步提示
1.1.3  信息安全基础:计算困难性的背后
1.1.4  密码学的新作用:保证游戏的公平性
1.2  描述密码系统和协议的准则
1.2.1  保护的程度与应用需求相符合
1.2.2  对安全性的信心要依据所建立的“种系”1.2.3  实际效率
1.2.4  采用实际的和可用的原型和服务
1.2.5  明确性
1.2.6  开放性
1.3  本章小结
习题
第2章  防守与攻击
2.1  引言
2.1.1  本章概述
2.2  加密
2.3  易受攻击的环境(DolevYao威胁模型)
2.4  认证服务器
2.5  认证密钥建立的安全特性
2.6  利用加密的认证密钥建立协议
2.6.1  消息保密协议
2.6.2  攻击、修复、攻击、修复……
2.6.3  消息认证协议
2.6.4  询问应答协议
2.6.5  实体认证协议
2.6.6  一个使用公钥密码体制的协议
2.7  本章小结
习题
第二部分  数学基础
标准符号
第3章  概率论和信息论
3.1  引言
3.1.1  本章纲要
3.2  概率论的基本概念
3.3  性质
3.4  基本运算
3.4.1  加法规则
3.4.2  乘法规则
3.4.3  全概率定律
3.5  随机变量及其概率分布
3.5.1  均匀分布
3.5.2  二项式分布
3.5.3  大数定律
3.6  生日悖论
3.6.1  生日悖论的应用:指数计算的Pollard袋鼠算法
3.7  信息论
3.7.1  熵的性质
3.8  自然语言的冗余度
3.9  本章小结
习题
第4章  计算复杂性
4.1  引言
4.1.1  本章概述
4.2  图灵机
4.3  确定性多项式时间
4.3.1  多项式时间计算性问题
4.3.2  算法与计算复杂度表示
4.4  概率多项式时间
4.4.1  差错概率的特征
4.4.2  “总是快速且正确的”子类
4.4.3  “总是快速且很可能正确的”子类
4.4.4  “很可能快且总是正确的”子类
4.4.5  “很可能快且很可能正确的”子类
4.4.6  有效算法
4.5  非确定多项式时间
4.5.1  非确定多项式时间完全
4.6  非多项式界
4.7  多项式时间不可区分性
4.8  计算复杂性理论与现代密码学
4.8.1  必要条件
4.8.2  非充分条件
4.9  本章小结
习题
第5章  代数学基础
5.1  引言
5.1.1  章节纲要
5.2  群
5.2.1  拉格朗日定理
5.2.2  群元素的阶
5.2.3  循环群
5.2.4  乘法群n
5.3  环和域
5.4  有限域的结构
5.4.1  含有素数个元素的有限域
5.4.2  模不可约多项式的有限域
5.4.3  用多项式基构造有限域
5.4.4  本原根
5.5  用椭圆曲线上的点构造群
5.5.1  群运算
5.5.2  点乘
5.5.3  椭圆曲线离散对数问题
5.6  本章小结
习题

第6章  数论
6.1  引言
6.1.1  本章概述
6.2  同余和剩余类
6.2.1  n中运算的同余性质
6.2.2  求解n中的线性同余式
6.2.3  中国剩余定理
6.3  欧拉函数
6.4  费马定理、欧拉定理、拉格朗日定理
6.5  二次剩余
6.5.1  二次剩余的判定
6.5.2  勒让德雅可比符号
6.6  模一个整数的平方根
6.6.1  求模为素数时的平方根
6.6.2  求模为合数时的平方根
6.7  Blum整数
6.8  本章小结
习题
第三部分  基本的密码学技术
第7章  加密——对称技术
7.1  引言
7.1.1  本章概述
7.2  定义
7.3  代换密码
7.3.1  简单的代换密码
7.3.2  多表密码
7.3.3  弗纳姆密码和一次一密
7.4  换位密码
7.5  古典密码:使用和安全性
7.5.1  古典密码的使用
7.5.2  古典密码的安全性
7.6  数据加密标准(DES)
7.6.1  介绍DES
7.6.2  DES的核心作用:消息的随机非线性分布
7.6.3  DES的安全性
7.7  高级加密标准(AES)
7.7.1  Rijndael密码概述
7.7.2  Rijndael密码的内部函数
7.7.3  Rijndael内部函数的功能小结
7.7.4  快速而安全的实现
7.7.5  AES对应用密码学的积极影响
7.8  运行的保密模式
7.8.1  电码本模式(ECB)
7.8.2  密码分组链接模式(CBC)
7.8.3  密码反馈模式(CFB)
7.8.4  输出反馈模式(OFB)
7.8.5  计数器模式(CTR)
7.9  对称密码体制的密钥信道建立
7.10本章小结
习题
第8章  加密——非对称技术
8.1  引言
8.1.1  本章概述
8.2  “教科书式加密算法”的不安全性
8.3  DiffieHellman密钥交换协议
8.3.1  中间人攻击
8.4  DiffieHellman问题和离散对数问题
8.4.1  任意参数对于满足困难假设的重要性
8.5  RSA密码体制(教科书式)
8.6  公钥密码体制的分析
8.7  RSA问题
8.8  整数分解问题
8.9  教科书式RSA加密的不安全性
8.9.1  中间相遇攻击和教科书式RSA上的主动攻击
8.10  Rabin加密体制(教科书式)
8.11  教科书式Rabin加密的不安全性
8.12  ElGamal密码体制(教科书式)
8.13  教科书式ElGamal加密的不安全性
8.13.1  教科书式ElGamal加密的中间相遇攻击和主动攻击
8.14  公钥密码系统需要更强的安全定义
8.15  非对称密码与对称密码的组合
8.16  公钥密码系统密钥信道的建立
8.17  本章小结
习题
第9章  理想情况下基本公钥密码函数的比特安全性
9.1  前言
9.1.1  本章概述
9.2  RSA比特
9.3  Rabin比特
9.3.1  BlumBlumShub伪随机比特生成器
9.4  ElGamal比特
9.5  离散对数比特
9.6  本章小结
习题
第10章  数据完整性技术
10.1  引言
10.1.1  本章概述
10.2  定义
10.3  对称技术
10.3.1  密码杂凑函数
10.3.2  基于密钥杂凑函数的MAC
10.3.3  基于分组加密算法的MAC
10.4  非对称技术Ⅰ:数字签名
10.4.1  数字签名的教科书式安全概念
10.4.2  RSA签字体制(教科书式版本)
10.4.3  RSA签字安全性的非形式化论证
10.4.4  Rabin签名体制(教科书式版本)
10.4.5  关于Rabin签名的一个自相矛盾的安全性基础
10.4.6  ElGamal签名体制
10.4.7  ElGamal签名体制安全性的非形式化论证
10.4.8  ElGamal签名族中的签名体制
10.4.9  数字签名体制安全性的形式化证明
10.5  非对称技术Ⅱ:无源识别的数据完整性
10.6  本章小结
习题
第四部分  认证
第11章  认证协议——原理篇
11.1  引言
11.1.1  章节概述
11.2  认证和细化的概念
11.2.1  数据源认证
11.2.2  实体认证
11.2.3  认证的密钥建立
11.2.4  对认证协议的攻击
11.3  约定
11.4  基本认证技术
11.4.1  消息新鲜性和主体活现性
11.4.2  双方认证
11.4.3  包含可信第三方的认证
11.5  基于口令的认证
11.5.1  Needham口令认证协议及其在UNIX操作系统中的实现
11.5.2  一次性口令机制(及缺陷的修补)
11.5.3  加盐操作:加密的密钥交换(EKE)
11.6  基于非对称密码学的认证密钥交换
11.6.1  工作站工作站协议
11.6.2  简化STS协议的一个缺陷
11.6.3  STS协议的一个瑕疵
11.7  对认证协议的典型攻击
11.7.1  消息重放攻击
11.7.2  中间人攻击
11.7.3  平行会话攻击
11.7.4  反射攻击
11.7.5  交错攻击
11.7.6  归因于类型缺陷攻击
11.7.7  归因于姓名遗漏攻击
11.7.8  密码服务滥用攻击
11.8  文献简记
11.9  本章小结
习题
第12章  认证协议——实践篇
12.1  引言
12.1.1  章节概述
12.2  用于因特网的认证协议
12.2.1  IP层通信
12.2.2  IP安全协议(IPSec)
12.2.3  因特网密钥交换(IKE)协议
12.2.4  IKE中看似合理的可否认性
12.2.5  对IPSec和IKE的批评意见
12.3  安全壳(SSH)远程登录协议
12.3.1  SSH架构
12.3.2  SSH传输层协议
12.3.3  SSH策略
12.3.4  警告
12.4  Kerberos协议及其在Windows 2000系统中的实现
12.4.1  单点登录结构
12.4.2  Kerberos交换
12.4.3  警告
12.5  SSL和TLS
12.5.1  TLS架构概述
12.5.2  TLS握手协议
12.5.3  TLS握手协议的典型运行
12.5.4  对TLS协议的边信道攻击
12.6  本章小结
习题
第13章  公钥密码的认证框架
13.1  前言
13.1.1  本章概述
13.2  基于目录的认证框架
13.2.1  证书发行
13.2.2  证书吊销
13.2.3  公钥认证框架实例
13.2.4  与X.509公钥证书基础设施相关的协议
13.3  基于非目录的公钥认证框架
13.3.1  Shamir的基于ID的签名方案
13.3.2  基于ID的密码确切提供了什么
13.3.3  自证实公钥
13.3.4  利用“弱”椭圆曲线对构造基于身份的公钥密码体制
13.3.5  Sakai、Ohgishi和Kasahara的基于ID的非交互密钥分享系统
13.3.6  三方DiffieHellman密钥协商
13.3.7  Boneh和Franklin的基于ID的密码体制
13.3.8  非交互特性:无密钥信道的认证 
13.3.9  基于身份的公钥密码学的两个公开问题
13.4  本章小结
习题
第五部分  建立安全性的形式化方法
第14章  公钥密码体制的形式化强安全性定义

14.1  引言
14.1.1  本章概述
14.2  安全性的形式化处理
14.3  语义安全性——可证明安全性的首次亮相
14.3.1  SRA智力扑克协议
14.3.2  基于教科书式安全的安全性分析
14.3.3  Goldwasser和Micali的概率加密
14.3.4  GM密码体制的安全性
14.3.5  ElGamal体制的一种语义安全版本
14.3.6  基于Rabin比特的语义安全密码体制
14.4  语义安全性的不充分性
14.5  超越语义安全性
14.5.1  抗击选择密文攻击的安全性
14.5.2  抗击适应性选择密文攻击的安全性
14.5.3  不可展密码学
14.5.4  不可区分性与不可展性的关系
14.6  本章小结
习题
第15章  可证明安全的有效公钥密码体制
15.1  引言
15.1.1  本章概述
15.2  最优非对称加密填充
15.2.1  安全性证明的随机预言机模型
15.2.2  RSAOAEP
15.2.3  RSAOAEP证明中的曲折
15.2.4  对RSAOAEP的补救工作
15.2.5  RSAOAEP“归约为矛盾”的严谨性
15.2.6  对随机预言机模型的批评
15.2.7  作者对随机预言机模型价值的观点
15.3  CramerShoup公钥密码体制
15.3.1  在标准困难性假设下的可证明安全性
15.3.2  CramerShoup体制
15.3.3  安全性证明
15.4  可证明安全的混合密码体制综述
15.5  可证明安全的实用公钥密码体制的文献注记
15.6  本章小结
习题
第16章  强可证明安全的数字签名方案
16.1  引言
16.1.1  本章纲要
16.2  数字签名的强安全性定义
16.3  ElGamal族签名的强可证明安全
16.3.1  三元组ElGamal族签名
16.3.2  分叉归约技术
16.3.3  重行归约方法
16.4  适于应用的RSA和Rabin签名方法
16.4.1  具有随机化填充的签名
16.4.2  概率签名方案
16.4.3  PSSR:消息可恢复的签名
16.4.4  签名和加密通用的PSSR填充
16.5  签密
16.5.1  Zheng的签密方案
16.5.2  一箭双雕:采用RSA签密
16.6  本章小结
习题
第17章  分析认证协议的形式化方法

17.1  引言
17.1.1  本章概述
17.2  认证协议的形式化描述
17.2.1  加解密认证方法的不精确性
17.2.2  认证协议的细化描述
17.2.3  认证协议细化描述的例子
17.3  正确协议的计算观点——BellareRogaway模型
17.3.1  参与者行为的形式模型化
17.3.2  相互认证的目标:匹配对话
17.3.3  MAP1协议及其安全性证明
17.3.4  协议正确性计算模型的进一步研究
17.3.5  讨论
17.4  正确协议的符号操作观点
17.4.1  定理证明
17.4.2  一种认证逻辑
17.5  形式化分析技术:状态系统探查
17.5.1  模型检验
17.5.2  NRL协议分析机
17.5.3  CSP方法
17.6  调和安全性形式化技术的两种观点
17.7  本章小结
习题
第六部分  密码学协议
第18章  零知识协议
18.1  引言
18.1.1  本章纲要
18.2  基本定义
18.2.1  计算模型
18.2.2  交互式证明协议的形式化定义
18.2.3  一个复杂性理论结果
18.3  零知识特性
18.3.1  完备零知识
18.3.2  诚实验证者的零知识
18.3.3  计算零知识
18.3.4  统计零知识
18.4  证明还是论据
18.4.1  零知识论据
18.4.2  零知识证明
18.5  双边差错协议
18.5.1  零知识证明双素整数
18.6  轮效率
18.6.1  子群成员归属的轮效率下界
18.6.2  离散对数的常数轮证明
18.7  非交互式零知识
18.7.1  利用指定验证者获得NIZK
18.8  本章小结
习题
第19章  回到“电话掷币”协议
19.1  Blum“电话掷币”协议
19.2  安全性分析
19.3  效率
19.4  本章小结
第20章  结束语
参考文献
猜您喜欢

读书导航