All of lore.kernel.org
 help / color / mirror / Atom feed
From: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
To: <dev@dpdk.org>
Cc: Fan Zhang <roy.fan.zhang@intel.com>,
	Brian Dooley <brian.dooley@intel.com>, <lylavoie@iol.unh.edu>,
	Anoob Joseph <anoobj@marvell.com>,
	Archana Muniganti <marchana@marvell.com>,
	Jerin Jacob <jerinj@marvell.com>,
	Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
Subject: [v5,11/11] examples/fips_validation: add parsing for aes_cbc
Date: Wed, 25 May 2022 22:38:58 +0530	[thread overview]
Message-ID: <7c0cfaf4157188bb83e589063119731549fbea6b.1653498441.git.gmuthukrishn@marvell.com> (raw)
In-Reply-To: <4c9975d32a1e6e28debe11afafa3f1d7045030d9.1653491969.git.gmuthukrishn@marvell.com>

Added function to parse algorithm for AES_CBC test.

Signed-off-by: Gowrishankar Muthukrishnan <gmuthukrishn@marvell.com>
---
 examples/fips_validation/fips_validation.c    |   8 +-
 examples/fips_validation/fips_validation.h    |   4 +
 .../fips_validation/fips_validation_aes.c     | 223 ++++++++++++++++++
 examples/fips_validation/main.c               |  76 ++++--
 4 files changed, 284 insertions(+), 27 deletions(-)

