核心概念
模式
代码
谜题
密码学
引言
如果您需要向朋友发送秘密消息,您如何才能防止其他人阅读它?一种方法是加密消息——也就是说,使用只有您和您的朋友知道的秘密代码。试试这个活动,学习如何创建您自己的“凯撒密码”,这是一种流行的、易于学习的代码。
背景
密码学是研究编写或破解用于安全通信的秘密代码的学科。历史上,政治家、间谍和交战国家都使用代码来防止敌人知道他们的意图。许多最早的代码,或“密码”,例如您将在这个项目中创建的代码,都很容易手工创建。现在,密码学在计算机科学中至关重要,用于确保从电子邮件到银行账户信息的安全。
关于支持科学新闻
如果您喜欢这篇文章,请考虑通过以下方式支持我们屡获殊荣的新闻事业 订阅。通过购买订阅,您正在帮助确保未来能够继续讲述关于塑造我们当今世界的发现和想法的具有影响力的故事。
凯撒密码,以罗马皇帝尤利乌斯·凯撒的名字命名,是最早和最广为人知的密码之一。它是一种简单的“替换密码”形式,您通过将整个字母表移动一定的字母数(到达末尾后绕回到开头)来替换字母表中的每个字母。例如,如果您将每个字母移动三个空格,这将是您的密钥和代码
明文: ABCDEFGHIJKLMNOPQRSTUVWXYZ
密文: XYZABCDEFGHIJKLMNOPQRSTUVW
因此,当您编写消息时,字母 A 被替换为 X,字母 B 被替换为 Y,依此类推。例如,单词“HELLO”变为
明文: HELLO
密文: EBIIL
为了解码您的消息,您需要与您的朋友分享“密钥”(数字 3)。之后,您可以发送用密码编写的消息,这样其他人就无法阅读它们了!
材料
铅笔和纸
至少另一人
准备
向朋友解释凯撒密码的概念,或者让他们阅读此活动的背景部分。
写下从 A 到 Z 的字母表。
选择一个 1 到 25 之间的数字。(如果您使用 26,您将最终得到原始字母表。)这个数字就是您的密钥。
步骤
将整个字母表按您选择的数字移动,并将其写在原始字母表的下方(如上所示)。
选择一条要写给朋友的消息。在您尝试更长的句子或段落之前,从简单的消息(例如单个单词或短语)开始可能是最容易的。
使用您移动后的字母表写下您编码后的消息。如果这有帮助,请先写下您的明文消息,然后一次编码一个字母(例如上面的“hello”示例)。只需确保您给朋友的纸上只有编码后的消息!
将编码后的消息给您的朋友,并告诉他们密钥。您认为为什么您不想写下密钥?
看看您的朋友是否可以解密您的消息。如果这对第一次尝试有帮助,让他们使用您写下的原始字母表和移动后的字母表向后推算。使用背景中的示例,字母 x 变为 a;y 变为 b;等等。
尝试切换并为相同的消息使用不同的密钥。哪一个看起来更容易破解?
附加题: 尝试找第三个人,他不知道什么是凯撒密码。如果他们“拦截”了您的消息,他们能破解您的密码吗?
附加题: 如果拦截您消息的人知道凯撒密码怎么办?这是否会使破解代码更容易?由于只有 25 个可能的密钥,凯撒密码非常容易受到“暴力破解”攻击,解码器只需尝试每种可能的字母组合。如果由人来做,这可能需要一些耐心,但现在计算机可以在几分之一秒内解开代码,因此凯撒密码不被认为是加密电子通信的安全方法。
附加题: 破解凯撒密码的另一种方法是“频率分析”,它基于以下事实:在自然的英语口语和写作中,某些字母的出现频率远高于其他字母。例如,字母 E 的出现频率高于任何其他字母,而 Z 的出现频率最低。(如果您玩过拼字游戏 Scrabble,您可能会注意到这决定了字母的价值!)因此,例如,如果您阅读整段文字并注意到字母 D 的出现频率高于任何其他字母,那么很可能它使用了偏移量为 1 的凯撒密码(使代码中的 E 变为 D)。对于较长的文本块,这种技术会更准确,而对于短单词或短语则非常不准确,因为有很多单词根本不包含 E。您能让朋友用凯撒密码写一整段话,然后尝试使用频率分析来破解它吗?
附加题: 如果您计划将凯撒密码用于常规通信,一个风险是最终有人会发现您的密钥。您可以通过更改密钥来帮助防止这种情况,例如每周使用一个新密钥。这与定期更改您的计算机密码的概念类似。
附加题: 凯撒密码只是一种替换密码。查找其他类型的替换密码并尝试一下。它们是更难还是更容易使用和破解?
观察和结果
一旦您和您的朋友都了解了如何使用凯撒密码,相互发送加密通信应该相对容易。这可能是在朋友之间来回传递秘密消息的一种有趣方式。然而,如上所述,尽管凯撒密码为密码学提供了一个很好的入门,但在计算机时代,它不再是安全地以电子方式发送加密通信的方式。
更多探索 密码学基础:凯撒密码,来自 Instructables
密码学,来自 Learn Cryptography
密码黑客,来自大众科学 适合所有年龄段的科学活动!,来自 Science Buddies
本活动由Science Buddies合作推出
