首页
社区
课程
招聘
[推荐]密码学领域必看书籍《应用密码学》第2版面世!
2013-11-25 10:35 37517

[推荐]密码学领域必看书籍《应用密码学》第2版面世!

2013-11-25 10:35
37517
应用密码学:协议、算法与C源程序(原书第2版)

原文书名:Applied Cryptography: Protocols, Algorithms, and Source Code in C
作者:(美)Bruce Schneier  著  
译者:吴世忠 祝世雄 张文政 等 译
ISBN :978-7-111-44533-3
定价:79.00元
出版社:机械工业出版社
免费试读http://vdisk.weibo.com/s/AFN3jW3rTaVu

媒体推荐
......我所读过的关于密码学最好的书......该书是美国国家安全局最不愿意见到出版的书......
—— 《Wired》                    


......不朽的......令人着迷的......计算机程序员必读的密码学上决定性的著作......
—— 《Dr.Dobb's Journal》                    


......该领域勿庸置疑的一本权威之作。
—— 《PC Magazine》                    


......编码高手的圣经。
—— The Millennium Whole Earth Catalog                    


内容简介
密码学的应用领域远远不只是编码和解码信息,要了解有关密码学技术的数字签名的知识,本书是必读之作。本书介绍了密码学协议的通用类型、特定技术,详细介绍了现实世界密码学算法的内部机制,包括DES和RSA公开密钥加密系统。书中提供了源代码列表和大量密码学应用方面的实践活动,如产生真正的随机数和保持密钥安全的重要性。

全书共分四个部分,定义了密码学的多个术语,介绍了密码学的发展及背景,描述了密码学从简单到复杂的各种协议,详细讨论了密码技术。并在此基础上列举了如DES、IDEA、RSA、DSA等十多个算法以及多个应用实例,并提供了算法的源代码清单。

全书内容广博权威,具有极大的实用价值,是致力于密码学研究的专业及非专业人员一本难得的好书。

译 者 序
    自密码学从外交情报和军事领域走向公开后,密码学文献难觅的窘境已大为改观,但密码学资料的晦涩难懂却依然如故。广大研究人员和读者一直盼望能有一本全面介绍当代密码学现状且可读性强的著作。Bruce Schneier所著《Applied Cryptography:Protocols,Algorithms,and Source Code in C》一书正是这样一部集大成之作。本书以生动的描述和朴实的文风将当代密码学的方方面面熔于一炉,1994年第1版一经推出即在国际上引起广泛关注,成为近几年来引用最多、销量最大的密码学专著,极大地推动了国际密码学研究与应用的发展。作者顺应近年来世界各国对信息安全普遍关注的趋势,结合第1版问世以来密码学的新成果,于1996年推出了第2版,仍是好评如潮。本书即根据第2版译出。
    本书作者没有将密码学的应用仅仅局限在通信保密性上,而是紧扣密码学的发展轨迹,从计算机编程和网络化应用方面,阐述了密码学从协议、技术、算法到实现的方方面面。该书详细解释了大量的新概念,如盲签名、失败终止签名、零知识证明、位承诺、数字化现金和保密的多方计算等,向读者全面展示了现代密码学的新进展。
    本书的核心部分自然是论述密码协议、技术和算法的一系列章节。作者收集了大量的公开密钥和私人密钥密码体制的实例,内容几乎涵盖了所有已公开发表的具有实用性的密码算法。作者将它们分门别类,一一评论。其中,对密码技术中密钥管理技术和算法的分析与总结详尽全面;对数十种密码算法的软件实现提出了务实可行的建议;对苏联和南非的一些算法的介绍更是引人入胜。对编程人员和通信专业人士来说,本书尤若百科全书。难怪美国《Wired》杂志说这是一本美国国家安全局永远也不愿看到它问世的密码学著作。此外,作者还简述了各种散列函数和签名方案,并结合实例说明了如何有效地利用现有的工具箱,特别指出了实现保密协议的方法,比如盲签名和零知识证明。同时,还涉猎了密码学领域中不少时髦的话题,比如阈下信道、秘密共享、隐写技术和量子密码学等。
    该书的第四部分也颇具特色,它以“真实世界”为题,向人们展示了密码学应用于社会的真实情况。首先,作者用十多个实际的例子,讨论密码学应用于计算机网络的现实情况,内容包括了国外大多数的商用保密协议,如IBM公司的密钥管理方案、应用较多的KryptoKnight、ISO的鉴别框架、因特网中的保密增强型电子邮件产品PEM以及PGP安全软件,甚至还讨论了密码学界的热门话题——美国军用保密电话STU-Ⅲ、商用密码芯片Clipper和Capstone。接着,作者从政治角度探讨了美国的密码政策,其中对围绕专利的争论、出口许可证的管理和密钥第三方托管的评说,都让国内读者耳目一新。
    当然,纵览全书,也不难看出本书的不足,如序列密码、密码的形式证明、密码学在金融系统(或银行)和军事系统中的应用等方面的内容略显不足。加之本书内容广博,作者在对引用资料的使用上也有一些失误。但是,正如作者在前言中所说,本书的目的是将现代密码学的精髓带给计算机编程人员、通信与信息安全专业人员和对此有兴趣的爱好者,从这个角度看,上述的缺陷当在情理之中。
    参加本书翻译和校对的同志有:吴世忠、祝世雄、张文政、朱甫臣、龚奇敏、钟卓新、蒋继洪、方关宝、黄月江、李川、谭兴烈、王佩春、曾兵、韦文玉、黄澄、罗超、王英、伍环玉、蒋洪志、陈维斌等。本书最后由吴世忠、祝世雄统稿。何德全院士在百忙之中审校了全部译稿。
