aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/comparison.md93
1 files changed, 38 insertions, 55 deletions
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
--------
-<table>
- <thead>
- <tr>
- <td></td>
- <td>gocryptfs</td>
- <td>encfs</td>
- <td>ecryptfs</td>
- <td>cryptomator</td>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>First release</td>
- <td><a href="https://github.com/rfjakob/gocryptfs/releases/tag/v0.1">2015</a></td>
- <td><a href="https://github.com/vgough/encfs/blob/master/ChangeLog#L1442">2003</a></td>
- <td><a href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=237fead619984cc48818fe12ee0ceada3f55b012">2006</a></td>
- <td><a href="https://github.com/cryptomator/cryptomator/releases/tag/v0.1.0">2014</a></td>
- </tr>
- <tr>
- <td>Language</td>
- <td>Go</td>
- <td>C++</td>
- <td>C</td>
- <td>Java</td>
- </tr>
- <tr>
- <td>License</td>
- <td>MIT</td>
- <td><a href="https://github.com/vgough/encfs/blob/master/COPYING">LGPL/GPL</a></td>
- <td>GPL</td>
- <td><a href="https://github.com/cryptomator/cryptomator/tree/master/LICENSES">Apache/BSD/MIT</a></td>
- </tr>
- <tr>
- <td>File interface</td>
- <td>FUSE</td>
- <td>FUSE</td>
- <td>in-kernel filesystem</td>
- <td>WebDAV</td>
- </tr>
- <tr>
- <td>Platform support</td>
- <td>Linux (help wanted for Mac OS X port)</td>
- <td>Linux, Mac OS X</td>
- <td>Linux only</td>
- <td>Linux, Mac OS X, Windows</td>
- </tr>
- </tbody>
-</table>
+| | 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