【问题标题】:Encrypting asymmetrically only a part of a large file仅对大文件的一部分进行非对称加密
【发布时间】:2018-10-03 15:50:49
【问题描述】:

我想在可公开访问的服务、amazon、bittorrent、ipfs 等上存储一个大文件。 我希望这个文件被加密。 我知道通常的做法是用复杂的密码对称地加密文件,然后用收件人公钥加密密码,但是我有一个用例,我需要将密钥传递给每个收件人,所以当密码泄露给公众时,我知道谁做的。

所以我想到的是用 AES CBC 加密整个文件,然后将其拆分为多个块并仅对第一个块进行非对称加密。

这个想法有什么逻辑错误吗?第一个块的最小大小应该是多少(以字节或整个文件的百分比为单位),因此可以肯定地说,如果不解密第一个块,就无法解密剩余的块。

编辑

感谢您的回答 我将详细说明用例。

我打算让用户使用我的平台将文件放在(出售)分散存储上(我无法控制节点 - 假设它是全局 ipfs)。为了符合法规文件必须被加密,我必须有办法阻止对它的访问。 因为如前所述,我无法从所有节点中删除文件,我想对文件进行非对称加密,但这需要为每个收件人准备一份单独的副本,并且会花费很多时间。

这就是我想出只加密文件的一部分的想法,而且这将由重新加密代理完成,因此卖家只需要准备重新加密密钥和过多的数据量在网络上将是最少的(每个买家只有一个分片)。

当当局找到我说我在分享非法内容时,我可以告诉他们该文件已加密,并且下载该文件的唯一人是这些公钥所有者。

【问题讨论】:

  • 研究数字水印。您的问题不是加密应用程序。

标签: encryption cryptography aes public-key-encryption


【解决方案1】:

显然有些事情被误解了

有一个用例,我需要将密钥传递给每个收件人,这样当密码泄露给公众时,我知道是谁做的。

让我们假设文件是​​使用单个对称加密密钥(ypur 情况下的密码)加密的。您可以使用收件人的个人公钥对密码进行加密,但是一旦密码被泄露,您就无法查明是谁泄露/发布了它。

将其拆分为多个块并仅对第一个块进行非对称加密

这没有任何意义/理由(至少我没有找到任何理由可以帮助您实现所述用例)

注意:使用混合加密的原因是非对称加密 (RSA) 可以仅加密有限数量的数据(例如对称加密密钥)

【讨论】:

    【解决方案2】:

    您的问题无法通过经典密码学解决

    当我们查看您的问题时,您可能会认为您的用例在密码学中很常见:机密性,但事实并非如此

    加密上下文中的机密性意味着:帮助 n 方保守秘密

    这意味着,所有最初的 n 方都有保守这个秘密的共同利益......

    在你的情况下,你怀疑至少有一方不分享这种兴趣......这是经典加密尝试无法解决你的问题的地方......

    付费电视公司以艰难的方式了解到这一点......他们的解决方案似乎是更换内容密钥的速度比一组 rouge 演员共享实时解密所需的密钥更快,并通过加密来管理对内容密钥的访问组密钥,它们在所有合法客户端上进行分区和分发...仅适用于大型动态内容流,而不适用于静态文件...

    您的用例听起来更像是数字水印和指纹识别

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-10-17
      • 1970-01-01
      • 2019-07-29
      • 2011-04-05
      • 1970-01-01
      • 1970-01-01
      • 2010-10-30
      相关资源
      最近更新 更多