diff options
author | Jakob Unterwurzacher | 2015-09-06 12:12:14 +0200 |
---|---|---|
committer | Jakob Unterwurzacher | 2015-09-06 12:12:14 +0200 |
commit | f2e2b813611a57192960e87df90ceed73d8e47d9 (patch) | |
tree | 7941a67ce030a63e12b08a825cb4908ebf6a1a91 /README.md | |
parent | 0a35d0970e86efbc5ed494395de7b448d3e337d0 (diff) |
Add README.md
Also, run go fmt
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..a14c0bc --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +GoCryptFS +========= +A minimal encrypted overlay filesystem written in Go. + +Built on top of the +native Go FUSE library [bazil.org/fuse](https://github.com/bazil/fuse) +and the [ClueFS](https://github.com/airnandez/cluefs) loopback file system. + +Inspired by [EncFS](https://github.com/vgough/encfs). + +Design +------ +* Authenticated encryption of file contents using AES-GCM-128 + * 96 bit nonce that starts from a random value and counts up + * uses openssl through [spacemonkeygo/openssl](https://github.com/spacemonkeygo/openssl) + for a 3x speedup compared to `crypto/cipher` +* AES-CBC filename encryption + +Current Status +-------------- +* Work in progress +* Key is set to static all-zero +* Not ready for anything but testing and debugging + +Testing +------- +Run `./main_benchmark.bash` to run the test suite and the streaming read/write +benchmark. + +The output should look like this: + + $ ./main_benchmark.bash + + go build + + go test -bench=. + PASS + BenchmarkStreamWrite 100 14062281 ns/op 74.57 MB/s + BenchmarkStreamRead 100 11267741 ns/op 93.06 MB/s + ok github.com/rfjakob/gocryptfs 7.569s |