diff options
author | Frank Denis | 2025-03-12 00:54:35 +0100 |
---|---|---|
committer | Jakob Unterwurzacher | 2025-03-12 20:43:23 +0100 |
commit | d5d26d75247d4fcc269cd0494cb85c7e62618c89 (patch) | |
tree | 5b1409763bf2b03fdbf859e3169732157e704615 /internal/cryptocore/cryptocore.go | |
parent | e3e76e275d8edf294a4a64897f44a5ef0b70bfeb (diff) |
Move aegis out of stupidgcm
Diffstat (limited to 'internal/cryptocore/cryptocore.go')
-rw-r--r-- | internal/cryptocore/cryptocore.go | 8 |
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 } |