Block-Cipher

關於可調整密碼的一些簡單問題

  • May 22, 2018

我已經閱讀了幾篇關於可調整密碼的論文(雖然不太理解),並查看了這次交流中的許多問題和答案:什麼是可調整分組密碼、可調整分組密碼調整偶數曼蘇爾密碼

$$ video $$. 但是,我想澄清一些事情。

  1. 調整總是只是一串比特嗎?它們通常比鑰匙短嗎?
  2. 似乎 DES-X 是一種可調整的密碼,其中的調整是使用秘密額外密鑰的前白化和後白化。這是否意味著某些調整一定是秘密的?我問的原因是我從我讀到的論文中得到的印像是調整總是公開的。
  3. 鑑於 Q2,還有哪些其他可調整的密碼(如果有)使用秘密調整或如果需要可能是秘密的?
  4. 如果調整是秘密的,這是否會增加密碼的強度和可變性?
  5. 如果將調整附加到密鑰,這意味著會話密鑰還是每個子密鑰?我有點困惑,因為我認為調整的部分想法是它們比通過複雜的密鑰計劃(例如)生成新密鑰更容易更改。
  6. 也許這應該是一個單獨的問題,但是:排列一詞似乎意味著兩個不同的東西。1)按位(比方說)排列,即不包括 XOR、S-box 等,以及 2) 產生輸入的明顯隨機排列的完整分組密碼加密,即通常包括 XOR 和替換等。對於可調整的密碼,當我查看一些模型時,我看到密碼表示為 $ E_n $ 但是當我查看基於 Even-Mansour 密碼的模型時,我看到了 $ P_n $ . 我假設 $ E $ 指可能包含多個操作(perms、s-box 等)的密碼 $ DES $ , $ AES $ 等),但 $ P $ 僅指按位排列(或可能按字節排列)。這個假設正確嗎?

非常感謝任何可以提供幫助的人。

調整總是只是一串比特嗎?

沒有理由必須這樣做。一些算法設計者可能會對調整進行限制,而不僅僅是它可以擁有多少位。

它們通常比鑰匙短嗎?

設計具有很長調整的快速密碼可能是一個挑戰。如果可調整的分組密碼不比派生新密鑰和進行密鑰擴展更快,那麼就沒有理由在不可調整的密碼上使用它。KDF 可以接受任意長度的輸入並生成新的密鑰。

這是否意味著某些調整一定是秘密的?

我猜這取決於您選擇的定義和約定。我更喜歡tweak 的定義,即“即使公開也是安全的”,這是與例如Skein/ThreeFish 相關的定義。例如,磁碟加密算法可能會使用“tweak”來指代秘密數據。

如果調整是秘密的,這是否會增加密碼的強度?

假設不是比假設是更安全。這是一個太籠統的問題,答案取決於具體情況。另外,使用採用更大密鑰的密碼會更聰明。

如果將調整附加到密鑰,這意味著會話密鑰還是每個子密鑰?

你告訴我們。這不是“如果假設條件,那麼這是否意味著假設 A 或假設 B”的問題?在這種情況下,我不知道您所說的會話密鑰是什麼意思。我認為不是後者。如果算法對一個 n 位字與一個 n 位子密鑰進行異或,我看不出如何附加到該子密鑰。

也許這應該是一個單獨的問題,但是:術語排列似乎意味著兩個不同的東西

過於非正式的定義:輸入和輸出是相同的有限可數集的任何雙射函式都是置換。分組密碼是排列,因為它們是可逆的,並且將固定數量的輸入比特映射到相同數量的輸出比特。出於同樣的原因,P-box 是排列。功能 $ F(n) = n $ 是一個排列(如果域和共域符合描述),它對偽隨機性目的沒有幫助。

$ E $ 是分組密碼的典型單字母函式名稱,類似於 $ F $ 用於一般功能和 $ H $ 用於雜湊函式。 $ P $ 和 $ \pi $ 對於偽隨機排列很常見。這些只是函式名稱。它們並不意味著在使用它們的上下文中它們必須引用這些類型的函式。

一個簡單的 Even-Mansour 密碼實際上通常定義為 $ E_{k_1,k_2}(X) = k_1 \oplus P(x \oplus k_2) $ . $ E $ 是 Even-Mansour 密碼。 $ P $ 是一個無鍵的、公開的偽隨機排列。 $ P $ 不是分組密碼,而是 $ E $ 是。

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