2

我需要“分层”加密方案,其中有可以从 MK 派生的主密钥 (MK) 和派生密钥 (DK)。IE。

  • MK => DK1
  • MK => DK2
  • MK => DK3。

陌生人可以使用 DK1、DK2 或 DK3 加密某些消息,而这些消息可以使用 DK1、DK2 或(和?)DK3 解密。此外,我希望使用 MK 解密这些消息。可能吗?它可靠吗?我的头在云端吗?

问候,M。

4

1 回答 1

1

部分解决方案。您拥有主密钥 MK 并对其保密。使用该主密钥作为密钥派生函数 (KDF) 的输入的一部分:

KDF(MK, "DK1") => DK1
KDF(MK, "DK2") => DK2
etc.

这将允许您根据需要生成尽可能多的衍生密钥,每个衍生密钥都有不同的输入。

您可以在不告诉他们 MK 的情况下将 DK 传递给其他人。他们可以使用自己的 DK 进行加密和解密。您可以随时重新创建他们的 DK,因为您拥有 MK 并且知道您使用的其他信息是什么。

您将无法使用 MK 直接解密他们的消息,但您将只有一个密钥要存储,而不是很多。您可以在使用后安全地删除每个 DK,因为您可以随时重新创建它。

于 2013-06-15T14:34:04.470 回答