2014-01-18 233 views
0

我想弄清楚Twofish密碼擴展密鑰是如何生成的。Twofish密碼密鑰生成

現在我已經知道,首先生成一部分密鑰並用於白化,然後在每一輪生成2x32bit密鑰部分。

密鑰的第一部分是由3個載體,沫中,Me和S.

沫和Me通過擴大主鍵簡單地產生的第一限定的長度,和拆分它的偶數和奇數32b字,然後放入Mo和Me矢量中。

在另一方面矢量S是由k個字,其中,k = N/64,在N = 128的情況下,S包含2x32b字。所以,我們得到了Mo(2x32)+ Me(2x32)+ S(2x32)+ 16x2x32 = 38 32bit的字。 2個單詞不見了。爲什麼??

而如果N = 192或N = 256呢?如何擴展的密鑰是40個32位字而不是41和44?

任何幫助將是偉大的。

感謝

回答

0

要回答我的問題,我發現矢量莫,我和S是不是展開的關鍵,實際上一部分,我首先想到的,其實它們只是用於生成擴展鍵和鍵獨立的S盒。一個用於美白的關鍵部分生成的方式進行,在每一輪中使用的部件相同,使用H功能,只是他們不使用其他任何地方,除了美白。希望這可以爲這類問題的人節省一些麻煩。 :)