Skip to content

Commit

Permalink
fix link and header formatting; re-wrap text
Browse files Browse the repository at this point in the history
  • Loading branch information
alerque authored and AGWA committed Jun 3, 2014
1 parent 29e589d commit 79263fc
Show file tree
Hide file tree
Showing 3 changed files with 47 additions and 47 deletions.
20 changes: 11 additions & 9 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,23 @@ The Makefile is tailored for g++, but should work with other compilers.
make
cp git-crypt /usr/local/bin/

It doesn't matter where you install the git-crypt binary - choose wherever
is most convenient for you.
It doesn't matter where you install the git-crypt binary - choose
wherever is most convenient for you.


BUILDING A DEBIAN PACKAGE
Building A Debian Package
-------------------------

Debian packaging can be found in the 'debian' branch of the project
Git repository. The package is built using git-buildpackage as follows:
Debian packaging can be found in the 'debian' branch of the project Git
repository. The package is built using git-buildpackage as follows:

$ git checkout debian
$ git-buildpackage -uc -us
git checkout debian
git-buildpackage -uc -us


INSTALLING ON MAC OS X
Installing On Mac OS X
----------------------

Using the brew package manager, simply run:

$ brew install git-crypt
brew install git-crypt
8 changes: 4 additions & 4 deletions NEWS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ News

######v0.3 (2013-04-05)
* Fix 'git-crypt init' on newer versions of Git. Previously,
encrypted files were not being automatically decrypted after
running 'git-crypt init' with recent versions of Git.
encrypted files were not being automatically decrypted after running
'git-crypt init' with recent versions of Git.
* Allow 'git-crypt init' to be run even if the working tree contains
untracked files.
* 'git-crypt init' now properly escapes arguments to the filter
Expand All @@ -13,8 +13,8 @@ News

######v0.2 (2013-01-25)
* Numerous improvements to 'git-crypt init' usability.
* Fix gitattributes example in [README](README.md): the old example showed a colon
after the filename where there shouldn't be one.
* Fix gitattributes example in [README](README.md): the old example
showed a colon after the filename where there shouldn't be one.
* Various build fixes and improvements.

######v0.1 (2012-11-29)
Expand Down
66 changes: 32 additions & 34 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,8 @@ you store your secret material (such as keys or passwords) in the same
repository as your code, without requiring you to lock down your entire
repository.

git-crypt was written by Andrew Ayer <agwa at andrewayer dot name>.
For more information, see <http://www.agwa.name/projects/git-crypt>.

git-crypt was written by Andrew Ayer <agwa at andrewayer dot name>. For
more information, see <http://www.agwa.name/projects/git-crypt>.

Building git-crypt
------------------
Expand Down Expand Up @@ -50,22 +49,21 @@ Cloning a repository with encrypted files:
That's all you need to do - after running `git-crypt init`, you can use
git normally - encryption and decryption happen transparently.


Current Status
--------------

The latest version of git-crypt is [0.3](NEWS.md), released on 2013-04-05.
git-crypt aims to be bug-free and reliable, meaning it shouldn't
crash, malfunction, or expose your confidential data. However,
it has not yet reached maturity, meaning it is not as documented,
featureful, or easy-to-use as it should be. Additionally, there may be
backwards-incompatible changes introduced before version 1.0.
The latest version of git-crypt is [0.3](NEWS.md), released on
2013-04-05. git-crypt aims to be bug-free and reliable, meaning it
shouldn't crash, malfunction, or expose your confidential data.
However, it has not yet reached maturity, meaning it is not as
documented, featureful, or easy-to-use as it should be. Additionally,
there may be backwards-incompatible changes introduced before version
1.0.

Development on git-crypt is currently focused on improving the user
experience, especially around setting up repositories. There are also
plans to add additional key management schemes, such as passphrase-derived
keys and keys encrypted with PGP.

plans to add additional key management schemes, such as
passphrase-derived keys and keys encrypted with PGP.

Security
--------
Expand All @@ -77,40 +75,40 @@ secure under deterministic chosen-plaintext attack. That means that
although the encryption is deterministic (which is required so git can
distinguish when a file has and hasn't changed), it leaks no information
beyond whether two files are identical or not. Other proposals for
transparent git encryption use ECB or CBC with a fixed IV. These systems
are not semantically secure and leak information.
transparent git encryption use ECB or CBC with a fixed IV. These
systems are not semantically secure and leak information.

The AES key is stored unencrypted on disk. The user is responsible for
protecting it and ensuring it's safely distributed only to authorized
people. A future version of git-crypt may support encrypting the key
with a passphrase.


Limitations
-----------

git-crypt is not designed to encrypt an entire repository. Not only does
that defeat the aim of git-crypt, which is the ability to selectively
encrypt files and share the repository with less-trusted developers, there
are probably better, more efficient ways to encrypt an entire repository,
such as by storing it on an encrypted filesystem. Also note that
git-crypt is somewhat of an abuse of git's smudge, clean, and textconv
features. Junio Hamano, git's maintainer, has said not to do this
<http://thread.gmane.org/gmane.comp.version-control.git/113124/focus=113221>,
though his main objection ("making a pair of similar 'smudged' contents
totally dissimilar in their 'clean' counterparts.") does not apply here
since git-crypt uses deterministic encryption.
git-crypt is not designed to encrypt an entire repository. Not only
does that defeat the aim of git-crypt, which is the ability to
selectively encrypt files and share the repository with less-trusted
developers, there are probably better, more efficient ways to encrypt an
entire repository, such as by storing it on an encrypted filesystem.
Also note that git-crypt is somewhat of an abuse of git's smudge, clean,
and textconv features. Junio Hamano, git's maintainer, has [said not to
do this][1], though his main objection ("making a pair of similar
'smudged' contents totally dissimilar in their 'clean' counterparts.")
does not apply here since git-crypt uses deterministic encryption.

git-crypt does not itself provide any authentication. It assumes that
either the master copy of your repository is stored securely, or that
you are using git's existing facilities to ensure integrity (signed tags,
remembering commit hashes, etc.).
you are using git's existing facilities to ensure integrity (signed
tags, remembering commit hashes, etc.).

Mailing Lists
-------------

MAILING LISTS
To stay abreast of, and provide input to, git-crypt development,
consider subscribing to one or both of our mailing lists:

To stay abreast of, and provide input to, git-crypt development, consider
subscribing to one or both of our mailing lists:
* [Announcements](http://lists.cloudmutt.com/mailman/listinfo/git-crypt-announce)
* [Discussion](http://lists.cloudmutt.com/mailman/listinfo/git-crypt-discuss)

Announcements: http://lists.cloudmutt.com/mailman/listinfo/git-crypt-announce
Discussion: http://lists.cloudmutt.com/mailman/listinfo/git-crypt-discuss
[1]: http://thread.gmane.org/gmane.comp.version-control.git/113124/focus=113221

0 comments on commit 79263fc

Please sign in to comment.