【问题标题】:Wraping 3DES key with itself用自身包装 3DES 密钥
【发布时间】:2014-01-02 14:34:08
【问题描述】:

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

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

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

此方法使用Key1 包装Key1,我们称之为wrap1。 在下一步中,它使用Key1 包装wrap1,我们称之为wrap2wrap2 存储在介质中,Key1wrap1 丢失。

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

请注意,我无权访问使用此密钥的程序部分以查看其使用方式。

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

【问题讨论】:

    标签: encryption 3des


    【解决方案1】:

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

    当然,没有密钥(也无法猜到)的人无法解密封装的密钥。这就是密钥包装的工作原理。所以,不,只给wrap1 或只给wrap2,你不能推断出key1 的值。

    【讨论】:

    • 这正是我的想法,我需要确认我没有错。软件太旧,可能是开发者对加密密钥没有正确理解。我在想的是他生成了一个完全随机的密钥,他们使用包装的密钥作为密钥本身。在收到申请的其他部分之前,我无法确认这一点。有趣的是,这款软件运行了 15 年,没有人抱怨安全漏洞!
    猜你喜欢
    • 2018-11-18
    • 2013-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多