密码学 - 维吉尼亚密码



维吉尼亚密码是一种用于文本加密和解密的算法。维吉尼亚密码是一种使用多个链接的凯撒密码来加密字母文本的算法。它基于关键字的字母表。该密码是多表代换的一种表现形式。这种算法易于理解和使用。

历史和发展

1553年,Giovan Battista Bellaso首次撰写了关于维吉尼亚密码(一种多表代换密码)的文章。然而,在19世纪,该密码被错误地归功于Blaise de Vigenere;因此,维吉尼亚密码变得广为人知。Blaise de Vigenere发明的自动密钥密码是一种与维吉尼亚密码相似的不同密码。

它的法语名称是“le chiffre indechiffrable”,翻译过来是“不可破译的密码”。它保持完整了三个世纪,直到Friedrich Kasiski在1863年发表了一种通用的破译技术。

Al-Qalqashandi在14世纪和15世纪首次撰写了关于多表代换密码的文章。尽管如此,Lean Battista Alberti的Alberti密码是第一个被恰当描述的多表代换密码。第一个多表代换或Alberti密码是为了以一种可以隐藏字母频率分布的方式加密消息而开发的。这一创新彻底改变了密码学领域。由于当时破译密码的唯一已知方法是频率分析,因此它有效地阻止了任何人破译该系统。

最著名的多表代换密码是维吉尼亚密码,尽管它存在了很长一段时间,但已经被破解。维吉尼亚密码仍然适用于不太重要的用途,尽管如今它没有用于任何严肃的密码学环境。

维吉尼亚密码的方法

基本上有两种不同的方法可以执行维吉尼亚密码。让我们在下面的部分中一一查看这些方法:

方法1

在这种方法中,一旦给出维吉尼亚表(26 X 26矩阵),则使用它进行加密和解密。

Vignere Cipher Table

示例:明文是“TUTORIALSPOINT”,密钥是“KEY”。

只要明文的长度小于新密钥,就会以循环的方式重复使用给定的密钥来生成新密钥。

Vignere Cipher Example

加密过程

明文和密钥的初始字母连接起来。维吉尼亚表中“D”的字母与明文列“T”和密钥行“K”相交,使“C”成为密文的第一个字母。

以类似的方式,密钥和明文的第二个字母合并。密文的第二个字母是“Y”,因为维吉尼亚表中“Y”的字母与明文列“U”和密钥行“E”相交。

此过程持续进行,直到提取明文。

密文 = DYRYVGKPQZSGXX

解密

维吉尼亚表中的密钥行用于解密。首先选择包含密钥字母的行,然后确定密文字母在该行中的位置。最后,选择匹配密文的列标签作为明文。

Vignere Cipher Example

例如,如果密钥是“K”,密文是“D”,则第一个明文字母是“T”,此密文字母出现在“T”列。

下一个字母在密钥行中是“E”,在密文中是“Y”,此密文字母出现在“U”列,表明“U”是第二个明文字母。

此过程一直持续到密文完成。

明文 = TUTORIALSPOINT

方法2

如果维吉尼亚表不可用,则使用维吉尼亚代数公式进行加密和解密过程,该公式将字母(A-Z)转换为数字(0-25)。

加密公式

Ea = (Pa + Ka) mod 26

解密公式

Da = (Ea - Ka) mod 26

在这种情况下,如果 (Da) 值变为负数 (-ve),我们将向负数添加 26。

其中,

  • E 代表加密。

  • D 代表解密。

  • P 代表明文。

  • K 代表密钥。

请注意,如下表所示,“a”代表第 a 个字母的偏移量。

Vignere Cipher Method 2

例如,明文是“TUTORIALSPOINT”,密钥是“KEY”。

加密:Ea = (Pa + Ka) mod 26

Vignere Cipher Method 2

解密:Da = (Ea - Ka) mod 26

在这种情况下,如果 (Da) 值变为负数 (-ve),我们将向负数添加 26。例如,密文的第三个字母;

Vignere Cipher Method 2

密码分析

与所有多表代换密码一样,维吉尼亚密码的基本原理是掩盖明文中的字母频率,以阻止简单的频率分析。例如,如果P是英文明文密文中出现频率最高的字母,则可以猜测P对应于e,因为e是英语中最常用的字母。然而,维吉尼亚密码能够克服基本的频率分析,它可以在传输的不同位置将e加密成不同的密文字母。

维吉尼亚密码密钥的重复性是其主要缺点。如果密码分析员能够准确确定密钥的长度,则密文可以被解释为n个交错的凯撒密码,每个凯撒密码都可以很容易地被破解。密钥长度可以通过暴力破解每个n的值来找到。或者,可以使用弗里德曼检验和卡西斯基检验来估计密钥长度。

维吉尼亚密码的优点

  • 该密码掩盖了明文中的字母频率。

  • 与大多数之前的多表代换密码一样,该密码的基本目标是掩盖字母频率,使得频率分析技术受到相当大的限制。

  • 在没有方法知识的情况下,基本上无法破解。

  • 如果不熟悉弗里德曼检验或卡西斯基检验,则除了暴力破解技术之外,要找到密钥相当困难。

  • 真正地安全无虞长达三个世纪。

  • 密钥空间广阔

  • 密钥长度用k表示,密钥空间为26k

维吉尼亚密码的缺点

  • 导致其他缺陷的主要缺陷是密钥的重复性。

  • 由于密钥的重复性,估计密钥长度要容易得多。

  • 与暴力破解方法相比,使用弗里德曼检验和卡西斯基检验可以更快地发现密钥长度。

  • 可以使用运行密钥密码,这本质上是一种维吉尼亚密码,但其密钥长度比消息长——通常是书中的一段文字或类似的东西——或者可以使用一次性密码本。

广告