2014-01-18 192 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功能,只是他们不使用其他任何地方,除了美白。希望这可以为这类问题的人节省一些麻烦。 :)