Feistel-Network

r輪Feistel網路的輸出是多少

  • June 8, 2018

如果每個輪函式都是恆等函式,當輸入為 (L0, R0) 時,r 輪 Feistel 網路的輸出是多少。

你已經自己解決了這個問題。讓我們看一下Feistel Network 的一般定義

$$ L_{i+1} = R_i, \quad R_{i+1} = L_i \oplus F(R_i, K_i) $$ 具有身份功能 $ F: (R_i, K_i) \mapsto R_i $ 現在這導致了一個非常不安全的 Feistel Cipher。 第一輪前:

$ L_0,\quad R_0 $

第一輪後:

$ L_1 = R_0,\quad R_1 = L_0 \oplus F(R_0, K_0) = L_0 \oplus R_0 $

第2輪後:

$ L_2 = R_1 = L_0 \oplus R_0,\quad R_2 = L_1 \oplus F(R_1, K_1) = R_0 \oplus (L_0 \oplus R_0) = L_0 $

第三輪後:

$ L_3 = R_2 = L_0,\quad R_3 = L_2 \oplus F(R_2, K_2) = (L_0 \oplus R_0) \oplus L_0 = R_0 $

正如您自己已經弄清楚的那樣,這個 Feistel Cipher 的輸出週期為三輪。我們現在從中學到什麼?

  • 恆等函式是一個糟糕的選擇 $ F $ 因為人們可以用一些已知的明文模式輕鬆破解密文。
  • 不同的密鑰根本不改變密文,將每個密鑰的熵降為0。
  • 添加更多輪次並不一定會增加 Feistel Cipher 的安全性。使用此密碼的一兩輪比三輪更安全。這可能是一種人為的見解,但對於證明有關 Feistel 密碼的證據可能很重要。

這是 4 輪的解決方案,您可以自己獲取模式並得出 r 輪的解決方案![4 發 feistel] 1

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