3

修订控制 PGP 加密文本文件的好方法是什么?

目标是

  • 仅在本地存储库(工作副本)和远程存储库(逻辑上的“中央”存储库)中的任何地方存储 PGP 加密(最好使用 ASCII 装甲)文本文件。

  • 在将存储修订历史的存储库中保护由 PGP 加密(例如使用 GnuPG)启用的隐私

  • 尽可能减少存储开销

如果只是对 PGP 加密和 ASCII 装甲文本文件进行修订控制,因为每次解密以进行编辑然后在存储并提交到修订控制存储库之前对其进行加密时,其整个内容都会发生变化,差异将大致与文件成比例大小,即使解密文本的变化很小,也会快速增长。

4

3 回答 3

5

您似乎正在订购一个方形圆圈。加密的一个重要目标是避免明文和密文的微小变化之间的任何关联。因此,如果您要求可怜的 VCS 处理加密文件,您可以告别合理的空间消耗或任何增量。

我不清楚您是要加密所有文件还是只加密一些文件。如果是前者,在我看来,您需要寻找一个在进出存储的途中加密的 VCS。

如果我有这个问题,我会很想分叉 git 并尝试将它与 gpg 结合。

于 2011-06-11T21:10:47.473 回答
2

我在想您也许可以进行一些加密计算,即您可以以计算机可以在不知道其价值的情况下对其进行某些计算的方式加密数据。但是,我认为差异是不可能的。无论您要采取何种解决方案,每次进行差异时都需要实际询问您的密码,然后解密文件并重新加密差异。

嗯......再搜索一下,看起来你想要的是http://en.wikipedia.org/wiki/Homomorphic_encryption,它同态地保留了“差异”操作(尽管你的限制有点放松,因为你的输出域可以不同于您的输入)。

于 2011-06-11T21:13:13.900 回答
0

您可以加密 PGP 文件以进行共享访问吗?我认为你不能 PGP 只允许一个知道密钥的人访问数据。版本控制系统用于共享访问,因此这是有问题的。

另一个问题是大多数版本控制系统计算和存储增量,无论如何他们都需要知道文件的纯文本表示。

如果他们这样做,没有什么能阻止您安全访问底层存储。例如,将数据存储在加密文件系统中。它不会被PGP加密,但会被加密。

无论如何,您尝试实现的 PGP 加密的目标是什么?也许除了 PGP 之外还有其他方法可以实现这个目标?

我不知道任何支持 PGP 甚至非对称加密的版本控制系统的实现。我怀疑它存在/实用。

再次,这一切都归结为问题“为了什么”。你能解释一下你试图通过使用 PGP 来实现修订控制系统的最终目标是什么?

于 2011-06-11T21:13:26.567 回答