Add an AES-GCM test of in-place encryption/decryption

This commit is contained in:
Frank Denis
2022-12-11 20:44:28 +01:00
parent 19537d42ed
commit 634df56c5d
+12
View File
@@ -3210,6 +3210,18 @@ tv(void)
printf("Incorrect decryption of test vector #%u\n", (unsigned int) i);
}
memcpy(ciphertext, message, message_len);
crypto_aead_aes256gcm_encrypt(ciphertext, &found_ciphertext_len, ciphertext,
message_len, ad, ad_len, NULL, nonce, key);
assert(found_ciphertext_len == ciphertext_len);
if (crypto_aead_aes256gcm_decrypt(ciphertext, &found_message_len, NULL,
ciphertext, ciphertext_len, ad, ad_len,
nonce, key) != 0) {
printf("In-place decryption of vector #%u failed\n", (unsigned int) i);
}
assert(found_message_len == message_len);
assert(memcmp(ciphertext, message, message_len) == 0);
sodium_free(message);
sodium_free(ad);
sodium_free(expected_ciphertext);