有没有办法使用 CryptoAPI 创建私钥并为其提供种子?

发布于 2024-07-08 13:00:03 字数 212 浏览 11 评论 0原文

我们需要创建一个以 2 个明文密钥为种子的私钥。 2 个明文密钥由不同的管理者维护。 这是为了满足我们的双控关键要求。 我们可以将两个密钥组合成一个种子。 然而,通过阅读 Microsoft CryptoAPI 文档,所有密钥生成都是完全随机的,无法提供种子。 这是真的? 如果是,您能否建议创建此密钥的替代解决方案?

注意:密钥将存储在密钥容器中并标记为不可导出。

We have a need to create a private key that is seeded from 2 plaintext keys. The 2 plaintext keys are maintained by different managers. This is to satisfy a dual-control key requirements that we have. We can combine the two keys into a single seed. However, from reading the Microsoft CryptoAPI documentation, all key generation are completely random with no way to provide a seed. Is this true? If yes, can you suggest an alternative solution to creating this key?

Note: The key will be stored in the key container and marked as non-exportable.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

生生漫 2024-07-15 13:00:03

为什么不反过来做呢? 生成一个私钥,然后将其分成两个密钥共享,每个经理只有一个。 对于简单的二取二方案,您所需要做的就是生成一个与密钥大小相同的随机(真正随机,而不是伪随机)数据块,将其与生成的密钥进行异或,然后给一个管理器随机数据,另一个管理者加密密钥。

然后,当您需要使用密钥时,两位经理都会提供他们的数据,您可以从中重建数据,完成后将其删除。

Why not do it the other way around? Generate a private key, then split that into two key shares, with each manager only having one. For a simple 2-out-of-2 scheme, all you need to do is generate a block of random (really random, not pseudo-random) data the size of the key, xor it with the generated key, and give one manager the random data, and the other manager the encrypted key.

Then, when you need to use the key, both managers provide their data and you reconstruct it from that, deleting it when you're done.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文