1.1 密码学使协议安全
在本次密码学旅行的开始,先向读者介绍密码学的目标:密码学是一门旨在保护协议免受攻击者破坏的科学。那么,协议是什么呢?简单来说,协议是一个人(或者多个人)为了完成某件事情而必须遵循的一系列步骤。想象这样一个情景:旅途疲惫的我们需要小憩一下,不过这样一来我们的“魔剑”可能在数小时内无人看管。这样一个协议的执行过程可能如下:
(1)把武器放在地上;
(2)在树下小睡一会儿;
(3)从地上捡起武器。
当然,在我们睡着的时候任何人都可能偷走我们的“魔剑”,所以这并不是一个好的协议。在密码学中,我们总会把寻找协议破绽的“敌手”考虑进来。
在古代,当统治者和将军们互相背叛并各自策划秘密行动时,他们面临的最大问题就是如何与他们信任的人分享机密信息。在此背景下,密码学的相关概念和技术应运而生。此后,经过几个世纪的演变,密码学成为一门严谨的科学。如今,密码学无处不在,它为我们提供了许多底层服务,让我们能够从容应对这个复杂多变的世界。
本书的内容与密码学的实践应用密切相关。本书涵盖当今广泛使用的各种密码协议,同时还会展示这些密码协议的组成部分,以及这些协议如何有机地组合在一起。大部分的密码学图书都从密码学的发展开始讲,并介绍它的发展历史,但是我认为这样做没有多大意义,我想介绍一些更加实用的东西。我曾以软件顾问的身份为大公司审查与密码相关的应用程序,也曾作为密码工程师将加密技术应用到各个领域。这些在现实中遇到的密码学知识才是我想分享的。
本书不会涉及令人害怕的数学公式。本书的目的是揭开密码学的神秘面纱,介绍当今常用的密码学技术,并给出这些技术在我们身边的应用案例。本书适合那些对密码学怀有好奇心的人、有强烈求知欲的工程师、富有冒险精神的软件开发人员和兴趣广泛的研究人员。
本章旨在带领读者开启密码学世界之旅。我们将探讨不同类型的密码算法,并找到其中对我们很重要的一部分算法,以及阐明全世界一致使用这些算法的原因。