必须指出的是,该书内容浩繁,由多人翻译,限于水平和经验,加之密码学的很多概念在译法上本身就有难度,故而谬误在所难免,敬请读者见谅。

Whitfield Diffie序
    密码学文献有一个奇妙的发展历程。当然,保密总是扮演着主要角色,但是直到第一次世界大战之前,密码学重要的进展很少出现在公开文献中,但该领域却和其他专业学科一样一直在向前发展。直到1918年,20世纪最有影响的密码分析文章之一——William F.Friedman的专题论文“ The Index of Coincidence and Its Applications in Cryptography”(重合指数及其在密码学中的应用)[577]作为私立Riverbank实验室的一份研究报告问世了。其实,这篇论文所涉及的工作是在战时完成的。同年,加州奥克兰的Edward H.Hebern申请了第一个转轮机专利[710],这种装置在差不多50年里被指定为美军的主要密码设备。
    然而,第一次世界大战之后,情况开始变化,完全处于秘密工作状态的美国陆军和海军的机要部门开始在密码学方面取得根本性的进展。在20世纪三四十年代,有多篇基础性的文章出现在公开的文献中,还出现了几篇专题论文,只不过这些论文的内容离当时真正的技术水平相去甚远。战争结束时,情况急转直下,公开的文献几乎殆尽。只有一个突出的例外,那就是Claude Shannon的文章“The Communication Theory of Secrecy Systems”(保密系统的通信理论)[1432]出现在1949年的《Bell System Technical Journal》(贝尔系统技术杂志)上,它类似于Friedman 1918年的文章,也是战时工作的产物。这篇文章在第二次世界大战结束后即被解密,可能是由于失误。
    从1949年到1967年,密码学文献近乎空白。1967年,一部与众不同的著作(David Kahn的《The Codebreakers》(破译者)[794])出现了,它并没有任何新的技术思想,但却对密码学的历史做了相当完整的记述,包括提及政府仍然认为是秘密的某些事情。这部著作的意义不仅在于它涉及了相当广泛的领域,而且在于它使成千上万原本不知道密码学的人了解了密码学。新的密码学文章开始源源不断地发表出来。
    大约在同一时期,早期为空军研制敌我识别装置的Horst Feistel在位于纽约约克镇高地的 IBM Watson实验室里花费了毕生精力致力于密码学的研究。那里他开始着手进行美国数据加密标准(Data Encryption Standard,DES)的研究,20世纪70年代初期,IBM发表了Feistel和他的同事在这个课题方面的多篇技术报告[1482、1484、552]。
    这就是我于1972年年底涉足密码学领域时的情形,当时密码学的文献还不丰富,但也包括一些非常有价值的东西。
    密码学提出了一个一般学科领域都难以遇到的难题:它需要密码学和密码分析学紧密结合、互为促进。这是由于缺乏实际通信需求所致。提出一个表面上看似不可破译的系统并不难,但许多学术性的设计非常复杂,以至于密码分析家不知从何入手,分析这些设计中的漏洞远比最初设计它们更难。结果是,那些可以强劲推动学术研究的竞争过程在密码学中并没起多大作用。
    当我和Martin Hellman在1975年提出公开密钥密码学[496]时,我们贡献的一个方面是引入了—个看来不易解决的难题。现在有抱负的密码体制设计者能够提出被认为是很聪明的一些东西——这些东西比只是把有意义的正文变成无意义的乱语更有用。结果是研究密码学的人数、召开的会议、发表的论文和专著数都惊人地增加了。
    我在接受Donald E.Fink奖(该奖是奖给在IEEE杂志上发表过最佳文章的人,我和Hellman在1980年共同获得该奖)发表演讲时,告诉听众,我在写“Privacy and Authentication”(保密性与鉴别)一文时有一种体验——这种体验,我相信即使在那些参加IEEE授奖会的著名学者当中也是罕见的:我写的那篇文章,并非我的研究结果而是我想要研究的课题。因为在我首次沉迷于密码学的时候,这类文章根本就找不到。如果那时我可以走进斯坦福书店,挑选现代密码学的书籍,我也许能在多年前就了解这个领域了。但是在1972年秋季,我能找到的资料仅仅是几篇经典论文和一些难以理解的技术报告而已。
    现在的研究人员再也不会遇到这样的问题了,他们的问题是要在大量的文章和书籍中选择从何处入手。研究人员如此,那些仅仅想利用密码学的程序员和工程师又会怎样呢?这些人会转向哪里呢?直到今天,在能够设计出一般文章中所描述的那类密码实用程序之前,花费大量时间寻找并研究那些文献仍然是很有必要的。
    本书正好填补了这个空白。作者Bruce Schneier从通信保密性的目的和达到目的所用的基本程序实例入手,对20年来公开研究的全部成果做了全景式的概括。书名开门见山,从首次叫某人进行保密会话的世俗目的,到数字货币和以密码方式进行保密选举的可能性,到处都可以发现应用密码学的地方。
    Schneier不满足于这本书仅仅涉及真实世界(因为此书叙述了直至代码的全部过程),他还叙述了发展密码学和应用密码学的那些领域,讨论了从国际密码研究协会到国家安全局这样的一些机构。
    在20世纪70年代后期和80年代初期,当公众显示出对密码学的兴趣时,国家安全局 (NSA),即美国官方密码机构,曾多次试图平息它。第一次是一封来自一名长期在NSA工作的雇员的信,据说这封信是这个雇员自己写的,此雇员自认为如此,表面上看来亦是如此。这封信是发给IEEE的,它警告密码资料的出版违反了国际武器交易条例(ITAR)。然而这种观点并没有被条例本身所支持(条例明显不包括已发表的资料)。但这封信却为密码学的公开实践和1977年的信息论专题研讨会做了许多意想不到的宣传。
    一个更为严重的事态发生在1980年,当时NSA为美国教育委员会提供资金,说服国会对密码学领域的出版物进行合法的控制。结果与NSA的愿望大相径庭,形成了密码学论文自愿送审的程序。研究人员在论文发表之前需就发表是否有损国家利益征询NSA的意见。
    随着20世纪80年代的到来,NSA将重点更多地集中在密码学的实际应用,而不是研究上。现有的法律授权NSA通过国务院控制密码设备的出口。随着商务活动的日益国际化和世界市场上美国份额的减少,国内外市场上需要单一产品的压力增加了。这种单一产品受到出口控制,于是NSA不仅对出口什么,而且也对在美国出售什么都施加了相当大的影响。
    密码学的公开使用面临一种新的挑战,政府建议在可防止涂改的芯片上用一种秘密算法代替广为人知且随处可得的DES,这些芯片将含有政府监控所需的编纂机制。这种“密钥托管”计划的弊病是它潜在地损害了个人隐私,并且以前的软件加密不得不以高价增加硬件来实现。迄今,密钥托管产品正值熊市,这种方案却已经引起了广泛的批评,特别是那些独立的密码学家怨声载道。然而,人们看到更多的是编程技术的未来而不是政治,并且还加倍努力向世界提供更强的密码,这种密码能够实现对公众的监督。
    从出口控制法律取代第一修正案的意见来看,1980年发生了大倒退,当时《Federal Register》(联邦公报)公布了对ITAR的修正,其中提到:“……增加的条款清楚地说明,技术数据出口的规定并不干预第一修正案中个人的权利。”但事实上,第一修正案和出口控制法律的紧张关系还未消除,最近由RSA数据安全公司召开的一次会议清楚地表明了这一点。出口控制办公室的NSA代表表达了如下意见:发表密码程序的人从法律上说是处在“灰色领域”。如果真是这样的话,本书第1版业已曝光,内容也处在“灰色领域”中。本书自身的出口申请已经得到军需品控制委员会当局在出版物条款下的认可,但是,装在磁盘上的程序的出口申请却遭到拒绝。
    NSA的策略从试图控制密码研究到紧紧抓住密码产品的开发和应用的改变,可能是由于认识到即便是世界上所有最好的密码学论文都不能保护哪怕是一位的信息。如果束之高阁,本书也许不比以前的书和文章更好,但若置于程序员编写密码的工作站旁,这本书无疑是最好的。

