From c74cd50c0ebeb60e7d7b58496b41d864ec53bd64 Mon Sep 17 00:00:00 2001
From: Jakob Unterwurzacher
Date: Mon, 4 Jan 2016 12:33:58 +0100
Subject: Add Disk Space Efficiency section
---
docs/comparison.md | 93 ++++++++++++++++++++++--------------------------------
1 file changed, 38 insertions(+), 55 deletions(-)
(limited to 'docs/comparison.md')
diff --git a/docs/comparison.md b/docs/comparison.md
index be065f5..2a4eeb7 100644
--- a/docs/comparison.md
+++ b/docs/comparison.md
@@ -15,54 +15,23 @@ If you spot an error or want to see a project added, please
Overview
--------
-
-
-
- |
- gocryptfs |
- encfs |
- ecryptfs |
- cryptomator |
-
-
-
-
- First release |
- 2015 |
- 2003 |
- 2006 |
- 2014 |
-
-
- Language |
- Go |
- C++ |
- C |
- Java |
-
-
- License |
- MIT |
- LGPL/GPL |
- GPL |
- Apache/BSD/MIT |
-
-
- File interface |
- FUSE |
- FUSE |
- in-kernel filesystem |
- WebDAV |
-
-
- Platform support |
- Linux (help wanted for Mac OS X port) |
- Linux, Mac OS X |
- Linux only |
- Linux, Mac OS X, Windows |
-
-
-
+| | gocryptfs | encfs | ecryptfs | cryptomator |
+| -------------- | ----------------------- | ------------------------------------ | --------------------------- | ------------------- |
+| First release | 2015 [1] | 2003 [2] | 2006 [3] | 2014 [4] |
+| Language | Go | C++ | C | Java |
+| License | MIT | LGPL/GPL [5] | GPL | Apache/BSD/MIT [6] |
+| File interface | FUSE | FUSE | in-kernel filesystem | WebDAV |
+| Platforms | Linux (OSX planned [7]) | Linux, OSX; third-party Windows port | Linux only | Linux, OSX, Windows |
+| User interface | Command line only | Command line; third-party graphical | Integrated in login process | Graphical only |
+
+References:
+[[1]](https://github.com/rfjakob/gocryptfs/releases/tag/v0.1)
+[[2]](https://github.com/vgough/encfs/blob/master/ChangeLog#L1442)
+[[3]](https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=237fead619984cc48818fe12ee0ceada3f55b012)
+[[4]](https://github.com/cryptomator/cryptomator/releases/tag/v0.1.0)
+[[5]](https://github.com/vgough/encfs/blob/master/COPYING)
+[[6]](https://github.com/cryptomator/cryptomator/tree/master/LICENSES)
+[[7]](https://github.com/rfjakob/gocryptfs/issues/15)
General Security
@@ -78,7 +47,7 @@ References:
[[1]](security.md)
[[2]](https://github.com/vgough/encfs/blob/master/DESIGN.md)
[[3]](https://cryptomator.org/#security)
-[[4]](http://ecryptfs.org/documentation.html) actually, there is a lot of documentation, but none of
+[[4]](http://ecryptfs.org/documentation.html) actually, there is a lot of ecryptfs documentation, but none of
it seems to describe the used crypto.
@@ -86,10 +55,10 @@ it seems to describe the used crypto.
File Contents
-------------
-| | gocryptfs | encfs default | encfs paranoia | ecryptfs | cryptomator |
-| ---------- | --------- | ------------------------- | ------------------------- | -------- | ------------------ |
-| Encryption | GCM | CBC, CFB (last block [1]) | CBC, CFB (last block [1]) | CBC | CTR with random IV |
-| Integrity | GCM | none | HMAC | none | HMAC |
+| | gocryptfs | encfs default | encfs paranoia | ecryptfs | cryptomator |
+| ---------- | --------- | --------------------------- | --------------------------- | -------- | ------------------ |
+| Encryption | GCM | CBC; CFB for last block [1] | CBC; CFB for last block [1] | CBC | CTR with random IV |
+| Integrity | GCM | none | HMAC | none | HMAC |
References:
[[1]](https://github.com/vgough/encfs/issues/9)
@@ -102,9 +71,23 @@ File Names
| Encryption | EME | CBC | CBC | CBC | SIV |
| Prefix leak | no (EME) | no (HMAC used as IV) | no (HMAC used as IV) | yes [2] | no (SIV) |
| Identical names leak | no (per-directory IV) | no (path chaining) | no (path chaining) | yes [1] | yes [3] |
-| | | | | | |
References:
[[1]](https://gist.github.com/rfjakob/a04364c55b3ee231078d)
[[2]](https://gist.github.com/rfjakob/61a17bf3c7eb9932d791)
-[[3]](https://github.com/cryptomator/cryptomator/issues/128)
\ No newline at end of file
+[[3]](https://github.com/cryptomator/cryptomator/issues/128)
+
+Disk Space Efficiency
+---------------------
+
+(all file sizes in bytes)
+
+| | gocryptfs | encfs default | encfs paranoia | ecryptfs | cryptomator |
+| ----------------- | --------- | ------------- | -------------- | -------- | ------------------ |
+| Empty file | 0 | 0 | 0 | 8192 | ~104 - 4231 |
+| 1 byte file | 51 | 9 | 17 | 12288 | ~104 - 4231 |
+| 1000000 byte file | 1007858 | 1000008 | 1007888 | 1011712 | ~1001161 - 1100936 |
+| | | | | | |
+
+Note: cryptomator obfuscates the real file size by adding a random padding which
+is why the resulting size is non-deterministic.
\ No newline at end of file
--
cgit v1.2.3