diff mbox series

[API-NEXT,v7,3/7] api: crypto: use cipher_iv instead of iv in session params

Message ID 1515974621-25987-4-git-send-email-odpbot@yandex.ru
State Superseded
Headers show
Series [API-NEXT,v7,1/7] validation: crypto: stop declaring test functions as public | expand

Commit Message

Github ODP bot Jan. 15, 2018, 12:03 a.m. UTC
From: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org>


In preparation to add auth-specific IV, rename iv field to ciper_iv.
Provide deprecated compatibility field iv.

Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org>

---
/** Email created from pull request 352 (lumag:crypto_gmac_iv)
 ** https://github.com/Linaro/odp/pull/352
 ** Patch: https://github.com/Linaro/odp/pull/352.patch
 ** Base sha: 6303c7d0e98fafe0f14c8c4dd9989b3b7633ebf4
 ** Merge commit sha: 8b925492ef06bf633b8767bba97bd6ec68547618
 **/
 example/ipsec/odp_ipsec_cache.c                  |  14 +--
 include/odp/api/spec/crypto.h                    |   8 +-
 platform/linux-generic/odp_crypto.c              |  33 +++----
 platform/linux-generic/odp_ipsec_sad.c           |   6 +-
 test/performance/odp_crypto.c                    |   4 +-
 test/validation/api/crypto/odp_crypto_test_inp.c |  18 ++--
 test/validation/api/crypto/test_vectors.h        | 108 +++++++++++------------
 7 files changed, 99 insertions(+), 92 deletions(-)
diff mbox series

Patch

diff --git a/example/ipsec/odp_ipsec_cache.c b/example/ipsec/odp_ipsec_cache.c
index bd4c1eabc..220df7825 100644
--- a/example/ipsec/odp_ipsec_cache.c
+++ b/example/ipsec/odp_ipsec_cache.c
@@ -92,13 +92,13 @@  int create_ipsec_cache_entry(sa_db_entry_t *cipher_sa,
 		params.cipher_alg  = cipher_sa->alg.u.cipher;
 		params.cipher_key.data  = cipher_sa->key.data;
 		params.cipher_key.length  = cipher_sa->key.length;
-		params.iv.data = entry->state.iv;
-		params.iv.length = cipher_sa->iv_len;
+		params.cipher_iv.data = entry->state.iv;
+		params.cipher_iv.length = cipher_sa->iv_len;
 		mode = cipher_sa->mode;
 	} else {
 		params.cipher_alg = ODP_CIPHER_ALG_NULL;
-		params.iv.data = NULL;
-		params.iv.length = 0;
+		params.cipher_iv.data = NULL;
+		params.cipher_iv.length = 0;
 	}
 
 	/* Auth */
@@ -113,10 +113,10 @@  int create_ipsec_cache_entry(sa_db_entry_t *cipher_sa,
 	}
 
 	/* Generate an IV */