Whitfield Diffie
于加州Mountain View

前  言

    世界上有两种密码:一种是防止小孩偷看你的文件;另一种是防止当局阅读你的文件。本书写的是后一种情况。
    如果把一封信锁在保险柜中,把保险柜藏在纽约的某个地方,然后告诉你去看这封信,这并不是安全,而是隐藏。相反,如果把一封信锁在保险柜中,然后把保险柜及其设计规范和许多同样的保险柜给你,以便你和世界上最好的开保险柜的专家能够研究锁的装置,而你还是无法打开保险柜去读这封信,这才是安全的概念。
    许多年来,密码学是军队专有的领域。NSA和苏联、英国、法国、以色列以及其他国家的安全机构已将大量的财力投入到加密自己的通信,同时又千方百计地破译别人的通信的残酷游戏中。面对这些政府,个人既无专业知识又无足够财力保护自己的秘密。
    在过去的20年里,公开的密码学研究爆炸性地增长。从第二次世界大战以来,当普通公民还在长期使用经典密码时,计算机密码学已成为世界军事专有的领域。今天,最新的计算机密码学已应用到军事机构外,现在就连非专业人员都可以利用密码技术去阻止最强大的敌人,包括军方的安全机构。
    普通百姓真的需要这种保密性吗?是的,他们可能正在策划一次政治运动,讨论税收或正干一件非法的事情;也可能正设计一件新产品,讨论一种市场策略,或计划接管竞争对手的生意;或者可能生活在一个不尊重个人隐私权的国家,也可能做一些他们自己认为并非违法实际却是非法的事情。不管理由是什么,他的数据和通信都是私人的、秘密的,与他人无关。
    本书正好在混乱的年代出版。1994年,克林顿当局核准了托管加密标准(包括Clipper芯片和Fortezza卡),并将数字电话法案签署成为法律。这两个行政令企图确保政府实施电子监控的能力。
    一些危险的Orwellian假设在作祟:政府有权侦听私人通信,个人对政府保守秘密是错误的。如果可能,法律总有能力强制实施法院授权的监控,但是,这是公民第一次被迫采取“积极措施”,以使他们自己能被监控。这两个行政令并不是政府在某个模糊范围内的简单倡议,而是一种先发制人的单方面尝试,旨在侵占以前属于公民的权力。
    Clipper和数字电话不保护隐私,它强迫个人无条件地相信政府将尊重他们的隐私。非法窃听小马丁•路德•金电话的执法机构,同样也能容易地窃听用Clipper保护的电话。最近,地方警察机关在不少管区都有因非法窃听而被控有罪或被提出民事诉讼的事件,这些地方包括马里兰、康涅狄格、佛蒙特、佐治亚、密苏里和内华达。为了随时方便警察局的工作而配置这种技术是很糟糕的想法。
    这给我们的教训是采用法律手段并不能充分保护我们自己,还需要用数学来保护自己。加密太重要了,不能让给政府独享。
    本书为你提供了一些可用来保护自己隐私的工具。提供密码产品可能被宣布为非法,但提供有关的信息绝不会犯法。
