喜迎
春节

1.1 凯撒的密信:古典密码的起源


公元前1世纪,罗马共和国的凯撒大帝率领大军远征高卢。战事瞬息万变,他需要向分散在各地的军团传递军令。然而,信使常常穿越敌占区,一旦被敌人截获,整个作战计划就会暴露。凯撒急需一种方法,让信件即使落入敌手,对方也看不懂。

他的办法简单而巧妙:将每个字母都向后移动固定的位数,比如3位。于是,A 变成了 DB 变成了 EC 变成了 F……以此类推,字母表末尾的 XYZ 则绕回开头,分别变成 ABC。当信使把这样一封信送到己方将领手中时,对方只需将每个字母向前移动相同的位数,就能还原出原文。

让我们用一句凯撒的名言来演示一下:

  • 明文:VENI VIDI VICI(我来,我见,我征服)
  • 每个字母向后移3位:
    • V → Y
    • E → H
    • N → Q
    • I → L
    • 空格保持不变
    • V → Y
    • I → L
    • D → G
    • I → L
    • 空格
    • V → Y
    • I → L
    • C → F
    • I → L
  • 密文:YHQL YLGL YLFL

看到密文的人只会觉得是一串毫无意义的字母,而知道“后退3位”这个规则的将领,却能轻松还原出凯撒的豪言壮语。

这种加密方式后来被历史学家称为“凯撒密码”。它可能是人类历史上第一个有明确记载的军事密码。古罗马历史学家苏埃托尼乌斯在《罗马十二帝王传》中写道,凯撒“为了需要保密,使用了一种密码:他把字母表中字母的顺序改变,使得任何单词都无法读出。如果有人想要破解它,必须用第四位的字母替换当前的字母。”这里的“第四位”可能指的是向后移4位,而凯撒本人常用的是向后移3位。这说明凯撒密码在当时已经有了不同的变体。

当然,站在今天的角度看,凯撒密码脆弱得不堪一击。因为只有25种可能的移位数(如果把不移位也算上,但没人会那样做),敌人大可以一个一个尝试,几分钟就能穷举所有可能。更重要的是,一旦发现规律,任何一条密文都会永久暴露——毕竟同一个字母总是被替换成同一个密文字母(比如A总是变成D),这种特性叫“单表替换”,给后世的频率分析留下了可乘之机。

但在两千多年前,凯撒密码已经足够有效。当时能读懂拉丁文的人本就不多,更不用说精通密码分析的敌人了。凯撒用这个简单的工具,保护了无数次军令的传递,为罗马帝国的扩张立下了汗马功劳。

凯撒密码不仅是一个加密方法,更是一种思想的开端:它让人们意识到,信息可以通过变换隐藏起来,而变换的规则(即算法)和参数(即密钥)可以分开掌握。算法公开,密钥保密——这一现代密码学的基本原则,在凯撒的密信中已初见雏形。

从此,密码学的种子被埋下,它将随着人类文明的演进而不断生长,从手工时代的简单替换,演变为机械时代的复杂密码机,最终走向今天数字时代牢不可破的数学堡垒。而这一切的起点,就是那封穿越古战场的密信。


文章作者: Crazy Boy
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Crazy Boy !
评 论
 上一篇
13.1 永远不要自己发明密码
13.1 永远不要自己发明密码
在密码学领域,有一条铁律,所有安全专家都会反复强调:永远不要自己发明密码算法,也永远不要自己实现密码算法。这条规则听起来有些绝对,但它背后是无数血淋淋的教训。 为什么不能自己发明?你可能会想:我只是想把数据加密一下,自己写个简单的算法,应该
2026-03-12
下一篇 
第1章 导论:秘密的千年之旅
第1章 导论:秘密的千年之旅
想象一下,你是一个古罗马的将军,正率领军队远征高卢。你担心信使会被敌人拦截,军令暴露。于是你想出一个简单却有效的办法:把每个字母往后移动三位,“A”变成“D”,“B”变成“E”……敌人截获了信,却只能看到一堆毫无意义的字母乱码。这就是历史上
2026-03-12
  目录
hexo