代换密码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
代换密码(代替密码)就是明文中每一个字符被替换成密文中的另外一个字符,代替后的各字母保持原来位置。对密文进行逆替换就可恢复出明文。有四种类型的代替密码:
(1)单表代替密码:就是明文的一个字符用相应的一个密文字符代替。加密过程中是从明文字母表到密文字母表的一一映射。
(2)同音代替密码:它与简单代替密码系统相似,唯一的不同是单个字符明文可以映射成密文的几个字符之一,例如A可能对应于5、13、25或56,“B”可能对应于7、19、31或42,所以,同音代替的密文并不唯一。
(3)多字母组代替密码:字符块被成组加密,例如“ABA”可能对应于“RTQ”,ABB可能对应于“SLL”等。
(4)多表代替密码:由多个简单的代替密码构成,例如,可能有5个被使用的不同的简单代替密码,单独的一个字符用来改变明文的每个字符的位置。
多字母代替密码是字母成组加密,在第一次世界大战中英国人就采用这种密码。字母成对加密。把Huffman编码用作密码,这是一种不安全的多字母代替密码。
多表代替密码。维吉尼亚密码是多表代替密码的例子。
多表代替密码有多个单字母密钥,每一个密钥被用来加密一个明文字母。第一个密钥加密明文的第一个字母,第二个密钥加密明文的第二个字母等等。在所有的密钥用完后,密钥又再循环使用,若有20个单个字母密钥,那么每隔20
个字母的明文都被同一密钥加密,这叫做密码的周期。在经典密码学中,密码周期越长越难破译,使用计算机就能够轻易破译具有很长周期的代替密码。
凯撒密码就是单表代替密码,它的每一个明文字符都由其右边第3个(模26)字符代替(A由D代替,B由E代替,W由Z代替,X由A代替,Y由B代替,Z由C代替)。
单表代替密码是很容易破译的,因为它没有把明文的不同字母的出现频率掩盖起来。可以使用统计攻击。
令26个字母分别对应于整数0~25,a=1,b=2……y=25,z=0。
凯撒加密变换实际上是
c≡ (m + k) mod 26
其中m是明文对应的数据,c是与明文对应的密文数据,k是加密用的参数,叫密钥。比如:data security对应数据序列4,1,20,1,19,5,3,21,18,9,20,25,当k=5时,得密文序列9,6,25,6,24,10,8,0,23,14,25,
4。如果选取k
1,k
2
两个参数,其中k1与26互素,令c≡(k
1
m + k
2
)mod 26。这
种变换称为仿射变换。
Playfair密码是第一次世界大战期间英国使用的一种两字母组代替密码。密钥由25个英文字母(J与I相同)组成的5阶方阵。
HARPS
ICODB
EFGKL
MNQTU
VWXYZ
每一对明文字母 m1和m2,都根据下面的6条规则进行加密。明文字母 m1和m2同行。密文是其右边字母。
(1)明文字母 m1和m2同列。密文是其下边字母。
(2)明文字母 m1和m2不同行、不同列。密文是长方形的另两个顶点。
(3)明文字母 m1和m2相同。在m1和m2之间加一个无效字母。
(4)明文有奇数个字母,末尾加一个无效字母。I、J看成是相同字母。
例:明文:CO MP UT ER,对应密文:OD TH MU GH
Vigenere密码是一种典型的多表密码,即一个明文字母可以表示为多个密文字母。方法如下:
例如:明文为System,密钥为dog,加密过程如下:
明文:S y s t e m
密钥:d o g d o g
密文:V m g w r s
在这个例子中,每三个字母中的第一、第二、第三个字母分别移动(mod 26)3个,14个和6个位置。
设密钥k=k
1k
2
…k
n
,明文M=m
1
m
2
…m
n
,加密变换E
k
(M)=c
1
c
2
…c
n
。其中
c i ≡( m
i
+ k
i
) mod 26,i=1,2…n。
多表密码加密算法结果将使得对单表置换用的简单频率分析方法失效。