摘 要:密码学有悠久的历史,本文就主要介绍古典密码学的隐文术和密码术,其中密码术又包括换位密码和代替密码并对其进行分析。 关键词:古典密码学;换位密码;代替密码 1 引言 密码学一词来源于古希腊的Crypto和Graphein,其含义是密写。它是以认识密码变换的本质、研究密码保密与破译的基本规律为对象的学科,也是研究密码编制、密码破译和密码系统设计的一门综合性科学。 密码学从以手工作业为主的古典密码学发展到现在采用进行计算机加解密的现代密码学,共经历了几千年的演变。由于早期的古典密码处于手工作业阶段,它的密码算法虽然已经经受不住现代破译手段的攻击, 但是它们对现代密码学的研究是功不可没的, 其加密的基本思想至今被广泛使用。本文就主要介绍古典密码学的隐文术和密码术,其中密码术又包括换位密码和代替密码。 2 隐文术 早期的密码通信,只是简单的把消息隐藏起来,而这种通过把信息隐藏起来的密码通信就被称为隐文术。有历史记载最早的密码是刻在墓碑上的。那是在公元前1900年,象形文字已经普遍使用,贵族克努姆霍特普二世的墓碑上记载了在阿梅连希第二法老王朝供职期间它所建立的功勋。上面的象形文字不同于当时通用的埃及象形文字,而是由一位擅长书写的人经过变形处理之后写的。古今中外隐文术的例子不胜枚举,例如在我国古代将信息写在小块丝绸上,塞进一个小球里,再用蜡给封上,然后让信使吞下这个蜡球。16世纪意大利的科学家发明了一种隐形药水,用少许明矾和一点醋混在一起,用这种墨水将信息写在煮熟的鸡蛋壳上,墨水溶液就会经蛋壳上的微孔渗透进去,在已凝固的鸡蛋白表面留下印迹,这样剥去蛋壳后就能读取信息了。 3 密码术 隐文术的长久使用,表明它对信息的保密确实起到了一定的作用,但它也有一个明显的弱点,即信息一但被截获,就会暴露无疑,因此在隐文术发展的同时,还有另一种方法也在演化,即密码术。所谓密码术是将信息按照某种特定的规则打乱,隐藏信息的意思。密码术又主要分为两大类,一类是换位密码,一类是代替密码。 3.1 换位密码 换位密码又称置换密码即在加密/解密过程中,信息元素只有位置上的变化,而没有形态上的变化。 换位密码的优点是可以打破明文消息中的某些固定结构模式,使来自明文或密钥的信息充分扩散到密文中,达到信息扩散的目的。但由于信息元素的形态在加密/解密过程中没有变化,使得各信息元素出现的频率在明文和密文中相同。密码分析者通过对密文的统计分析就可能得到相应明文的有关信息,甚至全部明文。有一种换位密码叫做周期性换位密码,它是指将明文按密钥长度分组,每组中的字符按密钥K中数字的指示位置进行换位的一种加密方法。 例如:要将明文M=Can you understand按密钥3,4,2,1进行周期换位加密。 第一步,因密钥长度为4,所以按周期长度4对明文进行分组,每组字母的上方标出密钥,结果如下: 第二步,按照密钥K=3,4,2,1的指示将每组中的字母进行换位,密钥中每一个数字表示其对应的字母在密文分组中的位置。所以换位以后的密文如下: 当接收者收到此密文后,便可按照与发送者事先约定好的密钥将密文变换成明文。 3.2 代替密码 代替密码又叫做替换密码,它是在加密/解密过程中,信息元素之间的位置排列关系没有发生变化,而是形态发生了变化。 代替密码的优点是可以使明文和密钥的信息混杂在一起,使人很难确定明文和密钥是如何变成密文的。代替密码又可进一步分为单表代替密码和多表代替密码。 1、单表代替密码 单表代换密码是对明文的所有字母都用一个固定的明文字母表变换到密文字母表的映射。恺撒密码即是一种典型的单表代替密码,恺撒密码的加密方法是将英文中的每一个字母固定地用比自身位置大3的字母来代替。如表1所示,a用d代替,b用e代替,x用a代替,以此类推。 图1 维热纳尔密码表 例如:要将明文M=Can you understand进行恺撒变换,根据表1便可得到密文C=fdq brx xqghuvwdqg。当接收者收到此密文后,便可按照字母表将密文变换成明文。 (2)多表代替密码 多表代替密码是以一系列(两个以上)代替密码表依次对明文消息的字母进行代替的加密方法。16世纪晚期,法国的维热纳尔提出著名的维热纳尔方阵密码表即是一种多表代替密码。如图1所示即为维热纳尔方阵密码表,它的基本阵列是26 行26 列的方阵。方阵的第一行是a 到z 按正常顺序排列的字母表,第二行是第一行左移循环一位得到的,第三行又是第二循环左移一位得到的,依此类推得到其余各行,然后在基本方阵的最上方附加一行最左侧附加一列分别依序写上a 到z,共26 个字母表。把上面的附加行看作是明文序列则下面的26 行就分别构成了左移0 位1 位2 位一直到25 位的26 个单表代替密码,密文序列加密时按照密钥字的指示决定采用哪一个单表进行代替。 下面我们用一个实例来说明维热纳尔密码加密的原理。设密钥字是encryption,待加密的密文是public key distribution。由于密钥字比明文短,所以要重复书写密钥字以得与明文等长的密钥序列,其加密的最终结果如表2所示。 现在按上表对明文进行加密代换第一个密钥字母是e 对第一个明文字母p 进行加密时,选用左边附加列上的字母e 对应的那一行作为代替密码表查出与p 相对应的密文字母是T,第二个密钥字母是n 用附加列上字母n 所对应的一行作为代替密码表与明文u 进行替换对应的密文是H,同理将所有的密文字母替换完毕就可以得到表2 中所示的密文THDCGRDMMQMFVRGQNBWBR。 4 结束语 古典密码还有一些算法,例如棋盘密码、九宫格密码以及意大利数学家卡尔达诺发明的利用“漏隔板”进行加密的密码等等。由于条件和技术发展所限,古典密码学没有涉及非常高深或者复杂的理论,其安全性也主要取决于密码算法,但其“代替”和“换位”的基本思想,为北大核心期刊目录2014后来现代密码学成为系统的学科以及相关学科的发展奠定了坚实的基础。 参考文献 [1]西蒙辛格,《密码故事》,海南出版社,2001年10月,第1版 [2]慕建军,《古典密码学》,西安电子科大出版社 |