| 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 |