Cryptanalysis

移位密碼,完全安全?

  • March 30, 2022

我知道如果只使用移位密碼加密一個字元,那麼移位密碼是完全安全的。但是如果鍵的空間大於消息的空間呢?它仍然是完全安全的嗎?我認為它仍然是肯定的,但我不知道如何處理未使用的密鑰。

定理 2.10(現代密碼學簡介,第二版)指出,一個完全秘密的加密方案必須具有至少與消息一樣大的密鑰大小。作者通過反證法證明了這一點,因此實際上很難看出如果鍵空間包含更多元素會發生什麼。

不必要。考慮 26 個字元的羅馬字母表上的凱撒移位密碼。我們將字母映射到數字 0-25 之一,例如 $ x $ 並添加一個鍵值 $ k\in [0,25] $ 計算 $ y=x+k\mod {26} $ 然後映射回字母表。如果 $ k $ 是隨機均勻選擇的,那麼這是完全安全的。但是,如果我們擴大範圍 $ k $ 說 $ [0,30] $ 這不再是完全安全的價值觀 $ x+0\mod {26} $ , $ x+1\mod{26} $ , $ x+2\mod{26} $ , $ x+3\mod{26} $ 和 $ x+4\mod{26} $ 是其他密文的兩倍。這提供了有關的重要資訊 $ x $ 因此是明文。例如,如果我們看到密文“b”對應於 $ y=1 $ 我們有更多的證據表明 $ x=23, 24, 25, 0, 1 $ 比其他值。因此,貝氏統計增加了我們對明文字母位於集合 {‘x’,‘y’,‘z’,‘a’,‘b’} 中的信念,並降低了我們對它位於該集合之外的信念。我們將無法使用完全安全的密碼做出這種推斷。

通常,為了達到完美安全所需的一致性,密鑰空間需要是密文空間大小的倍數,並且密鑰是隨機均勻選擇的。但是,可以通過其他方式實現完美的安全性(例如,在上述方案中,如果我們選擇密鑰 $ {0,1,2,3,4,26,27,28,29,30} $ 機率為 1/52,其他密鑰的機率為 1/26,那麼移位密碼仍然是完全安全的。

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