更快的速度是:将64位单词插入16个nibbles并将其输入S-box或将整个64位单词直接作为条目使用?
这个问题与密码学有关,但我相信我在正确的地方问(不是在 Crypto Stackexchange 中)。
Kuznyechik 分组密码将 64 位字拆分为 16 个半字节(4 位),并将它们用作其 S-Box 中的条目,每个半字节与其 S-Box 集中的 2048 字节数据混合,总计 32768 字节每个 64 位字进行处理。这里有一个例子: https://github.com/veracrypt/VeraCrypt/blob/master/src/Crypto/kuznyechik.c#L2147-L2149
但是假设我想直接使用 64 位字。
什么会更快(我的意思是,使用更少的 CPU 周期):
将 64 位字拆分为 16 个半字节,并将每个半字节混合到每个 2048 字节的 S-Box 中(总共 16 个半字节处理 32768 字节)或者 将整个 64 位字混合到 32768 字节的 S-Box 中而不进行任何拆分?
// 记住,两种情况混合的字节大小相同。
This question is related to cryptography, but I believe I'm asking in right place (not in Crypto Stackexchange).
Kuznyechik block cipher splits a 64-bit word into 16 nibbles (4-bits) and use them as entries in its S-Boxes, each nibble is mixed with 2048-bytes of data in its S-Box set, totaling in 32768-bytes processed per each 64-bit word. There is an example here: https://github.com/veracrypt/VeraCrypt/blob/master/src/Crypto/kuznyechik.c#L2147-L2149
But let's suppose I want to use a 64-bit word directly.
What would be faster (I mean, use less CPU cycles):
Spliting a 64-bit word into 16 nibbles and mixing each of them into a 2048-bytes S-Boxes each (totaling 32768-bytes processed in total 16 nibbles) OR Mixing an entire 64-bit word into S-Boxes of 32768-bytes without any splitting??
/\ Remembering, is the same size of bytes mixed into the two cases.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论