Format-Preserving

為什麼 BPS FPE 算法中的調整長度是 64 位?

  • September 29, 2015

BPS 格式保持加密算法中

這個調整是否總是相同的長度(64 位)?

為什麼他們選擇 64 位的長度進行調整?

從論文中:

我們表示 $ f $ 內部函式的輸出位數 $ F $

我們首先劃分 64 位的調整 $ T $ 分成兩個 32 位子調整 $ T_L $ 和 $ T_R $

我們表示 $ L_i $ (分別。 $ R_i $ ) 應用輪次後的左(右)分支值 $ i $ .

附註

請注意,由於我們對輸入數量的限制 $ s $ -整數,我們始終確保每個分支都可以在一個 $ (f − 32) $ 位字。

對,所以現在看一下密碼定義的一部分:

$ L_{i+1} = L_i \boxplus F_K ((T_R \oplus i) \times 2^{f −32} + R_i) \mod s^l; $

雖然乘法用點表示,而不是 $ \times $ . 同樣對於狀態的計算 $ R_{i+1} $ 當然。

基本上,這會將調整轉移到最重要的 32 位,剩下的留給狀態。現在 $ F $ 可以是 AES、HMAC-SHA-2 或TDES。TDES 的塊大小為 64 位。如果調整大小為 128 位,則不會有任何空間留給 $ R $ 或者 $ L $ 構成內部狀態。

因此,調整大小使得調整的重複不太可能,並且當加密使用 64 位塊密碼時,它仍然可以有效地使用。如果調整幅度更大,則施工效率會降低,直至該方案根本不起作用。

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