3. 加密

加密是改变文本的过程,使其不再容易被阅读。以下是一个非常简单的例子:

      Guvf vf n fvzcyr fhofgvghgvba pvcure.
    

商业加密使用的方法比我用来生成该示例的方法安全得多。几乎所有现代加密方法都依赖于密钥 - 一个用于加密、解密或两者兼有的特定数字或字符字符串。

在接下来的章节中,将介绍常见的加密方法。为了说明它们的工作原理,将引入名为 Bob 和 Alice 的虚构人物。将讨论私钥加密和公钥加密,以及它们的局限性。

3.1. 私钥加密

私钥加密是标准形式。双方共享一个加密密钥,并且该加密密钥也用于解密消息。困难在于在开始加密消息之前共享密钥 - 如何安全地传输它?

许多私钥加密方法使用公钥加密来传输每个数据传输会话的私钥。

如果 Bob 和 Alice 想要使用私钥加密来共享秘密消息,他们将各自使用同一密钥的副本。Bob 写给 Alice 消息,并使用他们共享的私钥来加密消息。然后将消息发送给 Alice。Alice 使用她的私钥副本解密消息。私钥加密就像制作密钥的副本。任何拥有副本的人都可以打开锁。在 Bob 和 Alice 的情况下,他们的密钥将被严密保管,因为他们都可以加密和解密消息。

3.2. 公钥加密

公钥加密使用两个密钥 - 一个用于加密,一个用于解密。发送者向接收者索取公钥,加密消息,并将加密后的消息发送给接收者。只有接收者才能解密消息 - 即使是发送者也无法读取加密后的消息。

当 Bob 想要使用公钥加密与 Alice 共享秘密时,他首先向 Alice 索取她的公钥。接下来,Bob 使用 Alice 的公钥加密消息。在公钥加密中,只有 Alice 的私钥才能解开用她的公钥加密的消息。Bob 将他的消息发送给 Alice。Alice 使用她的私钥解密 Bob 的消息。

使公钥加密起作用的关键在于 Alice 非常严密地保管她的私钥,并自由分发她的公钥。她知道它将解开任何用她的公钥加密的消息。

3.3. 加密的局限性

密码分析,或在没有密钥的情况下尝试读取加密消息的过程,在现代计算机上比以往任何时候都容易得多。现代计算机速度足够快,可以进行“暴力破解”的密码分析方法 - 或依次使用每个可能的密钥,直到找到消息的“明文”版本。

密钥越长,使用“暴力破解”密码分析方法所需的时间就越长 - 但这也使得加密和解密消息的过程变慢。密钥长度对于加密方法的安全性非常重要 - 但“安全”密钥长度每次 CPU 制造商推出新的处理器时都会发生变化。

加密并不能使您的数据安全。然而,不使用加密意味着任何传输中的数据都像普通邮件中寄出的明信片内容一样容易被读取。加密至少确保任何读取您消息的人都为此付出了努力。