diff options
author | Christian Pointner <equinox@anytun.org> | 2017-09-18 02:53:35 +0200 |
---|---|---|
committer | Christian Pointner <equinox@anytun.org> | 2017-09-18 02:53:35 +0200 |
commit | 50d0e48652e8e28805f927ef884d355c77de9e3c (patch) | |
tree | 882f9838d3e6beca7dacc078013791e093f477b8 /satp | |
parent | some more testcases and fixes (diff) |
added some test functions
Diffstat (limited to 'satp')
-rw-r--r-- | satp/crypto-kd-aesctr_test.go | 46 |
1 files 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) + } +} |