图片
假设我要给“Fountain”加密,用以前单套符号加密的思路,我们可以指定这个表里任意一横行,比如指定第g行符号的意思就是说,原文中的字母替换成第g行中对应的字母,只使用这一行的规则,“Fountain”就变成了“LUATZGOT”。如果要换成“维吉尼亚加密法”,用多套符号来对“Fountain”进行加密,就可以这样指定:第一个字母用第g套密码代替,第二个字母用第m套密码代替,第三个字母用第f套密码代替,第四个字母用第j套密码代替,第五个字母用第h套密码代替,第六个字母用第c套密码代替,第七个字母用第x套密码代替,第八个字母用第s套密码代替。按照这个指定,从表中找到对应的加密符号,我们就可以得到“Fountain”加密后的密文“LAZWACFF”。这样加密后的密文毫无规律可言,安全性极高,但也有一个问题,就是太麻烦了。具体每个字母移动多少位竟然要单独指定,如果原文只是Fountain这种单词还好,要是一封信的话,一个字母一个字母的规定用哪套加密字符替代,不但加密费劲,解读也费劲。只能单独再写一本说明书出来,照着它一个字母一个字母的还原,费时费力、容易出错不说,连加密的初衷都实现不了。因为这份说明书的文字量比原文还要多得多,而且这个说明书还必须以谁都可以看懂的方式书写。想让收信方看明白,必须要送一本加密说明书给对方,如果说明书被截获,内容也就白加密了。所以,为了解决这个问题,“维吉尼亚加密法”在真实使用时,人们事先规定每个字母用哪套字符替代,并不是毫无规律的瞎指定,而是要约定一个规则,这个规则就叫作 “钥匙”。最开始的时候“钥匙”多为一个单词,比如我们把“BTC”作为“钥匙”,用它来加密Fountain。根据“维吉尼亚加密法”的表格,我们就可以知道,Fountain的第一个字母用B套符号加密,第二个字母用T套符号加密,第三个字母用C套符号加密。到第四个字母时,“钥匙”长度用完了,就再从头开始循环,直至把原文都加密完。这样,在“钥匙”是BTC的情况下,Fountain就被我们加密成了GHWOMCJG。这样的好处是,原文里同一个字母会被加密成不同字符,fountain中的两个“n”分别变成了O和G;而且密文中同样的字符也可能代表不同的原文,密文中的两个“G”分别对应原文中的F和n。原文和密文中的字符根本就没有一个固定的关系。同样的原文对应上亿种密文,相同的密文也一样对应上亿种原文,这就是维吉尼亚加密法难以破解的关键。“维吉尼亚加密法”的安全性确实强悍,它诞生之后200多年都未被破解。不过未被破解的原因很尴尬——因为在它诞生后的200多年时间里,几乎没有人使用。之前我们提到过,真正好用的密码,是在安全性和效率上找到平衡点。但“维吉尼亚加密法”是一套26×26的表格,而且还有长短不一的钥匙。每加密一个字母,都要在表格里找来找去,就算是在熟练操作的情况下,加密一个字母也得要3秒钟的时间。写完一篇500字的短文,要3个多小时的高强度工作。慢还不说,这样来回来去的查和写,十分容易出错。直到1861年到1865年美国南北战争时期,“维吉尼亚加密法”才被广泛使用。因为那时候不但已经有了蒸汽机,也有了电动机,加密解密的工作已经可以由机械来完成。这种有规律的体力活儿机器是最擅长干的,既不会抱怨累,也不太会出错。因此,“维吉尼亚加密法”才得到了大放异彩的机会,甚至在美国南北战争中对北军的取胜也起到了重要的作用。下一次,我们就来聊聊如此困难和复杂的“维吉尼亚加密法”是如何被破解的。往期文章:密码那些事儿|(八)玛丽女王被密码改变的人生密码那些事儿|(七)以频率之矛,攻移位之盾密码那些事儿|(六)中外古时候的移位加密密码那些事儿|(五)换个位置,面目全非密码那些事儿|(四)隐藏的消息密码那些事儿|(三)“风语者”——从未被破解的密码密码那些事儿|(二)密码学发展的七个阶段密码那些事儿|(一)无所不在的密码 本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报。