Added POWER8 implementation for AES/CTR+CBC-MAC (for CCM and EAX modes).

This commit is contained in:
Thomas Pornin 2018-08-12 23:53:23 +02:00
parent ffe3c9166b
commit f8e38c231d
10 changed files with 1105 additions and 3 deletions

View file

@ -28,7 +28,7 @@
void
br_ssl_engine_set_default_aes_ccm(br_ssl_engine_context *cc)
{
#if BR_AES_X86NI /* TODO: BR_POWER8 */
#if BR_AES_X86NI || BR_POWER8
const br_block_ctrcbc_class *ictrcbc;
#endif
@ -46,6 +46,17 @@ br_ssl_engine_set_default_aes_ccm(br_ssl_engine_context *cc)
br_ssl_engine_set_aes_ctrcbc(cc, &br_aes_ct_ctrcbc_vtable);
#endif
}
#elif BR_POWER8
ictrcbc = br_aes_pwr8_ctrcbc_get_vtable();
if (ictrcbc != NULL) {
br_ssl_engine_set_aes_ctrcbc(cc, ictrcbc);
} else {
#if BR_64
br_ssl_engine_set_aes_ctrcbc(cc, &br_aes_ct64_ctrcbc_vtable);
#else
br_ssl_engine_set_aes_ctrcbc(cc, &br_aes_ct_ctrcbc_vtable);
#endif
}
#else
#if BR_64
br_ssl_engine_set_aes_ctrcbc(cc, &br_aes_ct64_ctrcbc_vtable);