@@ -1117,8 +1117,12 @@ static bool SpeedAES256XTS(const std::string &name,
1117
1117
return true ;
1118
1118
}
1119
1119
1120
+ #if !defined(OPENSSL_BENCHMARK)
1120
1121
#include " ../crypto/fipsmodule/cmac/internal.h"
1121
1122
1123
+ // This is a benchmark of XAES-256-GCM constructed from existing APIs of CMAC
1124
+ // and AES-GCM. It is slower than using EVP_aead_xaes_256_gcm() and
1125
+ // EVP_aead_xaes_256_gcm_key_commit().
1122
1126
static bool SpeedXAES256GCM (const std::string &name,
1123
1127
const std::string &selected) {
1124
1128
if (!selected.empty () && name.find (selected) == std::string::npos) {
@@ -1278,7 +1282,7 @@ static bool SpeedXAES256GCM(const std::string &name,
1278
1282
!CMAC_Reset (cmac_ctx.get ())) {
1279
1283
return false ;
1280
1284
}
1281
- OPENSSL_memcpy (cmac_ctx2.get ()->block , cmac_cmt_msg22.data ()+16 , AES_BLOCK_SIZE);
1285
+ memcpy (cmac_ctx2.get ()->block , cmac_cmt_msg22.data ()+16 , AES_BLOCK_SIZE);
1282
1286
if (!CMAC_Final (cmac_ctx2.get (), key_cmt.data () + (key_len/2 ), &cmac_out_len2) ||
1283
1287
!CMAC_Reset (cmac_ctx2.get ())) {
1284
1288
return false ;
@@ -1359,6 +1363,7 @@ static bool SpeedXAES256GCM(const std::string &name,
1359
1363
1360
1364
return true ;
1361
1365
}
1366
+ #endif // !OPENSSL_BENCHMARK
1362
1367
1363
1368
static bool SpeedHashChunk (const EVP_MD *md, std::string name,
1364
1369
size_t chunk_len) {
@@ -3296,6 +3301,14 @@ bool Speed(const std::vector<std::string> &args) {
3296
3301
#endif
3297
3302
#if AWSLC_API_VERSION > 31
3298
3303
!SpeedDigestSign (selected) ||
3304
+ !SpeedAEADSeal (EVP_aead_xaes_256_gcm (), " AEAD-XAES-256-GCM" , kTLSADLen , selected) ||
3305
+ !SpeedAEADOpen (EVP_aead_xaes_256_gcm (), " AEAD-XAES-256-GCM" , kTLSADLen , selected) ||
3306
+ !SpeedAEADSeal (EVP_aead_xaes_256_gcm_key_commit (), " AEAD-XAES-256-GCM key commit" , kTLSADLen , selected) ||
3307
+ !SpeedAEADOpen (EVP_aead_xaes_256_gcm_key_commit (), " AEAD-XAES-256-GCM key commit" , kTLSADLen , selected) ||
3308
+ !SpeedAEADSeal (EVP_aead_hmac_aes_256_gcm (), " AEAD-HMAC-AES-256-GCM" , kTLSADLen , selected) ||
3309
+ !SpeedAEADOpen (EVP_aead_hmac_aes_256_gcm (), " AEAD-HMAC-AES-256-GCM" , kTLSADLen , selected) ||
3310
+ !SpeedAEADSeal (EVP_aead_hmac_aes_256_gcm_key_commit (), " AEAD-HMAC-AES-256-GCM key commit" , kTLSADLen , selected) ||
3311
+ !SpeedAEADOpen (EVP_aead_hmac_aes_256_gcm_key_commit (), " AEAD-HMAC-AES-256-GCM key commit" , kTLSADLen , selected) ||
3299
3312
#endif
3300
3313
!SpeedAEADSeal (EVP_aead_aes_128_gcm (), " AEAD-AES-128-GCM" , kTLSADLen , selected) ||
3301
3314
!SpeedAEADOpen (EVP_aead_aes_128_gcm (), " AEAD-AES-128-GCM" , kTLSADLen , selected) ||
@@ -3312,14 +3325,6 @@ bool Speed(const std::vector<std::string> &args) {
3312
3325
!SpeedAEADOpen (EVP_aead_aes_128_gcm_siv (), " AEAD-AES-128-GCM-SIV" , kTLSADLen , selected) ||
3313
3326
!SpeedAEADOpen (EVP_aead_aes_256_gcm_siv (), " AEAD-AES-256-GCM-SIV" , kTLSADLen , selected) ||
3314
3327
!SpeedAEADSeal (EVP_aead_aes_128_ccm_bluetooth ()," AEAD-AES-128-CCM-Bluetooth" , kTLSADLen , selected) ||
3315
- !SpeedAEADSeal (EVP_aead_xaes_256_gcm (), " AEAD-XAES-256-GCM" , kTLSADLen , selected) ||
3316
- !SpeedAEADOpen (EVP_aead_xaes_256_gcm (), " AEAD-XAES-256-GCM" , kTLSADLen , selected) ||
3317
- !SpeedAEADSeal (EVP_aead_xaes_256_gcm_key_commit (), " AEAD-XAES-256-GCM key commit" , kTLSADLen , selected) ||
3318
- !SpeedAEADOpen (EVP_aead_xaes_256_gcm_key_commit (), " AEAD-XAES-256-GCM key commit" , kTLSADLen , selected) ||
3319
- !SpeedAEADSeal (EVP_aead_hmac_aes_256_gcm (), " AEAD-HMAC-AES-256-GCM" , kTLSADLen , selected) ||
3320
- !SpeedAEADOpen (EVP_aead_hmac_aes_256_gcm (), " AEAD-HMAC-AES-256-GCM" , kTLSADLen , selected) ||
3321
- !SpeedAEADSeal (EVP_aead_hmac_aes_256_gcm_key_commit (), " AEAD-HMAC-AES-256-GCM key commit" , kTLSADLen , selected) ||
3322
- !SpeedAEADOpen (EVP_aead_hmac_aes_256_gcm_key_commit (), " AEAD-HMAC-AES-256-GCM key commit" , kTLSADLen , selected) ||
3323
3328
!Speed25519 (selected) ||
3324
3329
!SpeedSPAKE2 (selected) ||
3325
3330
!SpeedRSAKeyGen (true , selected) ||
0 commit comments