背景了解替代是古典密码中用到的最基本的处理技巧之一。替代密码是指先建立一个替换表,加密时将需要加密的明文依次通过查表,替换为相应的字符,明文字符被逐个替换后,生成无任何意义的字符串,即密文,替代密码的密钥就是其替换表。根据密码算法加解密时使用替换表多少的不同,替代密码又可分为单表替代密码和多表替代密码。单表替代密码的密码算法加解密时使用一个固定的替换表。单表替代密码又可分为一般单表替代密码、移位密码、仿射密码、密钥短语密码。多表替代密码的密码算法加解密时使用多个替换表。多表替代密码有弗吉尼亚密码、希尔(Hill)密码、一次一密钥密码、Playfair密码。多表替代密码单表替代密码表现出明文中单字母出现的频率分布与密文中相同,多表替代密码使用从明文字母到密文字母的多个映射来隐藏单字母出现的频率分布,每个映射是简单替代密码中的一对一映射多表替代密码将明文字母划分为长度相同的消息单元,称为明文分组,对明文成组地进行替代,同一个字母有不同的密文,改变了单表替代密码中密文的唯一性,使密码分析更加困难。多表替代密码的特点是使用了两个或两个以上的替代表。著名的维吉尼亚密码和Hill密码等均是多表替代密码。⒈维吉尼亚密码维吉尼亚密码是最古老而且最著名的多表替代密码体制之一,与位移密码体制相似,但维吉尼亚密码的密钥是动态周期变化的。该密码体制有一个参数n。在加解密时,同样把英文字母映射为0-25的数字再进行运算,并按n个字母一组进行变换。明文空间、密文空间及密钥空间都是长度为n的英文字母串的集合,因此可表示加密变换定义如下:设密钥k=(k1,k2,…,kn),明文m=(m1,m2,…,mn),加密变换为:Ek(m)=(c1,c2,…,cn),其中ci(mi+ki)(mod26),i=1,2,…,n对密文c=(c1,c2,…,cn),解密变换为:Dk(c)=(m1,m2,…,mn),其中mi=(ci-ki)(mod26),i=1,2,…,n⒉希尔(Hill)密码Hill密码算法的基本思想是将n个明文字母通过线性变换,将它们转换为n个密文字母。解密只需做一次逆变换即可。⒊一次一密密码(OneTimePad)若替代码的密钥是一个随机且不重复的字符序列,这种密码则称为一次一密密码,因为它的密钥只使用一次。该密码体制是美国电话电报公司的JosephMauborgne在1917年为电报通信设计的一种密码,所以又称为Vernam密码。Vernam密码在对明文加密,前首先将明文编码为(0,1)序列,然后再进行加密变换。设m=(m1m2m3…mi…)为明文,k=(k1k2k3…ki…)为密钥,其中mi,ki∈(0,1),i≥1,则加密变换为:c=(c1c2c3…ci…),其中ci=miÅki,i≥1,这里为模2加法(或异或运算)解密变换为:m=(m1m2m3…mi…),其中mi=ciÅki,i≥1,---本文来源于网络,仅供参考,勿照抄,如有侵权请联系删除---在应用Vernam密码时,如果对不同的明文使用不同的随机密钥,这时Vernam密码为一次一密密码。由于每一密钥序列都是等概率随机产生的,敌手没有任何信息用来对密文进行密码分析。香农(ClaudeShannon)从信息论的角度证明了这种密码体制在理论上是不可破译的。但如果重复使用同一个密钥加密不同的明文,则这时的Vernam密码就较为容易破译。若敌手获得了一个密文c=(c1c2c3…ci…)和对应明文m=(m1m2m3…mi…)时,就很容易得出密钥k=(k1k2k3…ki…),其中ki=ciÅmi,i≥1。故若重复使用密钥,该密码体制就很不安全。实际上Vernam密码属于序列密码,加密解密方法都使用模2加,这使软硬件实现都非常简单。但是,这种密码体制虽然理论上是不可破译的,然而在实际应用中,真正的一次一密系统却受到很大的限制,其主要原因在于该密码体制要求:①密钥是真正的随机序列;②密钥长度大于等于明文长度;③每个密钥只用一次(一次一密)。这样,分发和存储这样的随机密钥序列,并确保密钥的安全都是很因难的;另外,如何生成真正的随机序列也是一个现实问题。因此,人们转而寻求实际上不对攻破的密码系统。⒋Playfair密码Playfair密码是一种著名的双字母单表替代密码,实际上Playfair密码属于一种多字母替代密码,它将明文中的双字母作为一个单元对待,并将这些单元转换为密文字母组合。替代时基于一个5×5的字母矩阵。...