实现 Atbash 密码

2024 年 8 月 28 日 | 3 分钟阅读

Atbash密码是一种替换密码,我们可以借助一个单一的密码密钥,将所有字母按相反的顺序反转。我们可以将A-Z的顺序更改为Z-A。它用于将字母编码成希伯来字母。

与仿射密码的关系

Atbash密码是仿射密码的一部分,其中使用了两个密钥。在仿射密码中,a=25,b=25。

算法

Atibash密码中使用的密钥如下所示。

加密

要加密消息,我们需要从上述字母中选择单词。然后我们必须用下面的字母替换字母。假设我们有单词“JAVATPOINT”。单词的第一个字母是J,可以用Q替换。第二个字母是A,可以用Z替换。单词的第三个字母是V,可以用E替换。字母T可以用G替换。字母P可以用L替换。字母O可以用M替换。字母I可以用R替换。字母N可以用M替换。整个消息可以如下加密。

解密

同样,如果我们想解密消息“QZEZGKLRMG”,可以通过执行上述步骤来实现。字母Q可以用J替换。字母Z可以用A替换。字母E可以用V替换。字母G可以用T替换。字母K可以用P替换。字母L可以用O替换。字母R可以用I替换。字母M可以用N替换。整个消息可以如下解密。

方法

在这里,我们可以借助一个键值对每个元素执行映射操作。它会在字典中查找该对,并借助上述系列,进行加密和解密过程。

示例

输出

QZEZGKLRMG
JAVATPOINT

Atbash密码的优点

Atbash密码的a=25,b=25。因此,我们不需要为加密和解密编写不同的函数。因此,我们可以重复使用相同的函数进行加密和解密。

有一个恒定密钥,是最容易破解的密码,并且几乎不提供安全性。任何人都可以假设它是Atbash,并通过反转字母来解密消息。


下一主题