应用密码学

Bruce Schneier

出版时间

1999-12-31

ISBN

9787111075882

评分

★★★★★
书籍介绍

应用密码学:协议、算法与C源程序,ISBN:9787111075882,作者:(美)Bruce Schneier著;吴世忠 等译

AI导读
核心看点
  • 本书系统阐述密码协议、技术与算法,强调协议设计优于单纯算法堆砌。作者指出自动执行协议的重要性,即协议本身需保证公平性,无需仲裁者即可防止欺诈,任何试图欺骗的行为都会立即被发觉并导致协议终止,这是构建可信系统的核心原则。
  • 书中深入剖析盲签名、分割选择等高级协议机制,揭示其潜在风险与正确用法。例如指出完全盲签名可能被滥用签署任意内容,而通过分割选择技术可在保持隐私的同时确保签署内容的合法性,体现了密码学在隐私保护与合规性之间的平衡艺术。
  • 作者严厉批判‘隐匿即安全’的错误观念,强调Kerckhoffs假设:系统强度绝不能依赖算法的保密性,而应仅依赖密钥的保密性。书中详细讨论随机数生成器的敏感性,指出密码学对随机性要求极高,普通应用中的伪随机数在密码场景中极易导致灾难性后果。
适合谁读
  • 适合信息安全从业者、密码学研究人员及系统架构师。本书被视为该领域入行必备的经典参考书,尤其适合需要深入理解各种攻击手段、协议漏洞及防御机制的专业人士,帮助其建立严谨的安全思维,避免在设计系统时陷入‘隐匿即安全’的误区。
  • 适合具备一定数论基础和计算机科学背景的开发者。书中包含大量C语言源程序实现,适合希望从工程角度理解密码算法实现细节、学习如何正确调用加密库、避免常见实现错误的程序员。对于从事Security相关编码工作的人员,本书提供了足够的理论支撑与实践警示。
  • 不适合零基础入门者或寻求现代最新算法(如ECC、AES、AEAD)的读者。本书内容反映的是上世纪90年代的密码学状态,对现代主流算法涉及极少。读者需具备扎实的数学基础,否则难以理解其中复杂的协议逻辑与数论推导,切勿将其作为现代密码学标准的学习指南。
读前提醒
  • 请勿将本书作为现代密码学算法的学习手册。书中未涵盖AES、椭圆曲线加密等当前主流标准,内容已过时。建议将其视为密码学历史与协议设计哲学的研究资料,了解早期算法演变与攻击原理,而非直接用于指导当前系统的加密实现,以免采用已被破解或淘汰的技术。
  • 建议跳读或作为工具书查阅,而非从头到尾线性阅读。书中资料堆砌严重,可读性差,但部分章节如协议分析、攻击案例极具价值。读者应结合自身需求,重点研读第一部分协议设计与第四部分真实世界应用,忽略过时的算法实现细节,避免陷入枯燥的数学推导泥潭。
  • 阅读时需保持批判性思维,结合现代标准进行对照。书中某些观点或算法(如RC4的某些用法)已被证明存在严重缺陷。读者应利用本书理解‘为什么某些设计是错的’,而非‘如何正确实现’。务必配合最新的安全规范与标准文档,确保在实际应用中不沿用书中已过时的不安全实践。
读者共识
  • 本书被公认为密码学领域的经典之作,尤其在协议设计与攻击分析方面具有不可替代的价值。尽管内容陈旧,但其对安全原则、协议逻辑的深刻洞察依然适用。读者普遍认为其作为工具书或索引查阅极佳,但绝不适合初学者入门,也不适合作为现代加密技术的实施指南。
  • 读者一致指出本书可读性极差,资料堆砌且缺乏有序讲解,翻译版本亦存在晦涩问题。然而,其全面性与深度受到专业人士认可,被视为信息安全从业者的案头必备参考书。许多读者表示,尽管阅读过程痛苦,但其中关于协议公平性、自动执行等核心概念的理解对职业生涯有深远影响。
  • 社区共识强调,本书的价值在于其历史意义与理论警示,而非实用技术。读者警告不要依据本书实现任何现代加密系统,因其未包含当前标准算法。但作为理解密码学发展脉络、识别协议漏洞、培养安全意识的教材,其地位依然稳固,适合有经验的工程师在特定场景下查阅与反思。

本导读基于书籍简介、目录、原文摘录、短评和书评生成,不等同于全文精读。

