读书笔记一【加密——替换法】

1.简单的替换法

替换法即为将一个字(或字母)替换为另一个字(或字母),通过一张对应表进行加密或解密。

例如,将每个字母替换为原先字母后面的一个字母

【I'm a programmer】将被替换ASCII后面的字符为【J(n!b!qsphsbnnfs】

简单的替换法会被【频率分析】方法攻击,例如英文中最常出现的字母为E,最常见的组合为TH;同理,中文中“的”字也是最常用的字。攻击者可以通过最常出现的字或字母反推对应表,从而破解密文。

2.变化替换模式

为了防止替换法被频率分析方法破解,可以对替换表格进行扩展,这种方法叫做【多表替换】。

多表替换的一种形式叫做【tabularecta】,即为下图

根据上表,不同明文与密钥对应的密文字母就不同

例如明文是HELLO,密钥是CATCH

那么密文第一个字母就是H行C列的J

简单来说 就是密文第i个字母为表中行为明文第i字母,列为密钥第i个字母的那个值

代码即为:密文[i]=表格[明文[i]][密钥[i]]

3.替换法密钥扩展

像上面的例子,每个字母只有5个被替换的可能性(密钥长度),所以加密要足够强,就必须要有一个与原文一样长的密钥。

这种方法通常是使用某本书的某个章节来做,例如以莎士比亚作品为密码本,密钥为2.2.4.9

则密码表为

按字母表顺序第二个戏剧《As You Like It》,第二个2位该剧第二幕,4指其中第四个场景,9指其中第9句

这种方法通常这电影里出现

猜你喜欢

转载自www.cnblogs.com/punkrocker/p/10351635.html