關於 XEX 模式
維基百科聲稱給出了一個未加密的排列 $ p $ (大概與鑰匙大小相同)這是安全的: $ p(m \oplus k) \oplus k $ 為什麼不使用這種結構來代替 XEX?當然,無鍵排列應該比有鍵排列更快,因為它們沒有密鑰時間表,維基百科頁面沒有提到一些問題嗎?
考慮到分組密碼,它也提出了問題 $ e $ , 將 $ e_{k_1}(m \oplus k_2) $ (沒有外部異或)安全嗎?我特別感興趣的是全盤加密。
為什麼不使用這種結構來代替 XEX?
因為XEX採用分組密碼並從中構造出可調整的分組密碼,而這種通常稱為 Even-Mansour 的構造採用排列並從中構造出分組密碼。
當然,無鍵排列應該比有鍵排列更快,因為它們沒有密鑰時間表,維基百科頁面沒有提到一些問題嗎?
這是一個困難的問題。這是因為為非密鑰排列建構安全模型比為密鑰排列更難 - 因為你沒有對手的知識優勢。由於缺乏優勢,公共排列實際上往往更慢,例如,我所知道的最快的是Gimli,它仍然被 AES 擊敗。另請注意,密鑰計劃是一次性成本,如果您不經常更改密鑰,通常可以很好地攤銷 - 通常您不會這樣做。
事實上,這種速度劣勢在理論上是可以預料到的,因為我們可以從最小的密碼原語(單向函式)構造塊密碼,但不能從它們構造抗碰撞雜湊函式,而我們可以從公共安全排列中構造。所以有一些“內在的”使公共排列成為比分組密碼更強大的工具,這通常意味著我們必須做更多的計算工作來建構它。
它還提出了一個問題,給定一個分組密碼 e,ek1(m⊕k2)(沒有外部 xor)是否安全?
是的,它會產生另一個具有更長密鑰的分組密碼(假設分組密碼本身就是 PRP 的 PRP)。但請注意,它不會產生 SPRP(逆也是 PRP 的 PRP)。如果你要採取 $ k_2 $ 作為一個調整,我認為這不會像 XEX 那樣產生一個(強)可調整的分組密碼,因為缺乏可能是非隨機的調整的預處理。