summaryrefslogtreecommitdiff
path: root/internal/stupidgcm/common_test.go
diff options
context:
space:
mode:
authorJakob Unterwurzacher2021-09-04 11:41:56 +0200
committerJakob Unterwurzacher2021-09-07 18:14:05 +0200
commite2ec048a09889b2bf71e8bbfef9f0584ff7d69db (patch)
tree84bb1f8c709f8db3b2dd551c7c5343c0ffe44ed9 /internal/stupidgcm/common_test.go
parentbf572aef88963732849b8e5ae679e63c6be4aa46 (diff)
stupidgcm: introduce stupidAEADCommon and use for both chacha & gcm
Nice deduplication and brings the GCM decrypt speed up to par. internal/speed$ benchstat old new name old time/op new time/op delta StupidGCM-4 4.71µs ± 0% 4.66µs ± 0% -0.99% (p=0.008 n=5+5) StupidGCMDecrypt-4 5.77µs ± 1% 4.51µs ± 0% -21.80% (p=0.008 n=5+5) name old speed new speed delta StupidGCM-4 870MB/s ± 0% 879MB/s ± 0% +1.01% (p=0.008 n=5+5) StupidGCMDecrypt-4 710MB/s ± 1% 908MB/s ± 0% +27.87% (p=0.008 n=5+5)
Diffstat (limited to 'internal/stupidgcm/common_test.go')
-rw-r--r--internal/stupidgcm/common_test.go17
1 files changed, 9 insertions, 8 deletions
diff --git a/internal/stupidgcm/common_test.go b/internal/stupidgcm/common_test.go
index 8123ce2..a8080ca 100644
--- a/internal/stupidgcm/common_test.go
+++ b/internal/stupidgcm/common_test.go
@@ -162,25 +162,26 @@ func testCorruption(t *testing.T, c cipher.AEAD) {
}
}
-type Wiper interface {
- Wipe()
-}
-
func testWipe(t *testing.T, c cipher.AEAD) {
switch c2 := c.(type) {
case *StupidGCM:
c2.Wipe()
- if c2.key != nil {
- t.Fatal("key is not nil")
+ if !c2.Wiped() {
+ t.Error("c2.wiped is not set")
+ }
+ for _, v := range c2.key {
+ if v != 0 {
+ t.Fatal("c2._key is not zeroed")
+ }
}
case *stupidChacha20poly1305:
c2.Wipe()
- if !c2.wiped {
+ if !c2.Wiped() {
t.Error("c2.wiped is not set")
}
for _, v := range c2.key {
if v != 0 {
- t.Fatal("c2.key is not zeroed")
+ t.Fatal("c2._key is not zeroed")
}
}
case *stupidXchacha20poly1305: