描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787111748878
译者序
Whitfield Diffie序
前言
第1章 基础知识1
1.1 专业术语1
1.1.1 发送者和接收者1
1.1.2 消息和加密1
1.1.3 鉴别、完整性和抗抵赖1
1.1.4 算法和密钥2
1.1.5 对称算法3
1.1.6 公开密钥算法3
1.1.7 密码分析4
1.1.8 算法的安全性5
1.1.9 过去的术语6
1.2 隐写术7
1.3 代替密码和换位密码7
1.3.1 代替密码7
1.3.2 换位密码8
1.3.3 转轮机9
1.3.4 进一步的读物9
1.4 简单异或9
1.5 一次一密乱码本11
1.6 计算机算法12
1.7 大数13
第一部分 密码协议
第2章 协议结构模块16
2.1 协议概述16
2.1.1 协议的目的16
2.1.2 协议中的角色17
2.1.3 仲裁协议17
2.1.4 裁决协议19
2.1.5 自动执行协议20
2.1.6 对协议的攻击20
2.2 使用对称密码系统通信20
2.3 单向函数21
2.4 单向散列函数22
2.5 使用公开密钥密码系统通信23
2.5.1 混合密码系统24
2.5.2 Merkle的难题25
2.6 数字签名25
2.6.1 使用对称密码系统和仲裁者对文件签名26
2.6.2 数字签名树27
2.6.3 使用公开密钥密码系统对文件签名27
2.6.4 文件签名和时间标记27
2.6.5 使用公开密钥密码系统和单向散列函数对文件签名28
2.6.6 算法和术语28
2.6.7 多重签名28
2.6.8 抗抵赖和数字签名29
2.6.9 数字签名的应用29
2.7 带加密的数字签名30
2.7.1 重新发送消息作为收据30
2.7.2 阻止重新发送攻击31
2.7.3 对公开密钥密码系统的攻击31
2.8 随机和伪随机序列的产生32
2.8.1 伪随机序列32
2.8.2 密码学意义上安全的伪随机序列33
2.8.3 真正的随机序列33
第3章 基本协议34
3.1 密钥交换34
3.1.1 对称密码系统的密钥交换34
3.1.2 公开密钥密码系统的密钥交换34
3.1.3 中间人攻击34
3.1.4 连锁协议35
3.1.5 使用数字签名的密钥交换36
3.1.6 密钥和消息传输36
3.1.7 密钥和消息广播37
3.2 鉴别37
3.2.1 使用单向函数鉴别37
3.2.2 字典式攻击和salt37
3.2.3 SKEY38
3.2.4 使用公开密钥密码系统鉴别38
3.2.5 使用连锁协议互相鉴别39
3.2.6 SKID40
3.2.7 消息鉴别40
3.3 鉴别和密钥交换40
3.3.1 Wide-Mouth Frog协议41
3.3.2 Yahalom协议41
3.3.3 Needham-Schroeder协议41
3.3.4 Otway-Rees协议42
3.3.5 Kerberos协议43
3.3.6 Neuman-Stubblebine协议43
3.3.7 DASS协议44
3.3.8 Denning-Sacco协议45
3.3.9 Woo-Lam协议45
3.3.10 其他协议46
3.3.11 学术上的教训46
3.4 鉴别和密钥交换协议的形式化分析46
3.5 多密钥公开密钥密码系统48
3.6 秘密分割49
3.7 秘密共享50
3.7.1 有骗子的秘密共享51
3.7.2 没有Trent的秘密共享51
3.7.3 不暴露共享的秘密共享51
3.7.4 可验证的秘密共享51
3.7.5 带预防的秘密共享52
3.7.6 带除名的秘密共享52
3.8 数据库的密码保护52
第4章 中级协议53
4.1 时间标记服务53
4.1.1 仲裁解决方法53
4.1.2 改进的仲裁解决方法53
4.1.3 链接协议54
4.1.4 分布式协议54
4.1.5 进一步的工作55
4.2 阈下信道55
4.2.1 阈下信道的应用56
4.2.2 杜绝阈下的签名56
4.3 不可抵赖的数字签名57
4.4 指定的确认者签名58
4.5 代理签名58
4.6 团体签名59
4.7 失败-终止数字签名60
4.8 加密数据计算60
4.9 位承诺60
4.9.1 使用对称密码系统的位承诺61
4.9.2 使用单向函数的位承诺61
4.9.3 使用伪随机序列发生器的位承诺62
4.9.4 模糊点62
4.10 公平的硬币抛掷62
4.10.1 使用单向函数的抛币协议63
4.10.2 使用公开密钥密码系统的抛币协议64
4.10.3 抛币入井协议64
4.10.4 使用抛币产生密钥65
4.11 智力扑克65
4.11.1 三方智力扑克65
4.11.2 对扑克协议的攻击66
4.11.3 匿名密钥分配66
4.12 单向累加器67
4.13 秘密的全或无泄露68
4.14 密钥
世界上有两种密码:一种是防止小孩偷看你的文件;另一种是防止当局阅读你的文件。本书写的是后一种情况。
如果把一封信锁在保险柜中,把保险柜藏在纽约的某个地方,然后告诉你去看这封信,这并不是安全,而是隐藏。相反,如果把一封信锁在保险柜中,然后把保险柜及其设计规范和许多同样的保险柜给你,以便你和世界上最好的开保险柜的专家能够研究锁的装置,而你还是无法打开保险柜去读这封信,这才是安全的概念。
许多年来,密码学是军队专有的领域。NSA和苏联、英国、法国、以色列以及其他国家的安全机构已将大量的财力投入到加密自己的通信,同时又千方百计地破译别人的通信的残酷游戏中。面对这些政府,个人既无专业知识又无足够财力保护自己的秘密。
在过去的20年里,公开的密码学研究爆炸性地增长。从第二次世界大战以来,当普通公民还在长期使用经典密码时,计算机密码学已成为世界军事专有的领域。今天,最新的计算机密码学已应用到军事机构外,现在就连非专业人员都可以利用密码技术去阻止最强大的敌人,包括军方的安全机构。
普通百姓真的需要这种保密性吗?是的,他们可能正在策划一次政治运动,讨论税收或正干一件非法的事情;也可能正设计一件新产品,讨论一种市场策略,或计划接管竞争对手的生意;或者可能生活在一个不尊重个人隐私权的国家,也可能做一些他们自己认为并非违法实际却是非法的事情。不管理由是什么,他的数据和通信都是私人的、秘密的,与他人无关。
本书正好在混乱的年代出版。1994年,克林顿当局核准了《托管加密标准》(包括Clipper芯片和Fortezza卡),并将《数字电话法案》签署成为法律。这两个行政令企图确保政府实施电子监控的能力。
一些危险的Orwellian假设在作祟:政府有权侦听私人通信,个人对政府保守秘密是错误的。如果可能,法律总有能力强制实施法院授权的监控,但是,这是公民第一次被迫采取“积极措施”,以使他们自己能被监控。这两个行政令并不是政府在某个模糊范围内的简单倡议,而是一种先发制人的单方面尝试,旨在侵占以前属于公民的权利。
Clipper和数字电话不保护隐私,它强迫个人无条件地相信政府将尊重他们的隐私。非法窃听小马丁·路德·金电话的执法机构,同样也能容易地窃听用Clipper保护的电话。最近,地方警察机关在不少管区都有因非法窃听而被控有罪或被提出民事诉讼的事件,这些地方包括马里兰、康涅狄格、佛蒙特、佐治亚、密苏里和内华达。为了随时方便警察局的工作而配置这种技术是很糟糕的想法。
这给我们的教训是采用法律手段并不能充分保护我们自己,还需要用数学来保护自己。加密太重要了,不能让政府独享。
本书为你提供了一些可用来保护自己隐私的工具。提供密码产品可能被宣布为非法,但提供有关的信息绝不会犯法。
怎样阅读本书
我写本书的目的是在真实地介绍密码学的同时给出全面的参考文献。我尽量在不损失正确性的情况下保持本书的可读性,我不想使本书成为一本数学书。虽然我无意给出任何错误信息,但匆忙中理论难免有失严谨。对形式方法感兴趣的人,可以参考大量的学术文献。
第1章介绍密码学,定义许多术语,简要讨论计算机出现前密码学的情况。
第一部分(第2~6章)描述密码学的各种协议:人们能用密码学做什么。协议范围从简单(一人向另一人发送加密消息)到复杂(在电话上抛掷硬币)再到深奥(秘密的和匿名的数字货币交易)。这些协议中有些一目了然,有些却十分奇异。密码学能够解决大多数人绝没有认识到的许多问题。
第二部分(第7~10章)讨论密码技术。对密码学的大多数基本应用来说,这一部分很重要。第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章涉及围绕密码学的一些政治问题。这些章节并不全面。
此外,本书还包括在第三部分讨论
评论
还没有评论。