密码学 - 单字母替换密码



替换密码是最古老的加密算法类型之一,因为它会生成明文消息中的每个字符,然后使用替换方法将其替换为密文中的新字符。

单字母替换密码也称为“简单替换密码”。单字母替换密码使用单个密钥映射函数 K 将特定字符 α 替换为映射 K(α) 中的字符。

单字母替换密码是指明文中等效字母被替换为密文中相同字母的密码。Mono(意思是“一个”)表示明文的每个字母在密文中只有一个替换。

特点

单字母密码是一种替换密码,其中明文中的符号和密文中符号之间的关系始终是一对一的,并且在整个加密过程中保持不变。

示例:凯撒密码

凯撒密码是一种单字母替换密码。它使用类似的替换机制为每个明文字符获得密文字符。凯撒密码使黑客很容易破解密钥,因为它总共只支持 25 个密钥。这是单字母密码的一个缺点。

示例分析

如果明文是“TREE”,密文可以是“ADOO”,这表明该密码可能是单字母替换密码,因为明文中的两个“O”都用密文中的“E”加密。

单字母替换密码的类型

主要有 4 种类型的单字母替换密码:

加法密码

加法密码是单字母替换密码,它根据使用的密钥值将明文中的每个字符更改为密文中不同的字符。

例如,如果明文包含字符“a”,密钥值为 4,“a”将被替换为“e”,因为根据我们用于加法单字母替换密码过程的密钥,“e”距离“a”4 个字符。

加法密码的数学表示如下:

要使用加法单字母替换密码加密明文,请使用公式 C=(P+k) mod 26。其中,P 代表明文字符,k 是加密密钥,C 提供所需的密文。

加法密码中将密文解密为明文的公式为 P=(C-k) mod 26。这里,P 是明文,C 是要转换的密文,k 是密钥。

凯撒密码

凯撒密码是一种单字母替换密码,其中明文中的每个字符都向后移动三个位置。它只是一个密钥值为 3 的加法密码。

例如,如果明文包含字符“a”,则密文对应的字符将是“d”,因为凯撒密码的密钥值为 3。

凯撒密码的数学表示如下:

**加密过程** - 凯撒密码使用公式 C=(P+3) mod 26 将明文编码为密文。这里,P 是明文,C 是密文,3 是密钥,在凯撒密码中始终相同。

**解密过程** - 要使用凯撒密码将密文解密为明文,请使用公式 P=(C-3) mod 26。在此示例中,P 和 C 分别代表明文和密文,而 3 是密钥。

乘法密码

乘法密码是一种单字母替换密码,其中明文中的字符乘以密钥,然后进行模运算。

例如,如果明文包含字符“h”,密钥设置为 4,则密文的值为“x”。

乘法密码的数学表示如下:

**加密过程** - 要使用乘法密码加密明文,请使用公式 C=(P*k) mod 26。这里,P 代表明文,C 是密文,K 是密钥。

**解密过程** - 乘法密码中将密文解密为明文的公式为 P=(C*k 的乘法逆元) mod 26。

阿芬密码

阿芬密码是最强大的单字母替换密码之一。阿芬密码有两个密钥,并结合加法密码和乘法密码来生成密文。

阿芬密码的数学表示如下:

**加密过程** - 要使用阿芬密码加密明文,请使用公式 C=(P*k1+k2) mod 26。这里,C 代表密文,P 代表明文,k1 和 k2 是阿芬密码中使用的两个密钥。

**解密过程** - 阿芬密码中将密文解密为明文的公式为 P=((C-k2)/k1) mod 26。

优点

单字母替换密码中的替换字符符号允许对 26 个字母的字母表进行 26! 次随机排列。字母排列的最大数量为 4*10^26。这使得黑客难以使用暴力破解攻击获取密钥。

弱点

单字母替换密码容易受到频率分析攻击;此类密码不安全,容易受到各种攻击,其中一种是其固定的密钥替换。我们将研究如何将基于频率分析的攻击用于各种密码。

频率分析背后的概念取决于这样一个事实,即任何语言中的每个字母都具有独特的特性。字母最明显的特征是它们在语言中出现的频率。在英语中,“Z”的出现频率远低于“A”。过去,如果您想确定语言中字母的频率,您必须找到大量文本并计算每个频率。但是,现在我们有计算机可以为我们完成所有工作。但我们甚至不需要进入这个阶段,因为大多数语言都有从数百万份文档中编译的非常精确的字母频率数据库。

例如,如果明文消息中“N”多次被加密为“R”,它将始终被加密为“R”。

总结

虽然黑客无法使用暴力破解攻击,但可以使用全恐统计攻击来考虑密钥。如果黑客了解任何替换密码明文的特性,无论密钥空间大小如何,都可以很容易地使用统计攻击破解密码。统计攻击涉及分析字符的频率分布,并将其与英语的相同数据进行比较。

广告
© . All rights reserved.