Skip to content

Commit a724483

Browse files
committed
Add gcm_hw_pmul_is_supported()
Signed-off-by: Steffen Jaeckel <s@jaeckel.eu>
1 parent c05b308 commit a724483

3 files changed

Lines changed: 15 additions & 1 deletion

File tree

src/encauth/gcm/gcm_gf_mult.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -492,3 +492,14 @@ void gcm_gf_mult(const unsigned char *a, const unsigned char *b, unsigned char *
492492

493493
#endif
494494

495+
int gcm_hw_pmul_is_supported(void)
496+
{
497+
#if defined(LTC_GCM_PCLMUL_TARGET)
498+
return s_pclmul_is_supported();
499+
#elif defined(LTC_GCM_PMULL_TARGET)
500+
return s_pmull_is_supported();
501+
#else
502+
return 0;
503+
#endif
504+
}
505+

src/headers/tomcrypt_mac.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -403,6 +403,7 @@ int ccm_test(void);
403403
void gcm_gf_mult(const unsigned char *a, const unsigned char *b, unsigned char *c);
404404
#endif
405405

406+
int gcm_hw_pmul_is_supported(void);
406407

407408
/* table shared between GCM and LRW */
408409
#if defined(LTC_GCM_TABLES) || defined(LTC_LRW_TABLES) || ((defined(LTC_GCM_MODE) || defined(LTC_GCM_MODE)) && defined(LTC_FAST))

tests/test.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,9 @@ int main(int argc, char **argv)
352352
printf("LTC_VERSION = %s\n%s\n\n", GIT_VERSION, crypt_build_settings);
353353

354354
printf("AES-NI CPU support = %d\n", aesni_is_supported());
355-
printf("SHA-NI CPU support = %d\n\n", shani_is_supported());
355+
printf("SHA-NI CPU support = %d\n", shani_is_supported());
356+
printf("PMUL CPU support = %d\n", gcm_hw_pmul_is_supported());
357+
putchar('\n');
356358

357359
#ifdef USE_LTM
358360
mpi_provider = "ltm";

0 commit comments

Comments
 (0)