密电码小史:从凯撒到电报到互联网

密电码小史:从凯撒到电报到互联网

一、手工时代:当字母开始说谎

图片

公元前一世纪,罗马将军尤利乌斯·凯撒在写给前线将领的密信中,把每个字母向后移动三位,A写成D,B写成E,以此类推。这就是密码学史上最著名的凯撒密码。它的逻辑极其朴素:既然敌人能截获信件,那就让截获的字母说谎。

凯撒密码之所以长期有效,原因多少有点令人哭笑不得:他的大多数敌人目不识丁,剩下的则可能把这堆暗号当作某种未知的外语。

但谎言的破绽终究会被识破。公元9世纪,阿拉伯学者阿尔·肯迪发现了一个致命规律:在英语中,字母e的出现频率远高于其他字母,大约占12.7%。只要统计密文中哪个字母出现最多,大概率对应明文中的e,整条消息便迎刃而解。这种方法叫频率分析,它的出现意味着:密电码的历史,从此不再是编密码的人单方面的游戏,而是一场持续千年的攻防博弈。

图片

为了对抗频率分析,密码学家们想出了一个更聪明的办法:如果同一个字母每次加密后都变成不同的字母,频率统计就失效了。16世纪,多表替换密码应运而生,用多个不同的凯撒密码表轮换加密,密钥决定每一轮用哪个表。其中最具代表性的是维吉尼亚密码,它在长达三百年的时间里被尊称为不可破译的密码。

然而,秘密往往藏在密钥本身。19世纪,普鲁士军官卡西斯基发现,如果密钥较短且重复使用,密文中会周期性地出现重复片段。通过分析这些重复的间隔,就能推断出密钥长度,进而逐段破解。维吉尼亚密码的神话就此终结。

手工时代的密码学,本质上是一门手艺。设计者凭直觉发明规则,破译者凭耐心寻找漏洞。它还不是科学,还是一场高手之间的智力赌局。

二、机械时代:一亿种可能性,和一吨重的答案

图片

1918年,一个转折点到来了。美国工程师吉尔伯特·维南发明了一种全新的加密方式:不是替换字母,而是把消息的二进制比特与一条随机密钥逐位相加。如果密钥真正随机、与消息等长、且只用一次,这种一次性密码本在数学上被证明是无法破解的,不是现有算力不够,而是即使拥有无穷大的算力也无济于事。

维南密码在理论上无懈可击,但它的操作要求近乎苛刻:密钥必须与消息等长,必须真随机,且绝不能重复使用。在计算机尚未诞生的年代,这意味着海量的纸带和极其严格的纪律。正因如此,它更多出现在外交和间谍活动中,而非日常军事通信。

真正把密码学从手艺推向工业的,是德国在1920年代发明的恩尼格玛密码机。这台机器大小如一台打字机,核心是三片可旋转的转盘和一个反射器。每按下一个字母键,电流经过三片转盘抵达反射器,再沿不同路径返回,点亮另一个字母灯。关键在于:每输入一个字母,第一片转盘就转动一格;转完一圈后带动第二片,第二片转完又带动第三片。这意味着同一个字母每次加密后都会变成不同的字母,彻底瓦解了频率分析。

恩尼格玛的密钥空间大到什么程度?三片转盘有26×26×26×6=105,456种初始位置,再加上接线板可以任意互换字母对,总计约有10¹⁶种可能,一万兆种组合。

图片

波兰数学家雷耶夫斯基在1932年率先破解了部分设定,并制造了早期的“炸弹机”。1939年,波兰把破解成果移交给了英国。在布莱切利庄园,阿兰·图灵重新设计了图灵炸弹机,重约一吨,能够模拟30台恩尼格玛并行工作,以机械搜索的方式逐一排除不可能的转子设置。图灵后来被公认为计算机科学的奠基人,而炸弹机本身,可以说是第一台专用电子计算机的雏形。

机械时代的关键跃迁在于:密码学不再依赖人的记忆和纸笔,而是把规则硬件化了。但机器加密,机器破译,攻防双方都进入了工业化的新赛道。

三、电子时代:从算法保密到密钥保密

1949年,克劳德·香农发表了一篇决定性的论文,把信息论引入密码学,提出了混淆和扩散两大设计原则。密码学从此从艺术变成了科学。

图片

真正让密码学走进数字时代的,是1977年美国国家标准局(NIST)发布的DES(数据加密标准)。DES的思路源自恩尼格玛,但远比后者复杂和严谨。它是一个对称加密算法:加密和解密使用同一把密钥,密钥长度56位,分组长度64位。DES的发布标志着一个重要转变:密码算法不再是军事机密,而是公开标准,安全性完全依赖于密钥的保密,而非算法的保密。

但56位密钥的安全性随着算力增长迅速下降。1998年,一台专用机器在不到三天内就暴力破解了DES。NIST早在1997年就启动了继任者的公开竞选,经过三轮筛选,2000年选定比利时密码学家设计的Rijndael算法作为AES(高级加密标准),2002年正式取代DES。AES的最小密钥长度是128位,分组也是128位,安全强度比DES高出数个数量级。

