密码学 - 转置技术



转置技术是一种加密方法,它通过对给定的明文进行置换来工作。转置密码是通过使用转置技术将普通文本映射到密文而创建的。

本章将涵盖转置技术的多种用途,以及转置和替换技术之间的差异。

另一方面,替换方法用密文中的符号替换明文中的符号。但是,转置方法通过对原始明文应用置换来生成密文。

转置技术

  • 栅栏转置

  • 列置换

  • 列置换 - 多轮

  • 书籍密码/运行密钥密码

  • 维尔南密码

让我们在下面的部分中逐一讨论这些技术 -

栅栏转置

栅栏是一种基本的转置方法,其中明文写成一系列对角线,然后逐行读取以生成密文。

算法

  • 步骤 1:使用一系列对角线来编写明文。

  • 步骤 2:然后将文本作为一系列行读取,以提取密文。

为了帮助您理解它,让我举一个例子。

明文:让我们今天见面

我们现在将这个简单的句子以对角线格式编写,如下所示,遵循特定的顺序 -

Rail Fence Example

通过查看图像,我们可以看到为什么它被称为“栅栏”,它实际上看起来像一个栅栏。

将消息写成一系列对角线后,必须将其作为一系列行读取以提取密文。因此,在读取第一行后,密文的前半部分将为 -

Ltsetoa

我们将通过读取栅栏的第二行来解密密文的第二部分 -

eumeTdy

现在,我们将密文的两个部分加在一起以获得完整的密文,如下所示 -

密文:LTSETOAEUMETDY

栅栏密码易于使用,对于密码分析师来说,破解起来也更容易。因此,需要一种更复杂的方法。

列置换

与栅栏相比,列置换密码更加复杂。要使用此方法获取密文,请使用以下步骤 -

算法

  • 步骤 1:明文以逐行的方式写入给定大小的矩形矩阵中。

  • 步骤 2:要获取密文,请逐列读取矩形矩阵中的文本。但是,在逐列读取数据之前,必须先置换列的顺序。接收到的消息是密文消息。

要了解列置换,请考虑以下示例 -

明文:让我们今天见面

将明文放置在一个预定义大小的矩形中。在我们的例子中,矩形的定义大小为 3x5。下图显示了放置在 3x5 矩形中的明文。此外,我们还置换了列的顺序。

Columnar Example

要获取密文,我们需要以置换后的列顺序逐列读取明文。因此,使用列置换密码创建的密文如下 -

密文:LUETAESEOYEMTD

与栅栏密码类似,列置换密码也很容易破解。密码分析师只需要测试列顺序的一些排列和组合,即可获得导致原始消息的置换列顺序。因此,必须使用更复杂的方法来确保加密的安全性。

列置换 - 多轮/改进的列置换

它与简单的列置换方法相同,但提供了一些改进。此列置换方法对明文应用多次。使用多轮列置换方法的步骤如下 -

算法

  • 步骤 1:明文以逐行的方式写入预定义的矩形中。

  • 步骤 2:要获取密文,请逐列读取矩形中的明文。在逐列读取矩形中的文本之前,请以与基本列置换技术相同的方式重新排列列。

  • 步骤 3:重复上述步骤多次以生成最终密文。

因此,现在我们将根据上述方法执行第一轮,第一轮后的密文将如下所示 -

密文:LUETAESEOYEMTD

要解密第二轮的密文,请将第一轮的密文排列在一个 3x5 的矩形中并重新排列列。提取的第二轮密文为 LSYETMOATTEMUD。在此方法中,我们可以根据需要执行任意次数的迭代。增加重复次数会增加复杂度。

书籍密码/运行密钥密码

书籍密码,也称为运行密钥密码,其操作基本原理与一次性密码本密码相同。在一次性密码本密码中,密钥与明文长度相同,并在使用后删除。每次使用新密钥发送新消息。

密钥或一次性密码本是从书籍中提取的,这比书籍密码中的一次性密码有所改进。让我们概述一下各个阶段 -

  • 步骤 1:将明文转换为数字形式:A=0,B=1,C=3,...Z=25。

  • 步骤 2:从任何书籍中获取一次性密码本或密钥,并将其转换为数字格式。但密钥必须与明文长度相同。

  • 步骤 3:现在组合明文和密钥的数字形式,将每个明文字母与相应的密钥文本字母匹配。如果任何明文字母与匹配的密钥文本字母的总和超过 26,则减去 26。

让我们用一个例子来讨论一下 -

明文:明天见面。

密钥来自书籍:ANENCRYPTION。

现在我们必须将此明文和密钥文本转换为数字形式,并将它们组合起来以获得密文,如下面的图像所示 -

Book Cipher Example

添加明文和密钥文本的数字形式。因此,在添加这两个值后,我们将得到 12 7 8 32 21 31 36 29 36 25 28 35 -

现在我们在上面的结果中得到了一些数字(以粗体显示),这些数字大于 26,所以我们将这些数字减去 26,最终结果将是 − 12 17 8 6 21 5 10 3 10 25 3 9。

因此,新的密文将是:MRIGVFKDKZDJ

维尔南密码

一次性密码本是维尔南密码的一个子集,它使用一组随机的、不重复的字符作为其输入密文。用于转置的密文在使用后永远不会用于其他消息。输入密文的长度需要与明文的长度匹配。

算法

  • 步骤 1:将明文中的每个字符按数字顺序排列,例如 A = 0,B = 1,... Z = 25。

  • 步骤 2:对输入密文中的每个字符再次执行步骤 1。

  • 步骤 3:对于每个等效于明文字符的数字,将相应的输入密文字符数字加 1。

  • 步骤 4:如果总和大于 25,则从中减去 26。

  • 步骤 5:将每个和的数字转换为相应的字符。

  • 步骤 6:步骤 5 的输出将成为密文。

维尔南密码仅适用于简短的消息,因为在使用后,输入密文不能再次使用。

例如:明文消息是 point,密文是 ntcba

明文 p o i n t
15 14 8 13 19
内部密文 n t c b a
13 19 2 1 0
明文和输入密文的加法 27 33 10 14 19
如果大于 26,则减去 26 1 6 10 14 19
密文 b g k o t

因此,密文将是:bgkot

所以,这就是关于转置技术的全部内容,它使用置换将明文转换为密文。

广告