首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >密码到密码映射

密码到密码映射
EN

Cryptography用户
提问于 2019-10-04 07:11:53
回答 1查看 154关注 0票数 0

免责声明:我知道这个问题可能有点业余,因为我对密码学的知识有限,但请你容忍我一分钟。

问题:假设用户Alice生成一个密码短语"hello",而用户Bob生成另一个密码短语"world“。

我需要创建一个加密/散列管道,将Alice的pass短语映射到Bob的pass短语。我将说明我正在努力实现的目标的基本思想:

代码语言:javascript
复制
"hello" --> [encryption pipeline] -> "world"

如图所示,管道是单向的。托管管道的服务器的数据库不能存储纯文本传递短语。它可以存储密码短语的散列或加密修改,基本目标是在不知道原始输入是"hello“的情况下,使导出"world”变得不可能/非常困难(例如,在数据库被破坏的情况下)。

一个人如何能够安全地执行这样的管道,并遵守共同的安全原则?我刚刚开始深入研究哈希/加密算法、Levenshtein距离等等,但我真的很想从一个比我更了解这个领域的人那里获得一个洞察力。

EN

回答 1

Cryptography用户

回答已采纳

发布于 2019-10-04 10:29:05

对此,最简单的解决方案是在Alice的pass短语下加密Bob的密码短语。

为此,将特别采取以下步骤:

  1. 从Alice的密码短语中生成一个盐渍密码散列(例如使用Argon2或bcrypt),称之为SK
  2. 使用SK对称加密鲍勃的密码短语,例如使用AES-GCM

如果您想要花哨并允许Bob更新他的密码短语,您还可以在步骤2中对称加密私有非对称密钥,并在Bob更新时使用相应的公钥对新的密码短语进行加密。

通过使用SHA256的快速散列作为存储的数据库哈希值,这也可以集成到标准的基于密码的身份验证流中。

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

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

复制
相关文章

相似问题

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