双联密码是法国业余密码学家费利克斯-德拉斯特尔在19世纪末发明的一种多图替换密码。它被认为是一种复式密码,因为它每次都是对字母进行加密,而不是像凯撒密码等单字母密码那样对单个字母进行加密。Bifid密码是以polybius方块为基础的,它是一个5×5的字母网格,用来加密明文。该网格通常由字母表和关键词或短语的组合来填充。关键字或短语中的字母首先被放在网格中,然后再填入字母表中的其余字母。
要使用双鱼座密码对信息进行加密,首先将明文写成几对字母,然后将每一对字母都放在多面体方格中。成对的字母对应于字母在广场上的行和列坐标。然后,这些坐标按照它们在明文中出现的顺序被写下来,形成一组新的数字。然后用这组新的数字来确定密文中字母的坐标。
为了解密用双飞密码编码的信息,需要将密码文本的数字转化为一组新的坐标。然后,用这组坐标在聚比乌斯广场上找到相应的字母,并将它们组合成对。最后,将每一对组合起来,形成原始明文
这在当时是一个相对较强的密码,因为使用了成对的字母和使用了增加可能密钥数量的多比乌斯广场。然而,它仍然被认为是比较容易破解的,特别是通过现代密码分析技术。
一般来说,今天的现代密码如RSA和AES被认为比像Bifid这样的经典密码强得多,因为它们使用了更复杂的数学运算,并有一个更大的密钥空间。
加密算法
Bifid密码的加密算法包括几个步骤 –
- 创建一个Polybius方格 – 这是一个5×5的字母方格,通常由字母和关键词或短语的组合填充。关键词或短语中的字母首先被放在网格中,然后再填入字母表中的其余字母。
- 成对书写明文– 明文是以成对的字母书写的。如果明文的字母数是奇数,则添加一个填充字符(如’X’),使其成为偶数。
- 找出明文中每个字母的坐标– 明文中的每一对字母都对应于Polybius方块中字母的行和列坐标。然后按照明文中出现的顺序写下这些坐标,形成一组新的数字。
- 使用新的数字集来确定密码文本中字母的坐标– 代表坐标的新数字集被用来查找波利比乌斯方格中的相应字母。这些坐标上的字母构成了密码文本。
- 输出密码文本 – 最后一步是输出所产生的密码文本。
例如,为了用关键词 “CRYPTOGRAPHY “加密明文 “HELLO”,我们将创建聚比乌斯方块,如下所示
| C | R | Y | P | T |
| O | G | A | H | B |
| D | E | F | I | J |
| K | L | M | N | X |
| U | V | W | S | Z |
然后我们将把明文分成几对–“HE”、”LL”、”OX”
然后我们将寻找第一对 “HE “的坐标,我们会发现H在第四行第二列,E在第三行第五列。
所以,新的一组数字是42,35
然后,我们将使用这组数字来寻找多比乌斯方格中的字母,在这种情况下,我们将得到 – “UZ”
这就是这对明文 “HE “的密码文本。
最后,我们将对其余的对子遵循同样的过程,以获得最后的密码文本–“UZBDXO”
这只是一个解释算法的基本例子,密码的安全性可以通过对明文的不同部分使用不同的多比乌斯方阵和使用更复杂的密钥来加强。
增强双鱼座密码安全性的方法之一是对明文中的每一对字母使用不同的多比乌斯方块,而不是对整个信息使用一个方块。这被称为 “分化”。分裂明文增加了可能的密钥数量,使攻击者更难破解密码。
另一种增强双鱼座密码安全性的方法是使用更复杂的密钥。不使用简单的关键词或短语,而是使用随机数发生器或加密哈希函数来生成密钥。这使得密钥更难猜测,并增加了可能的密钥数量。
Bifid密码的一个弱点是,它没有隐藏明文中字母的频率。攻击者可以对密码文本进行频率分析,并利用这些信息来破解密码。解决这一弱点的方法之一是将换位密码与双飞密码结合起来使用。转位密码可以用来扰乱密码文本中字母的顺序,使其更难进行频率分析。
最后,需要注意的是,尽管双飞密码有一些弱点,但在当时仍然是一个相对强大的密码,它今天仍然可以用于加密短信息。然而,它通常被认为不如现代密码如AES或RSA安全,后者使用更复杂的数学运算,并具有更大的密钥空间。
结论
综上所述,Bifid密码是一种多字母替换密码,每次对字母进行加密,与单字母密码相比,它的安全性相对较强。然而,它可以通过对明文中的每一对字母使用不同的多比乌斯方块、使用更复杂的密钥以及与换位密码相结合来加强。此外,应该注意的是,它仍然被认为比目前使用的密码不安全。