aboutsummaryrefslogtreecommitdiff
path: root/test/aesgcmtest.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/aesgcmtest.c')
-rw-r--r--test/aesgcmtest.c79
1 files changed, 44 insertions, 35 deletions
diff --git a/test/aesgcmtest.c b/test/aesgcmtest.c
index cdb0cbd0216d..405a77be40ff 100644
--- a/test/aesgcmtest.c
+++ b/test/aesgcmtest.c
@@ -36,7 +36,7 @@ static const unsigned char gcm_tag[] = {
};
static int do_encrypt(unsigned char *iv_gen, unsigned char *ct, int *ct_len,
- unsigned char *tag, int *tag_len)
+ unsigned char *tag, int *tag_len)
{
int ret = 0;
EVP_CIPHER_CTX *ctx = NULL;
@@ -45,26 +45,31 @@ static int do_encrypt(unsigned char *iv_gen, unsigned char *ct, int *ct_len,
*tag_len = 16;
ret = TEST_ptr(ctx = EVP_CIPHER_CTX_new())
- && TEST_true(EVP_EncryptInit_ex(ctx, EVP_aes_256_gcm(), NULL, NULL,
- NULL) > 0)
- && TEST_true(EVP_EncryptInit_ex(ctx, NULL, NULL, gcm_key,
- iv_gen != NULL ? NULL : gcm_iv) > 0)
- && TEST_true(EVP_EncryptUpdate(ctx, NULL, &outlen, gcm_aad,
- sizeof(gcm_aad)) > 0)
- && TEST_true(EVP_EncryptUpdate(ctx, ct, ct_len, gcm_pt,
- sizeof(gcm_pt)) > 0)
- && TEST_true(EVP_EncryptFinal_ex(ctx, outbuf, &outlen) > 0)
- && TEST_int_eq(EVP_CIPHER_CTX_get_tag_length(ctx), 16)
- && TEST_true(EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, 16,
- tag) > 0)
- && TEST_true(iv_gen == NULL
- || EVP_CIPHER_CTX_get_original_iv(ctx, iv_gen, 12));
+ && TEST_true(EVP_EncryptInit_ex(ctx, EVP_aes_256_gcm(), NULL, NULL,
+ NULL)
+ > 0)
+ && TEST_true(EVP_EncryptInit_ex(ctx, NULL, NULL, gcm_key,
+ iv_gen != NULL ? NULL : gcm_iv)
+ > 0)
+ && TEST_true(EVP_EncryptUpdate(ctx, NULL, &outlen, gcm_aad,
+ sizeof(gcm_aad))
+ > 0)
+ && TEST_true(EVP_EncryptUpdate(ctx, ct, ct_len, gcm_pt,
+ sizeof(gcm_pt))
+ > 0)
+ && TEST_true(EVP_EncryptFinal_ex(ctx, outbuf, &outlen) > 0)
+ && TEST_int_eq(EVP_CIPHER_CTX_get_tag_length(ctx), 16)
+ && TEST_true(EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_GET_TAG, 16,
+ tag)
+ > 0)
+ && TEST_true(iv_gen == NULL
+ || EVP_CIPHER_CTX_get_original_iv(ctx, iv_gen, 12));
EVP_CIPHER_CTX_free(ctx);
return ret;
}
static int do_decrypt(const unsigned char *iv, const unsigned char *ct,
- int ct_len, const unsigned char *tag, int tag_len)
+ int ct_len, const unsigned char *tag, int tag_len)
{
int ret = 0;
EVP_CIPHER_CTX *ctx = NULL;
@@ -73,18 +78,22 @@ static int do_decrypt(const unsigned char *iv, const unsigned char *ct,
unsigned char outbuf[32];
ret = TEST_ptr(ctx = EVP_CIPHER_CTX_new())
- && TEST_true(EVP_DecryptInit_ex(ctx, EVP_aes_256_gcm(), NULL,
- NULL, NULL) > 0)
- && TEST_true(EVP_DecryptInit_ex(ctx, NULL, NULL, gcm_key, iv) > 0)
- && TEST_int_eq(EVP_CIPHER_CTX_get_tag_length(ctx), 16)
- && TEST_true(EVP_DecryptUpdate(ctx, NULL, &outlen, gcm_aad,
- sizeof(gcm_aad)) > 0)
- && TEST_true(EVP_DecryptUpdate(ctx, pt, &ptlen, ct,
- ct_len) > 0)
- && TEST_true(EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG,
- tag_len, (void *)tag) > 0)
- && TEST_true(EVP_DecryptFinal_ex(ctx, outbuf, &outlen) > 0)
- && TEST_mem_eq(gcm_pt, sizeof(gcm_pt), pt, ptlen);
+ && TEST_true(EVP_DecryptInit_ex(ctx, EVP_aes_256_gcm(), NULL,
+ NULL, NULL)
+ > 0)
+ && TEST_true(EVP_DecryptInit_ex(ctx, NULL, NULL, gcm_key, iv) > 0)
+ && TEST_int_eq(EVP_CIPHER_CTX_get_tag_length(ctx), 16)
+ && TEST_true(EVP_DecryptUpdate(ctx, NULL, &outlen, gcm_aad,
+ sizeof(gcm_aad))
+ > 0)
+ && TEST_true(EVP_DecryptUpdate(ctx, pt, &ptlen, ct,
+ ct_len)
+ > 0)
+ && TEST_true(EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_AEAD_SET_TAG,
+ tag_len, (void *)tag)
+ > 0)
+ && TEST_true(EVP_DecryptFinal_ex(ctx, outbuf, &outlen) > 0)
+ && TEST_mem_eq(gcm_pt, sizeof(gcm_pt), pt, ptlen);
EVP_CIPHER_CTX_free(ctx);
return ret;
@@ -97,9 +106,9 @@ static int kat_test(void)
int ctlen = 0, taglen = 0;
return do_encrypt(NULL, ct, &ctlen, tag, &taglen)
- && TEST_mem_eq(gcm_ct, sizeof(gcm_ct), ct, ctlen)
- && TEST_mem_eq(gcm_tag, sizeof(gcm_tag), tag, taglen)
- && do_decrypt(gcm_iv, ct, ctlen, tag, taglen);
+ && TEST_mem_eq(gcm_ct, sizeof(gcm_ct), ct, ctlen)
+ && TEST_mem_eq(gcm_tag, sizeof(gcm_tag), tag, taglen)
+ && do_decrypt(gcm_iv, ct, ctlen, tag, taglen);
}
static int badkeylen_test(void)
@@ -109,9 +118,9 @@ static int badkeylen_test(void)
const EVP_CIPHER *cipher;
ret = TEST_ptr(cipher = EVP_aes_192_gcm())
- && TEST_ptr(ctx = EVP_CIPHER_CTX_new())
- && TEST_true(EVP_EncryptInit_ex(ctx, cipher, NULL, NULL, NULL))
- && TEST_int_le(EVP_CIPHER_CTX_set_key_length(ctx, 2), 0);
+ && TEST_ptr(ctx = EVP_CIPHER_CTX_new())
+ && TEST_true(EVP_EncryptInit_ex(ctx, cipher, NULL, NULL, NULL))
+ && TEST_int_le(EVP_CIPHER_CTX_set_key_length(ctx, 2), 0);
EVP_CIPHER_CTX_free(ctx);
return ret;
}
@@ -124,7 +133,7 @@ static int ivgen_test(void)
int ctlen = 0, taglen = 0;
return do_encrypt(iv_gen, ct, &ctlen, tag, &taglen)
- && do_decrypt(iv_gen, ct, ctlen, tag, taglen);
+ && do_decrypt(iv_gen, ct, ctlen, tag, taglen);
}
int setup_tests(void)