Encryption

Feistel 密碼密鑰生成和輪函式算法

  • November 17, 2017

我對密鑰生成的實際結構和 Feistel 密碼使用的輪函式算法感到困惑。我一直在閱讀許多有關分組密碼的資源。所有資源都開始談論 Feistel 密碼,但沒有一個資源解釋了密鑰生成和輪函式的工作原理。他們都突然跳起來解釋DES方法。我完全了解 DES 的工作原理,也知道 DES 是一種 Feistel 密碼,具有以下特定功能:

64-bits Key
64-bits Plain text
16 Rounds

那麼,Feistel 密碼的密鑰生成和輪函式與 DES 密碼相同嗎?如果是,是否還有另一種密鑰生成和輪函式算法,其他的 DES 算法?很抱歉有很多問題,但我真的很困惑。提前致謝。

在我能管理的最好的數學中,Feistel≠DES,而是 DES ∈ Feistel。這很重要,因為這會讓您感到困惑。只是 DES 在文獻中非常突出,所以文章被吸引到它。以下是兩個 Feistel 回合(表面上只是一個回合,因為它們必須是 LH 和 RH 對):-

設備

這也很重要,因為這是超集。因此,對於生成輪密鑰的**函式或密鑰調度,沒有特定的架構。DES 架構正是設計者想創建的。類似地,Blowfish ∈ Feistel,但你可以想出我們自己的函式和關鍵時間表。我只是一個鄉下男孩而不是密碼學家,但據我了解,Feistel 網路的整體安全性與密鑰調度的安全性乘以功能的安全性成正比。大約,但你明白了。可以使用任何東西,從強大的雜湊函式到簡單的函式壓縮技術 這將直接影響密鑰調度的安全要求。

有趣的是,雖然 Feistel 壓縮函式的架構已經得到驗證(實際上還有像替換和置換這樣的本地分組密碼),但對於密鑰調度沒有等效的標準化架構。你可以擁有任何東西,從 Blowfish 計算成本高昂的方法到 AES’ 到 RC4 的狡猾條帶技術。密鑰調度的基本要求(甚至比安全性更重要)是密鑰可以以正確的位寬重複插入主架構。否則,它甚至不會開始工作。

當然,兩者都有一些基本要求,這些要求太廣泛了,無法在此列出。既然您了解了這兩個基本組成部分的性質,您就可以進行自己的研究了。看看這樣的事情: -

Feistel 密碼中的函式 FF 是否有任何特定要求?

關於關鍵時間表的問題

Feistel 網路的實現細節(以 Blowfish 為特色)

所以我會在開始時結束,Feistel≠DES,而是 DES ∈ Feistel。

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