Block-Cipher

將 64 位分組密碼轉換為 128 位分組密碼

  • June 19, 2015

有相當多的分組密碼操作模式需要 128 位。還有一些操作模式,其中塊大小高於 128,例如 256 位的塊大小甚至是實用的。

是否有一種將兩個塊組合在一起的通用方法,使得兩個 64 位塊可以看作一個 128 塊?是否有可用於 CTR 操作模式的有效方法(最流行的 AEAD 密碼的底層原語)?

有兩種眾所周知的加密模式,可以構造一個 $ mn $ -位可調整的塊密碼 $ n $ -位塊密碼( $ n=64 $ DES)與 $ 1\le m\le n $ .

較舊的是CMC,不可並行化。

它被可並行化的Encrypt-Mix-Encrypt (EME)取代。

這兩種算法的基本思想是對每個輸入數據塊進行一次加密,然後對結果位執行非線性變換,並將其輸入第二輪分組密碼呼叫。這是必要的,否則可能會攻擊這些計劃。對於兩個輸入和輸出塊的強連結,雙重加密是不可避免的。

根據 EME 的要求 $ 2m+1 $ 塊密碼呼叫,在你的情況下 $ m=2 $ , $ 5 $ 每個數據塊都需要呼叫 DES。

由於 DES 與 AES 相比速度較慢,因此最好將 AES 用於 128 位模式,將 Threefish 用於更大的模式。

除了 EME 的性能問題( $ >2 $ 次工作)似乎也存在與 EME 的專利問題

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