首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HKDF能代替密码散列函数吗?

HKDF能代替密码散列函数吗?
EN

Cryptography用户
提问于 2023-03-15 15:53:07
回答 1查看 49关注 0票数 1

对于上下文,我正在使用气球散列函数创建一个非产品级参考实现。为了减少对普通内存硬KDF上的某些攻击的影响,应该减少内存块的数量,这意味着它们的大小应该增加。不过,在选择加密函数时,我只限于cryptographic的SubtleCrypto接口中定义的函数。这就引出了一个问题:

HKDF能代替密码散列函数吗?没有一个SHA1或SHA2哈希函数具有足够大的输出以满足此应用程序。更长的输出(比如2048-4096位),从HKDF 512具有几乎等同于普通SHA512的安全属性,还是在某些方面有所不同?

EN

回答 1

Cryptography用户

回答已采纳

发布于 2023-03-15 16:53:36

HKDF能代替密码散列函数吗?

HKDF是从HMAC和散列定义的(那里)。对于固定的小(可能是空的)常量字节字符串,H(M)计算为\operatorname{HKDF-Expand}(\operatorname{HKDF-Extract}(\mathrm{salt},M),\mathrm{info},512) (可能是空的),而SHA-512作为HMAC的基础散列,在本质上将表现为4096位哈希,与SHA-512一样强。

可以说,在可能的输出数量和每个512位输出段的可能值数量上有一点损失,但在计算上是不可能观察到的,而且可以说是在中的参数中的2位之内。

问题是每个产生8×512位的HKDF需要花费20‡SHA-512压缩函数(对于小型M)。在Balloon (或其他内存硬功能)上下文中,恐怕这种相对较高的成本会将平衡转移到那些能够以惊人的速度实现SHA-512的对手身上。我宁愿在哈希的加密安全性上节省很多,而倾向于使用更快的哈希,以便更多的计算能力用于内存访问。

‡假设在可能的情况下对HMAC中的第一个块进行仔细的实现缓存;否则我将得到36个。这两项数字都需要反复核对。

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

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

复制
相关文章

相似问题

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