看到妞妞失望的样子,爸爸说:“我们可以把对一个密码系统的了解分为三个层次,一是收到了许多加过密的密文;二是获得了部分密文和与之对照的明文,所谓明文就是没加密的原文;三是可以获得任何明文及对应的密文。一个好的加密系统至少要保证在前两种情况下有效。而一个优秀的加密系统甚至可以保证在第三种情况下都继续有效。多字母体系密码可以让频率分析法失效,而构架在这个基础之上的更复杂的方法就可以保证在第三种情况下有效。”
爸爸接着说:“在这种方案中,明文中每一个字母都可由每个密码符号来表示。实质上,它是用一个以上的密码字母来对某个特定的密码单位进行编密。看这个表格,表的上面是大写字母,即密钥字母,它们是用于发现表中的密码字母的。表的左边是明文字母,也就是我们需要加密的字母。”爸爸拿出早就准备好的一张密密麻麻的表格,上面还写着Vigenere方阵。
“太复杂了!”妞妞发出感叹,“它是如何使用的呢?”
“好,爸爸给你演示一下加密和解密。我在发给你信息之前,我们两个必须确定一个密钥,用来对文字加密和解密。例如,密钥词是BIRD(鸟),明文信息为INEEDMOREAPPLES(我要更多的苹果)。
“我们先把明文分为四个字符一组,这是因为我们的密钥是四位的。密钥越长,明文分组越长,破密也越难。然后我们根据这个加密表来加密。
“密钥:BIRDBIRDBIRDBIR。
“明文:INEEDMOREAPPLES。
“第一个明文字母是I,密钥字母B,在表的第一列上找到I,第一行上找到B,交叉点上的字母是j这就是我们加密后的电码的第一个字符。第二个字符在第一列字母N和第一行字母I的交叉点上是V,如此下去。
“完整的密码文为:JVVHEUGUFIGSMMJ。
“这样每个明文字母都有相应的密钥词字母编密,同样的字母加密之后不会是同样的,而密文中相同的字母也不意味着明文中一样。频率分析的办法失效了!”
“还真不错!那要是解密怎么办呢?”妞妞也很高兴。
“就是根据密钥来反着查表,比如第一个字符就是在密钥字母B列中找到J,对应找到明文列中的I。如果我们两个人先约好每个通信的密钥,别人要破秘就相当困难了。”爸爸很轻松地说。
“这个密码是不是就没有办法被破解了?”
“凡是都没有绝对的,尤其是在计算机发展迅猛的现在。19世纪60年代,一位德国人弗里德里希·W.卡希斯卡发现了这个办法几个内在的弱点。
“例如,他发现,如果对一个不止一次出现的明码字母每次都用同样的密钥字母进行加密,那么就会出现同样的密码文。例如,明文SENDMOREMONEY用LOVE作密钥加密,密钥字母LO两次把明文MO加密成XC。
“密钥:LOVELOVELOVEL。
“明文:SENDMOREMONEY。
“密码文:DSIHXCMIXCIIJ。
“重复的密码文XC表明了密钥词的长度。一般来说,在重复文字中从一例到另一例之间的密码文字母数是密钥词字母的倍数。如果密码文数位经常重复的话,密码分析家就能计算出密钥词的长度,并因此计算出所运用的密码字母表的数目。这样,要知道哪个密码文字母来自哪个密码字母系列就只是一个分类问题了。而就每个密码字母系列来说,频率分析法将解出明文字母。”
“太复杂了,我听不太懂了。”妞妞开始皱眉头,不过她已经明白加密解密都不是件容易的事。
爸爸微笑,“最近使用很多的是公开密钥密码体系,克服了网络信息系统密钥管理的困难,同时解决了数字签名问题,它是当前研究的热点。不过这个问题比较复杂,爸爸就不讲了,留着给你长大之后再学习。那好,爸爸最后给妞妞讲一个故事吧!”妞妞一听有故事,又来了情绪。