首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用PBKDF2选择SHA3参数

用PBKDF2选择SHA3参数
EN

Cryptography用户
提问于 2021-12-19 01:54:09
回答 1查看 240关注 0票数 0

我使用PBKDF2生成一个ED448签名密钥,并试图为SHA-3确定最佳的salt大小。我记得在PBKDF2中,我读过一条建议使用相当于PRF内部状态块大小的盐分大小。我的理解是,Keccak/SHA-3不像SHA/MD散列那样使用块。那么,如何根据Keccak参数来选择或计算盐的长度呢?既然Keccak比SHA2快,那么迭代应该增加吗?

当前代码:

代码语言:javascript
复制
const uint32_t SaltLen = 64; // what to pick here?
const uint32_t PBKDFIterations = 10000;
uint8_t Salt[SaltLen];
uint8_t SigningKeyBytes[ED448_KEYLEN];
RAND_bytes(Salt, sizeof(Salt));
PKCS5_PBKDF2_HMAC(Password, PasswordLength, Salt, SaltLen, PBKDFIterations, EVP_sha3_512(), sizeof(SigningKeyBytes), SigningKeyBytes);

我已经看到了2015年以来关于在PBKDF2中使用SHA-3的现有问题,但是这个问题已经有将近7年的历史了,我希望从那以后建议已经改变了。

EN

回答 1

Cryptography用户

发布于 2021-12-19 02:29:28

为了本文的目的,让我们将迭代散列函数的块大小定义为:

当输入到哈希算法时,将导致调用迭代函数( MD的压缩函数和Sponge的置换)的数据量。

考虑到这一点,SHA-3和抖动-*的块大小将是它们的“速率”参数。

现在回到盐上。通常128位(16字节)盐就足够了(以阻止计算前的攻击,如彩虹桌攻击),256位就足够了。关于StackOverflow的相关文章

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

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

复制
相关文章

相似问题

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