怎样阅读本书
    我写本书的目的是为了在真实地介绍密码学的同时给出全面的参考文献。我尽量在不损失正确性的情况下保持本书的可读性,我不想使本书成为一本数学书。虽然我无意给出任何错误信息,但匆忙中理论难免有失严谨。对形式方法感兴趣的人,可以参考大量的学术文献。
    第1章介绍密码学,定义许多术语,简要讨论计算机出现前密码学的情况。
    第一部分(第2~6章)描述密码学的各种协议:人们能用密码学做什么。协议范围从简单(一人向另一人发送加密消息)到复杂(在电话上抛掷硬币)再到深奥(秘密的和匿名的数字货币交易)。这些协议中有些一目了然,有些却十分奇异。密码学能够解决大多数人绝没有认识到的许多问题。
    第二部分(第7~10章)讨论密码技术。对密码学的大多数基本应用来说,这一部分的4章都很重要。第7章和第8章讨论密钥:密钥应选多长才能保密,怎样产生、存储密钥,怎样处理密钥等。密钥管理是密码学最困难的部分,经常是保密系统的一个致命弱点。第9章讨论使用密码算法的不同方法。第10章给出与算法有关的细节:怎样选择、实现和使用算法。
    第三部分(第11~23章)列出多个算法。第11章提供数学背景,如果你对公开密钥算法感兴趣,那么这一章你一定要了解。如果你只想实现DES(或类似的东西),则可以跳过这一章。第12章讨论DES:DES算法、它的历史、安全性和一些变型。第13~15章讨论其他的分组算法:如果你需要比DES更保密的算法,请阅读IDEA和三重DES算法这节;如果你想知道一系列比DES算法更安全的算法,就请读完整章。第16章和第17章讨论序列密码算法。第18章集中讨论单向散列函数,虽然讨论了多种单向散列函数,但MD5和SHA是最通用的。第19章讨论公开密钥加密算法。第20章讨论公开密钥数字签名算法。第21章讨论公开密钥鉴别算法。第22章讨论公开密钥交换算法。几种重要的公开密钥算法分别是 RSA、DSA、Fiat-Shamir和Diffie-Hellman。第23章讨论更深奥的公开密钥算法和协议,这一章的数学知识非常复杂,请你做好思想准备。
    第四部分(第24~25章)转向密码学的真实世界。第24章讨论这些算法和协议的一些实际实现;第25章涉及围绕密码学的一些政治问题。这些章节并不全面。
    此外,本书还包括在第三部分讨论的10个算法的源代码清单,由于篇幅的限制,不可能给出所有的源代码,况且密码的源代码不能出口(非常奇怪的是,国务院允许本书的第1版和源代码出口,但不允许含有同样源代码的计算机磁盘出口)。配套的源代码盘中包括的源代码比本书中列出的要多得多,这也许是除军事机构以外最大的密码源代码集。我只能给住在美国和加拿大的公民发送源代码盘,但我希望有一天这种情况会改变。
    对本书的一种批评是,它的广博性代替了可读性。这是对的,但我想给可能偶然在学术文献或产品中需要算法的人提供参考。密码学领域正日趋热门,这是第一次把这么多资料收集在一本书中。即使这样,还是有许多东西限于篇幅舍弃了,但尽量保留了那些我认为是重要的、有实用价值的或者有趣的专题。如果我对某一专题讨论不深,我会给出深入讨论这些专题的参考文献。
    我在写作过程中已尽力查出和根除书中的错误,但我相信不可能消除所有的错误。第2版肯定比第1版的错误少得多。勘误表可以从我这里得到,并且它定期发往Usenet的新闻组 sci.crypt。如果读者发现错误,请通知我,我将不胜感谢。