图片

电子时代还有一个容易被忽略但至关重要的进步:分组密码的工作模式。DES和AES本身只能加密固定长度的数据块,但真实世界的信息长度千变万化。于是密码学家设计了ECB、CBC、CTR等多种模式,让分组密码可以安全地处理任意长度的数据流。这些模式的设计思想和安全性证明,构成了现代密码工程的重要基础。

四、网络时代:公钥革命与数字信任

如果说电子时代解决了怎么加密的问题,网络时代解决的则是怎么安全地协商密钥。

先想象一个日常难题:你要给一个从未见过面的陌生人寄一个保险箱,里面装着秘密文件。你们没有共享钥匙,甚至不能安全地交换钥匙,因为中间可能有人偷听。怎么办?

公钥密码学给出的答案,是一把公开的锁。一把公开的锁,一把私人的钥匙

1976年,惠特菲尔德·迪菲和马丁·赫尔曼发表了论文《密码学的新方向》,提出了一个革命性的概念:公钥密码学。你可以把它想成一种特殊挂锁:锁门钥匙可以复制无数份,公开给全世界;开门钥匙只有你自己有。任何人都能用公开的锁把信息锁进盒子,但只有你能打开。

这就是公钥和私钥的分工:

· 公钥像一把公开的锁,谁都能拿来锁东西;

· 私钥像唯一能打开这把锁的钥匙,只有你自己保管。

这意味着两个人可以在从未见过面、从未共享过秘密的情况下,建立安全的通信。你不需要先把钥匙偷偷交给对方,只需要把打开的锁寄过去。

图片

在公共广场上商量秘密。更妙的是,迪菲和赫尔曼还设计了一种方法,让两个人可以在完全公开的广场上,当着所有人的面,商量出一个只有他们俩知道的秘密。这听起来像魔术,但原理可以用颜料来比喻:

两人先公开约定一种基础颜料,比如黄色。然后各自偷偷选一种秘密颜料。甲选红色,乙选蓝色。甲把黄色和红色混合成橙色,公开寄给乙;乙把黄色和蓝色混合成绿色,公开寄给甲。旁观者能看到橙色和绿色,但无法分离出其中的红色和蓝色。甲收到绿色后,加入自己的红色,得到棕褐色;乙收到橙色后,加入自己的蓝色,也得到同样的棕褐色。旁观者却无法算出这个最终颜色。

这就是Diffie-Hellman密钥交换:公开交换的部分可以被人看见,但最终协商出的“会话密钥”只有通信双方知道。

RSA:把两团橡皮泥揉在一起

1977年,麻省理工学院的三位研究者——罗纳德·李维斯特、阿迪·萨莫尔和伦纳德·阿德曼,基于大整数因子分解困难这一数学假设,提出了RSA算法,成为第一个既能加密又能数字签名的实用公钥算法。

它的安全性可以用一个简单比喻理解:把两个大质数相乘,就像把两团不同颜色的橡皮泥揉成一个球,很容易;但要把这个球重新分成原来那两团,几乎不可能。RSA就是把这个揉橡皮泥的难题变成了锁。公钥是那个揉好的球,私钥是原来那两团橡皮泥的配方。谁都能用球锁住信息,但只有知道配方的人才能打开。

数字签名:数学上的私人印章。

图片

公钥密码学的意义远远超出了加密。它催生了数字签名,用私钥签名,任何人都可以用公钥验证。

你可以把私钥想成你的私人印章,公钥想成印鉴样本。你用私钥盖一个章,任何人拿公钥一对照,就能确认这确实是你盖的,而且内容没被改过。它比手写签名更强的地方在于:手写签名可以被模仿,数字签名在数学上几乎不可伪造。

这是电子商务、电子政务、区块链等一切数字信任基础设施的技术底座。今天你在浏览器地址栏看到的那个小锁图标,背后就是RSA或椭圆曲线密码学在默默运转。它其实在告诉你两件事:第一,你连的网站是真的,不是假冒的;第二,你和它之间的通信会被一把临时钥匙锁进保险箱。

公钥很慢,AES很快。但公钥密码也有一个软肋:它慢。RSA加密的速度比AES慢上几个数量级,通常只用于加密会话密钥,然后用对称加密处理大量数据。

这就像你要运一批货:公钥密码是一辆装甲车,安全但慢,只负责把一把钥匙安全送到对方手里;真正的大批货物,则用AES这辆高速集装箱卡车来运。这就是所谓的混合加密体制,也是今天互联网安全通信的标准架构。

网络时代的关键跃迁在于:密码学从隐藏信息扩展到了验证信任。你不需要认识对方,也能确认对方身份、确保信息没被篡改。凯撒只关心敌人看不懂信的内容;而今天的密码学要回答的问题远不止于此。