diff --git a/examples/fips_validation/fips_validation.c b/examples/fips_validation/fips_validation.c
index ab4c0d0eca..8cec172a5f 100644
--- a/examples/fips_validation/fips_validation.c
+++ b/examples/fips_validation/fips_validation.c
@@ -120,7 +120,7 @@ fips_test_parse_header(void)
 
 	for (i = 0; i < info.nb_vec_lines; i++) {
 		if (!algo_parsed) {
-			if (strstr(info.vec[i], "AESVS")) {
+			if (strstr(info.vec[i], "AES")) {
 				algo_parsed = 1;
 				info.algo = FIPS_TEST_ALGO_AES;
 				ret = parse_test_aes_init();
@@ -458,10 +458,12 @@ fips_test_parse_one_json_vector_set(void)
 	/* Vector sets contain the algorithm type, and nothing else we need. */
 	if (strstr(algo_str, "AES-GCM"))
 		info.algo = FIPS_TEST_ALGO_AES_GCM;
-	if (strstr(algo_str, "HMAC"))
+	else if (strstr(algo_str, "HMAC"))
 		info.algo = FIPS_TEST_ALGO_HMAC;
-	if (strstr(algo_str, "CMAC"))
+	else if (strstr(algo_str, "CMAC"))
 		info.algo = FIPS_TEST_ALGO_AES_CMAC;
+	else if (strstr(algo_str, "AES-CBC"))
+		info.algo = FIPS_TEST_ALGO_AES;
 	else
 		return -EINVAL;
 
diff --git a/examples/fips_validation/fips_validation.h b/examples/fips_validation/fips_validation.h
index 88cbb0303e..6385ec4d8d 100644
--- a/examples/fips_validation/fips_validation.h
+++ b/examples/fips_validation/fips_validation.h
@@ -103,6 +103,7 @@ enum fips_aesavs_test_types {
 	AESAVS_TYPE_VARTXT,
 	AESAVS_TYPE_MMT,
 	AESAVS_TYPE_MCT,
+	AESAVS_TYPE_AFT,
 };
 
 enum fips_tdes_test_types {
@@ -262,6 +263,9 @@ parse_test_hmac_json_algorithm(void);
 
 int
 parse_test_cmac_json_init(void);
+
+int
+parse_test_aes_json_init(void);
 #endif /* RTE_HAS_JANSSON */
 
 int
diff --git a/examples/fips_validation/fips_validation_aes.c b/examples/fips_validation/fips_validation_aes.c
index b3c5e31f32..0b7b9c0849 100644
--- a/examples/fips_validation/fips_validation_aes.c
+++ b/examples/fips_validation/fips_validation_aes.c
@@ -7,6 +7,7 @@
 #include <stdio.h>
 
 #include <rte_cryptodev.h>
+#include <rte_malloc.h>
 
 #include "fips_validation.h"
 
@@ -25,6 +26,19 @@
 #define OP_ENC_STR	"ENCRYPT"
 #define OP_DEC_STR	"DECRYPT"
 
+#define ALGO_JSON_STR		"algorithm"
+#define TESTTYPE_JSON_STR	"testType"
+#define DIR_JSON_STR		"direction"
+#define KEYLEN_JSON_STR		"keyLen"
+
+#define KEY_JSON_STR	"key"
+#define IV_JSON_STR	"iv"
+#define PT_JSON_STR	"pt"
+#define CT_JSON_STR	"ct"
+
+#define OP_ENC_JSON_STR	"encrypt"
+#define OP_DEC_JSON_STR	"decrypt"
+
 struct {
 	uint32_t type;
 	const char *desc;
@@ -37,6 +51,7 @@ struct {
 		{TDES_VARIABLE_TEXT, "KAT"},
 		{AESAVS_TYPE_MMT, "MMT"},
 		{AESAVS_TYPE_MCT, "MCT"},
+		{AESAVS_TYPE_AFT, "AFT"},
 };
 
 struct aes_test_algo {
@@ -92,6 +107,214 @@ struct fips_test_callback aes_writeback_callbacks[] = {
 		{NULL, NULL, NULL} /**< end pointer */
 };
 
+#ifdef RTE_HAS_JANSSON
+struct fips_test_callback aes_dec_json_vectors[] = {
+		{KEY_JSON_STR, parse_uint8_known_len_hex_str, &vec.cipher_auth.key},
+		{IV_JSON_STR, parse_uint8_hex_str, &vec.iv},
+		{CT_JSON_STR, parse_uint8_hex_str, &vec.ct},
+		{NULL, NULL, NULL} /**< end pointer */
+};
+
+struct fips_test_callback aes_interim_json_vectors[] = {
+		{KEYLEN_JSON_STR, parser_read_uint32_bit_val, &vec.cipher_auth.key},
+		{NULL, NULL, NULL} /**< end pointer */
+};
+
+struct fips_test_callback aes_enc_json_vectors[] = {
+		{KEY_JSON_STR, parse_uint8_known_len_hex_str, &vec.cipher_auth.key},
+		{IV_JSON_STR, parse_uint8_hex_str, &vec.iv},
+		{PT_JSON_STR, parse_uint8_hex_str, &vec.pt},
+		{NULL, NULL, NULL} /**< end pointer */
+};
+
+static int
+parse_test_aes_json_writeback(struct fips_val *val)
+{
+	struct fips_val tmp_val;
+	json_t *tcId;
+
+	tcId = json_object_get(json_info.json_test_case, "tcId");
+
+	json_info.json_write_case = json_object();
+	json_object_set(json_info.json_write_case, "tcId", tcId);
+
+	if (info.op == FIPS_TEST_ENC_AUTH_GEN) {
+		json_t *ct;
+
+		tmp_val.val = val->val;
+		tmp_val.len = vec.pt.len;
+
+		writeback_hex_str("", info.one_line_text, &tmp_val);
+		ct = json_string(info.one_line_text);
+		json_object_set_new(json_info.json_write_case, CT_JSON_STR, ct);
+
+		tmp_val.val = val->val + vec.pt.len;
+		tmp_val.len = val->len - vec.pt.len;
+
+		writeback_hex_str("", info.one_line_text, &tmp_val);
+	} else {
+		if (vec.status == RTE_CRYPTO_OP_STATUS_SUCCESS) {
+			tmp_val.val = val->val;
+			tmp_val.len = vec.ct.len;
+
+			writeback_hex_str("", info.one_line_text, &tmp_val);
+			json_object_set_new(json_info.json_write_case, PT_JSON_STR,
+								json_string(info.one_line_text));
+		} else {
+			json_object_set_new(json_info.json_write_case, "testPassed", json_false());
+		}
+	}
+
+	return 0;
+}
+
+static int
+parse_test_aes_mct_json_writeback(struct fips_val *val)
+{
+	json_t *tcId, *resArr, *res, *ct, *pt, *key, *iv;
+	struct fips_val tmp_val;
+
+	tcId = json_object_get(json_info.json_test_case, "tcId");
+	if (json_info.json_write_case) {
+		json_t *wcId;
+
+		wcId = json_object_get(json_info.json_write_case, "tcId");
+		if (!json_equal(tcId, wcId)) {
+			json_info.json_write_case = json_object();
+			json_object_set(json_info.json_write_case, "tcId", tcId);
+			json_object_set(json_info.json_write_case, "resultsArray", json_array());
+		}
+	} else {
+		json_info.json_write_case = json_object();
+		json_object_set(json_info.json_write_case, "tcId", tcId);
+		json_object_set(json_info.json_write_case, "resultsArray", json_array());
+	}
+
+	resArr = json_object_get(json_info.json_write_case, "resultsArray");
+	if (!json_is_array(resArr))
+		return -EINVAL;
+
+	res = json_object();
+	if (info .op == FIPS_TEST_ENC_AUTH_GEN) {
+		writeback_hex_str("", info.one_line_text, &vec.cipher_auth.key);
+		key = json_string(info.one_line_text);
+		json_object_set_new(res, KEY_JSON_STR, key);
+
+		writeback_hex_str("", info.one_line_text, &val[2]);
+		iv = json_string(info.one_line_text);
+		json_object_set_new(res, IV_JSON_STR, iv);
+
+		writeback_hex_str("", info.one_line_text, &val[1]);
+		pt = json_string(info.one_line_text);
+		json_object_set_new(res, PT_JSON_STR, pt);
+
+		tmp_val.val = val->val;
+		tmp_val.len = vec.pt.len;
+
+		writeback_hex_str("", info.one_line_text, &tmp_val);
+		ct = json_string(info.one_line_text);
+		json_object_set_new(res, CT_JSON_STR, ct);
+
+		tmp_val.val = val->val + vec.pt.len;
+		tmp_val.len = val->len - vec.pt.len;
+
+		writeback_hex_str("", info.one_line_text, &tmp_val);
+	} else {
+		if (vec.status == RTE_CRYPTO_OP_STATUS_SUCCESS) {
+			writeback_hex_str("", info.one_line_text, &vec.cipher_auth.key);
+			key = json_string(info.one_line_text);
+			json_object_set_new(res, KEY_JSON_STR, key);
+
+			writeback_hex_str("", info.one_line_text, &val[2]);
+			iv = json_string(info.one_line_text);
+			json_object_set_new(res, IV_JSON_STR, iv);
+
+			tmp_val.val = val->val;
+			tmp_val.len = vec.ct.len;
+
+			writeback_hex_str("", info.one_line_text, &tmp_val);
+			pt = json_string(info.one_line_text);
+			json_object_set_new(res, PT_JSON_STR, pt);
+
+			writeback_hex_str("", info.one_line_text, &val[1]);
+			ct = json_string(info.one_line_text);
+			json_object_set_new(res, CT_JSON_STR, ct);
+		} else {
+			json_object_set_new(json_info.json_write_case, "testPassed", json_false());
+		}
+	}
+
+	json_array_append(resArr, res);
+	return 0;
+}
+
+int
+parse_test_aes_json_init(void)
+{
+	json_t *type_obj = json_object_get(json_info.json_test_group, TESTTYPE_JSON_STR);
+	json_t *algo_obj = json_object_get(json_info.json_vector_set, ALGO_JSON_STR);
+	const char *type_str = json_string_value(type_obj);
+	const char *algo_str = json_string_value(algo_obj);
+	uint32_t i;
+
+	if (json_info.json_test_group) {
+		json_t *direction_obj;
+		const char *direction_str;
+
+		direction_obj = json_object_get(json_info.json_test_group, DIR_JSON_STR);
+		direction_str = json_string_value(direction_obj);
+
+		if (strcmp(direction_str, OP_ENC_JSON_STR) == 0) {
+			info.op = FIPS_TEST_ENC_AUTH_GEN;
+			info.callbacks = aes_enc_json_vectors;
+
+		} else if (strcmp(direction_str, OP_DEC_JSON_STR) == 0) {
+			info.op = FIPS_TEST_DEC_AUTH_VERIF;
+			info.callbacks = aes_dec_json_vectors;
+		} else {
+			return -EINVAL;
+		}
+		info.interim_callbacks = aes_interim_json_vectors;
+	}
+
+	for (i = 0; i < RTE_DIM(aes_test_types); i++)
+		if (strstr(type_str, aes_test_types[i].desc)) {
+			info.interim_info.aes_data.test_type =
+				aes_test_types[i].type;
+			break;
+		}
+
+	if (i >= RTE_DIM(aes_test_types))
+		return -EINVAL;
+
+	switch (info.interim_info.aes_data.test_type) {
+	case AESAVS_TYPE_MCT:
+		info.parse_writeback = parse_test_aes_mct_json_writeback;
+		break;
+	case AESAVS_TYPE_AFT:
+		info.parse_writeback = parse_test_aes_json_writeback;
+		break;
+	default:
+		info.parse_writeback = NULL;
+	}
+
+	if (!info.parse_writeback)
+		return -EINVAL;
+
+	for (i = 0; i < RTE_DIM(algo_con); i++)
+		if (strstr(algo_str, algo_con[i].name)) {
+			info.interim_info.aes_data.cipher_algo =
+				(uint32_t)algo_con[i].algo;
+			break;
+		}
+
+	if (i >= RTE_DIM(algo_con))
+		return -EINVAL;
+
+	return 0;
+}
+#endif /* RTE_HAS_JANSSON */
+
 static int
 parse_test_aes_writeback(struct fips_val *val)
 {
diff --git a/examples/fips_validation/main.c b/examples/fips_validation/main.c
index e703a111da..a74a38e1ae 100644
--- a/examples/fips_validation/main.c
+++ b/examples/fips_validation/main.c
@@ -1545,7 +1545,7 @@ fips_mct_aes_test(void)
 #define AES_BLOCK_SIZE	16
 #define AES_EXTERN_ITER	100
 #define AES_INTERN_ITER	1000
-	struct fips_val val = {NULL, 0}, val_key;
+	struct fips_val val[3] = {{NULL, 0},}, val_key,  pt, ct, iv;
 	uint8_t prev_out[AES_BLOCK_SIZE] = {0};
 	uint8_t prev_in[AES_BLOCK_SIZE] = {0};
 	uint32_t i, j, k;
@@ -1554,11 +1554,16 @@ fips_mct_aes_test(void)
 	if (info.interim_info.aes_data.cipher_algo == RTE_CRYPTO_CIPHER_AES_ECB)
 		return fips_mct_aes_ecb_test();
 
+	memset(&pt, 0, sizeof(struct fips_val));
+	memset(&ct, 0, sizeof(struct fips_val));
+	memset(&iv, 0, sizeof(struct fips_val));
 	for (i = 0; i < AES_EXTERN_ITER; i++) {
-		if (i != 0)
-			update_info_vec(i);
+		if (info.file_type != FIPS_TYPE_JSON) {
+			if (i != 0)
+				update_info_vec(i);
 
-		fips_test_write_one_case();
+			fips_test_write_one_case();
+		}
 
 		for (j = 0; j < AES_INTERN_ITER; j++) {
 			ret = fips_run_test();
@@ -1571,7 +1576,7 @@ fips_mct_aes_test(void)
 				return ret;
 			}
 
-			ret = get_writeback_data(&val);
+			ret = get_writeback_data(&val[0]);
 			if (ret < 0)
 				return ret;
 
@@ -1579,24 +1584,39 @@ fips_mct_aes_test(void)
 				memcpy(prev_in, vec.ct.val, AES_BLOCK_SIZE);
 
 			if (j == 0) {
-				memcpy(prev_out, val.val, AES_BLOCK_SIZE);
+				memcpy(prev_out, val[0].val, AES_BLOCK_SIZE);
+				pt.len = vec.pt.len;
+				pt.val = calloc(1, pt.len);
+				memcpy(pt.val, vec.pt.val, pt.len);
+
+				ct.len = vec.ct.len;
+				ct.val = calloc(1, ct.len);
+				memcpy(ct.val, vec.ct.val, ct.len);
+
+				iv.len = vec.iv.len;
+				iv.val = calloc(1, iv.len);
+				memcpy(iv.val, vec.iv.val, iv.len);
 
 				if (info.op == FIPS_TEST_ENC_AUTH_GEN) {
-					memcpy(vec.pt.val, vec.iv.val,
-							AES_BLOCK_SIZE);
-					memcpy(vec.iv.val, val.val,
-							AES_BLOCK_SIZE);
+					memcpy(vec.pt.val, vec.iv.val, AES_BLOCK_SIZE);
+					memcpy(vec.iv.val, val[0].val, AES_BLOCK_SIZE);
+					val[1].val = pt.val;
+					val[1].len = pt.len;
+					val[2].val = iv.val;
+					val[2].len = iv.len;
 				} else {
-					memcpy(vec.ct.val, vec.iv.val,
-							AES_BLOCK_SIZE);
-					memcpy(vec.iv.val, prev_in,
-							AES_BLOCK_SIZE);
+					memcpy(vec.ct.val, vec.iv.val, AES_BLOCK_SIZE);
+					memcpy(vec.iv.val, prev_in, AES_BLOCK_SIZE);
+					val[1].val = ct.val;
+					val[1].len = ct.len;
+					val[2].val = iv.val;
+					val[2].len = iv.len;
 				}
 				continue;
 			}
 
 			if (info.op == FIPS_TEST_ENC_AUTH_GEN) {
-				memcpy(vec.iv.val, val.val, AES_BLOCK_SIZE);
+				memcpy(vec.iv.val, val[0].val, AES_BLOCK_SIZE);
 				memcpy(vec.pt.val, prev_out, AES_BLOCK_SIZE);
 			} else {
 				memcpy(vec.iv.val, prev_in, AES_BLOCK_SIZE);
@@ -1606,33 +1626,38 @@ fips_mct_aes_test(void)
 			if (j == AES_INTERN_ITER - 1)
 				continue;
 
-			memcpy(prev_out, val.val, AES_BLOCK_SIZE);
+			memcpy(prev_out, val[0].val, AES_BLOCK_SIZE);
 		}
 
-		info.parse_writeback(&val);
-		fprintf(info.fp_wr, "\n");
+		info.parse_writeback(val);
+		if (info.file_type != FIPS_TYPE_JSON)
+			fprintf(info.fp_wr, "\n");
 
-		if (i == AES_EXTERN_ITER - 1)
+		if (i == AES_EXTERN_ITER - 1) {
+			free(pt.val);
+			free(ct.val);
+			free(iv.val);
 			continue;
+		}
 
 		/** update key */
 		memcpy(&val_key, &vec.cipher_auth.key, sizeof(val_key));
 		for (k = 0; k < vec.cipher_auth.key.len; k++) {
 			switch (vec.cipher_auth.key.len) {
 			case 16:
-				val_key.val[k] ^= val.val[k];
+				val_key.val[k] ^= val[0].val[k];
 				break;
 			case 24:
 				if (k < 8)
 					val_key.val[k] ^= prev_out[k + 8];
 				else
-					val_key.val[k] ^= val.val[k - 8];
+					val_key.val[k] ^= val[0].val[k - 8];
 				break;
 			case 32:
 				if (k < 16)
 					val_key.val[k] ^= prev_out[k];
 				else
-					val_key.val[k] ^= val.val[k - 16];
+					val_key.val[k] ^= val[0].val[k - 16];
 				break;
 			default:
 				return -1;
@@ -1640,10 +1665,10 @@ fips_mct_aes_test(void)
 		}
 
 		if (info.op == FIPS_TEST_DEC_AUTH_VERIF)
-			memcpy(vec.iv.val, val.val, AES_BLOCK_SIZE);
+			memcpy(vec.iv.val, val[0].val, AES_BLOCK_SIZE);
 	}
 
-	free(val.val);
+	free(val[0].val);
 
 	return 1;
 }
@@ -1944,6 +1969,9 @@ fips_test_one_test_group(void)
 	case FIPS_TEST_ALGO_AES_CMAC:
 		ret = parse_test_cmac_json_init();
 		break;
+	case FIPS_TEST_ALGO_AES:
+		ret = parse_test_aes_json_init();
+		break;
 	default:
 		return -EINVAL;
 	}
-- 
2.25.1


  reply	other threads:[~2022-05-25 17:09 UTC|newest]

Thread overview: 122+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-27 14:51 [PATCH 0/5] Add JSON vector set support to fips validation Brandon Lo
2022-01-27 14:51 ` [PATCH 1/5] examples/fips_validation: add jansson dependency Brandon Lo
2022-01-27 14:51 ` [PATCH 2/5] examples/fips_validation: add json info to header Brandon Lo
2022-01-27 14:51 ` [PATCH 3/5] examples/fips_validation: add json parsing Brandon Lo
2022-01-27 14:51 ` [PATCH 4/5] examples/fips_validation: allow json file as input Brandon Lo
2022-01-27 14:51 ` [PATCH 5/5] examples/fips_validation: add json to gcm test Brandon Lo
2022-01-29 17:03 ` [PATCH v2 0/5] Add JSON vector set support to fips validation Brandon Lo
2022-01-29 17:03   ` [PATCH v2 1/5] examples/fips_validation: add jansson dependency Brandon Lo
2022-01-29 17:03   ` [PATCH v2 2/5] examples/fips_validation: add json info to header Brandon Lo
2022-01-29 17:03   ` [PATCH v2 3/5] examples/fips_validation: add json parsing Brandon Lo
2022-01-29 17:03   ` [PATCH v2 4/5] examples/fips_validation: allow json file as input Brandon Lo
2022-01-29 17:03   ` [PATCH v2 5/5] examples/fips_validation: add json to gcm test Brandon Lo
2022-01-29 17:55   ` [PATCH v3 0/5] Add JSON vector set support to fips validation Brandon Lo
2022-01-29 17:55     ` [PATCH v3 1/5] examples/fips_validation: add jansson dependency Brandon Lo
2022-01-29 17:55     ` [PATCH v3 2/5] examples/fips_validation: add json info to header Brandon Lo
2022-01-29 17:55     ` [PATCH v3 3/5] examples/fips_validation: add json parsing Brandon Lo
2022-01-29 17:55     ` [PATCH v3 4/5] examples/fips_validation: allow json file as input Brandon Lo
2022-01-29 17:55     ` [PATCH v3 5/5] examples/fips_validation: add json to gcm test Brandon Lo
2022-02-02 15:15     ` [PATCH v3 0/5] Add JSON vector set support to fips validation Brandon Lo
     [not found]       ` <MN2PR11MB382152E7C1DAFD68066264DEE62F9@MN2PR11MB3821.namprd11.prod.outlook.com>
     [not found]         ` <CAOeXdvZFkEUn-e2Reo3xg519qWpGq-UbYFhJqVeEMcXVxK7+YQ@mail.gmail.com>
     [not found]           ` <CAOeXdvZ4nBudX+bMdRASaLp=c955vUHi1Z-geUC6gFvE__2ozg@mail.gmail.com>
     [not found]             ` <CAOeXdvZbwW2tP-vyELRJza_imjjRm-JNYu+c4=-y2VtigqNg5A@mail.gmail.com>
2022-04-14 13:41               ` Brandon Lo
2022-04-21  8:02                 ` [EXT] " Gowrishankar Muthukrishnan
2022-04-26 14:30                   ` Brandon Lo
2022-02-08 21:48     ` [EXT] " Akhil Goyal
2022-04-29 16:15     ` [PATCH v4 0/8] " Brandon Lo
2022-04-29 16:15       ` [PATCH v4 1/8] examples/fips_validation: add jansson dependency Brandon Lo
2022-05-18 15:44         ` [EXT] " Gowrishankar Muthukrishnan
2022-04-29 16:15       ` [PATCH v4 2/8] examples/fips_validation: add json info to header Brandon Lo
2022-05-18 15:44         ` [EXT] " Gowrishankar Muthukrishnan
2022-04-29 16:15       ` [PATCH v4 3/8] examples/fips_validation: add json parsing Brandon Lo
2022-05-18 15:45         ` [EXT] " Gowrishankar Muthukrishnan
2022-04-29 16:15       ` [PATCH v4 4/8] examples/fips_validation: allow json file as input Brandon Lo
2022-05-18 15:45         ` [EXT] " Gowrishankar Muthukrishnan
2022-05-19  5:30         ` Gowrishankar Muthukrishnan
2022-05-19  9:12           ` Gowrishankar Muthukrishnan
2022-04-29 16:15       ` [PATCH v4 5/8] examples/fips_validation: add json to gcm test Brandon Lo
2022-05-18 15:45         ` [EXT] " Gowrishankar Muthukrishnan
2022-04-29 16:15       ` [PATCH v4 6/8] examples/fips_validation: add json to hmac Brandon Lo
2022-05-18 15:45         ` [EXT] " Gowrishankar Muthukrishnan
2022-04-29 16:15       ` [PATCH v4 7/8] examples/fips_validation: implement json cmac test Brandon Lo
2022-05-18 15:46         ` [EXT] " Gowrishankar Muthukrishnan
2022-04-29 16:15       ` [PATCH v4 8/8] examples/fips_validation: add parsing for cmac Brandon Lo
2022-05-18 15:46         ` [EXT] " Gowrishankar Muthukrishnan
2022-05-19  5:31         ` Gowrishankar Muthukrishnan
2022-05-19  9:11           ` Gowrishankar Muthukrishnan
2022-04-29 16:19       ` [PATCH v4 0/8] Add JSON vector set support to fips validation Brandon Lo
2022-05-25 15:45       ` [v5, 00/11] " Gowrishankar Muthukrishnan
2022-05-25 15:45         ` [v5, 01/11] examples/fips_validation: add jansson dependency Gowrishankar Muthukrishnan
2022-05-25 15:45         ` [v5, 02/11] examples/fips_validation: add json info to header Gowrishankar Muthukrishnan
2022-05-25 15:45         ` [v5, 03/11] examples/fips_validation: add json parsing Gowrishankar Muthukrishnan
2022-05-25 15:45         ` [v5, 04/11] examples/fips_validation: allow json file as input Gowrishankar Muthukrishnan
2022-05-25 15:45         ` [v5, 05/11] examples/fips_validation: add json to gcm test Gowrishankar Muthukrishnan
2022-05-25 15:45         ` [v5, 06/11] examples/fips_validation: add json to hmac Gowrishankar Muthukrishnan
2022-05-25 15:45         ` [v5, 07/11] examples/fips_validation: implement json cmac test Gowrishankar Muthukrishnan
2022-05-25 15:45         ` [v5, 08/11] examples/fips_validation: add parsing for cmac Gowrishankar Muthukrishnan
2022-05-25 15:45         ` [v5, 09/11] examples/fips_validation: cleanup bypass tests in response file Gowrishankar Muthukrishnan
2022-05-25 15:45         ` [v5, 10/11] examples/fips_validation: reset IV generation in every test group Gowrishankar Muthukrishnan
2022-05-25 15:45         ` [v5, 11/11] examples/fips_validation: add parsing for aes_cbc Gowrishankar Muthukrishnan
2022-05-25 17:08           ` Gowrishankar Muthukrishnan [this message]
2022-05-25 17:13         ` [v6, 00/11] Add JSON vector set support to fips validation Gowrishankar Muthukrishnan
2022-05-25 17:13           ` [v6, 01/11] examples/fips_validation: add jansson dependency Gowrishankar Muthukrishnan
2022-05-25 17:13           ` [v6, 02/11] examples/fips_validation: add json info to header Gowrishankar Muthukrishnan
2022-05-25 17:13           ` [v6, 03/11] examples/fips_validation: add json parsing Gowrishankar Muthukrishnan
2022-05-25 17:13           ` [v6, 04/11] examples/fips_validation: allow json file as input Gowrishankar Muthukrishnan
2022-05-25 17:13           ` [v6, 05/11] examples/fips_validation: add json to gcm test Gowrishankar Muthukrishnan
2022-05-25 17:13           ` [v6, 06/11] examples/fips_validation: add json to hmac Gowrishankar Muthukrishnan
2022-05-25 17:13           ` [v6, 07/11] examples/fips_validation: implement json cmac test Gowrishankar Muthukrishnan
2022-05-25 17:13           ` [v6, 08/11] examples/fips_validation: add parsing for cmac Gowrishankar Muthukrishnan
2022-05-25 17:13           ` [v6, 09/11] examples/fips_validation: cleanup bypass tests in response file Gowrishankar Muthukrishnan
2022-05-25 17:13           ` [v6, 10/11] examples/fips_validation: reset IV generation in every test group Gowrishankar Muthukrishnan
2022-05-25 17:13           ` [v6, 11/11] examples/fips_validation: add parsing for aes_cbc Gowrishankar Muthukrishnan
2022-05-26  6:46           ` [EXT] [v6, 00/11] Add JSON vector set support to fips validation Akhil Goyal
2022-05-26  8:02           ` [v7, " Gowrishankar Muthukrishnan
2022-05-26  8:02             ` [v7, 01/11] examples/fips_validation: add jansson dependency Gowrishankar Muthukrishnan
2022-05-26  9:46               ` Zhang, Roy Fan
2022-05-26  8:02             ` [v7, 02/11] examples/fips_validation: add json info to header Gowrishankar Muthukrishnan
2022-05-26  9:46               ` Zhang, Roy Fan
2022-05-26  8:02             ` [v7, 03/11] examples/fips_validation: add json parsing Gowrishankar Muthukrishnan
2022-05-26  9:47               ` Zhang, Roy Fan
2022-05-26  8:02             ` [v7, 04/11] examples/fips_validation: allow json file as input Gowrishankar Muthukrishnan
2022-05-26  9:48               ` Zhang, Roy Fan
2022-05-26  8:02             ` [v7, 05/11] examples/fips_validation: add json to gcm test Gowrishankar Muthukrishnan
2022-05-26  9:49               ` Zhang, Roy Fan
2022-05-26  8:02             ` [v7, 06/11] examples/fips_validation: add json to hmac Gowrishankar Muthukrishnan
2022-05-26  9:49               ` Zhang, Roy Fan
2022-05-26  8:02             ` [v7, 07/11] examples/fips_validation: implement json cmac test Gowrishankar Muthukrishnan
2022-05-26  9:49               ` Zhang, Roy Fan
2022-05-26  8:02             ` [v7, 08/11] examples/fips_validation: add parsing for cmac Gowrishankar Muthukrishnan
2022-05-26  9:50               ` Zhang, Roy Fan
2022-05-26  8:02             ` [v7, 09/11] examples/fips_validation: cleanup bypass tests in response file Gowrishankar Muthukrishnan
2022-05-26  8:02             ` [v7, 10/11] examples/fips_validation: reset IV generation in every test group Gowrishankar Muthukrishnan
2022-05-26  8:02             ` [v7, 11/11] examples/fips_validation: add parsing for aes_cbc Gowrishankar Muthukrishnan
2022-05-30 12:23             ` [v8, 00/10] Add JSON vector set support to fips validation Gowrishankar Muthukrishnan
2022-05-30 12:23               ` [v8, 01/10] examples/fips_validation: add jansson dependency Gowrishankar Muthukrishnan
2022-05-30 12:23               ` [v8, 02/10] examples/fips_validation: add json info to header Gowrishankar Muthukrishnan
2022-05-30 12:23               ` [v8, 03/10] examples/fips_validation: add json parsing Gowrishankar Muthukrishnan
2022-05-30 12:23               ` [v8, 04/10] examples/fips_validation: allow json file as input Gowrishankar Muthukrishnan
2022-05-30 12:23               ` [v8, 05/10] examples/fips_validation: add json to gcm test Gowrishankar Muthukrishnan
2022-05-30 12:23               ` [v8, 06/10] examples/fips_validation: add json to hmac Gowrishankar Muthukrishnan
2022-05-30 12:23               ` [v8, 07/10] examples/fips_validation: implement json cmac test Gowrishankar Muthukrishnan
2022-05-30 12:23               ` [v8, 08/10] examples/fips_validation: add parsing for cmac Gowrishankar Muthukrishnan
2022-05-30 12:23               ` [v8, 09/10] examples/fips_validation: add parsing for aes_cbc Gowrishankar Muthukrishnan
2022-05-30 12:23               ` [v8, 10/10] doc: add notes about acvp validation support Gowrishankar Muthukrishnan
2022-05-30 15:52               ` [v9, 00/10] Add JSON vector set support to fips validation Gowrishankar Muthukrishnan
2022-05-30 15:52                 ` [v9, 01/10] examples/fips_validation: add jansson dependency Gowrishankar Muthukrishnan
2022-05-30 15:52                 ` [v9, 02/10] examples/fips_validation: add json info to header Gowrishankar Muthukrishnan
2022-05-30 15:52                 ` [v9, 03/10] examples/fips_validation: add json parsing Gowrishankar Muthukrishnan
2022-05-30 15:52                 ` [v9, 04/10] examples/fips_validation: allow json file as input Gowrishankar Muthukrishnan
2022-05-30 15:52                 ` [v9, 05/10] examples/fips_validation: add json to gcm test Gowrishankar Muthukrishnan
2022-05-30 15:52                 ` [v9, 06/10] examples/fips_validation: add json to hmac Gowrishankar Muthukrishnan
2022-05-30 15:52                 ` [v9, 07/10] examples/fips_validation: implement json cmac test Gowrishankar Muthukrishnan
2022-05-30 15:52                 ` [v9, 08/10] examples/fips_validation: add parsing for cmac Gowrishankar Muthukrishnan
2022-05-30 15:52                 ` [v9, 09/10] examples/fips_validation: add parsing for aes_cbc Gowrishankar Muthukrishnan
2022-05-30 15:52                 ` [v9, 10/10] doc: add notes about acvp validation support Gowrishankar Muthukrishnan
2022-05-31 10:17                 ` [v9, 00/10] Add JSON vector set support to fips validation Poczatek, Jakub
2022-05-31 12:36                 ` Zhang, Roy Fan
2022-05-31 15:23                   ` Akhil Goyal
2022-06-07  9:48                     ` David Marchand
2022-06-13 11:58                       ` David Marchand
2022-06-21  7:28                         ` [EXT] " Gowrishankar Muthukrishnan
2022-06-21  7:36                           ` David Marchand
2022-06-21  7:40                             ` Akhil Goyal
2022-06-21  7:41                               ` David Marchand

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7c0cfaf4157188bb83e589063119731549fbea6b.1653498441.git.gmuthukrishn@marvell.com \
    --to=gmuthukrishn@marvell.com \
    --cc=anoobj@marvell.com \
    --cc=brian.dooley@intel.com \
    --cc=dev@dpdk.org \
    --cc=jerinj@marvell.com \
    --cc=lylavoie@iol.unh.edu \
    --cc=marchana@marvell.com \
    --cc=roy.fan.zhang@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.