Bruce Schneier

[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞0
打赏
分享
最新回复 (17)
雪    币: 10217
活跃值: (16419)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zhczf 2013-11-25 16:52
2
0
确实是一本非常好的密码学著作
雪    币: 1034
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
youngbug 2013-11-25 17:35
3
0
再办跟第一版有什么变化呢?

什么时候可以买到?
雪    币: 231
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zhengbindu 2013-11-26 17:14
4
0
预计再过半个月左右网店就可以买到了。

相对前一版的变化,可以在试读章节中看出来,下载看看吧
雪    币: 33
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
idoiter 2013-11-26 21:46
5
0
好书啊,赶紧跟图书馆的老师说,叫他订。
雪    币: 44
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
买啦个表 2013-12-23 11:00
6
0
这个第二版是原作者1996年写的。。。。 咱们这2014年1月第一次印刷。。。 将近20年,捉计啊。
雪    币: 209
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
上帝眷顾 2014-1-6 14:11
7
0
非也,如下:

《应用密码学协议、算法与C源程序》      
作者:(美)B.施奈尔(Bruce Schneier)著;吴世忠等译  页数:545  出版日期:2000  
丛书名:网络与信息安全技术丛书  
ISBN:7-111-07588-9
雪    币: 75
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
lisalan 2014-1-13 15:28
8
0
盗版啥时候能跟进啊
雪    币: 29
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
uuwhat 2014-1-24 10:13
9
0
这一定是一本难啃的书,我要啃。
雪    币: 96
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
逆枫寒 2014-1-24 15:09
10
0
MARK一下,下学期看看有没有卖的~ ~
雪    币: 54
活跃值: (129)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
kenlf 2014-2-14 14:30
11
0
又出新版了啊?新版封面很漂亮啊
人生第一部密码书,也是我的最爱
雪    币: 5432
活跃值: (2671)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
JAYceMS 2015-10-9 15:49
12
0
好像内容比较老了, 连AES都没有....
雪    币: 214
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
fdog 2016-1-8 17:15
13
0
这个来的迟了点
雪    币: 757
活跃值: (21)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
知花香 2016-6-23 12:36
14
0
推荐的很有水平是好东西
雪    币: 135
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
小阿弟 2016-6-23 12:43
15
0
<<<<----------可惜,咱不是数学学霸,这密码学,玩的就是逻辑思维。。。。
雪    币: 74
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
安wlaq 2016-7-11 19:09
16
0
更推荐 william stallings 的 《密码编码学与网络安全——原理与实践(第五版)》............
雪    币: 87
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
paktc 2016-7-12 09:28
17
0
去亚马逊看了一下 有第六版了 。不过我已经有应用密码学,有时间看了再说。
雪    币: 140
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
天台子 2016-10-1 12:26
18
0
又是过时的老古懂了,不过还是要学,毕竞是技术,不可不知。
游客
登录 | 注册 方可回帖
返回