From 50d0e48652e8e28805f927ef884d355c77de9e3c Mon Sep 17 00:00:00 2001 From: Christian Pointner Date: Mon, 18 Sep 2017 02:53:35 +0200 Subject: added some test functions --- satp/crypto-kd-aesctr_test.go | 46 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/satp/crypto-kd-aesctr_test.go b/satp/crypto-kd-aesctr_test.go index d625a16..704ff75 100644 --- a/satp/crypto-kd-aesctr_test.go +++ b/satp/crypto-kd-aesctr_test.go @@ -104,6 +104,10 @@ func TestAESCTRKeyDerivationGenerateCtr(t *testing.T) { } } +//func TestAESCTRKeyDerivationGenerateRepeat(t *testing.T) { +// TODO: implement this with actual test vectors +//} + func TestAESCTRKeyDerivationGenerateRepeat(t *testing.T) { var buffer [256]byte rand.Read(buffer[:]) @@ -123,8 +127,7 @@ func TestAESCTRKeyDerivationGenerateRepeat(t *testing.T) { } for _, vector := range testvectors { - key := [aes.BlockSize]byte{} - kd, err := NewAESCTRKeyDerivation(key[:], vector.salt) + kd, err := NewAESCTRKeyDerivation(vector.key, vector.salt) if err != nil { t.Fatal("unexpected error:", err) } @@ -139,3 +142,42 @@ func TestAESCTRKeyDerivationGenerateRepeat(t *testing.T) { } } } + +// +// Benchmarking +// + +func BenchmarkAESCTRKeyDerivationGenerateCtr(b *testing.B) { + var buffer [256]byte + rand.Read(buffer[:]) + + kd, err := NewAESCTRKeyDerivation(buffer[:16], buffer[16:30]) + if err != nil { + b.Fatal("unexpected error:", err) + } + aesCTR := kd.(*AESCTRKeyDerivation) + ctr := make([]byte, 16) + + b.ResetTimer() + + for i := 0; i < b.N; i++ { + aesCTR.generateCTR(DirRight, UsageAuthKey, 0xAA55AA55, ctr) + } +} + +func BenchmarkAESCTRKeyDerivationGenerate(b *testing.B) { + var buffer [256]byte + rand.Read(buffer[:]) + + kd, err := NewAESCTRKeyDerivation(buffer[:16], buffer[16:30]) + if err != nil { + b.Fatal("unexpected error:", err) + } + out := make([]byte, 16) + + b.ResetTimer() + + for i := 0; i < b.N; i++ { + kd.Generate(DirLeft, UsageEncryptKey, 0xdeadbeef, out) + } +} -- cgit v1.2.3