DECLARE_FAT_FUNC_VAR(poly1305_blocks, poly1305_blocks_func, c)
DECLARE_FAT_FUNC_VAR(poly1305_blocks, poly1305_blocks_func, ppc64)
+/* Nop implementation for _gcm_aes_encrypt and _gcm_aes_decrypt. */
+static size_t
+gcm_aes_crypt_c (struct gcm_key *key UNUSED, unsigned rounds UNUSED,
+ size_t size UNUSED, uint8_t *dst UNUSED, const uint8_t *src UNUSED)
+{
+ return 0;
+}
static void CONSTRUCTOR
fat_init (void)
_nettle_aes_invert_vec = _nettle_aes_invert_c;
_nettle_ghash_set_key_vec = _nettle_ghash_set_key_c;
_nettle_ghash_update_vec = _nettle_ghash_update_c;
- _nettle_gcm_aes_encrypt_vec = _nettle_gcm_aes_encrypt_c;
- _nettle_gcm_aes_decrypt_vec = _nettle_gcm_aes_decrypt_c;
+ _nettle_gcm_aes_encrypt_vec = gcm_aes_crypt_c;
+ _nettle_gcm_aes_decrypt_vec = gcm_aes_crypt_c;
}
if (features.have_altivec)
{
+++ /dev/null
-/* gcm-aes-crypt.c
-
- Galois counter mode using AES as the underlying cipher.
-
- Copyright (C) 2011, 2014 Niels Möller
-
- This file is part of GNU Nettle.
-
- GNU Nettle is free software: you can redistribute it and/or
- modify it under the terms of either:
-
- * the GNU Lesser General Public License as published by the Free
- Software Foundation; either version 3 of the License, or (at your
- option) any later version.
-
- or
-
- * the GNU General Public License as published by the Free
- Software Foundation; either version 2 of the License, or (at your
- option) any later version.
-
- or both in parallel, as here.
-
- GNU Nettle is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received copies of the GNU General Public License and
- the GNU Lesser General Public License along with this program. If
- not, see http://www.gnu.org/licenses/.
-*/
-
-#if HAVE_CONFIG_H
-# include "config.h"
-#endif
-
-#include <assert.h>
-
-#include "gcm.h"
-#include "gcm-internal.h"
-
-/* For fat builds */
-#if HAVE_NATIVE_gcm_aes_encrypt
-size_t
-_gcm_aes_encrypt (struct gcm_key *key, unsigned rounds,
- size_t len, uint8_t *dst, const uint8_t *src);
-#define _nettle_gcm_aes_encrypt _nettle_gcm_aes_encrypt_c
-#endif
-
-#if HAVE_NATIVE_gcm_aes_decrypt
-size_t
-_gcm_aes_decrypt (struct gcm_key *key, unsigned rounds,
- size_t len, uint8_t *dst, const uint8_t *src);
-#define _nettle_gcm_aes_decrypt _nettle_gcm_aes_decrypt_c
-#endif
-
-size_t
-_gcm_aes_encrypt (struct gcm_key *key, unsigned rounds,
- size_t len, uint8_t *dst, const uint8_t *src)
-{
- return 0;
-}
-
-size_t
-_gcm_aes_decrypt (struct gcm_key *key, unsigned rounds,
- size_t len, uint8_t *dst, const uint8_t *src)
-{
- return 0;
-}
#include "gcm.h"
+#if HAVE_NATIVE_gcm_aes_encrypt
+
/* Name mangling */
#define _gcm_aes_encrypt _nettle_gcm_aes_encrypt
#define _gcm_aes_decrypt _nettle_gcm_aes_decrypt
_gcm_aes_decrypt (struct gcm_key *CTX,
unsigned rounds,
size_t size, uint8_t *dst, const uint8_t *src);
+#else /* !HAVE_NATIVE_gcm_aes_encrypt */
+#define _gcm_aes_encrypt(key, rounds, size, dst, src) 0
+#define _gcm_aes_decrypt(key, rounds, size, dst, src) 0
+#endif /* !HAVE_NATIVE_gcm_aes_encrypt */
#endif /* NETTLE_GCM_INTERNAL_H_INCLUDED */