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
|
|
|
|
|
|
|
|
And run shellcheck in test.bash.
|
|
|
|
Make testing the performance of the new nodefs API easier
https://github.com/hanwen/go-fuse/pull/280
|
|
|
|
This was working until DecryptName switched to returning
EBADMSG instead of EINVAL.
Add a test to catch the regression next time.
|
|
Allows for quickly testing the streaming write throughput.
|
|
Mac OS X does not have fusermount and uses umount instead.
The fuse-unmount.bash calls the appropriate command.
|
|
|
|
|
|
|
|
|
|
"canonical-benchmarks.bash TESTDIR"
can now be used on any filesystem.
|
|
Pass "-encfs" to test encfs instead of gocryptfs.
|
|
The old benchmark is in benchmark-builtin.bash.
renamed: benchmarks-builtin.bash -> benchmark-builtin.bash
renamed: benchmarks-external.bash -> benchmark.bash
|
|
|
|
Also, use new "-defaultonly" flag for benchmarks
(only tests with openssl=true plaintextnames=false)
|
|
|
|
That way the wrapper shell script can be named just "gocryptfs"
|
|
main_test_tmp -> tmp
main_benchmark.bash -> benchmark.bash
|