summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNIIBE Yutaka <gniibe@fsij.org>2023-01-30 17:47:01 +0000
committerNIIBE Yutaka <gniibe@fsij.org>2023-04-04 15:54:41 +0900
commit137f1fd82bc9136d434ca41f58d62091b64df6db (patch)
tree7b8ec0064277a637ebc58e66a5f2d509b221b4a2
parent278ba98497e126358a6b0ee8b566cc62ebb96ab9 (diff)
downloadlibgcrypt-137f1fd82bc9136d434ca41f58d62091b64df6db.tar.gz
cipher: Enable the fast path to ChaCha20 only when supported.
cipher/cipher-poly1305.c (_gcry_cipher_poly1305_encrypt) (_gcry_cipher_poly1305_decrypt) [USE_CHACHA20]: Conditionalize. -- GnuPG-bug-id: 6384 Reported-by: Andrew Collier Signed-off-by: NIIBE Yutaka <gniibe@fsij.org>
-rw-r--r--cipher/cipher-poly1305.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/cipher/cipher-poly1305.c b/cipher/cipher-poly1305.c
index 5cd3561b..0fd3e4e0 100644
--- a/cipher/cipher-poly1305.c
+++ b/cipher/cipher-poly1305.c
@@ -164,10 +164,12 @@ _gcry_cipher_poly1305_encrypt (gcry_cipher_hd_t c,
return GPG_ERR_INV_LENGTH;
}
+#ifdef USE_CHACHA20
if (LIKELY(inbuflen > 0) && LIKELY(c->spec->algo == GCRY_CIPHER_CHACHA20))
{
return _gcry_chacha20_poly1305_encrypt (c, outbuf, inbuf, inbuflen);
}
+#endif
while (inbuflen)
{
@@ -224,10 +226,12 @@ _gcry_cipher_poly1305_decrypt (gcry_cipher_hd_t c,
return GPG_ERR_INV_LENGTH;
}
+#ifdef USE_CHACHA20
if (LIKELY(inbuflen > 0) && LIKELY(c->spec->algo == GCRY_CIPHER_CHACHA20))
{
return _gcry_chacha20_poly1305_decrypt (c, outbuf, inbuf, inbuflen);
}
+#endif
while (inbuflen)
{