aes_misc.c aes_ecb.c aes_cfb.c aes_ofb.c \
aes_ige.c aes_wrap.c {- $target{aes_asm_src} -}
+SOURCE[../../providers/fips]=\
+ aes_misc.c aes_ecb.c \
+ {- $target{aes_asm_src} -}
+
GENERATE[aes-ia64.s]=asm/aes-ia64.S
GENERATE[aes-586.s]=asm/aes-586.pl \
ccm128.c xts128.c wrap128.c ocb128.c siv128.c \
{- $target{modes_asm_src} -}
+SOURCE[../../providers/fips]=\
+ cbc128.c ctr128.c cfb128.c ofb128.c \
+ {- $target{modes_asm_src} -}
+
INCLUDE[gcm128.o]=..
GENERATE[ghash-ia64.s]=asm/ghash-ia64.pl $(LIB_CFLAGS) $(LIB_CPPFLAGS)
#include "internal/cryptlib.h"
#include "internal/property.h"
#include "internal/evp_int.h"
+#include "internal/provider_algs.h"
/* Functions provided by the core */
static OSSL_core_get_param_types_fn *c_get_param_types = NULL;
return 1;
}
-extern const OSSL_DISPATCH sha256_functions[];
-
static const OSSL_ALGORITHM fips_digests[] = {
{ "SHA256", "fips=yes", sha256_functions },
{ NULL, NULL, NULL }
};
+static const OSSL_ALGORITHM fips_ciphers[] = {
+ { "AES-256-ECB", "fips=yes", aes256ecb_functions },
+ { "AES-192-ECB", "fips=yes", aes192ecb_functions },
+ { "AES-128-ECB", "fips=yes", aes128ecb_functions },
+ { "AES-256-CBC", "fips=yes", aes256cbc_functions },
+ { "AES-192-CBC", "fips=yes", aes192cbc_functions },
+ { "AES-128-CBC", "fips=yes", aes128cbc_functions },
+ { "AES-256-CTR", "fips=yes", aes256ctr_functions },
+ { "AES-192-CTR", "fips=yes", aes192ctr_functions },
+ { "AES-128-CTR", "fips=yes", aes128ctr_functions },
+ { NULL, NULL, NULL }
+};
+
static const OSSL_ALGORITHM *fips_query(OSSL_PROVIDER *prov,
int operation_id,
int *no_cache)
switch (operation_id) {
case OSSL_OP_DIGEST:
return fips_digests;
+ case OSSL_OP_CIPHER:
+ return fips_ciphers;
}
return NULL;
}