From b7ac85b5b73f9d3c88ae5714892a74b6b7bbd83b Mon Sep 17 00:00:00 2001 From: Frank Denis Date: Mon, 11 Sep 2023 17:38:29 +0200 Subject: [PATCH] Don't hardcode the AEGIS tag length --- src/libsodium/crypto_aead/aegis128l/aead_aegis128l.c | 11 ++++++----- src/libsodium/crypto_aead/aegis256/aead_aegis256.c | 9 +++++---- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/libsodium/crypto_aead/aegis128l/aead_aegis128l.c b/src/libsodium/crypto_aead/aegis128l/aead_aegis128l.c index 01ba2a7e..ab2596e6 100644 --- a/src/libsodium/crypto_aead/aegis128l/aead_aegis128l.c +++ b/src/libsodium/crypto_aead/aegis128l/aead_aegis128l.c @@ -70,7 +70,7 @@ crypto_aead_aegis128l_encrypt(unsigned char *c, unsigned long long *clen_p, cons k); if (clen_p != NULL) { if (ret == 0) { - clen = mlen + 16ULL; + clen = mlen + crypto_aead_aegis128l_ABYTES; } *clen_p = clen; } @@ -86,13 +86,14 @@ crypto_aead_aegis128l_decrypt(unsigned char *m, unsigned long long *mlen_p, unsi unsigned long long mlen = 0ULL; int ret = -1; - if (clen >= 16ULL) { - ret = crypto_aead_aegis128l_decrypt_detached(m, nsec, c, clen - 16ULL, c + clen - 16ULL, ad, - adlen, npub, k); + if (clen >= crypto_aead_aegis128l_ABYTES) { + ret = crypto_aead_aegis128l_decrypt_detached( + m, nsec, c, clen - crypto_aead_aegis128l_ABYTES, + c + clen - crypto_aead_aegis128l_ABYTES, ad, adlen, npub, k); } if (mlen_p != NULL) { if (ret == 0) { - mlen = clen - 16ULL; + mlen = clen - crypto_aead_aegis128l_ABYTES; } *mlen_p = mlen; } diff --git a/src/libsodium/crypto_aead/aegis256/aead_aegis256.c b/src/libsodium/crypto_aead/aegis256/aead_aegis256.c index 1ddfff10..0fd8f966 100644 --- a/src/libsodium/crypto_aead/aegis256/aead_aegis256.c +++ b/src/libsodium/crypto_aead/aegis256/aead_aegis256.c @@ -70,7 +70,7 @@ crypto_aead_aegis256_encrypt(unsigned char *c, unsigned long long *clen_p, const crypto_aead_aegis256_encrypt_detached(c, c + mlen, NULL, m, mlen, ad, adlen, nsec, npub, k); if (clen_p != NULL) { if (ret == 0) { - clen = mlen + 16ULL; + clen = mlen + crypto_aead_aegis256_ABYTES; } *clen_p = clen; } @@ -86,13 +86,14 @@ crypto_aead_aegis256_decrypt(unsigned char *m, unsigned long long *mlen_p, unsig unsigned long long mlen = 0ULL; int ret = -1; - if (clen >= 16ULL) { - ret = crypto_aead_aegis256_decrypt_detached(m, nsec, c, clen - 16ULL, c + clen - 16ULL, ad, + if (clen >= crypto_aead_aegis256_ABYTES) { + ret = crypto_aead_aegis256_decrypt_detached(m, nsec, c, clen - crypto_aead_aegis256_ABYTES, + c + clen - crypto_aead_aegis256_ABYTES, ad, adlen, npub, k); } if (mlen_p != NULL) { if (ret == 0) { - mlen = clen - 16ULL; + mlen = clen - crypto_aead_aegis256_ABYTES; } *mlen_p = mlen; }