aboutsummaryrefslogtreecommitdiff
path: root/internal/cryptocore/cryptocore.go
diff options
context:
space:
mode:
authorFrank Denis2025-03-12 00:54:35 +0100
committerJakob Unterwurzacher2025-03-12 20:43:23 +0100
commitd5d26d75247d4fcc269cd0494cb85c7e62618c89 (patch)
tree5b1409763bf2b03fdbf859e3169732157e704615 /internal/cryptocore/cryptocore.go
parente3e76e275d8edf294a4a64897f44a5ef0b70bfeb (diff)
Move aegis out of stupidgcm
Diffstat (limited to 'internal/cryptocore/cryptocore.go')
-rw-r--r--internal/cryptocore/cryptocore.go8
1 files changed, 6 insertions, 2 deletions
diff --git a/internal/cryptocore/cryptocore.go b/internal/cryptocore/cryptocore.go
index ad5d719..e2991d7 100644
--- a/internal/cryptocore/cryptocore.go
+++ b/internal/cryptocore/cryptocore.go
@@ -12,6 +12,7 @@ import (
"golang.org/x/crypto/chacha20poly1305"
"github.com/aegis-aead/go-libaegis/aegis256x2"
+ "github.com/aegis-aead/go-libaegis/common"
"github.com/rfjakob/eme"
"github.com/rfjakob/gocryptfs/v2/internal/siv_aead"
@@ -187,7 +188,7 @@ func New(key []byte, aeadType AEADTypeEnum, IVBitLen int, useHKDF bool) *CryptoC
log.Panic(err)
}
} else if aeadType == BackendAegis {
- if stupidgcm.BuiltWithoutAegis {
+ if common.Available == false {
log.Panic("AEGIS is not available")
}
if IVBitLen != aegis256x2.NonceSize*8 {
@@ -197,7 +198,10 @@ func New(key []byte, aeadType AEADTypeEnum, IVBitLen int, useHKDF bool) *CryptoC
log.Panic("XChaCha20-Poly1305 must use HKDF, but it is disabled")
}
aegisKey := hkdfDerive(key, hkdfInfoGCMContent, KeyLen)
- aeadCipher = stupidgcm.NewAegis(aegisKey)
+ aeadCipher, err = aegis256x2.New(aegisKey, AuthTagLen)
+ if err != nil {
+ log.Panic(err)
+ }
for i := range aegisKey {
aegisKey[i] = 0
}