数据加密算法,只对数据解密一次,但需要不同的密钥才能再次解密

Data encryption algorithm which decrypts the data only once but need a different key to decrypt it again

是否已经有任何加密算法,其中加密的 data/file 只能用密钥解密一次,但它应该重新加密文件以便再次解密同一个文件需要不同的密钥.

没有算法可以做到这一点。

您自己的工具可以做到这一点,但是...

任何有能力的攻击者都会

  • 复制数据

  • 使用副本

  • 更喜欢使用自己的工具,而不是你提供的任何东西

如果他们使用您的工具,而您自己的代码确实可以重新加密数据,那么他们只需复制原始文件即可。

如果他们使用自己的工具,那么他们一开始就不会重新加密数据。

好吧,这本身并不是一种算法 -- 一旦您拥有密钥,数据就会被解密。但是有 技术 可以做到这一点,它们通常以下列之一为中心:

  • 软件混淆(可以Google关键词"software protection"),或者
  • 硬件攻击对策(例如查找"Trusted Execution Environment"),或
  • 两者同时进行。

例如,当您在连接到 HDMI 电视的 PC 上观看 Netflix 电影时,会发生很多情况:在非常简单的层面上,会发生的情况是电影使用特定的 DRM 密钥 K1 加密,它在 PC 上用 K1 解密,然后在输出到电视时立即用新的 HDCP 密钥 K2 重新加密(然后电视将用相同的 HDCP 密钥 K2 对其解密)。 Miracast 和其他类似协议也是如此。