#include "prov/implementations.h"
#include "prov/providercommon.h"
+#define AES_GCM_IV_MIN_SIZE (64 / 8) /* size in bytes */
+/* Note: GCM_IV_MAX_SIZE is listed in ciphercommon_gcm.h */
+
static void *aes_gcm_newctx(void *provctx, size_t keybits)
{
PROV_AES_GCM_CTX *ctx;
ctx = OPENSSL_zalloc(sizeof(*ctx));
if (ctx != NULL)
- gcm_initctx(provctx, &ctx->base, keybits, PROV_AES_HW_gcm(keybits), 8);
+ gcm_initctx(provctx, &ctx->base, keybits, PROV_AES_HW_gcm(keybits),
+ AES_GCM_IV_MIN_SIZE);
return ctx;
}
#include "prov/implementations.h"
#include "prov/providercommon.h"
+#define ARIA_GCM_IV_MIN_SIZE (32 / 8) /* size in bytes */
+
static void *aria_gcm_newctx(void *provctx, size_t keybits)
{
PROV_ARIA_GCM_CTX *ctx;
ctx = OPENSSL_zalloc(sizeof(*ctx));
if (ctx != NULL)
- gcm_initctx(provctx, &ctx->base, keybits, PROV_ARIA_HW_gcm(keybits), 4);
+ gcm_initctx(provctx, &ctx->base, keybits, PROV_ARIA_HW_gcm(keybits),
+ ARIA_GCM_IV_MIN_SIZE);
return ctx;
}
typedef struct prov_gcm_hw_st PROV_GCM_HW;
#define GCM_IV_DEFAULT_SIZE 12 /* IV's for AES_GCM should normally be 12 bytes */
-#define GCM_IV_MAX_SIZE 64
+#define GCM_IV_MAX_SIZE (1024 / 8)
#define GCM_TAG_MAX_SIZE 16
#if defined(OPENSSL_CPUID_OBJ) && defined(__s390__)