修订控制PGP加密文本文件的好方法是什么?
目标是
仅在本地存储库(工作副本)和远程存储库(“中央”存储库,逻辑上)存储任何位置的PGP加密(最好使用ASCII装甲)文本文件。
通过PGP加密(例如使用GnuPG)在存储修订历史记录的存储库中保护隐私
尽可能减少存储开销
如果只是一个版本控制PGP加密和ASCII装甲文本文件,因为它的整个内容将在每次解密编辑后更改,然后在存储并提交到版本控制存储库之前进行加密,差异将大致成比例到文件大小,即使解密文本的变化很小,也会快速增长。
答案 0 :(得分:5)
您好像订购了一个方形圆圈。加密的一个重要目标是避免明文和密文中的小变化之间的任何相关性。因此,如果您要求可怜的VCS处理加密文件,您可以告别合理的空间消耗或任何增量。
我不清楚您是否希望加密所有文件或仅加密一些文件。如果是前者,在我看来,你需要去寻找在往返存储途中加密的VCS。
如果我遇到这个问题,我会很想分叉git并尝试将它与gpg结合。
答案 1 :(得分:2)
我在想你也许可以做一些加密计算,也就是说你可以用一种计算机可以在不知道其价值的情况下对它进行某些计算的方式来加密数据。但是,我不认为这是可能的差异。无论你要做什么解决方案,每次需要差异时都需要实际问密码,并解密文件并重新加密差异。
嗯...再搜索一下,它看起来像你想要的是http://en.wikipedia.org/wiki/Homomorphic_encryption同形保留“差异”操作(虽然你的限制有些放松,因为你的输出域可能不同于你的意见。
答案 2 :(得分:0)
您可以加密PGP文件以进行共享访问吗?我认为你不能让PGP只允许一个知道密钥的人访问数据。版本控制系统用于共享访问,因此这是有问题的。
另一个问题是大多数修订控制系统计算和存储增量,他们无论如何都需要知道文件的纯文本表示。
如果他们这样做,没有什么可以阻止您安全访问底层商店。例如,在加密文件系统中存储数据。它不会被 PGP 加密,但会被加密。
无论如何,您试图实现的PGP加密的目标是什么?也许除了PGP还有其他方法可以实现这个目标吗?
我不知道任何支持PGP或甚至非对称加密的修订控制系统的实现。我怀疑它是否存在/实用。
这一切都归结为'为什么'的问题。你能解释一下你试图通过使用PGP修订控制系统实现的最终目标吗?