精彩摘录
  • "如果同一个算法既用做加密又用做数字签名,就有可能受到攻击[506]。在这些情况中,数字签名操作是加密操作的逆过程:VX=EX,并且SX=DX。 假设Mallory是持有自己公开密钥和私人密钥的系统合法用户。让我们看看他怎么读Bob的邮件。首先他将Alice在(1)中发送给Bob的消息记录下来,在以后的某个时间,他将那个消息发送给Bob,声称消息是从Mallory来的。Bob认为是从Mallory来的合法消息,于是就用私人密钥解密,然后用Mallory的公开密钥解密来验证Mallory的签名,那么得到的消息纯粹是乱七八糟的消息:EM(DB(EB(DA(M))))=EM(DA(M)) 即使这样,B"
  • "用完全盲签名协议,Alice能让Bob签署任何东西:“Bob欠Alice100万美元,”“Bob欠Alice的头生子,”“Bob欠Alice一袋软糖,”可能的事远远不止于此。这个协议在许多场合都无用。 然而,有一个办法可以让Bob知道他在签什么,同时仍保持盲签名的有用性质。这个协议的核心是分割选择技术。考虑一个例子,每天很多人进入这个国家,而移民局要确信他们没有走私可卡因。官员可以搜查每一个人,但他们换用了一种概率解决办法。他们检查入境人中的1/10。10个人中有1个人的行李被检查,其余的9个畅通无阻。长期的走私犯会在大多数时间里逍遥法外,但他们有10%的机会被抓住。并且如果法院制度有效,则抓"
  • "If I take a letter, lock it in a safe somewhere in New York, then tell you to read the letter, that's not security. That's obscurity. On the other hand, if I take a letter and lock it in a safe, and give you the safe along with the design specifications of the safe and a hundred identical safes with"
  • "And don't forget Kerchhoffs' assumption: If the strength of your new cryptosystem relies on the fact that the attackers does not know the algorithm's inner workings, you're sunk. If you believe that keeping the algorithm's insides secret improves the security of your cryptosystem more than letting t"
  • "There are many cryptographic algorithms. These are three of the most common: - DES (Data Encryption Standard) is the most popular computer encryption algorithm. DES is a U.S. and international standard. It is a symmetric algorithm; the same key is used for encryption and decryption. - RSA (named for"
  • "Random-number generators are not random because they don't have to be. Most simple applications, like computer games, need so few random numbers that they hardly notice. However, cryptography is extremely sensitive to the properties of random-number generators. ... Of course, it is impossible to pro"
  • "Factoring large numbers is hard. Unfortunately for algorithm designers, it is getting easier. Even worse, it is getting easier faster than mathematicians expected. In 1976 Richard Guy wrote: “I shall be surprised if anyone regularly factors numbers of size 10^80 without special form during the prese"
  • "自动执行协议(self-enforcing protocol)是协议中最好的。协议本身就保证了公平性,不需要仲裁者来完成协议,也不需要裁决者来解决争端。协议的构成本身使得不可能发生争端。如果协议中的一方试图欺骗,其他各方马上就能发觉并且停止执行协议。无论欺骗方想通过欺骗来得到什么,他都不能如愿以偿。 每个协议最好都是自动执行协议。不幸的是,对于所有情形,都没有一个自动执行协议。"
目录
译者序
第一部分 密码协议
第二部分 密码技术
第三部分 密码算法
第四部分 真实世界
用户评论
非常精彩,举的例子都很形象
扫过一些我需要的
神书。七七八八看了一阵子。可以系统的看,也可以一部分一部分看。第一部分对于不是数学、计算机背景的人,若想了解密码学的发展,那种密码应用在历史场景中演变发展的描述方式,将会非常受用。再捞一遍。另外,如果研究过rc4,你就会知道在其rfc标准中,甚至都引用了本书作者在本书某节论证的结论:那是一个可能不可靠的异或算法。经典。可以当字典查。可惜一些算法介绍的粗一些。前面结合算法讲密码学发展的部分很好。
经典
【电子书】密码学应用和常见协议,本书全面介绍了应用密码学的基本概念、基本理论和典型实用技术,是一本密码学偏工程应用的书。如果要做security相关的coding和programming,该书足够用了,而且写得极生动。
里面会有一些有趣的例子,分类,分主题讲解
当作论文的索引来看会更好,非常全面
书是挺好的书 就是第一篇关于加密方式的描述有些事无巨细 变成工具书了
看不太懂actually..
收藏