From: <michaelsh@marvell.com>
To: <marko.kovacevic@intel.com>
Cc: <dev@dpdk.org>, <lironh@marvell.com>, <michaelsh@marvell.com>
Subject: [dpdk-dev] [PATCH 08/12] examples/fips: AES-GCM decryption vectors fix
Date: Mon, 26 Aug 2019 12:41:16 +0300 [thread overview]
Message-ID: <20190826094120.22590-9-michaelsh@marvell.com> (raw)
In-Reply-To: <20190826094120.22590-1-michaelsh@marvell.com>
From: Michael Shamis <michaelsh@marvell.com>
AES-GCM CAVS vectors for decryption set PTlen (plain text length)
but provide crypto text and application expected CTlen to be not
null. Now we assign PTlen to CTlen in decryption scenario and
it allows to application to handle AES-GCM decryption vectors.
Signed-off-by: Michael Shamis <michaelsh@marvell.com>
---
.../fips_validation/fips_validation_gcm.c | 23 ++++++++++++++++++-
1 file changed, 22 insertions(+), 1 deletion(-)
diff --git a/examples/fips_validation/fips_validation_gcm.c b/examples/fips_validation/fips_validation_gcm.c
index ea48ddf70..f68b4ea82 100644
--- a/examples/fips_validation/fips_validation_gcm.c
+++ b/examples/fips_validation/fips_validation_gcm.c
@@ -33,10 +33,15 @@
#define NEG_TEST_STR "FAIL"
+static int
+parse_uint8_known_len_hex_str_dec(const char *key,
+ char *src,
+ struct fips_val *val);
+
struct fips_test_callback gcm_dec_vectors[] = {
{KEY_STR, parse_uint8_known_len_hex_str, &vec.aead.key},
{IV_STR, parse_uint8_known_len_hex_str, &vec.iv},
- {CT_STR, parse_uint8_known_len_hex_str, &vec.ct},
+ {CT_STR, parse_uint8_known_len_hex_str_dec, &vec.ct},
{AAD_STR, parse_uint8_known_len_hex_str, &vec.aead.aad},
{TAG_STR, parse_uint8_known_len_hex_str,
&vec.aead.digest},
@@ -123,3 +128,19 @@ parse_test_gcm_init(void)
return 0;
}
+
+static int
+parse_uint8_known_len_hex_str_dec(const char *key,
+ char *src,
+ struct fips_val *val)
+{
+ /* AES-GCM CAVS vectors for decryption set PTlen (plain text length)
+ * but provide crypto text.
+ * In order to compensate the behavior we assign PTlen to CTlen
+ * (crypto text length) which is used for calculations
+ */
+ if (info.op == FIPS_TEST_DEC_AUTH_VERIF)
+ vec.ct.len = vec.pt.len;
+
+ return parse_uint8_known_len_hex_str(key, src, val);
+}
--
2.23.0
next prev parent reply other threads:[~2019-08-26 9:24 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-08-26 9:41 [dpdk-dev] [PATCH 00/12] FIPS improvements michaelsh
2019-08-26 9:41 ` [dpdk-dev] [PATCH 01/12] examples/fips: added support for SHA algorithm in FIPS tests michaelsh
2019-08-26 9:41 ` [dpdk-dev] [PATCH 02/12] examples/fips: added support for TDES ECB mode " michaelsh
2019-08-26 9:41 ` [dpdk-dev] [PATCH 03/12] examples/fips: added support AES " michaelsh
2019-08-26 9:41 ` [dpdk-dev] [PATCH 04/12] examples/fips: fix bad return code in fips_test_parse_header() michaelsh
2019-09-04 9:51 ` Akhil Goyal
2019-08-26 9:41 ` [dpdk-dev] [PATCH 05/12] examples/fips: AES-GCM vectors will use aead structure michaelsh
2019-08-26 9:41 ` [dpdk-dev] [PATCH 06/12] examples/fips: set initial IV in AES-GCM if configured only salt value michaelsh
2019-08-26 9:41 ` [dpdk-dev] [PATCH 07/12] examples/fips: keep digest after crypto text michaelsh
2019-08-26 9:41 ` michaelsh [this message]
2019-08-26 9:41 ` [dpdk-dev] [PATCH 09/12] examples/fips: fix KEY and PT output prints for TDES mode michaelsh
2019-08-26 9:41 ` [dpdk-dev] [PATCH 10/12] examples/fips: supported IV, PT and CT init for TDES ECB mode michaelsh
2019-08-26 9:41 ` [dpdk-dev] [PATCH 11/12] examples/fips: algorithm definition by folder if it's not in file michaelsh
2019-08-26 9:41 ` [dpdk-dev] [PATCH 12/12] examples/fips: erroneous overwrite of PLAINTEXT after DECRYPT michaelsh
2019-09-04 10:14 ` [dpdk-dev] [PATCH 00/12] FIPS improvements Akhil Goyal
2019-09-15 10:47 ` Michael Shamis
2019-09-16 8:57 ` Akhil Goyal
2019-09-19 12:15 ` [dpdk-dev] [PATCH v2 0/3] Support ECB for AES and TDES michaelsh
2019-09-19 12:15 ` [dpdk-dev] [PATCH v2 1/3] examples/fips_validation: added support for TDES ECB michaelsh
2019-09-19 12:15 ` [dpdk-dev] [PATCH v2 2/3] examples/fips_validation: added support AES ECB michaelsh
2019-09-19 12:15 ` [dpdk-dev] [PATCH v2 3/3] examples/fips_validation: separated init for TDES ECB and CBC michaelsh
2019-10-01 10:32 ` [dpdk-dev] [PATCH v3 0/3] support ECB for AES and TDES michaelsh
2019-10-01 10:15 ` Akhil Goyal
2019-10-01 10:32 ` [dpdk-dev] [PATCH v3 1/3] examples/fips_validation: add TDES ECB support michaelsh
2019-10-01 10:32 ` [dpdk-dev] [PATCH v3 2/3] examples/fips_validation: add AES " michaelsh
2019-10-15 13:53 ` Kovacevic, Marko
2019-10-01 10:32 ` [dpdk-dev] [PATCH v3 3/3] examples/fips_validation: separate ECB and CBC michaelsh
2019-10-01 11:22 ` [dpdk-dev] [PATCH v3 0/3] support ECB for AES and TDES michaelsh
2019-10-01 11:22 ` [dpdk-dev] [PATCH v3 1/3] examples/fips_validation: add TDES ECB support michaelsh
2019-10-15 13:50 ` Kovacevic, Marko
2019-10-01 11:22 ` [dpdk-dev] [PATCH v3 2/3] examples/fips_validation: add AES " michaelsh
2019-10-01 11:22 ` [dpdk-dev] [PATCH v3 3/3] examples/fips_validation: separate ECB and CBC michaelsh
2019-10-15 13:54 ` Kovacevic, Marko
2019-10-04 10:33 ` [dpdk-dev] [PATCH v3 0/3] support ECB for AES and TDES Akhil Goyal
2019-10-15 13:40 ` Akhil Goyal
2019-10-15 14:03 ` Akhil Goyal
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=20190826094120.22590-9-michaelsh@marvell.com \
--to=michaelsh@marvell.com \
--cc=dev@dpdk.org \
--cc=lironh@marvell.com \
--cc=marko.kovacevic@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).