Block-Cipher
為什麼不使用隨機排列作為分組密碼?
分組密碼的目的是充當隨機排列,實際上,一個常見的安全定義是分組密碼被認為與隨機排列無法區分(參見Wikipedia)。那麼為什麼不使用隨機排列作為分組密碼呢?也就是說,密鑰可能只是一個列表 $ 2^n $ 隨機配對(對於 $ n $ 位塊)在輸入(明文)和輸出(密文)之間。事實上,這將很容易滿足安全定義。
問題是缺乏緊湊的表示。假設您想以這種方式指定 128 位分組密碼。此類塊上排列的簡單表示將由一系列 $ 2^{128} $ 要點 $ 128 $ 每個位 - 就在附近 $ 5.4 \cdot 10^{27} $ 結核病。那是不可能儲存的,更不用說安全地交換了。
將此與與真正隨機排列無法區分的事物的通常候選進行比較,其中要交換的秘密資訊的大小通常在安全參數中是線性的。
使用較小的排列也不是一種選擇,因為它們必須足夠大以抵抗蠻力攻擊。此外,一旦您的塊大小變得太小,您使用的任何操作模式的成本成本都可能變得很大。