I was thinking that you could perhaps do some encrypted computation, i.e. You can encrypt the data in a way that the computer can do certain computations with it without knowing its value. However, I don't think that would be possible with a diff.
Whatever solution you're going to do needs to actually ask you for the password every time it takes a diff, and decrypt the file and re-encrypt the diff Hmmm...searching some more, it's looking like what you'd want is en.wikipedia.org/wiki/Homomorphic_encryp... which is homomorphically preserving the "diff" operation (although your restriction is somewhat relaxed, as your output domain can be different than your input).
I was thinking that you could perhaps do some encrypted computation, i.e. You can encrypt the data in a way that the computer can do certain computations with it without knowing its value. However, I don't think that would be possible with a diff.
Whatever solution you're going to do needs to actually ask you for the password every time it takes a diff, and decrypt the file and re-encrypt the diff. Hmmm...searching some more, it's looking like what you'd want is en.wikipedia.org/wiki/Homomorphic_encryp... which is homomorphically preserving the "diff" operation (although your restriction is somewhat relaxed, as your output domain can be different than your input).
You seem to be ordering up a square circle. An important goal of encryption is to avoid any correlation between small changes in plaintext and ciphertext. So, if you ask the poor VCS to deal with encrypted files, you can say goodbye to reasonable space consumption or any deltas.It's not clear to me if you are looking to encrypt all of your files or just a few.
If the former, it seems to me that you need to go hunting a VCS that encrypts on the way to and from storage. If I had this problem, I would be tempted to fork git and experiment with marrying it to gpg.
2 +1. The whole point of encryption is to make the output indistinguishable from random data. You cannot compress (or diff) random data.
If this were possible, it would constitute a major break of PGP... – Nemo Jun 11 at 21:15 "If the former, it seems to me that you need to go hunting a VCS that encrypts on the way to and from storage. " If I were writing a VCS I wouldn't implement this as part of VCS, instead I wou,d make sure that the VCS can store data in a store that supports encryption. For example NTFS file system (if it's windows) – zespri Jun 11 at 21:16 1 @zespri I could see some argument for a VCS that offered end-to-end encryption out to the client, but I could also see an argument for having it depend on some pre-existing strong disk encryption.
– bmargulies Jun 11 at 21:19 fair enough. – zespri Jun 11 at 21:20.
I think you can't PGP only allows one person who knows the secret key to access the data. Version control systems are used for shared access so this is problematic. Another issue is most revision control systems compute and store deltas, and they need to know the plain text representation of the files anyway.
If they do, nothing prevents you secure access to the underlying store. For example store data in the encrypted file system.It won't be PGP encrypted but it will be encrypted. Anyway, what is the goal of that PGP encryption you are trying to achieve?
Maybe there are other ways than PGP to achieve this goal? I'm not aware of any implementation of revision control system that supported PGP or even asymmetric cryptography in general. I doubt that it exists / practical.
Again this all comes down to question 'what for'. Can you explain what is the end goal you are trying to achieve by using PGP fo revision control system?
The reason is simply that some of users' plaintext files need to be revision controlled for keeping track of history of content as well as encrypted for privacy. – Meng Lu Jun 13 at 3:13 In this case I would go with securing access to the SCM itself. – zespri Jun 13 at 3:25.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.