-	if (params.iv.length) {
-		int32_t size = params.iv.length;
+	if (params.cipher_iv.length) {
+		int32_t size = params.cipher_iv.length;
 
-		int32_t ret = odp_random_data(params.iv.data, size, 1);
+		int32_t ret = odp_random_data(params.cipher_iv.data, size, 1);
 		if (ret != size)
 			return -1;
 	}
diff --git a/include/odp/api/spec/crypto.h b/include/odp/api/spec/crypto.h
index 81fecbc36..25ce2f86c 100644
--- a/include/odp/api/spec/crypto.h
+++ b/include/odp/api/spec/crypto.h
@@ -313,7 +313,13 @@  typedef struct odp_crypto_session_param_t {
 	odp_crypto_key_t cipher_key;
 
 	/** Cipher Initialization Vector (IV) */
-	odp_crypto_iv_t iv;
+	union {
+		/** @deprecated Use cipher_iv */
+		odp_crypto_iv_t ODP_DEPRECATE(iv);
+
+		/** Cipher Initialization Vector (IV) */
+		odp_crypto_iv_t cipher_iv;
+	};
 
 	/** Authentication algorithm
 	 *
diff --git a/platform/linux-generic/odp_crypto.c b/platform/linux-generic/odp_crypto.c
index 3b110c191..eab82e9fa 100644
--- a/platform/linux-generic/odp_crypto.c
+++ b/platform/linux-generic/odp_crypto.c
@@ -436,7 +436,7 @@  odp_crypto_alg_err_t cipher_encrypt(odp_packet_t pkt,
 
 	if (param->override_iv_ptr)
 		iv_ptr = param->override_iv_ptr;
-	else if (session->p.iv.data)
+	else if (session->p.cipher_iv.data)
 		iv_ptr = session->cipher.iv_data;
 	else
 		return ODP_CRYPTO_ALG_ERR_IV_INVALID;
@@ -467,7 +467,7 @@  odp_crypto_alg_err_t cipher_decrypt(odp_packet_t pkt,
 
 	if (param->override_iv_ptr)
 		iv_ptr = param->override_iv_ptr;
-	else if (session->p.iv.data)
+	else if (session->p.cipher_iv.data)
 		iv_ptr = session->cipher.iv_data;
 	else
 		return ODP_CRYPTO_ALG_ERR_IV_INVALID;
@@ -496,8 +496,9 @@  static int process_cipher_param(odp_crypto_generic_session_t *session,
 		return -1;
 
 	/* Verify IV len is correct */
-	if (!((0 == session->p.iv.length) ||
-	      ((uint32_t)EVP_CIPHER_iv_length(cipher) == session->p.iv.length)))
+	if (!((0 == session->p.cipher_iv.length) ||
+	      ((uint32_t)EVP_CIPHER_iv_length(cipher) ==
+	       session->p.cipher_iv.length)))
 		return -1;
 
 	session->cipher.evp_cipher = cipher;
@@ -529,7 +530,7 @@  odp_crypto_alg_err_t aes_gcm_encrypt(odp_packet_t pkt,
 
 	if (param->override_iv_ptr)
 		iv_ptr = param->override_iv_ptr;
-	else if (session->p.iv.data)
+	else if (session->p.cipher_iv.data)
 		iv_ptr = session->cipher.iv_data;
 	else
 		return ODP_CRYPTO_ALG_ERR_IV_INVALID;
@@ -539,7 +540,7 @@  odp_crypto_alg_err_t aes_gcm_encrypt(odp_packet_t pkt,
 	EVP_EncryptInit_ex(ctx, session->cipher.evp_cipher, NULL,
 			   session->cipher.key_data, NULL);
 	EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_IVLEN,
-			    session->p.iv.length, NULL);
+			    session->p.cipher_iv.length, NULL);
 	EVP_EncryptInit_ex(ctx, NULL, NULL, NULL, iv_ptr);
 	EVP_CIPHER_CTX_set_padding(ctx, 0);
 
@@ -576,7 +577,7 @@  odp_crypto_alg_err_t aes_gcm_decrypt(odp_packet_t pkt,
 
 	if (param->override_iv_ptr)
 		iv_ptr = param->override_iv_ptr;
-	else if (session->p.iv.data)
+	else if (session->p.cipher_iv.data)
 		iv_ptr = session->cipher.iv_data;
 	else
 		return ODP_CRYPTO_ALG_ERR_IV_INVALID;
@@ -586,7 +587,7 @@  odp_crypto_alg_err_t aes_gcm_decrypt(odp_packet_t pkt,
 	EVP_DecryptInit_ex(ctx, session->cipher.evp_cipher, NULL,
 			   session->cipher.key_data, NULL);
 	EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_IVLEN,
-			    session->p.iv.length, NULL);
+			    session->p.cipher_iv.length, NULL);
 	EVP_DecryptInit_ex(ctx, NULL, NULL, NULL, iv_ptr);
 	EVP_CIPHER_CTX_set_padding(ctx, 0);
 
@@ -642,7 +643,7 @@  odp_crypto_alg_err_t aes_gmac_gen(odp_packet_t pkt,
 
 	if (param->override_iv_ptr)
 		iv_ptr = param->override_iv_ptr;
-	else if (session->p.iv.data)
+	else if (session->p.cipher_iv.data)
 		iv_ptr = session->cipher.iv_data;
 	else
 		return ODP_CRYPTO_ALG_ERR_IV_INVALID;
@@ -652,7 +653,7 @@  odp_crypto_alg_err_t aes_gmac_gen(odp_packet_t pkt,
 	EVP_EncryptInit_ex(ctx, session->auth.evp_cipher, NULL,
 			   session->auth.key, NULL);
 	EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_IVLEN,
-			    session->p.iv.length, NULL);
+			    session->p.cipher_iv.length, NULL);
 	EVP_EncryptInit_ex(ctx, NULL, NULL, NULL, iv_ptr);
 	EVP_CIPHER_CTX_set_padding(ctx, 0);
 
@@ -681,7 +682,7 @@  odp_crypto_alg_err_t aes_gmac_check(odp_packet_t pkt,
 
 	if (param->override_iv_ptr)
 		iv_ptr = param->override_iv_ptr;
-	else if (session->p.iv.data)
+	else if (session->p.cipher_iv.data)
 		iv_ptr = session->cipher.iv_data;
 	else
 		return ODP_CRYPTO_ALG_ERR_IV_INVALID;
@@ -691,7 +692,7 @@  odp_crypto_alg_err_t aes_gmac_check(odp_packet_t pkt,
 	EVP_DecryptInit_ex(ctx, session->auth.evp_cipher, NULL,
 			   session->auth.key, NULL);
 	EVP_CIPHER_CTX_ctrl(ctx, EVP_CTRL_GCM_SET_IVLEN,
-			    session->p.iv.length, NULL);
+			    session->p.cipher_iv.length, NULL);
 	EVP_DecryptInit_ex(ctx, NULL, NULL, NULL, iv_ptr);
 	EVP_CIPHER_CTX_set_padding(ctx, 0);
 
@@ -902,16 +903,16 @@  odp_crypto_session_create(odp_crypto_session_param_t *param,
 	/* Copy parameters */
 	session->p = *param;
 
-	if (session->p.iv.length > EVP_MAX_IV_LENGTH) {
+	if (session->p.cipher_iv.length > EVP_MAX_IV_LENGTH) {
 		ODP_DBG("Maximum IV length exceeded\n");
 		*status = ODP_CRYPTO_SES_CREATE_ERR_INV_CIPHER;
 		goto err;
 	}
 
 	/* Copy IV data */
-	if (session->p.iv.data)
-		memcpy(session->cipher.iv_data, session->p.iv.data,
-		       session->p.iv.length);
+	if (session->p.cipher_iv.data)
+		memcpy(session->cipher.iv_data, session->p.cipher_iv.data,
+		       session->p.cipher_iv.length);
 
 	/* Derive order */
 	if (ODP_CRYPTO_OP_ENCODE == param->op)
diff --git a/platform/linux-generic/odp_ipsec_sad.c b/platform/linux-generic/odp_ipsec_sad.c
index 845a73dea..11227a5fc 100644
--- a/platform/linux-generic/odp_ipsec_sad.c
+++ b/platform/linux-generic/odp_ipsec_sad.c
@@ -351,13 +351,13 @@  odp_ipsec_sa_t odp_ipsec_sa_create(const odp_ipsec_sa_param_t *param)
 	crypto_param.auth_alg = param->crypto.auth_alg;
 	crypto_param.auth_key = param->crypto.auth_key;
 
-	crypto_param.iv.length =
+	crypto_param.cipher_iv.length =
 		_odp_ipsec_cipher_iv_len(crypto_param.cipher_alg);
 
 	crypto_param.auth_digest_len =
 		_odp_ipsec_auth_digest_len(crypto_param.auth_alg);
 
-	if ((uint32_t)-1 == crypto_param.iv.length ||
+	if ((uint32_t)-1 == crypto_param.cipher_iv.length ||
 	    (uint32_t)-1 == crypto_param.auth_digest_len)
 		goto error;
 
@@ -409,7 +409,7 @@  odp_ipsec_sa_t odp_ipsec_sa_create(const odp_ipsec_sa_param_t *param)
 		ipsec_sa->use_counter_iv = 1;
 		ipsec_sa->esp_iv_len = 8;
 		ipsec_sa->esp_block_len = 16;
-		crypto_param.iv.length = 12;
+		crypto_param.cipher_iv.length = 12;
 		break;
 	default:
 		break;
diff --git a/test/performance/odp_crypto.c b/test/performance/odp_crypto.c
index 0cbc2754e..21d916887 100644
--- a/test/performance/odp_crypto.c
+++ b/test/performance/odp_crypto.c
@@ -187,7 +187,7 @@  static crypto_alg_config_t algs_config[] = {
 				.data = test_key24,
 				.length = sizeof(test_key24)
 			},
-			.iv = {
+			.cipher_iv = {
 				.data = test_iv,
 				.length = 8,
 			},
@@ -202,7 +202,7 @@  static crypto_alg_config_t algs_config[] = {
 				.data = test_key24,
 				.length = sizeof(test_key24)
 			},
-			.iv = {
+			.cipher_iv = {
 				.data = test_iv,
 				.length = 8,
 			},
diff --git a/test/validation/api/crypto/odp_crypto_test_inp.c b/test/validation/api/crypto/odp_crypto_test_inp.c
index c7076d300..d795baafc 100644
--- a/test/validation/api/crypto/odp_crypto_test_inp.c
+++ b/test/validation/api/crypto/odp_crypto_test_inp.c
@@ -317,9 +317,9 @@  static void alg_test(odp_crypto_op_t op,
 		.data = ref->auth_key,
 		.length = ref->auth_key_length
 	};
-	odp_crypto_iv_t iv = {
-		.data = ovr_iv ? NULL : ref->iv,
-		.length = ref->iv_length
+	odp_crypto_iv_t cipher_iv = {
+		.data = ovr_iv ? NULL : ref->cipher_iv,
+		.length = ref->cipher_iv_length
 	};
 	int num, i;
 	int found;
@@ -388,7 +388,7 @@  static void alg_test(odp_crypto_op_t op,
 	/* Search for the test case */
 	for (i = 0; i < num; i++) {
 		if (cipher_capa[i].key_len == cipher_key.length &&
-		    cipher_capa[i].iv_len  == iv.length) {
+		    cipher_capa[i].iv_len  == cipher_iv.length) {
 			found = 1;
 			break;
 		}
@@ -397,7 +397,7 @@  static void alg_test(odp_crypto_op_t op,
 	if (!found) {
 		printf("\n    Unsupported: alg=%s, key_len=%" PRIu32 ", "
 		       "iv_len=%" PRIu32 "\n", cipher_alg_name(cipher_alg),
-		       cipher_key.length, iv.length);
+		       cipher_key.length, cipher_iv.length);
 		return;
 	}
 
@@ -438,7 +438,7 @@  static void alg_test(odp_crypto_op_t op,
 	ses_params.compl_queue = suite_context.queue;
 	ses_params.output_pool = suite_context.pool;
 	ses_params.cipher_key = cipher_key;
-	ses_params.iv = iv;
+	ses_params.cipher_iv = cipher_iv;
 	ses_params.auth_key = auth_key;
 	ses_params.auth_digest_len = ref->digest_length;
 	ses_params.auth_aad_len = ref->aad_length;
@@ -488,17 +488,17 @@  static void alg_test(odp_crypto_op_t op,
 
 		if (!suite_context.packet)
 			rc = alg_op(pkt, &ok, session,
-				    ovr_iv ? ref->iv : NULL,
+				    ovr_iv ? ref->cipher_iv : NULL,
 				    &cipher_range, &auth_range,
 				    ref->aad, ref->length);
 		else if (ODP_CRYPTO_ASYNC == suite_context.op_mode)
 			rc = alg_packet_op_enq(pkt, &ok, session,
-					       ovr_iv ? ref->iv : NULL,
+					       ovr_iv ? ref->cipher_iv : NULL,
 					       &cipher_range, &auth_range,
 					       ref->aad, ref->length);
 		else
 			rc = alg_packet_op(pkt, &ok, session,
-					   ovr_iv ? ref->iv : NULL,
+					   ovr_iv ? ref->cipher_iv : NULL,
 					   &cipher_range, &auth_range,
 					   ref->aad, ref->length);
 		if (rc < 0)
diff --git a/test/validation/api/crypto/test_vectors.h b/test/validation/api/crypto/test_vectors.h
index f2ce9eb2f..6673ba4b6 100644
--- a/test/validation/api/crypto/test_vectors.h
+++ b/test/validation/api/crypto/test_vectors.h
@@ -14,8 +14,8 @@  typedef struct crypto_test_reference_s {
 	uint8_t cipher_key[MAX_KEY_LEN];
 	uint32_t auth_key_length;
 	uint8_t auth_key[MAX_KEY_LEN];
-	uint32_t iv_length;
-	uint8_t iv[MAX_IV_LEN];
+	uint32_t cipher_iv_length;
+	uint8_t cipher_iv[MAX_IV_LEN];
 	uint32_t length;
 	uint8_t plaintext[MAX_DATA_LEN];
 	uint8_t ciphertext[MAX_DATA_LEN];
@@ -49,8 +49,8 @@  static crypto_test_reference_t tdes_cbc_reference[] = {
 		.cipher_key = { 0x62, 0x7f, 0x46, 0x0e, 0x08, 0x10, 0x4a, 0x10,
 				0x43, 0xcd, 0x26, 0x5d, 0x58, 0x40, 0xea, 0xf1,
 				0x31, 0x3e, 0xdf, 0x97, 0xdf, 0x2a, 0x8a, 0x8c},
-		.iv_length = TDES_CBC_IV_LEN,
-		.iv = { 0x8e, 0x29, 0xf7, 0x5e, 0xa7, 0x7e, 0x54, 0x75 },
+		.cipher_iv_length = TDES_CBC_IV_LEN,
+		.cipher_iv = { 0x8e, 0x29, 0xf7, 0x5e, 0xa7, 0x7e, 0x54, 0x75 },
 		.length = 8,
 		.plaintext = { 0x32, 0x6a, 0x49, 0x4c, 0xd3, 0x3f, 0xe7, 0x56 },
 		.ciphertext = { 0xb2, 0x2b, 0x8d, 0x66, 0xde, 0x97, 0x06, 0x92 }
@@ -60,8 +60,8 @@  static crypto_test_reference_t tdes_cbc_reference[] = {
 		.cipher_key = { 0x37, 0xae, 0x5e, 0xbf, 0x46, 0xdf, 0xf2, 0xdc,
 				0x07, 0x54, 0xb9, 0x4f, 0x31, 0xcb, 0xb3, 0x85,
 				0x5e, 0x7f, 0xd3, 0x6d, 0xc8, 0x70, 0xbf, 0xae},
-		.iv_length = TDES_CBC_IV_LEN,
-		.iv = {0x3d, 0x1d, 0xe3, 0xcc, 0x13, 0x2e, 0x3b, 0x65 },
+		.cipher_iv_length = TDES_CBC_IV_LEN,
+		.cipher_iv = {0x3d, 0x1d, 0xe3, 0xcc, 0x13, 0x2e, 0x3b, 0x65 },
 		.length = 16,
 		.plaintext = { 0x84, 0x40, 0x1f, 0x78, 0xfe, 0x6c, 0x10, 0x87,
 			       0x6d, 0x8e, 0xa2, 0x30, 0x94, 0xea, 0x53, 0x09 },
@@ -75,9 +75,9 @@  static crypto_test_reference_t aes_cbc_reference[] = {
 		.cipher_key_length = AES128_CBC_KEY_LEN,
 		.cipher_key = { 0x06, 0xa9, 0x21, 0x40, 0x36, 0xb8, 0xa1, 0x5b,
 				0x51, 0x2e, 0x03, 0xd5, 0x34, 0x12, 0x00, 0x06},
-		.iv_length = AES_CBC_IV_LEN,
-		.iv = { 0x3d, 0xaf, 0xba, 0x42, 0x9d, 0x9e, 0xb4, 0x30,
-			0xb4, 0x22, 0xda, 0x80, 0x2c, 0x9f, 0xac, 0x41 },
+		.cipher_iv_length = AES_CBC_IV_LEN,
+		.cipher_iv = { 0x3d, 0xaf, 0xba, 0x42, 0x9d, 0x9e, 0xb4, 0x30,
+			       0xb4, 0x22, 0xda, 0x80, 0x2c, 0x9f, 0xac, 0x41 },
 		.length = 16,
 		.plaintext = "Single block msg",
 		.ciphertext = { 0xe3, 0x53, 0x77, 0x9c, 0x10, 0x79, 0xae, 0xb8,
@@ -87,9 +87,9 @@  static crypto_test_reference_t aes_cbc_reference[] = {
 		.cipher_key_length = AES128_CBC_KEY_LEN,
 		.cipher_key = { 0xc2, 0x86, 0x69, 0x6d, 0x88, 0x7c, 0x9a, 0xa0,
 				0x61, 0x1b, 0xbb, 0x3e, 0x20, 0x25, 0xa4, 0x5a},
-		.iv_length = AES_CBC_IV_LEN,
-		.iv = { 0x56, 0x2e, 0x17, 0x99, 0x6d, 0x09, 0x3d, 0x28,
-			0xdd, 0xb3, 0xba, 0x69, 0x5a, 0x2e, 0x6f, 0x58 },
+		.cipher_iv_length = AES_CBC_IV_LEN,
+		.cipher_iv = { 0x56, 0x2e, 0x17, 0x99, 0x6d, 0x09, 0x3d, 0x28,
+			       0xdd, 0xb3, 0xba, 0x69, 0x5a, 0x2e, 0x6f, 0x58 },
 		.length = 32,
 		.plaintext = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07,
 			       0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f,
@@ -104,9 +104,9 @@  static crypto_test_reference_t aes_cbc_reference[] = {
 		.cipher_key_length = AES128_CBC_KEY_LEN,
 		.cipher_key = { 0x6c, 0x3e, 0xa0, 0x47, 0x76, 0x30, 0xce, 0x21,
 				0xa2, 0xce, 0x33, 0x4a, 0xa7, 0x46, 0xc2, 0xcd},
-		.iv_length = AES_CBC_IV_LEN,
-		.iv = { 0xc7, 0x82, 0xdc, 0x4c, 0x09, 0x8c, 0x66, 0xcb,
-			0xd9, 0xcd, 0x27, 0xd8, 0x25, 0x68, 0x2c, 0x81 },
+		.cipher_iv_length = AES_CBC_IV_LEN,
+		.cipher_iv = { 0xc7, 0x82, 0xdc, 0x4c, 0x09, 0x8c, 0x66, 0xcb,
+			       0xd9, 0xcd, 0x27, 0xd8, 0x25, 0x68, 0x2c, 0x81 },
 		.length = 48,
 		.plaintext = "This is a 48-byte message (exactly 3 AES blocks)",
 		.ciphertext = { 0xd0, 0xa0, 0x2b, 0x38, 0x36, 0x45, 0x17, 0x53,
@@ -120,9 +120,9 @@  static crypto_test_reference_t aes_cbc_reference[] = {
 		.cipher_key_length = AES128_CBC_KEY_LEN,
 		.cipher_key = { 0x56, 0xe4, 0x7a, 0x38, 0xc5, 0x59, 0x89, 0x74,
 				0xbc, 0x46, 0x90, 0x3d, 0xba, 0x29, 0x03, 0x49},
-		.iv_length = AES_CBC_IV_LEN,
-		.iv = { 0x8c, 0xe8, 0x2e, 0xef, 0xbe, 0xa0, 0xda, 0x3c,
-			0x44, 0x69, 0x9e, 0xd7, 0xdb, 0x51, 0xb7, 0xd9 },
+		.cipher_iv_length = AES_CBC_IV_LEN,
+		.cipher_iv = { 0x8c, 0xe8, 0x2e, 0xef, 0xbe, 0xa0, 0xda, 0x3c,
+			       0x44, 0x69, 0x9e, 0xd7, 0xdb, 0x51, 0xb7, 0xd9 },
 		.length = 64,
 		.plaintext = { 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7,
 			       0xa8, 0xa9, 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
@@ -146,9 +146,9 @@  static crypto_test_reference_t aes_cbc_reference[] = {
 		.cipher_key = { 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
 				0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
 				0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c},
-		.iv_length = AES_CBC_IV_LEN,
-		.iv = { 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
-			0xde, 0xca, 0xf8, 0x88, 0x01, 0x23, 0x45, 0x67 },
+		.cipher_iv_length = AES_CBC_IV_LEN,
+		.cipher_iv = { 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
+			       0xde, 0xca, 0xf8, 0x88, 0x01, 0x23, 0x45, 0x67 },
 		.length = 32,
 		.plaintext = { 0x45, 0x00, 0x00, 0x28, 0xa4, 0xad, 0x40, 0x00,
 			       0x40, 0x06, 0x78, 0x80, 0x0a, 0x01, 0x03, 0x8f,
@@ -165,9 +165,9 @@  static crypto_test_reference_t aes_cbc_reference[] = {
 				0x34, 0x45, 0x56, 0x67, 0x78, 0x89, 0x9a, 0xab,
 				0xab, 0xbc, 0xcd, 0xde, 0xf0, 0x01, 0x12, 0x23,
 				0x34, 0x45, 0x56, 0x67, 0x78, 0x89, 0x9a, 0xab},
-		.iv_length = AES_CBC_IV_LEN,
-		.iv = { 0x11, 0x22, 0x33, 0x44, 0x01, 0x02, 0x03, 0x04,
-			0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c },
+		.cipher_iv_length = AES_CBC_IV_LEN,
+		.cipher_iv = { 0x11, 0x22, 0x33, 0x44, 0x01, 0x02, 0x03, 0x04,
+			       0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c },
 		.length = 48,
 		.plaintext = { 0x45, 0x00, 0x00, 0x30, 0x69, 0xa6, 0x40, 0x00,
 			       0x80, 0x06, 0x26, 0x90, 0xc0, 0xa8, 0x01, 0x02,
@@ -189,9 +189,9 @@  static crypto_test_reference_t aes_ctr_reference[] = {
 		.cipher_key_length = AES128_CTR_KEY_LEN,
 		.cipher_key = { 0x2b, 0x7e, 0x15, 0x16, 0x28, 0xae, 0xd2, 0xa6,
 				0xab, 0xf7, 0x15, 0x88, 0x09, 0xcf, 0x4f, 0x3c},
-		.iv_length = AES_CTR_IV_LEN,
-		.iv = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
-			0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff },
+		.cipher_iv_length = AES_CTR_IV_LEN,
+		.cipher_iv = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+			       0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff },
 		.length = 64,
 		.plaintext = { 0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96,
 			       0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a,
@@ -215,9 +215,9 @@  static crypto_test_reference_t aes_ctr_reference[] = {
 		.cipher_key = { 0x8e, 0x73, 0xb0, 0xf7, 0xda, 0x0e, 0x64, 0x52,
 				0xc8, 0x10, 0xf3, 0x2b, 0x80, 0x90, 0x79, 0xe5,
 				0x62, 0xf8, 0xea, 0xd2, 0x52, 0x2c, 0x6b, 0x7b},
-		.iv_length = AES_CTR_IV_LEN,
-		.iv = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
-			0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff },
+		.cipher_iv_length = AES_CTR_IV_LEN,
+		.cipher_iv = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+			       0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff },
 		.length = 64,
 		.plaintext = { 0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96,
 			       0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a,
@@ -242,9 +242,9 @@  static crypto_test_reference_t aes_ctr_reference[] = {
 				0x2b, 0x73, 0xae, 0xf0, 0x85, 0x7d, 0x77, 0x81,
 				0x1f, 0x35, 0x2c, 0x07, 0x3b, 0x61, 0x08, 0xd7,
 				0x2d, 0x98, 0x10, 0xa3, 0x09, 0x14, 0xdf, 0xf4},
-		.iv_length = AES_CTR_IV_LEN,
-		.iv = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
-			0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff },
+		.cipher_iv_length = AES_CTR_IV_LEN,
+		.cipher_iv = { 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7,
+			       0xf8, 0xf9, 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff },
 		.length = 64,
 		.plaintext = { 0x6b, 0xc1, 0xbe, 0xe2, 0x2e, 0x40, 0x9f, 0x96,
 			       0xe9, 0x3d, 0x7e, 0x11, 0x73, 0x93, 0x17, 0x2a,
@@ -273,9 +273,9 @@  static crypto_test_reference_t aes_gcm_reference[] = {
 		.cipher_key_length = AES128_GCM_KEY_LEN,
 		.cipher_key = { 0x4c, 0x80, 0xcd, 0xef, 0xbb, 0x5d, 0x10, 0xda,
 				0x90, 0x6a, 0xc7, 0x3c, 0x36, 0x13, 0xa6, 0x34},
-		.iv_length = AES_GCM_IV_LEN,
-		.iv = { 0x2e, 0x44, 0x3b, 0x68, 0x49, 0x56, 0xed, 0x7e,
-			0x3b, 0x24, 0x4c, 0xfe },
+		.cipher_iv_length = AES_GCM_IV_LEN,
+		.cipher_iv = { 0x2e, 0x44, 0x3b, 0x68, 0x49, 0x56, 0xed, 0x7e,
+			       0x3b, 0x24, 0x4c, 0xfe },
 		.length = 72,
 		.plaintext = { 0x45, 0x00, 0x00, 0x48, 0x69, 0x9a, 0x00, 0x00,
 			       0x80, 0x11, 0x4d, 0xb7, 0xc0, 0xa8, 0x01, 0x02,
@@ -306,9 +306,9 @@  static crypto_test_reference_t aes_gcm_reference[] = {
 		.cipher_key_length = AES128_GCM_KEY_LEN,
 		.cipher_key = { 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
 				0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08},
-		.iv_length = AES_GCM_IV_LEN,
-		.iv = { 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
-			0xde, 0xca, 0xf8, 0x88 },
+		.cipher_iv_length = AES_GCM_IV_LEN,
+		.cipher_iv = { 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
+			       0xde, 0xca, 0xf8, 0x88 },
 		.length = 64,
 		.plaintext = { 0x45, 0x00, 0x00, 0x3e, 0x69, 0x8f, 0x00, 0x00,
 			       0x80, 0x11, 0x4d, 0xcc, 0xc0, 0xa8, 0x01, 0x02,
@@ -336,9 +336,9 @@  static crypto_test_reference_t aes_gcm_reference[] = {
 		.cipher_key_length = AES128_GCM_KEY_LEN,
 		.cipher_key = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
 				0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
-		.iv_length = AES_GCM_IV_LEN,
-		.iv = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00 },
+		.cipher_iv_length = AES_GCM_IV_LEN,
+		.cipher_iv = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+			       0x00, 0x00, 0x00, 0x00 },
 		.length = 64,
 		.plaintext = { 0x45, 0x00, 0x00, 0x3c, 0x99, 0xc5, 0x00, 0x00,
 			       0x80, 0x01, 0xcb, 0x7a, 0x40, 0x67, 0x93, 0x18,
@@ -366,9 +366,9 @@  static crypto_test_reference_t aes_gcm_reference[] = {
 		.cipher_key_length = AES128_GCM_KEY_LEN,
 		.cipher_key = { 0x3d, 0xe0, 0x98, 0x74, 0xb3, 0x88, 0xe6, 0x49,
 				0x19, 0x88, 0xd0, 0xc3, 0x60, 0x7e, 0xae, 0x1f},
-		.iv_length = AES_GCM_IV_LEN,
-		.iv = { 0x57, 0x69, 0x0e, 0x43, 0x4e, 0x28, 0x00, 0x00,
-			0xa2, 0xfc, 0xa1, 0xa3 },
+		.cipher_iv_length = AES_GCM_IV_LEN,
+		.cipher_iv = { 0x57, 0x69, 0x0e, 0x43, 0x4e, 0x28, 0x00, 0x00,
+			       0xa2, 0xfc, 0xa1, 0xa3 },
 		.length = 28,
 		.plaintext = { 0x45, 0x00, 0x00, 0x1c, 0x42, 0xa2, 0x00, 0x00,
 			       0x80, 0x01, 0x44, 0x1f, 0x40, 0x67, 0x93, 0xb6,
@@ -390,9 +390,9 @@  static crypto_test_reference_t aes_gcm_reference[] = {
 		.cipher_key = { 0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c,
 				0x6d, 0x6a, 0x8f, 0x94, 0x67, 0x30, 0x83, 0x08,
 				0xfe, 0xff, 0xe9, 0x92, 0x86, 0x65, 0x73, 0x1c},
-		.iv_length = AES_GCM_IV_LEN,
-		.iv = { 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
-			0xde, 0xca, 0xf8, 0x88 },
+		.cipher_iv_length = AES_GCM_IV_LEN,
+		.cipher_iv = { 0xca, 0xfe, 0xba, 0xbe, 0xfa, 0xce, 0xdb, 0xad,
+			       0xde, 0xca, 0xf8, 0x88 },
 		.length = 40,
 		.plaintext = { 0x45, 0x00, 0x00, 0x28, 0xa4, 0xad, 0x40, 0x00,
 			       0x40, 0x06, 0x78, 0x80, 0x0a, 0x01, 0x03, 0x8f,
@@ -416,9 +416,9 @@  static crypto_test_reference_t aes_gcm_reference[] = {
 				0x34, 0x45, 0x56, 0x67, 0x78, 0x89, 0x9a, 0xab,
 				0xab, 0xbc, 0xcd, 0xde, 0xf0, 0x01, 0x12, 0x23,
 				0x34, 0x45, 0x56, 0x67, 0x78, 0x89, 0x9a, 0xab},
-		.iv_length = AES_GCM_IV_LEN,
-		.iv = { 0x11, 0x22, 0x33, 0x44, 0x01, 0x02, 0x03, 0x04, 0x05,
-			0x06, 0x07, 0x08 },
+		.cipher_iv_length = AES_GCM_IV_LEN,
+		.cipher_iv = { 0x11, 0x22, 0x33, 0x44, 0x01, 0x02, 0x03, 0x04,
+			       0x05, 0x06, 0x07, 0x08 },
 		.length = 52,
 		.plaintext = { 0x45, 0x00, 0x00, 0x30, 0x69, 0xa6, 0x40, 0x00,
 			       0x80, 0x06, 0x26, 0x90, 0xc0, 0xa8, 0x01, 0x02,
@@ -447,9 +447,9 @@  static crypto_test_reference_t aes_gmac_reference[] = {
 		.auth_key_length = AES128_GCM_KEY_LEN,
 		.auth_key = { 0x4c, 0x80, 0xcd, 0xef, 0xbb, 0x5d, 0x10, 0xda,
 			      0x90, 0x6a, 0xc7, 0x3c, 0x36, 0x13, 0xa6, 0x34},
-		.iv_length = AES_GCM_IV_LEN,
-		.iv = { 0x22, 0x43, 0x3c, 0x64, 0x00, 0x00, 0x00, 0x00,
-			0x00, 0x00, 0x00, 0x00 },
+		.cipher_iv_length = AES_GCM_IV_LEN,
+		.cipher_iv = { 0x22, 0x43, 0x3c, 0x64, 0x00, 0x00, 0x00, 0x00,
+			       0x00, 0x00, 0x00, 0x00 },
 		.length = 68,
 		.plaintext = { 0x00, 0x00, 0x43, 0x21, 0x00, 0x00, 0x00, 0x07,
 			       0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,