首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >KDF和盐分储存

KDF和盐分储存
EN

Cryptography用户
提问于 2020-05-03 18:09:53
回答 1查看 311关注 0票数 0

不管我将使用什么KDF,让我们想象一下,我必须生成两个密钥:一个用于身份验证,另一个用于加密(它将始终保留在生成它的设备上,直到注销为止)。当然,我用于加密和解密的密钥必须始终是相同的。

我在这个网站上读到了一些答案,建议为两个密钥生成一个随机的盐,并将其保存在这些(最好是分开的)。但是有一个问题:当用户必须解密数据或验证自己时,他将需要这种精确的盐,它必须从数据库中获取。既然他还没有鉴定,我怎么能相信那些向我要盐的人呢?因为如果我把它给任何需要它的人,用它是没有意义的。

也许我错了,因为我是个新手。如果我没有弄错我的假设,我如何才能解决这个僵局?我读到有人建议在这种情况下使用电子邮件或用户名的散列作为salt。这是一个很好的练习吗?考虑到客户端的任何人都可以看到我在数据上所做的事情。

EN

回答 1

Cryptography用户

发布于 2020-05-03 20:05:54

既然他还没有鉴定,我怎么能相信那些向我要盐的人呢?因为如果我把它给任何需要它的人,用它是没有意义的。

那就是你出错的地方。盐是公开的:它们的目的是根据导出的密钥是唯一的,而不是秘密的。对KDF的安全性分析必须假定所使用的任何盐都是公开的,因此向任何提出要求的人发布它们都是安全的。这是盐的定义性质之一,而不是“胡椒”。辣椒往往提供的好处,不能提供无法通过增加成本参数,并复杂的储存,所以他们没有太多的使用。

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

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

复制
相关文章

相似问题

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