将 bcrypt 应用于已经散列的密码是否存在加密缺点
Is there a cryptographic disadvantage to applying bcrypt to an already hashed password
想象一个场景,客户端应用程序将密码发送到后端服务器,以便服务器可以在与存储的密码变体进行比较时验证用户输入的密码是否正确。
传输机制是 HTTPS
,服务器向用户代理提供 HSTS
和 HPKP
,并且在 SSL 实验室测试中获得 A+ 的服务器首选强密码。 None越少,我们不妨避免将用户提供的原始密码从用户代理发送到服务器。相反,也许我们会在客户端上经过多轮 SHA-256 后发送一个哈希值。
在服务器端,为了存储密码,我们使用大量循环的 bcrypt。
从密码学的角度来看,与直接对明文密码相比,对已经经过 sha-256 散列值执行 bcrypt 有什么缺点吗?使用哈希时输入文本的固定长度性质是否会以某种方式破坏算法的优势。
编辑:我不是在询问性能,例如内存、CPU、存储要求或计算、存储、发送或比较值所需的挂钟时间。我纯粹感兴趣的是,在公开存储值的完整列表的情况下,在应用 bcrypt 之前应用哈希是否会削弱 bcrypt 的强度。
对于任何对此感兴趣的人,我听从了建议并在 security.stackexchange.com here
上询问
想象一个场景,客户端应用程序将密码发送到后端服务器,以便服务器可以在与存储的密码变体进行比较时验证用户输入的密码是否正确。
传输机制是 HTTPS
,服务器向用户代理提供 HSTS
和 HPKP
,并且在 SSL 实验室测试中获得 A+ 的服务器首选强密码。 None越少,我们不妨避免将用户提供的原始密码从用户代理发送到服务器。相反,也许我们会在客户端上经过多轮 SHA-256 后发送一个哈希值。
在服务器端,为了存储密码,我们使用大量循环的 bcrypt。
从密码学的角度来看,与直接对明文密码相比,对已经经过 sha-256 散列值执行 bcrypt 有什么缺点吗?使用哈希时输入文本的固定长度性质是否会以某种方式破坏算法的优势。
编辑:我不是在询问性能,例如内存、CPU、存储要求或计算、存储、发送或比较值所需的挂钟时间。我纯粹感兴趣的是,在公开存储值的完整列表的情况下,在应用 bcrypt 之前应用哈希是否会削弱 bcrypt 的强度。
对于任何对此感兴趣的人,我听从了建议并在 security.stackexchange.com here
上询问