gcrypt: Support of AES-CFB encryption

This commit is contained in:
Andreas Steffen 2021-12-06 13:43:45 +01:00
parent 2d1a1cc907
commit 01485770fd
2 changed files with 21 additions and 0 deletions

View File

@ -219,6 +219,24 @@ gcrypt_crypter_t *gcrypt_crypter_create(encryption_algorithm_t algo,
return NULL;
}
break;
case ENCR_AES_CFB:
mode = GCRY_CIPHER_MODE_CFB;
switch (key_size)
{
case 0:
case 16:
gcrypt_alg = GCRY_CIPHER_AES128;
break;
case 24:
gcrypt_alg = GCRY_CIPHER_AES192;
break;
case 32:
gcrypt_alg = GCRY_CIPHER_AES256;
break;
default:
return NULL;
}
break;
case ENCR_CAMELLIA_CTR:
mode = GCRY_CIPHER_MODE_CTR;
/* fall */

View File

@ -73,6 +73,9 @@ METHOD(plugin_t, get_features, int,
PLUGIN_PROVIDE(CRYPTER, ENCR_AES_ECB, 16),
PLUGIN_PROVIDE(CRYPTER, ENCR_AES_ECB, 24),
PLUGIN_PROVIDE(CRYPTER, ENCR_AES_ECB, 32),
PLUGIN_PROVIDE(CRYPTER, ENCR_AES_CFB, 16),
PLUGIN_PROVIDE(CRYPTER, ENCR_AES_CFB, 24),
PLUGIN_PROVIDE(CRYPTER, ENCR_AES_CFB, 32),
/* gcrypt only supports 128 bit blowfish */
PLUGIN_PROVIDE(CRYPTER, ENCR_BLOWFISH, 16),
#ifdef HAVE_GCRY_CIPHER_CAMELLIA