在Vigenere密码方法中使用多个密钥进行加密是否安全?

Is it safe to use several keys in Vigenere cipher method to encrypt?

我只是想知道使用下面显示的这种加密方法是否安全。 假设我们有一个要在加密过程中使用的密钥列表,例如 ['apple'、'coco'、'piano']。对于列表中的每个密钥,我们使用此密钥和 Vigenere 密码方法来加密文本。所以这里的这个例子,我们先用'apple'加密目标文本,再用'coco'加密,最后用'piano'加密。 那么,使用这种方法安全吗?谢谢。

哪个"safe"?它既安全又不危险,因为它不会破坏任何东西。它不像 secure 那样特别安全,因为您可以找到一个由这三个键组合而成的键(尽管它可能不是英文单词)。有些加密方案在您重复使用时会变得更加安全; Vigenere 不是其中之一。

如果您多次使用不同的密钥应用 Vigenere 密码,则可以构造一个(公共)密钥,它会给出相同的结果。

使用 Vigenere 加密时,您需要重复密钥以匹配您要加密的数据。如果你想用密钥 apple 加密文本 the secret message is we attack a dawn 你可以这样设置:

Text:       the secret message is we attack a dawn
Key:        appleappleappleappleappleappleappleapp
            --------------------------------------
Encrypted:  uxu xfshqy cuexbwu nt mq bjjmhl q ibmd

如果您随后使用 coco 再次加密,您将拥有:

Text:       uxu xfshqy cuexbwu nt mq bjjmhl q ibmd
Key:        cococococococococococococococococococo
            --------------------------------------
Encrypted:  xmx auvwtn rxtaqzj cw pf qmypwo t lqps

还要注意 coco 实际上是一个 "weak" 键,它在 co 处给出相同的结果!无论如何..在这种情况下, apple & coco 的组合键是 desahpseot 所以你有:

Text:       the secret message is we attack a dawn
Key:        desahpseotdesahpseotdesahpseotdesahpse
            --------------------------------------
Encrypted:  xmx auvwtn rxtaqzj cw pf qmypwo t lqps

注意键 desahpseot 是如何组合成这样的:

key 1:        appleapple
key 2:        cococococo
              ----------
Combined key: desahpseot