You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
![]() |
8 years ago | |
---|---|---|
cryptfs | 8 years ago | |
frontend | 8 years ago | |
openssl_benchmark | 8 years ago | |
.gitignore | 8 years ago | |
README.md | 8 years ago | |
main.go | 8 years ago | |
main_benchmark.bash | 8 years ago | |
main_test.go | 8 years ago |
README.md
GoCryptFS
A minimal encrypted overlay filesystem written in Go.
Built on top of the native Go FUSE library bazil.org/fuse and the ClueFS loopback file system.
Inspired by 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
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