Added support for Camellia cipher to xcbc
This commit is contained in:
@@ -36,9 +36,9 @@ METHOD(plugin_t, destroy, void,
|
||||
private_xcbc_plugin_t *this)
|
||||
{
|
||||
lib->crypto->remove_prf(lib->crypto,
|
||||
(prf_constructor_t)xcbc_prf_create);
|
||||
(prf_constructor_t)xcbc_prf_create);
|
||||
lib->crypto->remove_signer(lib->crypto,
|
||||
(signer_constructor_t)xcbc_signer_create);
|
||||
(signer_constructor_t)xcbc_signer_create);
|
||||
free(this);
|
||||
}
|
||||
|
||||
@@ -54,9 +54,13 @@ plugin_t *xcbc_plugin_create()
|
||||
);
|
||||
|
||||
lib->crypto->add_prf(lib->crypto, PRF_AES128_XCBC,
|
||||
(prf_constructor_t)xcbc_prf_create);
|
||||
(prf_constructor_t)xcbc_prf_create);
|
||||
lib->crypto->add_prf(lib->crypto, PRF_CAMELLIA128_XCBC,
|
||||
(prf_constructor_t)xcbc_prf_create);
|
||||
lib->crypto->add_signer(lib->crypto, AUTH_AES_XCBC_96,
|
||||
(signer_constructor_t)xcbc_signer_create);
|
||||
(signer_constructor_t)xcbc_signer_create);
|
||||
lib->crypto->add_signer(lib->crypto, AUTH_CAMELLIA_XCBC_96,
|
||||
(signer_constructor_t)xcbc_signer_create);
|
||||
|
||||
return &this->public.plugin;
|
||||
}
|
||||
|
||||
@@ -94,6 +94,9 @@ xcbc_prf_t *xcbc_prf_create(pseudo_random_function_t algo)
|
||||
case PRF_AES128_XCBC:
|
||||
xcbc = xcbc_create(ENCR_AES_CBC, 16);
|
||||
break;
|
||||
case PRF_CAMELLIA128_XCBC:
|
||||
xcbc = xcbc_create(ENCR_CAMELLIA_CBC, 16);
|
||||
break;
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -131,6 +131,10 @@ xcbc_signer_t *xcbc_signer_create(integrity_algorithm_t algo)
|
||||
xcbc = xcbc_create(ENCR_AES_CBC, 16);
|
||||
trunc = 12;
|
||||
break;
|
||||
case AUTH_CAMELLIA_XCBC_96:
|
||||
xcbc = xcbc_create(ENCR_CAMELLIA_CBC, 16);
|
||||
trunc = 12;
|
||||
break;
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user