将 RSA 私钥安全地分成两部分

信息安全 密钥管理 RSA
2021-08-16 03:19:54

假设我有一个 RSA 密钥对:N、E、D,其中 N、E 是公共部分,D 是私有部分。

我想将私人部分分成两部分, D 1和 D 2,并将它们存储在两个不同的地方。如果我只选择 D 1作为随机字符串(与 D 长度相同)并且 D 2计算为 D XOR D 1是否安全?

2个回答

我想将私人部分分成两部分, D 1和 D 2,并将它们存储在两个不同的地方。如果我只选择 D 1作为随机字符串(与 D 长度相同)并且 D 2计算为 D XOR D 1是否安全?

是的。这被称为一次性垫,这是推荐的方法。获得原始秘密的唯一方法是同时获得D 1D 2

确保使用加密安全随机数生成器,例如/dev/urandom.

规则是:

不要推出自己的加密货币

另外,您没有定义什么是“安全”的吗?有什么威胁等。通常,密钥在您的磁盘上被加密(嵌入在证书中,或放入密钥库中),因此您无法在没有密码的情况下访问它。做你所做的事情不会增加任何安全层,因为 XOR 不是加密信息以保持机密性的可靠方法。