stupidgcm: add GCM-SIV benchmark
On a CPU without AES-NI: $ go test -bench . Benchmark4kEncStupidGCM-2 50000 24155 ns/op 169.57 MB/s Benchmark4kEncGoGCM-2 20000 93965 ns/op 43.59 MB/s Benchmark4kEncGCMSIV-2 500 2576193 ns/op 1.59 MB/s
This commit is contained in:
parent
32e35adcad
commit
0e277ba19e
@ -14,6 +14,8 @@ import (
|
|||||||
"crypto/rand"
|
"crypto/rand"
|
||||||
"encoding/hex"
|
"encoding/hex"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/rfjakob/gcmsiv"
|
||||||
)
|
)
|
||||||
|
|
||||||
// Get "n" random bytes from /dev/urandom or panic
|
// Get "n" random bytes from /dev/urandom or panic
|
||||||
@ -159,3 +161,19 @@ func Benchmark4kEncGoGCM(b *testing.B) {
|
|||||||
gGCM.Seal(iv, iv, in, authData)
|
gGCM.Seal(iv, iv, in, authData)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func Benchmark4kEncGCMSIV(b *testing.B) {
|
||||||
|
key := randBytes(32)
|
||||||
|
authData := randBytes(24)
|
||||||
|
iv := randBytes(16)
|
||||||
|
in := make([]byte, 4096)
|
||||||
|
b.SetBytes(int64(len(in)))
|
||||||
|
gGCM, err := gcmsiv.NewGCMSIV(key)
|
||||||
|
if err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
|
for i := 0; i < b.N; i++ {
|
||||||
|
// Encrypt and append to nonce
|
||||||
|
gGCM.Seal(iv, iv, in, authData)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user