gcrypt: Support of AES-CFB encryption
This commit is contained in:
@@ -219,6 +219,24 @@ gcrypt_crypter_t *gcrypt_crypter_create(encryption_algorithm_t algo,
|
|||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
break;
|
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:
|
case ENCR_CAMELLIA_CTR:
|
||||||
mode = GCRY_CIPHER_MODE_CTR;
|
mode = GCRY_CIPHER_MODE_CTR;
|
||||||
/* fall */
|
/* fall */
|
||||||
|
|||||||
@@ -73,6 +73,9 @@ METHOD(plugin_t, get_features, int,
|
|||||||
PLUGIN_PROVIDE(CRYPTER, ENCR_AES_ECB, 16),
|
PLUGIN_PROVIDE(CRYPTER, ENCR_AES_ECB, 16),
|
||||||
PLUGIN_PROVIDE(CRYPTER, ENCR_AES_ECB, 24),
|
PLUGIN_PROVIDE(CRYPTER, ENCR_AES_ECB, 24),
|
||||||
PLUGIN_PROVIDE(CRYPTER, ENCR_AES_ECB, 32),
|
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 */
|
/* gcrypt only supports 128 bit blowfish */
|
||||||
PLUGIN_PROVIDE(CRYPTER, ENCR_BLOWFISH, 16),
|
PLUGIN_PROVIDE(CRYPTER, ENCR_BLOWFISH, 16),
|
||||||
#ifdef HAVE_GCRY_CIPHER_CAMELLIA
|
#ifdef HAVE_GCRY_CIPHER_CAMELLIA
|
||||||
|
|||||||
Reference in New Issue
Block a user