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

@ -3664,6 +3664,19 @@ test_AES_CTRCBC_x86ni(void)
}
}
static void
test_AES_CTRCBC_pwr8(void)
{
const br_block_ctrcbc_class *vt;
vt = br_aes_pwr8_ctrcbc_get_vtable();
if (vt != NULL) {
test_AES_CTRCBC_inner("pwr8", vt);
} else {
printf("Test AES CTR/CBC-MAC pwr8: UNAVAILABLE\n");
}
}
/*
* DES known-answer tests. Order: plaintext, key, ciphertext.
* (mostly from NIST SP 800-20).
@ -6839,6 +6852,13 @@ test_EAX(void)
} else {
printf("Test EAX aes_x86ni: UNAVAILABLE\n");
}
x_ctrcbc = br_aes_pwr8_ctrcbc_get_vtable();
if (x_ctrcbc != NULL) {
test_EAX_inner("aes_pwr8", x_ctrcbc);
} else {
printf("Test EAX aes_pwr8: UNAVAILABLE\n");
}
}
/*
@ -7051,6 +7071,13 @@ test_CCM(void)
} else {
printf("Test CCM aes_x86ni: UNAVAILABLE\n");
}
x_ctrcbc = br_aes_pwr8_ctrcbc_get_vtable();
if (x_ctrcbc != NULL) {
test_CCM_inner("aes_pwr8", x_ctrcbc);
} else {
printf("Test CCM aes_pwr8: UNAVAILABLE\n");
}
}
static void
@ -8253,6 +8280,7 @@ static const struct {
STU(AES_CTRCBC_ct),
STU(AES_CTRCBC_ct64),
STU(AES_CTRCBC_x86ni),
STU(AES_CTRCBC_pwr8),
STU(DES_tab),
STU(DES_ct),
STU(ChaCha20_ct),