首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Twofish密钥生成

Twofish密钥生成
EN

Stack Overflow用户
提问于 2014-01-18 22:21:54
回答 1查看 332关注 0票数 0

我正在试图弄清楚Twofish密码扩展密钥是如何生成的。

现在,我已经计算出,首先生成密钥的一部分,并用于白化,然后在每一轮中生成2x32bit密钥部分。

密钥的第一部分由3个向量组成: Mo、Me和S。

通过将主键扩展到首先定义的长度,并将其拆分成偶数和奇数32b个字,然后将其放入Mo和Me矢量中,来简单地生成Mo和Me。

另一方面,向量S由k个字组成,其中k= N/64,在N=128的情况下,S包含2x32b个字。

因此,我们得到Mo(2x32) + Me(2x32) + S(2x32) + 16x2x32 = 38个32位字。缺少2个单词。为什么??

如果是N=192或N=256呢?扩展密钥怎么可能是40个32位字而不是41和44?

任何帮助都是最好的。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2014-01-20 18:11:55

为了回答我自己的问题,我发现向量Mo,Me和S实际上并不是扩展密钥的一部分,正如我最初所想的那样,实际上它们只是用来生成扩展密钥和依赖于密钥的S框。用于美白的部分密钥的生成方式与在每轮中使用的部分相同,使用h函数,只是除了美白之外,它们不会在其他任何地方使用。希望这能省去一些有这种问题的人的麻烦。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21205341

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档