首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >kyber中的矩阵解析

kyber中的矩阵解析
EN

Cryptography用户
提问于 2023-04-06 11:04:52
回答 1查看 40关注 0票数 1

凯伯规范中,parse函数(第6页的算法1)以一个不终止的字节流作为输入。虽然不太可能,但这个函数可以使用来自此流的无限字节数。

Kyber.CPAPKE.KeyGen (第8页的算法4)中,使用字节流的可扩展输出函数的输出在第6行调用parse函数。在第11页中,声明使用SHAKE-128来实例化这个可扩展的输出函数。

第6.2节中的NIST FIPS-202规范 of SHAKE-128要求在生成输出之前给函数给定一个输出大小。如何使用SHAKE-128生成parse函数所需的(可能是不终止的)长度不定的字节流?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2023-04-06 11:36:11

如何使用\operatorname{SHAKE-128}生成解析函数所需的(可能不终止)长度不定的字节流?

\operatorname{SHAKE-128}具有这样的属性:对于任何消息M和任何输出长度dd'\operatorname{SHAKE-128}(M,d)都是\operatorname{SHAKE-128}(M,d')的开头。

\operatorname{Keccak}的内部结构及其对\operatorname{SHAKE-128}的扩展使所有涉及M的计算成为可能,然后是长度d的输出,然后动态地将输出扩展到任何d'>d,而不需要重新执行以前的任何海绵圆圈。

当然,并不是\operatorname{SHAKE-128}的所有API都允许这样做。我看不出如何重用Python的shake_128来要求更多的输出,而不会造成一些重复的工作。我们不需要重新散列M,但是我们需要重新计算整个输出。

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

https://crypto.stackexchange.com/questions/105985

复制
相关文章

相似问题

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