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 AD59541D8F; Mon, 27 Feb 2023 10:29:47 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9E39442670; Mon, 27 Feb 2023 10:29:47 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by mails.dpdk.org (Postfix) with ESMTP id 1C8584282D for ; Mon, 27 Feb 2023 10:29:45 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1677490186; x=1709026186; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=yTLDC6FVL/T73RZJDMKe+3c97bfUIsqJ1sUNv/cXkPs=; b=aM06c+CLIu7Gtn8PuzGzKDgnPPUlxmqZ36/0PzgSTZIVBd1DhZveVKMd AyvjvTuC37c7NjhnDhXvPavNJjXvSbOxRRu8A9IUl9k4fPnIV6amWF3Jm VQAKFNA7JTAzPkePoYeM5PgLFEJ07c93LT6gqyF8Z8nftv8DpfW/HgMdE sEp8u0LXncwOUXMWwKiTUY3VRgvH1WCHwHfE1krLWccIGF/9kv2B5HO1M AIhLQJyFBFb56YMiIAOp6QUnjU1ixUX1aDEPTowiilfMWzKLsMPj1AbU7 AXA3AbnvcxNSf2T2/nqcucOKecr3I9WH0A+Hbzhzq6qrldi5kFsKGo3QY g==; X-IronPort-AV: E=McAfee;i="6500,9779,10633"; a="313491387" X-IronPort-AV: E=Sophos;i="5.97,331,1669104000"; d="scan'208";a="313491387" Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Feb 2023 01:29:45 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6500,9779,10633"; a="703961947" X-IronPort-AV: E=Sophos;i="5.97,331,1669104000"; d="scan'208";a="703961947" Received: from fmsmsx603.amr.corp.intel.com ([10.18.126.83]) by orsmga008.jf.intel.com with ESMTP; 27 Feb 2023 01:29:44 -0800 Received: from fmsmsx612.amr.corp.intel.com (10.18.126.92) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Mon, 27 Feb 2023 01:29:44 -0800 Received: from fmsmsx603.amr.corp.intel.com (10.18.126.83) by fmsmsx612.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16; Mon, 27 Feb 2023 01:29:43 -0800 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx603.amr.corp.intel.com (10.18.126.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.16 via Frontend Transport; Mon, 27 Feb 2023 01:29:43 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.105) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.16; Mon, 27 Feb 2023 01:29:43 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lHzhiFsYKfrNjGCM9iVnYFz0jlxOdZBkdGoow/gdzfqG0jmsc9kcbKJbKmDlAMNSKo86xyAvlJ3p+1tb5tRGoTe8Q8Atc3n25cUfG8lEJuQhWLMSMI4IbCrP6WOwcLSgh18LSmutF2ue+Tvjt4rFtASIhQbxFFZZh5fLssabCKdjJeCosboCWxTXk0QyS+ngnwKHPTq7b9ATdzvQlCmXGLQHHpsaz/qX/PNcEKEzLBiELh/K4de1+CSJSthnaXRGRpMXm4u65mqBNJ/6xOT9GxDryRxJMLc5cl0tcjlCtm6f4vsjJasS+/Os2FcLeL9A4C/easZgd0bwdTtSJ5IR/g== 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=AcyFG4m+7Jgl5pcgZTOv9e7lqBs0chN/Bub8OPnZZQM=; b=La03qcpxRVEEfjwch3XWqLa4P0zeAOAB8OPFXN9rpI4DsgpfujsTcNdbWcXq2KgRGvkg9j0oMQAQsspzDyEkTprGWbu5WpUBSt1k/em7mNcD8V8BcpllDECl6+0n7NsSimLkUh0Ft29L3eLUoXy3WhHo61io2dgoKDG+JI0imQ08vYWWoKuG4KwhczT5+28HD1HZNQ4NvHoiUnanL4qLotgIO03U/+SOqaIg+lk9RmvLi3uJA/fBUXJZeeDjbwMeZ52ofWrR6B9OY47zWDXO5MT0zlv3bb/Zr+ZbjlgijVgkggVpBmEphPM74oezVg2s+7+OOG8Ud2CjXW8ousk7ZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from DM5PR11MB1851.namprd11.prod.outlook.com (2603:10b6:3:114::18) by SA1PR11MB6664.namprd11.prod.outlook.com (2603:10b6:806:258::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6134.28; Mon, 27 Feb 2023 09:29:41 +0000 Received: from DM5PR11MB1851.namprd11.prod.outlook.com ([fe80::3c23:7638:8d23:670f]) by DM5PR11MB1851.namprd11.prod.outlook.com ([fe80::3c23:7638:8d23:670f%5]) with mapi id 15.20.6134.027; Mon, 27 Feb 2023 09:29:41 +0000 From: "Dooley, Brian" To: Gowrishankar Muthukrishnan , "dev@dpdk.org" CC: Anoob Joseph , "jerinj@marvell.com" , Akhil Goyal Subject: RE: [v1, 06/10] examples/fips_validation: add ECDSA keygen support Thread-Topic: [v1, 06/10] examples/fips_validation: add ECDSA keygen support Thread-Index: AQHZOjnVMevOfo8oYE+GNJOXrO11na7ip4uA Date: Mon, 27 Feb 2023 09:29:41 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DM5PR11MB1851:EE_|SA1PR11MB6664:EE_ x-ms-office365-filtering-correlation-id: 9b445b66-cfc8-4f4d-84f9-08db18a52794 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: zBFfNTQarY1tjMbG0KdYvcZs98/HWuW5scMHfK7f6SGpaqfyKlX4KjNpUYU9Bih0gZ778XbRqjFKLy/8n623oOgbm0QSMIrWDlhcXm/kenaOUOJu34HfqGMrHdjsKEQDnJeh8TuYa1wf/+1iXaK/ToaEfTQ7zkY5c4VVx9IpTSVQsLTqjanShI9WH4LP8Bc7Hifi87K7pLB7mjsz1vfcLG8XXNT5TYWVFtjZfbZFp6pdISUcQcbx69v7yxZL3sN1aaap27xbDlwkw4FU+B0bcFPldYrPboigZcog+x5XxpQiRIq2DNJ8i6LNjXeXOqG9vvHcem/C/ywu+G12ovEPCG5gewtt+k23mwrCaxRhbK9c54rrbEnd6RTi93n6fmUBQ7O7rxtdIJ7jog7mO5B1ETKFtlMaQhxP375ktHZNTQm3IUraQ9kGNYu8sV6B5xgfZX5+uoFOTzVcKwHs8niCuR6KAAV6KPOwtsE/HliP9Nu8Mf06zseeDuIMKnqd6WfxTju0vgg+eyNoNtBdU5tdXikfeJb7yRhSXvBHi0Gz3ToZmHXuk7XJ1xXa2Ehtzo0KTdig0KVU6GyD+zvzK0RlYLp7w43qvnC6mtEBHI0T566IUZoP5IWuj+mergK8qmHwZDyBN8AAthzgZMhnTeuf6CSx5yRjGG9GOY40J2p/OCkQd5WUCHVILVKczxu/3za+F1hvf7T3VeyXTpJ9ie14Ug== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM5PR11MB1851.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230025)(136003)(346002)(366004)(376002)(396003)(39860400002)(451199018)(110136005)(54906003)(316002)(33656002)(86362001)(55016003)(38100700002)(122000001)(82960400001)(53546011)(6506007)(83380400001)(38070700005)(9686003)(26005)(186003)(5660300002)(71200400001)(2906002)(7696005)(8936002)(52536014)(478600001)(4326008)(41300700001)(8676002)(66476007)(66446008)(64756008)(66946007)(66556008)(76116006); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?jTNNBMqOLobQd4KHN1dZQcZ6+GTKZcb+zjke+dLFJ0m9eH2TMFtnsswsDBuj?= =?us-ascii?Q?nhmaKxCK905UYtGdGQK7tFOAg1hmc3Pkn5T/yXz2GTu8ozmIceSy6JE1V2H+?= =?us-ascii?Q?YtiArQkEiGXCGOzuFJ4vKO4AyYqLP2lhYLQBFyEeGAFCPH8gzwGoJvzTdPkD?= =?us-ascii?Q?ZRSPxHoR1wQmEPjuiKTJKD7Q9WVcl7VfL8NDSykf2quE//J2VK1eOH8tcbC8?= =?us-ascii?Q?stWoaZybYpgVoYVadcYpAlVvBjN2R9pzI5i1Z8nYgsY2szDYmWNScgIlr7z9?= =?us-ascii?Q?7CekhWvq86JmwSGJ1a6Anh7Rwc+MlIRHufqIxD++nsqZd0Z69D7JWcpEB7fn?= =?us-ascii?Q?dolY6xJdfWOcc/XiC5tCWtRKjzsF1q2o+863daky9vGg8wq0P0Hvix3kmZ2W?= =?us-ascii?Q?/G8NchVhdDuY025koTiAcosxgKJFnGYSHUUXy1QM19C0kiyx0VEduxC73k1X?= =?us-ascii?Q?xBEHMeEdvhXA8gGBgQAgevHzg2Xwkbi2xXs08b5HagqA8Bug/JNz24PXwHNz?= =?us-ascii?Q?Otqykjm/DQdmMDe/iQHm6uDKphMLn6AKjQ9AEqGAsfJVwqoL+ZshnpjI4teq?= =?us-ascii?Q?h0PAAndKUO3AicJ9lpw/LcG/hBlQ1vEz8BJgUb7iTovjA0M92EV/zQncNwfJ?= =?us-ascii?Q?7XkxuRPs7G988nBHHezU64qV7Jyp6lYYUjH184c12B35o+jCuJBwpXXeMfSA?= =?us-ascii?Q?8vqbsSMdmhvWxoXRG9fuuLWawLMCkFNfzTLHQYBsQDIQ8mMNF0ZHzyVU/ZmQ?= =?us-ascii?Q?8Y5s4GudYneOGqCW7QRRczKCRC1+hA1zVtUYU+R8Zb1FyChmQ8SW+PyVmFug?= =?us-ascii?Q?LygumB65guJIQGxjGy/X/6v9miVOx10DCeFFuFyq9WOkbLgpC27sm+sP0Zvo?= =?us-ascii?Q?Po9deq/fnYIp7dD8JKI49ERVa6miqk1soUw9NtB9KPepWD+anBZHU6FuNc9E?= =?us-ascii?Q?COnT8+qm5pLgMXS6y6W+eyOtmjLm1ROUEAd8YEhlLMAXrY1puUmUIZKRQzJB?= =?us-ascii?Q?VqJHiBWTAJOiUGcsCl2oe++Qcsku2TYwdHl5CozozDCcvChbzcSQVCHf77T5?= =?us-ascii?Q?MhLquA+UHjEWLF6wRs86M7mYfdbxFnLCU7D2Th1kMpLa/ZgXefb7no8mbVc+?= =?us-ascii?Q?arnqqtIusEEuHCnCRlGkrWwdB+K1mWu7OqsSHxhB5dY6YqdnXmN0icp45jka?= =?us-ascii?Q?VOYRJePCyCoADmcZ8yG6NokZp4s8/VLz4CguJbfpyJoV5Kn0v7yeI94bnYKb?= =?us-ascii?Q?9qXRIIFlfRgmnr+k6Fc0dT6RYz9KnmKQVVG839ntJceFx+0Rn7b69GhMgLJ+?= =?us-ascii?Q?iQjZ5tn2dL+hw7qH+19D5FUxiCBxEi+ghYIQcvai7Ku9AK9d8XpUe9dNWicX?= =?us-ascii?Q?h+bSsKPvQqZT6m9+PAw2ktI/66+swDRkUpkh834ulIJgTX+rD8YubJYPv09h?= =?us-ascii?Q?8oQjgaXQSU6Y2t4/3CSX6GR29Drz8NOmIXg4OiKgaqWNmvafs+UXbv3DzN+f?= =?us-ascii?Q?WzGrixpfwsPc2Tj3J+DUhPVcFgEnaqDMWHrkwzHYWjlmVhsP3KX0uvlKYJWI?= =?us-ascii?Q?ufcjZTqnZ1JSQV6RQGyCpmNxRHJZtdU1mBAn6PsQ?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR11MB1851.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9b445b66-cfc8-4f4d-84f9-08db18a52794 X-MS-Exchange-CrossTenant-originalarrivaltime: 27 Feb 2023 09:29:41.5147 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: V+E8F7/fKaPu/HW+S0yX3Oq3eu8Z2nlUSDrrQa4p2eqc4QF5tUrxkz4/ewsKNOOikU4PqHo/Q4MV5q1IRi6f6g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR11MB6664 X-OriginatorOrg: intel.com 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 > -----Original Message----- > From: Gowrishankar Muthukrishnan > Sent: Monday 6 February 2023 14:46 > To: dev@dpdk.org > Cc: Anoob Joseph ; jerinj@marvell.com; Akhil Goyal > ; Dooley, Brian ; > Gowrishankar Muthukrishnan > Subject: [v1, 06/10] examples/fips_validation: add ECDSA keygen support >=20 > Add support to validate ECDSA keygen mode tests. >=20 > Signed-off-by: Gowrishankar Muthukrishnan > --- > .../fips_validation/fips_validation_ecdsa.c | 52 +++++++++++++++++++ > examples/fips_validation/main.c | 13 +++++ > 2 files changed, 65 insertions(+) >=20 > diff --git a/examples/fips_validation/fips_validation_ecdsa.c > b/examples/fips_validation/fips_validation_ecdsa.c > index d47ab0b5d1..5c91abfc5a 100644 > --- a/examples/fips_validation/fips_validation_ecdsa.c > +++ b/examples/fips_validation/fips_validation_ecdsa.c > @@ -295,6 +295,20 @@ parse_test_ecdsa_json_writeback(struct fips_val > *val) > json_object_set_new(json_info.json_write_case, > "testPassed", json_true()); > else > json_object_set_new(json_info.json_write_case, > "testPassed", json_false()); > + } else if (info.op =3D=3D FIPS_TEST_ASYM_KEYGEN) { > + json_t *obj; > + > + writeback_hex_str("", info.one_line_text, &vec.ecdsa.pkey); > + obj =3D json_string(info.one_line_text); > + json_object_set_new(json_info.json_write_case, "d", obj); > + > + writeback_hex_str("", info.one_line_text, &vec.ecdsa.qx); > + obj =3D json_string(info.one_line_text); > + json_object_set_new(json_info.json_write_case, "qx", obj); > + > + writeback_hex_str("", info.one_line_text, &vec.ecdsa.qy); > + obj =3D json_string(info.one_line_text); > + json_object_set_new(json_info.json_write_case, "qy", obj); > } >=20 > return 0; > @@ -367,6 +381,36 @@ parse_siggen_message_str(const char *key, char > *src, struct fips_val *val) > return ret; > } >=20 > +static int > +parse_keygen_tc_str(const char *key, char *src, struct fips_val *val) { > + RTE_SET_USED(key); > + RTE_SET_USED(src); > + RTE_SET_USED(val); > + > + if (info.op =3D=3D FIPS_TEST_ASYM_KEYGEN) { > + if (vec.ecdsa.pkey.val) { > + rte_free(vec.ecdsa.pkey.val); > + vec.ecdsa.pkey.val =3D NULL; > + } > + > + if (vec.ecdsa.k.val) { > + rte_free(vec.ecdsa.k.val); > + vec.ecdsa.k.val =3D NULL; > + } > + > + if (prepare_vec_ecdsa() < 0) > + return -1; > + > + if (prepare_vec_ecdsa_k() < 0) > + return -1; > + > + info.interim_info.ecdsa_data.pubkey_gen =3D 1; > + } > + > + return 0; > +} > + > static int > parse_sigver_randomvalue_str(const char *key, char *src, struct fips_val > *val) { @@ -402,6 +446,11 @@ struct fips_test_callback > ecdsa_sigver_json_vectors[] =3D { > {NULL, NULL, NULL} /**< end pointer */ }; >=20 > +struct fips_test_callback ecdsa_keygen_json_vectors[] =3D { > + {"tcId", parse_keygen_tc_str, &vec.pt}, > + {NULL, NULL, NULL} /**< end pointer */ }; > + > int > parse_test_ecdsa_json_init(void) > { > @@ -421,6 +470,9 @@ parse_test_ecdsa_json_init(void) > } else if (strcmp(mode_str, "sigVer") =3D=3D 0) { > info.op =3D FIPS_TEST_ASYM_SIGVER; > info.callbacks =3D ecdsa_sigver_json_vectors; > + } else if (strcmp(mode_str, "keyGen") =3D=3D 0) { > + info.op =3D FIPS_TEST_ASYM_KEYGEN; > + info.callbacks =3D ecdsa_keygen_json_vectors; > } else { > return -EINVAL; > } > diff --git a/examples/fips_validation/main.c > b/examples/fips_validation/main.c index 1974dc959b..97190902aa 100644 > --- a/examples/fips_validation/main.c > +++ b/examples/fips_validation/main.c > @@ -1758,6 +1758,19 @@ fips_run_test(void) >=20 > env.op =3D env.sym.op; > if (env.is_asym_test) { > + if (info.op =3D=3D FIPS_TEST_ASYM_KEYGEN && > + info.algo =3D=3D FIPS_TEST_ALGO_ECDSA) { > + env.op =3D env.asym.op; > + test_ops.prepare_asym_xform =3D > prepare_ecfpm_xform; > + test_ops.prepare_asym_op =3D prepare_ecfpm_op; > + ret =3D fips_run_asym_test(); > + if (ret < 0) > + return ret; > + > + info.interim_info.ecdsa_data.pubkey_gen =3D 0; > + return ret; > + } > + > vec.cipher_auth.digest.len =3D parse_test_sha_hash_size( >=20 > info.interim_info.rsa_data.auth); > test_ops.prepare_sym_xform =3D prepare_sha_xform; > -- > 2.25.1 Acked-by: Brian Dooley