将 3DES 密钥与自身包装在一起



我有一个连我自己都觉得奇怪的问题。

我正在将大约 15 年前编写的程序翻译成 C#。该程序的一部分是密钥生成并将其存储在文件介质中。

这是我关注的部分。此特定方法从主 3DES 密钥生成 3DES 派生密钥,我们称之为 Key1 .

此方法使用Key1来包装我们称之为wrap1 Key1 。在下一步中,它使用Key1来包装我们称之为wrap2 wrap1wrap2储存在培养基和Key1中,wrap1丢失。

据我了解,包装好的密钥在用于加密和解密之前应该解开包装;但是,我不确定我们是否可以在没有用于包装它的密钥的情况下解开密钥。

请注意,我无法访问使用此密钥的程序部分来查看它的使用方式。

问题是否可以检索以这种方式包装的密钥?

为什么? 用自身包装密钥是没有意义的。 这就像购买脱水水:只需加水即可重建。 你需要密钥key1来解密wrap1 - 然后你会得到什么? 你回来key1,这是你已经拥有的。

当然,没有密钥(并且无法猜测)的人无法解密包装的密钥。 这就是密钥包装的工作原理。 所以,不,只给定wrap1或仅wrap2,您无法推断出key1的值。

最新更新