我正在实现用于教育软件的 Twofish 算法。我将 QT 用于 UI 并使用来自 Wikipedia 的研究和 Bruce Schneier 的 Twofish 论文,但我坚持生成美白子键。我已经成功地理解了如何生成圆形子键,但还没有找到生成美白子键的方法。
我取 k = 2(128 位密钥,128/64 = 2),所以,2k = 4;M_e 和 M_0 的大小为 2,我从原始密钥填充它们并计算 16 轮的轮密钥,每轮 2 个密钥。
所以,我得到的不是 40 个子键,而是 32 个。
我错过了美白8的地方?我已经重新阅读了这篇论文,但没有找到适合它们的算法,或者关于如何生成它们的建议,比如在轮次之前或之后如何生成第一个或最后一个 N 个键。
如何生成美白键?