XEX 或 XTS 模式是否可以通過一次調整來使用?
XEX 模式(有兩個調整)是以下方案:
X=和ķ(一世)⊗一種jC=和ķ(磷⊕X)⊕X $ X = E_{k}(I) \otimes \alpha^j \ C = E_{K}(P \oplus X) \oplus X $
在哪裡一世 $ I $ 和j $ j $ 都是調整(分別是扇區號和塊號)。如果我只想使用一個調整,一世 $ I $ , 以下是正確和安全的嗎?
X=和ķ(一世)C=和ķ(磷⊕X)⊕X $ X = E_{k}(I) \ C = E_{K}(P \oplus X) \oplus X $
本質上j $ j $ 被視為0 $ 0 $ ,我相信這可以從等式中消除它。
澄清我所說的“安全”是什麼意思;我展示的第二個方案是否具有與第一個方案相同的安全保證,如 Rogaway 的論文中所述?我瀏覽了這篇論文,但仍不清楚第二個方案是否包含在 Rogaway 定義的 XEX 系列中。
不,使用 XEX 模式j=0 $ j = 0 $ 並不完全安全。正如Rogaway (2004) 論文的第 6 節所述(強調我的):
“需要額外注意解決 XEX 的安全問題。假設,具體來說,我們正在研究X和X[和,2一世] $ \mathsf{XEX}[E,2^{\mathbf I}] $ 和一世=[0..2n−2] $ \mathbf I=[0\mathop{..}2^{n-2}] $ . 讓對手詢問一個帶有密文的解密查詢C=0n $ C=0^n $ 並調整(0n,0) $ (0^n,0) $ . 如果對手有一個基於構造的解密預言機,那麼它將得到一個響應米=˜D0nķ0(0n)=Dķ(Δ)⊕Δ=Dķ(ñ)⊕ñ=0n⊕ñ=ñ $ M=\tilde D_K^{0^n},^0(0^n)=D_K(Δ)⊕Δ=D_K(\mathsf N)⊕\mathsf N=0^n⊕\mathsf N=\mathsf N $ , 在哪裡ñ=和ķ(0n)=Δ $ \mathsf N = E_K(0^n) = Δ $ . 這允許對手擊敗 CCA 安全性。例如,加密2米=2ñ $ 2M=2\mathsf N $ 稍作調整(0n,1) $ (0^n,1) $ 和加密4米=4ñ $ 4M=4\mathsf N $ 稍作調整(0n,2) $ (0^n,2) $ 將給出相同的結果(如果對手具有基於構造的加密預言機)。對應於這種攻擊,我們排除任何調整(ñ,一世1,…,一世ķ) $ (N,i_1,\dotsc,i_k) $ 為此(一世1,…,一世ķ) $ (i_1,\dotsc,i_k) $ 是代表1 $ 1 $ ——也就是說,任何調整(ñ,一世1,…,一世ķ) $ (N,i_1,\dotsc,i_k) $ 為此一種一世11⋯一種一世ķķ=1 $ α_1^{i_1} \dotsb α_k^{i_k} = 1 $ . 特別是,此條件不包括任何調整(ñ,0,…,0) $ (N,0,\dotsc,0) $ . "
但是,使用j=1 $ j = 1 $ 是安全的,並且確實被 Rogaway 明確用作有效調整的範例,例如在第 3 節中:
“不是先前調整的增量的調整也會出現,它們通常看起來像(ñ,1,0…,0) $ (N,1,0\dotsc,0) $ . 建築在處理此類調整方面應該相當有效。”
此外,在他們對 XTS 模式的評論中,Liskov 和 Minematsu 證實,確實,j=0 $ j=0 $ 對 XEX 來說是一個糟糕的選擇(強調原創):
“注意j=0 $ j = 0 $ 必須排除,因為F(0,在)=在 $ f(0, v) = v $ 對於任何在 $ v $ ,這意味著ρ=1 $ ρ = 1 $ . 此外,如果j=0 $ j = 0 $ 被允許,基於這一事實的簡單攻擊存在,正如指出的那樣6
$$ 6 $$和3$$ 3 $$. 因此,如果使用 XEX,必須小心避免j $ j $ 存在0 $ 0 $ . "
然而(雖然通常批評為 XTS 使用兩個密鑰的選擇),他們也注意到這一要求是為了避免j=0 $ j = 0 $ 僅適用於單密鑰 XEX 模式,不適用於 XTS,它使用單獨的密鑰進行調整和加密階段:
“請注意,XTS 不需要避免j=0 $ j = 0 $ , 因為 XTS 的偏移函式不需要(ε,C,ρ) $ (ϵ,γ,ρ) $ -統一,但只能是ε $ ϵ $ -AXU 如果它與 URP 結合使用。這種差異在安全性方面很重要,但對實際應用的有效性沒有影響。”