Encryption

明文是否必須至少與多字母替代密碼中的密鑰一樣長

  • May 16, 2015

在多表替換密碼中,如果我們有一個密鑰 $ k $ (一串字母)長度 $ n $ 做明文 $ m $ (也是一串字母)必須滿足 $ |m| \geq n $ ?

另外,附帶的問題是,我們是否必須要求密鑰中至少有一個字母與其他字母不同?因為否則它會變成一個簡單的移位密碼(根本不是多邊形)

我不知道密鑰不能長於消息的任何經典多字母密碼。

對於Vigenère 密碼,有效地重複密鑰以使其與消息一樣長。沒有理由不能重複少於一次,有效地丟棄了鍵末尾不必要的字元。

類似地,在自動密鑰密碼中,通過將明文或密文消息附加到密鑰來動態擴展密鑰,確保擴展密鑰永遠不會用完字元。但是,如果消息不超過密鑰,則永遠不需要此擴展,並且自動密鑰密碼的行為與 Vigenère 密碼完全相同。

事實上,如果 Vigenère 或自動密鑰密碼的密鑰是:

  1. 至少和消息一樣長,
  2. 由純隨機字元組成,並且
  3. 從未用於加密多個消息,

然後密碼成為無條件安全的一次性密碼。這是最安全的一種密碼,可以證明在不知道密鑰的情況下無法解密。唉,對密鑰的嚴格要求——尤其是它至少需要與被加密的消息一樣長——使得它對於大多數用途來說相當不切實際。


至於您的附帶問題,顯然,如果您故意只選擇由單個重複字元組成的密鑰,那麼 Vigenère 密碼就變成了一個簡單的移位密碼。但是,如果您使用帶有隨機鍵的一次性鍵盤,則所有隨機字元都相同的可能性(非常小),這很好。

事實上,如果你扔掉了這樣的密鑰,你的密鑰選擇過程將不再是完全隨機的,因此攻擊者可能僅通過檢查密文並知道密鑰不可能是擁有所有密鑰的密鑰來了解有關明文的一些資訊。字元相同。

引用自:https://crypto.stackexchange.com/questions/25660