图7-4 加密与解密模型
将明文转换成密文的操作方式主要包括置换密码和易位密码两种。置换是将明文的每个元素转换成另一个元素,易位是对明文中的元素进行重新排布。
(一)置换密码
置换密码方法包括单字母加密和多字母加密两种方法,它是用一个字母代替另一个字母,或用一组字母代替另一组字母。
1.单字母加密
置换进行单字母转换的方法很多,比如:移位映射法、倒映射法、步长映射法等,如图7-5所示。
图7-5 单字母加密
(a)移位映射法;(b)倒映射法;(c)步长映射法
2.多字母加密
在单字母置换方法中,密钥是对应于全部26个英文字母的字符串,而多字母加密方法,密钥是一个简短且便于记忆的词或短语。比如费杰尔(Vigenere)密码,它设有一个含有26个恺撒字母的方阵,如图7-6所示。其加密方法是选择一个简短的单词做密钥,例如选用GOODBYE做密钥,重复密钥在原文上方,则原文每个字母上方所对应的字母在方阵中所在的行就是原文中各字母在字母方阵中所处的行,各字母在正常字母序列中的顺序号就是其在字母方阵中所处的列。处在方阵中被映射位置上的字符就是密码符。例如:明文中的字符“C”,其与密钥中的“K”对应,则“C”在方阵中被确定为第16行,即由“K”为首字符的行;由于“C”字符在英文字母表的正常顺序号为3,所以“C”在方阵中被确定为第3列。此时,方阵中的字符“M”就是明文“C”字符的密码符号。
图7-6 恺撒字母方阵(多字母加密)
显然这种加密方法的加密效果要比单字母加密方法效果好,并且密钥越长效果越佳。
(二)易位密码法
在置换密码方法加密中,原文的顺序没有被改变,而是将明文的每个元素映射成其他元素,把原文隐藏了起来。而易位密码法则是对明文的元素进行重新排序,并不隐藏它们。例如,设明文(原文)如下:
it can allow students to get close up views
首先,对密钥按字母在字母表顺序由小到大编号,结果为:(www.daowen.com)
密钥:G E R M A N
列序号:3 2 6 4 1 5
其次,把明文按密钥长度,按原文顺序排列,结果为:
i t c a n a
l l o w s t
u d e n t s
t o g e t c
l o s e u p
v I e w s
这样就形成了明文长度与密钥长度相同的新的明文格式。明文各列与密钥中的各字母及其编号相对应。按密钥字母编号由小到大的顺序,把明文以此顺序按列重新排列,就形成了密文,结果为:
nsttustldooiilutlvawneewatscpcoegse
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。