深入浅出密码学
上QQ阅读APP看书,第一时间看更新

需要一本实用密码方面的新书

当我在“Black Hat”(一个著名的安全会议)上进行一年一度的密码学课程培训时,一名学生问我是否可以向他推荐一本密码学著作或一门在线课程。我给出的建议是,阅读一本由 Boneh和Shoup撰写的密码学著作,同时也可以在Coursera网站上观看Boneh的密码学课程。

学生告诉我,“啊,我读过那本书,它太理论化了!”学生的回答让我记忆至今。起初我不同意学生的看法,但慢慢地意识到他的说法是对的。大多数资源都包含大量数学知识,大多开发人员都不想处理与数学有关的问题。那他们还有其他学习资源可以选择吗?

《应用密码学》(Applied Cryptography)和《密码工程》(Cryptography Engineering)是另外两本广为人知的密码学著作,这两本书都由布鲁斯·施奈尔(Bruce Schneier)撰写。《应用密码学》总共有4章内容都在介绍分组密码,其中有一章内容讲解分组密码的操作模式,但这本书没有包含认证加密的相关内容。最新版的《密码工程》只在脚注中提到椭圆曲线密码。此外,我的许多视频或博客文章逐渐成为开发人员理解一些密码学相关概念的重要参考资源,我会以独特的方式讲解密码学相关概念。

渐渐地,许多学生开始对“加密货币”产生兴趣,他们向我提出的问题越来越多。与此同时,我审查的“加密货币”类应用程序也越来越多。后来我到Facebook工作,负责Libra“加密货币”(现在称为Diem)的安全。当时,“加密货币”属于最热门的研究,它包含许多非常有趣的加密原语(零知识证明、聚合签名、门限加密、多方计算、共识协议、密码学累加器、可验证随机函数、可验证延迟函数等)。除了“加密货币”之外,到目前为止这些原语几乎没有其他的实际应用。然而,任何一本密码学图书都没有包含与“加密货币”相关的内容。

我意识到通过撰写一本图书,我可以告诉学生、开发人员、顾问、安全工程师和其他人现代应用密码学的几乎全部内容。这将是一本几乎不涉及任何数学公式但会包含许多图示的书。本书不会介绍密码学发展史,但会包含许多我在现实中见到的现代密码失败的案例。本书也不会介绍已成为历史的密码算法,但涵盖正在大规模使用的密码算法或协议,包括TLS协议、Noise协议框架、Signal协议、“加密货币”、硬件安全模块、门限密码等。本书几乎不涉及任何理论密码学的内容,但会包含一些目前处于理论研究而未来可能变得实用的密码学原语:口令认证密钥交换、零知识证明、后量子密码学等。

2018年,当曼宁出版社联系我,问我是否想写一本关于密码学的书时,我的脑海已经有了答案。我早就想写一本关于密码学的书,也想好要写哪些内容,一直在等待一个机会和理由将写书这件事情提上日程。而碰巧曼宁出版社已经出版了“现实世界”(Real World)系列图书,因此我也建议将我的图书作为这个系列的扩展。现在,本书呈现在读者面前,这是我两年多辛勤付出的结果。希望读者能够喜欢本书!

David