五、量子时代:当观测本身成为警报器

公钥密码学的安全性,建立在一个计算复杂性假设之上:大数分解和离散对数问题在经典计算机上很难。但1994年,数学家彼得·肖尔证明了一件事:量子计算机可以在多项式时间内分解大整数。如果足够大的量子计算机被造出来,RSA和所有基于同类数学难题的公钥密码体系都将轰然倒塌。

量子计算机不是更快的电脑。先别把量子计算机想成一台跑得更快的普通电脑。它更像一个能同时探索所有岔路的迷宫分身。

经典计算机走迷宫,一次只能试一条路,走错了退回来再试下一条。量子计算机利用量子叠加,可以同时处于多条路径的叠加态;再通过量子干涉,让错误路径相互抵消,正确路径的概率被放大。它不是简单地同时试所有密码,而是用一种完全不同的计算方式,让某些经典计算机看来几乎不可能的问题变得可解。

肖尔算法就是这样一个例子:它能把RSA依赖的揉橡皮泥难题,大整数分解,在量子计算机上快速解开。这意味着,今天保护互联网的许多公钥锁,未来可能像纸糊的一样脆弱。

后量子密码:换一种量子也打不开的锁。这催生了两条并行的发展路线。

第一条是后量子密码学:设计在经典计算机上运行、但能抵抗量子计算机攻击的新算法。注意,它不是量子密码,而是“对付量子计算机的经典密码”。

比喻来说:既然旧锁可能被量子万能钥匙打开,我们就换一种新锁,锁芯不是大数分解,而是格问题。格问题就像在一个超高维度的点阵里,找离某个点最近的点。维度一高,连量子计算机也头疼。NIST从2017年开始征集后量子密码标准,2024年8月正式发布了首批三个标准:用于密钥封装的ML-KEM(基于格密码)、用于数字签名的ML-DSA(CRYSTALS-Dilithium)和SLH-DSA(SPHINCS+)。这相当于给全球互联网准备新的锁芯。

量子密钥分发:一碰就碎的肥皂泡

图片

第二条路线更为激进:量子密钥分发(QKD)。1984年,Bennett和Brassard提出了著名的BB84协议。它的原理与所有传统加密截然不同,安全性不依赖于数学难题,而依赖于量子力学的基本定律。

传统加密像把信锁进保险箱,希望小偷打不开。QKD则像把信写在一碰就碎的肥皂泡上:任何人试图偷看,都会弄破泡泡,收信人立刻知道。或者更准确地说,量子态像薄冰上的脚印,你一踩上去,就留下痕迹并改变冰面。

BB84的工作方式是:发送方将信息编码在单光子的偏振态上,使用两组不兼容的测量基。窃听者如果试图测量光子,就必然扰动其量子态,从而在通信双方之间产生可检测的误码率异常。换句话说,在量子密钥分发中,窃听不是可能被发现,而是必然被暴露。你想偷看一个正在旋转的陀螺,一碰它就歪了,观测本身成了警报器。

近年来,QKD的工程化进展显著。基于超导纳米线单光子探测器的系统已经能够在56 dB的信道衰减下完成安全密钥交换,无需可信中继节点。但QKD也面临现实挑战:它需要专用的光纤或自由空间信道,无法像后量子算法那样通过软件升级部署在现有互联网上。这就像你必须专门修一条防窃听隧道,而不能直接跑在普通公路上;设备贵、距离有限,都是它目前的短板。

没有一种锁能包打天下。量子时代的密码学,正在走向一个多元化的未来:经典对称密码(AES)继续承担数据加密的主力,后量子公钥算法逐步替换RSA和ECC,QKD在特定高安全场景中作为补充手段。没有一种技术能包打天下,但每一层都有对应的防御。这就像家里同时装防盗门、保险柜、监控和报警器:不是一种锁解决所有问题,而是每层有每层的用途。

回望这条从凯撒到量子的密电码小史,一个规律贯穿始终:密码学的每一次重大进步,都是被破译倒逼出来的。频率分析逼出了多表替换,卡西斯基的周期分析逼出了机械加密,暴力破解逼出了更长的密钥和公钥体制,量子计算又逼出了格密码和量子密钥分发。攻防之间的张力,才是这门学科真正的发动机。

而这条演进脉络中还有一个更深层的趋势:密码学正在从隐藏信息走向验证信任。凯撒只关心敌人看不懂信的内容;而今天的密码学要回答的问题远不止于此,这条消息真的来自声称的发送者吗?它在传输途中被篡改了吗?正在和我通信的网站,真的是它自称的那个网站吗?从密电码到数字签名,从保密到认证,密码学承载的使命,已经远远超出了凯撒当年在羊皮纸上移动字母时所能想象的边界。返回搜狐,查看更多

阅读 ()
作者声明
内容为转载
平台声明
该文观点仅代表作者本人,搜狐号系信息发布平台,搜狐仅提供信息存储空间服务。