aboutsummaryrefslogtreecommitdiff
path: root/internal/stupidgcm/gcm_test.go
blob: b587e5813529260f6ccb8a7eddb1f86d7d13511a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// +build !without_openssl

// We compare against Go's built-in GCM implementation. Since stupidgcm only
// supports 128-bit IVs and Go only supports that from 1.5 onward, we cannot
// run these tests on older Go versions.
package stupidgcm

import (
	"crypto/aes"
	"crypto/cipher"
	"testing"
)

func TestStupidGCM(t *testing.T) {
	key := randBytes(32)
	sGCM := NewAES256GCM(key, false)

	gAES, err := aes.NewCipher(key)
	if err != nil {
		t.Fatal(err)
	}
	gGCM, err := cipher.NewGCMWithNonceSize(gAES, 16)
	if err != nil {
		t.Fatal(err)
	}

	testCiphers(t, sGCM, gGCM)
}