From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7842FA0503; Wed, 18 May 2022 17:46:09 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 68E724021D; Wed, 18 May 2022 17:46:09 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 0995F40156 for ; Wed, 18 May 2022 17:46:07 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.17.1.5/8.17.1.5) with ESMTP id 24IBrJki010292; Wed, 18 May 2022 08:46:07 -0700 Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2175.outbound.protection.outlook.com [104.47.55.175]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 3g50as0wmn-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Wed, 18 May 2022 08:46:07 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YnaCxmRUgqVafd2gkAmK3GNJtPtV08Wd5dRJkoWZHXr+2WxBCSL5s/80JlPDwW5QvZzBP+97Y0rRxMzFbNlybhOvwrssw/K7GD3wQpQjnwFYFfsKk/igbRBVETew2t56hW2+7OXjAQL48HOUJ/tGmH7/0b3+l8yqrfk94Ne/QGWwDnvtKsgBPaYcB9YhXWgDX67ORY+vMM5+LSAv8awi6rW2CN7eWwIkDOdzf0Kz26vY5h4LADJ2BMa8J9Dw2hENoYKCKnJ1h8/crnNV+1wQRfo8SRrY+1svgohCsoGTdWBTToEHWXK8xbVSLAhuIOvhnhWtjMyQC9UOfHVAFUbi8w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=WjdY2qpcjJ1OdgquE42vTqidngQ7fNLAH/KrbQi2Wg8=; b=kkKas2hDYMzALGUf96ECwkYbbMQuq3MqE7wIAPtolmdFJx+5zwOLqBfQmHEq6D4IX2+8fW3jStzf59EpQkw41a6wzosHlxAjxujtJ/RBf/31Ru55Ta9kHVVnY0jbbqgEfXIQxS2zegW0YFW9eCbVmp48Ebra8u+qUG1C1HN3h4V7OllOauZrcERq9vGjeC5Fx/wt6iZZV4xobw2uAuWyuAODgPTqdG5jk+mIG1BFBmSgV+IYYp5HDZBVEUeE2oWY9nlmJRmY5NUXkfRHNRrpg388kB5eHTHgmxLkeCnz3n0HW7EIqKsefyooMFeIwnquRIQcb0AyndLXyRa05dSN3w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=WjdY2qpcjJ1OdgquE42vTqidngQ7fNLAH/KrbQi2Wg8=; b=tYtV4f8xzmQ0JCadGERpvRs07b6wyU38Bd0rwCGuP6dsCdBIGvhDPaPU2HCxQUrepJLvInpmX8i9Di/LBhKG2qks8RlNdBp8d9TEFEa56ARisLBUf1JP3/wTLd+GecLKVreUemUZ724Moo2BjECxD5ZzMpLFQsADwDXUzEYioZI= Received: from CO1PR18MB4714.namprd18.prod.outlook.com (2603:10b6:303:e9::18) by MWHPR1801MB1936.namprd18.prod.outlook.com (2603:10b6:301:68::39) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5273.15; Wed, 18 May 2022 15:46:03 +0000 Received: from CO1PR18MB4714.namprd18.prod.outlook.com ([fe80::f83c:2654:ed5:fd1f]) by CO1PR18MB4714.namprd18.prod.outlook.com ([fe80::f83c:2654:ed5:fd1f%6]) with mapi id 15.20.5273.014; Wed, 18 May 2022 15:46:03 +0000 From: Gowrishankar Muthukrishnan To: Brandon Lo , "roy.fan.zhang@intel.com" , "ciara.power@intel.com" CC: "dev@dpdk.org" , Akhil Goyal Subject: RE: [EXT] [PATCH v4 7/8] examples/fips_validation: implement json cmac test Thread-Topic: [EXT] [PATCH v4 7/8] examples/fips_validation: implement json cmac test Thread-Index: AQHYW+SQY/edMUE+2EOloPiBGj9Q360k5O5g Date: Wed, 18 May 2022 15:46:03 +0000 Message-ID: References: <20220129175514.746925-1-blo@iol.unh.edu> <20220429161559.415645-1-blo@iol.unh.edu> <20220429161559.415645-8-blo@iol.unh.edu> In-Reply-To: <20220429161559.415645-8-blo@iol.unh.edu> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f6b14e3f-9841-4df3-659d-08da38e583df x-ms-traffictypediagnostic: MWHPR1801MB1936:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: OGSuW0lM04qOOgR/994872Qz/TT8fvZDV1Mj5CyFIYSZBxTvsDeKgRoMnRayKnseenbgcfMdGR+BK1nkga2s846XLcogiouq6cr1PRQc0pQ3C0f/h7wNJVwfJP9qtc0sas6t3Gvg3BTwki08dAXGdNBlqpkmENRCcQ+sZwtNZ/q4dVehK6qgUGCKqx51vwGhWYYkRZITnbzftpSCgOwDxLho4Xe+s5ejHJxaJC7HS39+jmdVdlUySnLELMZd0TJTNDOWWsyiJzPsFUa7vNpdcc+sCDiSOHIM33Rs2B+cx10CoIh9muYN9iTD178KIpiCqOBhv17Wbb0NE1BfNvM35TW0m0teE2E3hipuKVVqzsyZkSV2LzGzQGO9hfH1ZT5eaWNHCS/o53rnN3rGHKIewKYgmHLuh/DCNZt6TpwtgV74IVuJOQ9ZJsPMNs13oQBpA4l9MIuUnXYA8w4UpATZN5KZS55gSyRqk9S9VENv+UV4hyQC1yHncz3qA8SjhAjSRe52SBH/Q9dbYmc6DfxcAPtVQqHWV1CyPNEjg/d5Z3zdxBVlj1Yeict0VXmIlL8V7ynbyzY1hdkkjl1vIdG0+moOlri6AfSbbh43Op7dWOPo/vDcHJBV16sTZa27ID6ulhBI6+pN9ZEG3zkU38iIyp8qKZACw9IEC0trTVNQpxjc74Qk9I98/OrHni6267uodmGSgSK8v7NWpFqdSfR5mA== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CO1PR18MB4714.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(4326008)(8676002)(122000001)(38070700005)(7696005)(76116006)(66946007)(66556008)(66446008)(64756008)(2906002)(66476007)(71200400001)(55016003)(52536014)(5660300002)(508600001)(8936002)(33656002)(38100700002)(110136005)(54906003)(316002)(107886003)(186003)(26005)(6506007)(86362001)(83380400001)(53546011)(9686003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?2334O684h3a6V9Xk7Fxj5mh6ElTwpWmjGZYPiPP9kRwpW/cXmyGmuJ9a7RpC?= =?us-ascii?Q?6mPpb1iMplQkMtsT1YxQRqWa+WSBYpy9j3eCYBqPdVzh6KyaEUbqlx2E4qt5?= =?us-ascii?Q?yOCOnnGdWygbCHNUbU1+x9hX/OQdVuFRGm4YcdRjqlUoV/V+OD1CvUSNWMZ3?= =?us-ascii?Q?Qyu+wUCTDLLf/qLBG/8iAE3j2VxBnZGBDFuThBQ6gMP8/oui3hXCZgSu8/AK?= =?us-ascii?Q?2kUNYiPEL0yVXqxEsqrTXF1EhGRvGFlh/sa5g7HU3/nOITDtns/rO1Ob6pVx?= =?us-ascii?Q?GID8YlyeV/2w9QelpTcn5fBBRF1tF+Mlb0f9xM3OCuZ8ypbKFtusfyY1CLiv?= =?us-ascii?Q?BBAhWZV/LGd+NAbSzUMgA6iz2aBq7tUXoizF8wC1kxZoND9LB9EcThuQRbph?= =?us-ascii?Q?KoLS9qRBROMM+VavGGppk4wsAuSP/FTNvVPteclRuNSsz7IcKqrx25ehya4Z?= =?us-ascii?Q?3z5o3xjTtmXB1WoXyKYFqjjzsaM8W5frMgwOFhiQER1T8/diwJKqPztfwgb6?= =?us-ascii?Q?T0uHH1p1R33PQw4jC1LFqEi44Cg9G/ilLeCOFBPE6tFbDVapHU6z42bAEcz0?= =?us-ascii?Q?BcTJNADFFvK0ZaK6syA1bkaNsh5kEW+KeSn7XfnUSmDQFo+fmaISF7OHapnq?= =?us-ascii?Q?eOyk5W2Z3Y8/SXiVSGih9MV/+D1ubkIGoIwTEtMB6yl00IEKYS/sy42DLSxD?= =?us-ascii?Q?EDDyjYGvI3Zf/AyEEdny2LGjd7eqOyq7v6s85dPKaIy8ZTq6jl0+8KTYns6U?= =?us-ascii?Q?nNxMkAM27P8s56hmpvYK3rKDfNl1ZnkUdNDRw7yWgYI7+8iF9F3+2H6E88Da?= =?us-ascii?Q?AuJrCwlYN2A2Ju1tEwCdu45niJmLBvCu5RqgRhnATlFR3WLicfLKSs+oBXwm?= =?us-ascii?Q?hKhGTZ7CQzi6dK7IQ8cZd2MfFF+B5ilWpEMZr2eGGPyp0bpHcBo94pYs1IGJ?= =?us-ascii?Q?LtmmapOM+a97J+1Hwrc6E/gQJRL5ccvc0VgoP4ShlRXAsiIJ9aNayjrg0zO6?= =?us-ascii?Q?+7s9Psu0qXNec4U8SSefSF9igMpoFhBk0qi7Rop+pzFNym2d77TX8HkyuEdH?= =?us-ascii?Q?Z0pnLHbGNGiKCoRP010PKLA7sovm9oHILXxjFWctUNbtzEFeHaSzz8ZP680U?= =?us-ascii?Q?DdxixsdvPHJeQotnQwUAjZQFDAXAmj8FFsz3LLLKGN6ggJBMH7cBZcLR1t0Z?= =?us-ascii?Q?hy796/ukSgaaTVMVbBnXEmazFk0pQgwLYJSsNbZbEOBa2K6gcJPr+j2CmLfv?= =?us-ascii?Q?oxLHeOKNg3RaQkfY91WykyODMYNgnsUKLjv3gXBd7XyjQxBvNXJToXjB3EMS?= =?us-ascii?Q?AyXQln6B9H4Cyv9aLFojQFg+9i4Ct+DvfJWRsJFP2CSFYbqYh21CHB/11Dfa?= =?us-ascii?Q?9RBZzvokut4P6VfbdRV1PJZO5gEPVaC9DZxdXPEMdbzmmPjurXkXd402EMgt?= =?us-ascii?Q?Y+Tk/JZDh3EmSEGrdc6etHm3Uqlsiwg8SMsZUElzWKqSFjvnM2I2733AOrMr?= =?us-ascii?Q?FL7IrM1ZXB3HQ1H0Ym1HLL0TowQewWLWkbIQQqOULpSVGR38Cr59+u/D7vgR?= =?us-ascii?Q?JME3YR0vZbWMbLdAlKodF7lpLBe5DRMH009NhgtFiM0paOTGMctUyRxqE4b+?= =?us-ascii?Q?PBtxvn8NzKnkkU+RdYqldfKVkgx6NaafJB23pRPjz4Mf2sfh22VCceVh1L0h?= =?us-ascii?Q?2AZ77nKjw+F+FYqAfGZIBEfNfHDlYOmpFWMuFANbZmqgRSUp0pg3g9dMGfN7?= =?us-ascii?Q?vfHpkGBuJw=3D=3D?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR18MB4714.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f6b14e3f-9841-4df3-659d-08da38e583df X-MS-Exchange-CrossTenant-originalarrivaltime: 18 May 2022 15:46:03.6843 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: kVx81/zqTDzx1C4/D+a3wCFvrzwqyUDncWtADsCnJYS1fAGtGXH0NpGmdBQJdC6xIGcSDXqglpmpBV+CQ5I3jHvDLR9S3a6GQL873cNPhSs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR1801MB1936 X-Proofpoint-ORIG-GUID: EhIYxTtGmeztc4bjE-89nt8JE-cOrmnS X-Proofpoint-GUID: EhIYxTtGmeztc4bjE-89nt8JE-cOrmnS X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.205,Aquarius:18.0.874,Hydra:6.0.486,FMLib:17.11.64.514 definitions=2022-05-18_06,2022-05-17_02,2022-02-23_01 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Verified the functionality changes and looks good to me. Acked-by: Gowrishankar Muthukrishnan Thanks. > -----Original Message----- > From: Brandon Lo > Sent: Friday, April 29, 2022 9:46 PM > To: roy.fan.zhang@intel.com; ciara.power@intel.com > Cc: dev@dpdk.org; Brandon Lo > Subject: [EXT] [PATCH v4 7/8] examples/fips_validation: implement json > cmac test >=20 > External Email >=20 > ---------------------------------------------------------------------- > Implemented JSON support for the CMAC test. >=20 > Signed-off-by: Brandon Lo > --- > examples/fips_validation/fips_validation.h | 6 ++ > .../fips_validation/fips_validation_cmac.c | 68 +++++++++++++++++++ > 2 files changed, 74 insertions(+) >=20 > diff --git a/examples/fips_validation/fips_validation.h > b/examples/fips_validation/fips_validation.h > index 2c65d838b0..7f68d454f7 100644 > --- a/examples/fips_validation/fips_validation.h > +++ b/examples/fips_validation/fips_validation.h > @@ -259,6 +259,12 @@ parse_test_hmac_json_init(void); >=20 > int > parse_test_hmac_json_algorithm(void); > + > +int > +parse_test_cmac_json_init(void); > + > +int > +parser_read_cmac_direction_str(const char *key, char *src, struct > +fips_val *val); > #endif /* RTE_HAS_JANSSON */ >=20 > int > diff --git a/examples/fips_validation/fips_validation_cmac.c > b/examples/fips_validation/fips_validation_cmac.c > index 54c951ef83..4b5fd2aca7 100644 > --- a/examples/fips_validation/fips_validation_cmac.c > +++ b/examples/fips_validation/fips_validation_cmac.c > @@ -32,6 +32,18 @@ > #define PASS_STR "P" > #define FAIL_STR "F" >=20 > +#define KLEN_JSON_STR "keyLen" > +#define PTLEN_JSON_STR "msgLen" > +#define TAGLEN_JSON_STR "macLen" > +#define KEY_JSON_STR "key" > +#define PT_JSON_STR "message" > +#define TAG_JSON_STR "mac" > +#define DIRECTION_JSON_STR "direction" > +#define POS_NEG_JSON_STR "testPassed" > + > +#define GEN_JSON_STR "gen" > +#define VERIF_JSON_STR "ver" > + > struct hash_algo_conversion { > const char *str; > enum fips_test_algorithms algo; > @@ -39,6 +51,62 @@ struct hash_algo_conversion { > {"AES", FIPS_TEST_ALGO_AES_CMAC}, > }; >=20 > +#ifdef RTE_HAS_JANSSON > +struct fips_test_callback cmac_tests_interim_json_vectors[] =3D { > + {KLEN_JSON_STR, parser_read_uint32_bit_val, > &vec.cipher_auth.key}, > + {PTLEN_JSON_STR, parser_read_uint32_bit_val, &vec.pt}, > + {TAGLEN_JSON_STR, parser_read_uint32_bit_val, > &vec.cipher_auth.digest}, > + {DIRECTION_JSON_STR, parser_read_cmac_direction_str, > NULL}, > + {NULL, NULL, NULL} /**< end pointer */ }; > + > +struct fips_test_callback cmac_tests_json_vectors[] =3D { > + {KEY_JSON_STR, parse_uint8_hex_str, > &vec.cipher_auth.key}, > + {PT_JSON_STR, parse_uint8_known_len_hex_str, &vec.pt}, > + {TAG_JSON_STR, parse_uint8_known_len_hex_str, > + &vec.cipher_auth.digest}, > + {NULL, NULL, NULL} /**< end pointer */ }; > + > +static int > +parse_test_cmac_json_writeback(struct fips_val *val) { > + json_info.json_write_case =3D json_object(); > + json_object_set(json_info.json_write_case, "tcId", > + json_object_get(json_info.json_test_case, "tcId")); > + > + if (info.op =3D=3D FIPS_TEST_ENC_AUTH_GEN) { > + struct fips_val tmp_val =3D {val->val + vec.pt.len, > + vec.cipher_auth.digest.len}; > + > + writeback_hex_str("", info.one_line_text, &tmp_val); > + json_object_set_new(json_info.json_write_case, > TAG_JSON_STR, > + json_string(info.one_line_text)); > + } else { > + if (vec.status =3D=3D RTE_CRYPTO_OP_STATUS_SUCCESS) > + json_object_set_new(json_info.json_write_case, > POS_NEG_JSON_STR, > + json_boolean(true)); > + else if (vec.status =3D=3D > RTE_CRYPTO_OP_STATUS_AUTH_FAILED) > + json_object_set_new(json_info.json_write_case, > POS_NEG_JSON_STR, > + json_boolean(false)); > + } > + > + return 0; > +} > + > +int > +parse_test_cmac_json_init(void) > +{ > + info.algo =3D FIPS_TEST_ALGO_AES_CMAC; > + > + info.parse_writeback =3D parse_test_cmac_json_writeback; > + info.callbacks =3D cmac_tests_json_vectors; > + info.interim_callbacks =3D cmac_tests_interim_json_vectors; > + > + return 0; > +} > +#endif /* RTE_HAS_JANSSON */ > + > static int > parse_test_cmac_writeback(struct fips_val *val) { > -- > 2.25.1