diff options
| author | Jakob Unterwurzacher | 2017-02-22 23:55:43 +0100 | 
|---|---|---|
| committer | Jakob Unterwurzacher | 2017-02-22 23:56:34 +0100 | 
| commit | 1e03e059fa0980db8d527f1c01094999d8813b95 (patch) | |
| tree | 950f537f1fa58e9f0506a540b31d790030e69a1d /internal/stupidgcm | |
| parent | b056776a013813e251aa37027c3aaa3f1e22d7c8 (diff) | |
Implement "gocryptfs -speed"
A crypto benchmark mode like "openssl speed".
Example run:
  $ ./gocryptfs -speed
  AES-GCM-256-OpenSSL 	 180.89 MB/s	(selected in auto mode)
  AES-GCM-256-Go      	  48.19 MB/s
  AES-SIV-512-Go      	  37.40 MB/s
Diffstat (limited to 'internal/stupidgcm')
| -rw-r--r-- | internal/stupidgcm/stupidgcm_test.go | 58 | 
1 files changed, 0 insertions, 58 deletions
diff --git a/internal/stupidgcm/stupidgcm_test.go b/internal/stupidgcm/stupidgcm_test.go index d6c0714..ba25855 100644 --- a/internal/stupidgcm/stupidgcm_test.go +++ b/internal/stupidgcm/stupidgcm_test.go @@ -15,9 +15,6 @@ import (  	"encoding/hex"  	"log"  	"testing" - -	// For benchmark comparison -	"github.com/rfjakob/gocryptfs/internal/siv_aead"  )  // Get "n" random bytes from /dev/urandom or panic @@ -121,58 +118,3 @@ func TestCorruption(t *testing.T) {  		t.Fatalf("Should have gotten error")  	}  } - -// $ go test -bench . -// PASS -// Benchmark4kEncStupidGCM-2	   50000	     25622 ns/op	 159.86 MB/s -// Benchmark4kEncGoGCM-2    	   10000	    116544 ns/op	  35.15 MB/s -// ok  	github.com/rfjakob/gocryptfs/internal/stupidgcm	3.775s -func Benchmark4kEncStupidGCM(b *testing.B) { -	key := randBytes(32) -	authData := randBytes(24) -	iv := randBytes(16) -	in := make([]byte, 4096) -	b.SetBytes(int64(len(in))) - -	sGCM := New(key) - -	for i := 0; i < b.N; i++ { -		// Encrypt and append to nonce -		sGCM.Seal(iv, iv, in, authData) -	} -} - -func Benchmark4kEncGoGCM(b *testing.B) { -	key := randBytes(32) -	authData := randBytes(24) -	iv := randBytes(16) -	in := make([]byte, 4096) -	b.SetBytes(int64(len(in))) - -	gAES, err := aes.NewCipher(key) -	if err != nil { -		b.Fatal(err) -	} -	gGCM, err := cipher.NewGCMWithNonceSize(gAES, 16) -	if err != nil { -		b.Fatal(err) -	} - -	for i := 0; i < b.N; i++ { -		// Encrypt and append to nonce -		gGCM.Seal(iv, iv, in, authData) -	} -} - -func Benchmark4kEncAESSIV(b *testing.B) { -	key := randBytes(32) -	authData := randBytes(24) -	iv := randBytes(16) -	in := make([]byte, 4096) -	b.SetBytes(int64(len(in))) -	gGCM := siv_aead.New(key) -	for i := 0; i < b.N; i++ { -		// Encrypt and append to nonce -		gGCM.Seal(iv, iv, in, authData) -	} -}  | 
