2 ms·
git-encrypt uses AES in ECB mode. You're right that it's not as bad as reusing a one time pad, but it's still insecure. The pictures here speak volumes: https
by agwa 14y ago
git-encrypt uses AES in ECB mode. You're right that it's not as bad as reusing a one time pad, but it's still insecure. The pictures here speak volumes: https://en.wikipedia.org/wiki/Block_cipher_modes_of_operation#Electronic_codebook_.28ECB.29 https://en.wikipedia.org/wiki/Block_cipher_modes_of_operatio...
It might not be crippling in most git-related use cases, but as a user you should not need to worry about your cryptosystem potentially leaking information. My project, git-crypt[1], is similar to git-encrypt but uses AES in CTR mode with a synthetic IV, which leaks only whether two entire files are identical. This is the bare minimum you need to leak to make git diffs work, and there's also a security definition called "deterministic CPA security" which CTR with a synthetic IV provably meets.
[1] http://www.agwa.name/projects/git-crypt/ http://www.agwa.name/projects/git-crypt/