【文件属性】:
文件名称:用密钥方阵实现字母编码
文件大小:52KB
文件格式:DOC
更新时间:2012-07-12 16:58:28
encrypt
一种防止通过英文字母频率分析解密的方法是使用加密字母对(pair)对英文文本进行加
密和解密。Playfair密码就是一种采用这种方法的简单密码。
1. 建立这种密码的密钥的方法如下:
⑴ 首先选择一个单词或词组作为密钥单词。由于密钥单词是建立密钥的唯一依据,
因此加密和解密的双方只要知道密钥单词和密码建立方法(Playfair密码),就
可以方便地建立唯一的密钥。
⑵ 删除该密钥单词中的重复字母,然后,将这些字母(按组成单词的顺序)与字母
表中(除去密钥单词字母外)的其他字母(按字母排列顺序)一起组成一个5×5
的正方形密钥矩阵。由于正方形矩阵中只有25 个位置,所以将I和J视为同一
字母(即矩阵只包含I或J)。例如,我们选择的密钥单词为Spring,则正方形
密钥矩阵中的字母排列为:
S P R I N
G A B C D
E F H K L
M O Q T U
V W X Y Z
2. 使用Playfair密码对单词进行的方法是对组成单词的字母从左至右顺序逐对进行。
根据被加密字母对在密钥矩阵的位置差异,加密字母对的产生方法分为三种情况:
⑴ 被加密的两个字母在密钥正方形中位置既不同列且不同行,例如被加密字母对为
AM,在正方形中找到以这两个字母为顶点的矩形为:
S P R I N
G A B C D
E F H K L
M O Q T U
V W X Y Z
则这对字母的加密字母对应是该矩形的另一对顶点字母,即GO。
⑵ 被加密的两个字母在密钥正方形中位置是同列或同行,则只需要简单地对调这两
个字母,例如被加密字母对为HK,则加密字母对为KH;又如被加密字母对为
AF,则加密字母对为FA。
S P R I N
G A B C D
E F H K L
M O Q T U
V W X Y Z
⑶ 被加密的两个字母相同,可以视为第⑵情况的特例,则被加密字母对不进行任何
变化。
注意,在加密变换过程中字母的大、小写保持不变。
例如单词Information根据上述加密变换规则经过In ->Ni, if -> pk, ko -> ft, tr -> qi,
im -> st, ta -> oc, ct -> tc, ci -> ic, co -> at, tn -> ui被变换成Npfqsotiaui
3. 解密是对加密单词的字母从右至左顺序逐对进行。方法与加密方法相同。
例如加密单词Npfqsotiaui经过iu -> nt, ta -> oc, ci -> ic, ct -> tc, co -> at, ts -> mi, iq -> rt, tf -> ok, kp -> fi, iN -> nI被还原为Information。
要求:
1. 编写一个命名为encrypt的程序,该程序运行时能通过命令行“encrypt 文件名”
将文件名指定的英文文本文件以读/写模式打开,并通过输入的密钥单词建立正方形
密钥矩阵,再使用该密钥矩阵该将文件中的文本加密后,生成一个加密文本文件。
网友评论
- 代码很清晰,内容很丰富,对我的考试有帮助