Age | Commit message (Collapse) | Author |
|
AEGIS is a new family of authenticated encryption algorithms that offers
stronger security, higher usage limits, and better performance than AES-GCM.
This pull request adds support for a new `-aegis` command-line flag, allowing
AEGIS-128X2 to be used as an alternative to AES-GCM on CPUs with AES acceleration.
It also introduces the ability to use ciphers with different key sizes.
More information on AEGIS is available here:
- https://cfrg.github.io/draft-irtf-cfrg-aegis-aead/draft-irtf-cfrg-aegis-aead.html
- https://github.com/cfrg/draft-irtf-cfrg-aegis-aead
gocryptfs -speed speed on Apple M1:
AES-GCM-256-OpenSSL 3718.79 MB/s
AES-GCM-256-Go 5083.43 MB/s (selected in auto mode)
AES-SIV-512-Go 625.20 MB/s
XChaCha20-Poly1305-OpenSSL 1358.63 MB/s (selected in auto mode)
XChaCha20-Poly1305-Go 832.11 MB/s
Aegis128X2-Go 11818.73 MB/s
gocryptfs -speed speed on AMD Zen 4:
AES-GCM-256-OpenSSL 5215.86 MB/s
AES-GCM-256-Go 6918.01 MB/s (selected in auto mode)
AES-SIV-512-Go 449.61 MB/s
XChaCha20-Poly1305-OpenSSL 2643.48 MB/s
XChaCha20-Poly1305-Go 3727.46 MB/s (selected in auto mode)
Aegis128X2-Go 28109.92 MB/s
|
|
This is in preparation of adding directmount capability.
It also check that FsName is set correctly, which is
in preparation for the next patch.
|
|
Otherwise we fail like this on my Fedora 38 box:
=== RUN TestOverlay
DetectQuirks: tmpfs detected, no extended attributes except acls will work.
root_test.go:379: No user xattrs! overlay mount will likely fail.
15:15:57.957960 Unimplemented opcode OPCODE-51
root_test.go:398: mount: /tmp/gocryptfs-test-parent-0/3652394902/TestOverlay.2374697046.mnt/merged: wrong fs type, bad option, bad superblock on overlay, missing codepage or helper program, or other error.
dmesg(1) may have more information after failed mount system call.
root_test.go:399: exit status 32
--- FAIL: TestOverlay (0.04s)
FAIL
Also fix the messed-up DetectQuirks bit test.
|
|
|
|
|
|
|
|
"make ci" almost made me lose the new quirks files.
Let's not do that anymore.
|
|
This makes "go build" automatically use the vendor
directory, if present.
See https://golang.org/doc/modules/gomod-ref#go for details.
Up to now, we ignored the vendor dir completely!
Fixes https://github.com/rfjakob/gocryptfs/issues/581
|
|
Add Github Actions and delete defunct Travis CI.
|
|
|
|
|
|
First test is a reproducer for
https://github.com/rfjakob/gocryptfs/issues/394 "Group permissions: No write access"
|
|
|
|
|
|
We are going to use the Makefile to save useful commands
without creating too many shell scripts in the top dir.
|