维吉尼亚密码17 Mar 2025 | 4 分钟阅读 引言维吉尼亚密码是一种用于加密和解密文本的算法。维吉尼亚密码是一种加密字母文本的算法,它使用一系列交织的凯撒密码。它基于一个关键词的字母。它是一种多字母替换密码的例子。这种算法易于理解和实现。这种算法最早在 1553 年由 Giovan Battista Bellaso 描述。它使用维吉尼亚表或维吉尼亚方阵来加密和解密文本。维吉尼亚表也被称为 tabula recta。 两种方法执行维吉尼亚密码。方法 1当给定维吉尼亚表时,使用维吉尼亚表(26 * 26 矩阵)进行加密和解密。 ![]() 例如:明文是 "JAVATPOINT",密钥是 "BEST"。 为了生成一个新密钥,循环重复给定的密钥,只要明文的长度不等于新密钥。 ![]() 加密 明文的第一个字母与密钥的第一个字母组合。明文的列 "J" 和密钥的行 "B" 与维吉尼亚表中的字母 "K" 相交,因此密文的第一个字母是 "K"。 类似地,明文的第二个字母与密钥的第二个字母组合。明文的列 "A" 和密钥的行 "E" 与维吉尼亚表中的字母 "E" 相交,因此密文的第二个字母是 "E"。 这个过程持续进行,直到明文结束。 密文 = KENTUTGBOX 解密 解密是通过维吉尼亚表中密钥的行完成的。首先,选择密钥字母的行,在行中找到密文字母的位置,然后选择相应密文的列标签作为明文。 ![]() 例如,在密钥的行是 "B",密文是 "K",并且这个密文字母出现在列 "J" 中,这意味着第一个明文字母是 "J"。 接下来,在密钥的行是 "E",密文是 "E",并且这个密文字母出现在列 "A" 中,这意味着第二个明文字母是 "A"。 这个过程持续进行,直到密文结束。 明文 = JAVATPOINT 方法 2当未给定维吉尼亚表时,在这种方法中,加密和解密通过维吉尼亚代数公式完成(将字母 (A-Z) 转换为数字 (0-25))。 加密公式为: Ei = (Pi + Ki) mod 26 解密公式为: Di = (Ei - Ki) mod 26 如果任何情况下 (Di) 的值变为负数 (-ve),在这种情况下,我们将在负值中加上 26。 其中, E 表示加密。 D 表示解密。 P 表示明文。 K 表示密钥。 注意:“i”表示字母的第 i 个数字的偏移量,如下表所示。![]() 例如:明文是 "JAVATPOINT",密钥是 "BEST"。 加密: Ei = (Pi + Ki) mod 26
解密: Di = (Ei - Ki) mod 26 如果任何情况下 (Di) 的值变为负数 (-ve),在这种情况下,我们将在负值中加上 26。例如,密文的第三个字母; N = 13 且 S = 18 Di = (Ei - Ki) mod 26 Di = (13 - 18) mod 26 Di = -5 mod 26 Di = (-5 + 26) mod 26 Di = 21
程序C 语言 输出 I AM INDIAN Encrypted: SDERFGTUJ Decrypted: IAMINDIAN 下一主题# |
我们请求您订阅我们的新闻通讯以获取最新更新。