BCrypt DRBG 与 NIST SP 800-90A R1 的兼容性

问题描述 投票:0回答:1

我对加密和流程相当了解,但我需要确保我想要使用的 BCrypt for NodeJS 模块,特别是 BCrypt 使用的随机位生成器,与 NIST SP 800-90A R1 兼容。有很多非常具体的要求,所以我想确保满足它们。 NIST 要求允许基于哈希、HMAC 和 CTR 的确定性随机位生成器 (DRBG),我相信 BCrypt 满足这些要求,但我没有看到 BCrypt 在其任何文档中具体详细调用其 DRBG。也许我不完全理解这是如何工作的,这对其他人来说是显而易见的,但有人可以帮助我理解这个资格。我特别关注的是 BCrypt 的 RBG 及其在该 NIST 文件下的资格,而不是 BCrypt 整体及其被 NIST 接受的情况。

当 NIST 称 RBG 作为哈希函数可接受时,BCrypt 似乎满足这些要求,但我可能会混淆 BCrypts 加密及其随机位生成器。

node.js encryption bcrypt nist
1个回答
0
投票

从概念上讲,bcrypt 生成的随机数用作salt
盐不必具有很强的加密强度——这不是一个要求。
盐只需不同

现在,在实践中,bcrypt 的大多数实现可能使用加密的强随机数生成器(由它们运行的平台提供)。

但是现在您询问的是 bcrypt 的一个特定实现的内部实现细节。该实现并未对其使用的 RNG 的强度做出任何承诺。它甚至不能保证他们将继续在版本之间或平台之间使用相同的 RNG 源。

node.bcrypt.js
明天可能会决定改用连续的 UUID 作为盐源,而不是操作系统提供的安全 RNG。如果您的系统依赖其内部 RNG 来保证安全,您会突然发现自己陷入了一个受伤的世界。

如果需要随机性,需要自己保证。

© www.soinside.com 2019 - 2024. All rights reserved.