Implement AES CTR ciphers in the default provider
Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/8700)
This commit is contained in:
parent
75dd6d64f1
commit
819a7ae9fc
4 changed files with 20 additions and 0 deletions
|
@ -157,6 +157,9 @@ int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *cipher,
|
|||
case NID_aes_256_cfb8:
|
||||
case NID_aes_192_cfb8:
|
||||
case NID_aes_128_cfb8:
|
||||
case NID_aes_256_ctr:
|
||||
case NID_aes_192_ctr:
|
||||
case NID_aes_128_ctr:
|
||||
break;
|
||||
default:
|
||||
goto legacy;
|
||||
|
|
|
@ -219,6 +219,12 @@ IMPLEMENT_new_ctx(cfb8, CFB, 256)
|
|||
IMPLEMENT_new_ctx(cfb8, CFB, 192)
|
||||
IMPLEMENT_new_ctx(cfb8, CFB, 128)
|
||||
|
||||
/* CTR */
|
||||
IMPLEMENT_new_params(ctr, CTR)
|
||||
IMPLEMENT_new_ctx(ctr, CTR, 256)
|
||||
IMPLEMENT_new_ctx(ctr, CTR, 192)
|
||||
IMPLEMENT_new_ctx(ctr, CTR, 128)
|
||||
|
||||
static void aes_freectx(void *vctx)
|
||||
{
|
||||
PROV_AES_KEY *ctx = (PROV_AES_KEY *)vctx;
|
||||
|
@ -362,3 +368,8 @@ IMPLEMENT_stream_funcs(cfb1, 128, 16)
|
|||
IMPLEMENT_stream_funcs(cfb8, 256, 16)
|
||||
IMPLEMENT_stream_funcs(cfb8, 192, 16)
|
||||
IMPLEMENT_stream_funcs(cfb8, 128, 16)
|
||||
|
||||
/* CTR */
|
||||
IMPLEMENT_stream_funcs(ctr, 256, 16)
|
||||
IMPLEMENT_stream_funcs(ctr, 192, 16)
|
||||
IMPLEMENT_stream_funcs(ctr, 128, 16)
|
||||
|
|
|
@ -29,3 +29,6 @@ extern const OSSL_DISPATCH aes128cfb1_functions[];
|
|||
extern const OSSL_DISPATCH aes256cfb8_functions[];
|
||||
extern const OSSL_DISPATCH aes192cfb8_functions[];
|
||||
extern const OSSL_DISPATCH aes128cfb8_functions[];
|
||||
extern const OSSL_DISPATCH aes256ctr_functions[];
|
||||
extern const OSSL_DISPATCH aes192ctr_functions[];
|
||||
extern const OSSL_DISPATCH aes128ctr_functions[];
|
||||
|
|
|
@ -74,6 +74,9 @@ static const OSSL_ALGORITHM deflt_ciphers[] = {
|
|||
{ "AES-256-CFB8", "default=yes", aes256cfb8_functions },
|
||||
{ "AES-192-CFB8", "default=yes", aes192cfb8_functions },
|
||||
{ "AES-128-CFB8", "default=yes", aes128cfb8_functions },
|
||||
{ "AES-256-CTR", "default=yes", aes256ctr_functions },
|
||||
{ "AES-192-CTR", "default=yes", aes192ctr_functions },
|
||||
{ "AES-128-CTR", "default=yes", aes128ctr_functions },
|
||||
{ NULL, NULL, NULL }
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in a new issue