From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web10.15264.1663551691756016645 for ; Sun, 18 Sep 2022 18:41:32 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=T7BVRtcd; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: yi1.li@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1663551691; x=1695087691; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=B7TWoA65h2XQkgiWjItlhb++LvMTIrWOBopoJzVoXvo=; b=T7BVRtcd9jEa6BoIyLypaA5yqBiAru2JPFO7zYPLp6+exyFLFzxr3UI+ Fl7U/mSOSwl50aPhNCtWR3YpOt0j6ouVWGQkxRvZtULLXjk2Y+HqSBOvz 2m6rVKk+UuoIHcyg1lMufQlFuLLNn0ri2nVkng/x3FxCCvHMFmS4WMGv1 1sLeYTmvAXBRfU5NAesCpMMVYhHiiy1QeUqWOp3DEtTipAd0gu08dPM1b mMPz5sPQJC4+QFWV7/FeepOaPsKRZV7oDKqvRUwYnOpA5fj/wzB8OOQ72 ZpICHjXKA4ij2Y78a7LxEBgxVmkSbLqnqxia7HrpZtWB/A23adCWt4pQQ g==; X-IronPort-AV: E=McAfee;i="6500,9779,10474"; a="286328467" X-IronPort-AV: E=Sophos;i="5.93,325,1654585200"; d="scan'208";a="286328467" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Sep 2022 18:41:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,325,1654585200"; d="scan'208";a="947022259" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga005.fm.intel.com with ESMTP; 18 Sep 2022 18:41:27 -0700 Received: from orsmsx608.amr.corp.intel.com (10.22.229.21) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Sun, 18 Sep 2022 18:41:27 -0700 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx608.amr.corp.intel.com (10.22.229.21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31 via Frontend Transport; Sun, 18 Sep 2022 18:41:27 -0700 Received: from NAM12-BN8-obe.outbound.protection.outlook.com (104.47.55.176) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2375.31; Sun, 18 Sep 2022 18:41:26 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GdAaIupXRpXTHOSKutcmKXkEz9EjnEw+B+J3mVRsr0oBvSZBeGSCSESIcM0nshezZlmsgAaeIoiIah2v61oAW9WVT3VeCOWbz5QjwX5GGqErxO4aFmpvasZiUg1rXtgLJX6f8NNJXs5l08d+W0XDUFpIeTd6236DEHnWJc64HEiKWIChH4dfoycGlkh6kw8L7XnzV6kdcRyqzCOt5HAjp8WQahxIsmNd8Emz/J/hFJNZh9vhMkMon7uaq5Z5p6LQxSZYcr6FZTL6S4mKbt4ndCEl7af1sdkaWoIRHY3ZGQEv3ORIxoGRqdDfGafm//PDf21OThJQLMwVtGdl6EGcyA== 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=Ooc9uNAgpRW9B9yN13F9s+3zjFG/TLtqBPaAWZVrNHA=; b=JZcBxYoSoSkua2qhJb42bSka/sFTdUVjz3Rinle1dEhVQZlnPmbub2AtQ5sWT1znY4UDmsB6ndrikzVA1fX2gBTcroVWOY2fmMdmWM+/zYyZKCXsql3UOeeEpqq5yzPmoAiDQOouidrMnB+xEgWKQCzMlaXmWkLZ1UVdC1HpPbLdZKeHOHIk8DTeEwimMfzrr7Z1U0hkbFlFyIoItJd1xMyE5xf6P7KhLWY+Ixz2yjUPSdK5cSvMuPLtK4e0O7z6Y/Q+bNTjYv0Usv6cBGqXXiBKC/aJIyuC6MjCB2tImBj+uTcp/6dyI++QT3whRpqmGINcnFkeaKTOIG8hHHsrNw== 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 SJ1PR11MB6227.namprd11.prod.outlook.com (2603:10b6:a03:45a::10) by MW4PR11MB7127.namprd11.prod.outlook.com (2603:10b6:303:219::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5612.22; Mon, 19 Sep 2022 01:41:25 +0000 Received: from SJ1PR11MB6227.namprd11.prod.outlook.com ([fe80::1d65:f35c:c823:1b51]) by SJ1PR11MB6227.namprd11.prod.outlook.com ([fe80::1d65:f35c:c823:1b51%8]) with mapi id 15.20.5588.011; Mon, 19 Sep 2022 01:41:24 +0000 From: "yi1 li" To: "devel@edk2.groups.io" , "Li, Yi1" CC: "Yao, Jiewen" , "Wang, Jian J" , "Lu, Xiaoyu1" , "Jiang, Guomin" , "Luo, Heng" Subject: Re: [edk2-devel] [PATCH 0/7] CryptoPkg: Add BigNum and EC support to BaseCryptLib Thread-Topic: [edk2-devel] [PATCH 0/7] CryptoPkg: Add BigNum and EC support to BaseCryptLib Thread-Index: AQHYwpQAck9oKEKixk6dNYXSTQ/+T63mDBJQ Date: Mon, 19 Sep 2022 01:41:24 +0000 Message-ID: References: <171286C220C8F423.27506@groups.io> In-Reply-To: <171286C220C8F423.27506@groups.io> Accept-Language: zh-CN, 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-office365-filtering-correlation-id: 2f488c74-dc55-49e1-586b-08da99e0101b x-ms-traffictypediagnostic: MW4PR11MB7127:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: AOd7pyrNbGeIu4tPfXCLUASSSgeSv8lmY+2ePxzy3OMA3/xBasp3zUO4MczCM1x3nk7PcEJUA1XUGNLdJHrB8deBOCl3CcJZbzaa9JWpbNTrCPaaJmOJpALvu3m+Sk9E91HPJ754HAnyzI4iH+6Kbu7SscUqgM1QZb/mAOHE1MDMohCBAmXHl30vZwrQGFVhuZvT4+np7AZME+vjiryDWoZEwAT+hyL+3rZ8xhCK/4tNL2P+bJxdX/OgfhlE8BDl8BIB4r5aNhXOlYnAkg/ensscZZp91JPVX8vUcJ9j1PrNr9r7euaVpDc+uw+WNNq2SRg9waDcuOeugPOtsHzvsISvz61mEEIr13psfJvuMG8EgxuzLxmlA1Rs80bIv49v19G5t2EUhvUEh006Ur8GxxSpAF9Z7nXS75gibfVdOk9XUXqlDAgwWeCKi8F+av0ivSsjUdlva7zu/XeXzPQU5fGTHG4F/UiI9kiZ3+zQOvMeUab+ByEalanZRE7NvV66jf7+86p9CZtf463Ktwynm8txvu3LJmdFnWNKqiecU6b5IvS66/z8SM1bAJ3srOyMhynVdrYd9gwbeXryKqq//ejDZPbneC5wkaun2mjqr6KK8mpdEDxXGs6nA6obTMOh9V9sb6ISlUJC4zzXPBYK0KE9D/avOy2PZ0IBQ3tWFdhWLACAWttLKcLaVP+XXuzX8R4fJHwctExDviUiMoy/ld00KE9zQ3+sTjXQqR29VIgxH+UawU4l99hpHpnp5PXRLBmXyVSu+8cx2ipjGhboAjOmVHDROPZT5ZVPH7Ia5l/u4pF4gAqXsytrSfOUaZt4Gq0mtSYAV9XxmZ98hcrNhA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SJ1PR11MB6227.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(396003)(376002)(136003)(366004)(346002)(39860400002)(451199015)(6506007)(7696005)(76116006)(64756008)(66446008)(66946007)(66556008)(66476007)(55016003)(8676002)(8936002)(83380400001)(4326008)(53546011)(186003)(71200400001)(966005)(38070700005)(2906002)(41300700001)(110136005)(26005)(54906003)(478600001)(82960400001)(107886003)(9686003)(316002)(33656002)(38100700002)(52536014)(86362001)(122000001)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?BaCqYEHQ7f91EouHLDShTv5QTqCIqtrnqgovviJF1dguHDrWWVpAEMrqX2jz?= =?us-ascii?Q?cqLorf807VtPfNhMaJOq0cCPG+xhn6AiH57+btkeaY2TmpERSI3ZAxnppezc?= =?us-ascii?Q?eAFA4PZsP98OYCwgbaz4+aYLiDVMGg1z4A7Pd7gjHCAZxKJnZcEkj9qtVYVN?= =?us-ascii?Q?vlluq+10vXiIqshFfriKy9AUWtYyyEN6Vzp5xA7pRIh8xFF0XzZY9IzZt762?= =?us-ascii?Q?CoCC2ZJ/fWLgFyE5i0zBFR2mMkbpOEAAELjd1/Vd88LOKJTnjoa0OQpihJsk?= =?us-ascii?Q?y/b3BBTTCK+djz1JlgbzxTAne6kHnJtFNfTRF5rdUhuM00QU6LtEqA38+Rig?= =?us-ascii?Q?XikLQn9xYG0UbY/b4+sjUuBARRBxQssNMtkSwprsImFRWcMIwI3j6fNnF40v?= =?us-ascii?Q?sh8owuj4S2rhiBfRS9I0UbI1fNVsobdZ9vi99fRo/vqCPGY00V2EeF3Vp4M3?= =?us-ascii?Q?2CYvOihiT88yniCPBntUb36dktHgHLKNCtjTgPlu+eKdLNveKGcF5bVQX0gu?= =?us-ascii?Q?KsCW0PMQ/sNXjhyS7Wkut2/JIh7P6UHt0M/9hjZE5Ga8Q8CjB74Btdn8okxl?= =?us-ascii?Q?uZxjTX28HWiFBC7UMHaqX8zq99dYxF0Y0CthVw7WNYwBg/P5fMHEtyF9Al28?= =?us-ascii?Q?KJ0JSKOl3yC/E6waWwyY4K6YmM9gWrxwly6V+f+k5Bb0fl27lqVC2ee5Bao6?= =?us-ascii?Q?xOY062Cn8HmMx8JAZUJ8J13xgQmCD+hJISALlKmoqFEueOPUNw+L58Fe0HgA?= =?us-ascii?Q?+bYVbMSvsSQX52pkpwa3UM9WZkC+QJZwooiPEO0fhTqaNY1PWm+0H9rbopVm?= =?us-ascii?Q?9R3BvpLIcbYCMOAq+SvXHn+R7RlO3HaTJxOHlDpQ1fTpZjMwjHikh5mhAPnK?= =?us-ascii?Q?h9tH5yegxtDlGFIGHiaVfLLvK4FoCq1cOAupiTPQ1URtvaLwut2e3jFxK7Ac?= =?us-ascii?Q?kOG4z1G7BLcTpULzJ8FMH1o7GIun6XWnWPEdyOQEWLMBHB2WnSrh3dvfg5DA?= =?us-ascii?Q?ynWtsOgY5Cu/gnC8nV4RudO323PDbDX0/+6C9W9qNqhfPpLKpDqtscbBQWKx?= =?us-ascii?Q?j3WUkMtpTMeUBsC3vXtl1OGJYGjUNvqSrcTNRFrU8CvCSBAo5rb/eORT9jjL?= =?us-ascii?Q?TKe1iNJRU5QPnMezmLrqG3VwPy9DDRT6T2126dYGDCW647CcnCHVoF3GtXKy?= =?us-ascii?Q?lYNJENIPE2mch4D8QGIUaHgcYAmKxTsYSis6BUI1ctsp75ONxKEZC9z5h7bw?= =?us-ascii?Q?tCpNnuT8ip/Befo/ORR47ku7TBDce0VdhrOR2RjtxjX28gEmsi+uxuwDjH2z?= =?us-ascii?Q?bL3WT2s9inho3CyIH0R5h0d1mttalXaDn4UrATKs7cV2GruDhJCJOg5+88IA?= =?us-ascii?Q?WojwWuB4lwUhjwbh77pJ46O5vguyP210TwYZx+Lpsn7nWo03Ys3Vu8ueeOEy?= =?us-ascii?Q?/26Ujf66+lxsAGB1CTR6XxN+tAMAOzasJ6cG0MRu7JJBwOpLDGuCDs87MMs1?= =?us-ascii?Q?v8uKOdlRuS1DlvISQFuzLWoXIjBEPNIEBYGezbHlMc7xzo0rjAesEAVGplZ7?= =?us-ascii?Q?UkKFuypUxXIzp2nyv3A=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SJ1PR11MB6227.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2f488c74-dc55-49e1-586b-08da99e0101b X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Sep 2022 01:41:24.7673 (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: QZDsRUunMMf9NOBv5BJzeIW9fI7wdsgATkQ153sa5GN+LypCGPDc8C68BIBI7QRTYB0sX+uJyjvceloull+fSw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR11MB7127 Return-Path: yi1.li@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi all, Is there any comment on this patch? Thanks. Regards, Yi -----Original Message----- From: devel@edk2.groups.io On Behalf Of yi1 li Sent: Wednesday, September 7, 2022 4:29 PM To: devel@edk2.groups.io Cc: Li, Yi1 ; Yao, Jiewen ; Wang, J= ian J ; Xiaoyu Lu ; Jiang, Guo= min Subject: [edk2-devel] [PATCH 0/7] CryptoPkg: Add BigNum and EC support to B= aseCryptLib REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D3828 Review PR: https://github.com/tianocore/edk2/pull/3309 This patch sequence is used to add CryptBn and CryptEc library, which are w= rapped over OpenSSL. The implementation provides library functions for EFI = BaseCrypt protocol and EFI BaseCrypt Configuration Protocol. All APIs passed unit test and fuzzing test, detail as: 1. Unit test: The purpose of unit testing is to ensure that the function obtains the expe= cted result under specific input, that is, to ensure the correctness of API= s. All test case show in patch 5 and patch 6: CryptoPkg/Test: Add unit test for CryptoBn CryptoPkg/Test: Add unit test for CryptoEc 2. Fuzzing test: Various Fuzz Testing are employed across the all introduced APIs, and the t= est is used AFL (2.52b) and Libfuzzer (clang+llvm-11.0.0) as the fuzzer, ba= sed on HBFA. Fuzzing Pass Rate is 100%; The Code Coverage of CryptBn is 100%; The Code Coverage of CryptEc is 90.3%. All test case show in: https://github.com/liyi77/edk2-staging/tree/HBFA/HBFA/UefiHostFuzzTestCaseP= kg/TestCase/CryptoPkg Tested-by: Yi Li Cc: Jiewen Yao Cc: Jian J Wang Cc: Xiaoyu Lu Cc: Guomin Jiang Signed-off-by: Yi Li Yi Li (7): CryptoPkg: Add BigNum support CryptoPkg: Add BigNum API to DXE and protocol CryptoPkg: Add EC support CryptoPkg: Add EC APIs to DXE and protocol CryptoPkg/Test: Add unit test for CryptoBn CryptoPkg/Test: Add unit test for CryptoEc CryptoPkg: Run uncrustify tools on EC and BN change CryptoPkg/CryptoPkg.dsc | 2 + CryptoPkg/Driver/Crypto.c | 1016 +++++++++++++- CryptoPkg/Include/Library/BaseCryptLib.h | 842 ++++++++++++ .../Pcd/PcdCryptoServiceFamilyEnable.h | 55 + .../Library/BaseCryptLib/BaseCryptLib.inf | 3 + CryptoPkg/Library/BaseCryptLib/Bn/CryptBn.c | 581 ++++++++ .../Library/BaseCryptLib/Bn/CryptBnNull.c | 520 ++++++++ .../Library/BaseCryptLib/PeiCryptLib.inf | 2 + CryptoPkg/Library/BaseCryptLib/Pk/CryptEc.c | 765 +++++++++++ .../Library/BaseCryptLib/Pk/CryptEcNull.c | 496 +++++++ .../Library/BaseCryptLib/SmmCryptLib.inf | 2 + .../BaseCryptLib/UnitTestHostBaseCryptLib.inf | 3 + .../BaseCryptLibNull/BaseCryptLibNull.inf | 2 + .../Library/BaseCryptLibNull/Bn/CryptBnNull.c | 520 ++++++++ .../Library= /BaseCryptLibNull/Pk/CryptEcNull.c | 496 +++++++ .../BaseCryptLibOnProtocolPpi/CryptLib.c | 961 ++++++++++++++ CryptoPkg/Private/Protocol/Crypto.h | 1176 ++++++++++++++--- CryptoPkg/Test/CryptoPkgHostUnitTest.dsc | 3 + .../BaseCryptLib/BaseCryptLibUnitTests.c | 2 + .../UnitTest/Library/BaseCryptLib/BnTests.c | 266 ++++ .../UnitTest/Library/BaseCryptLib/EcTests.c | 290 ++++ .../Library/BaseCryptLib/TestBaseCryptLib.h | 5 + .../BaseCryptLib/TestBaseCryptLibHost.inf | 2 + .../BaseCryptLib/TestBaseCryptLibShell.inf | 2 + 24 files changed, 7852 insertions(+), 160 deletions(-) create mode 100644= CryptoPkg/Library/BaseCryptLib/Bn/CryptBn.c create mode 100644 CryptoPkg/Library/BaseCryptLib/Bn/CryptBnNull.c create mode 100644 CryptoPkg/Library/BaseCryptLib/Pk/CryptEc.c create mode 100644 CryptoPkg/Library/BaseCryptLib/Pk/CryptEcNull.c create mode 100644 CryptoPkg/Library/BaseCryptLibNull/Bn/CryptBnNull.c create mode 100644 CryptoPkg/Library/BaseCryptLibNull/Pk/CryptEcNull.c create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/BnTests.c create mode 100644 CryptoPkg/Test/UnitTest/Library/BaseCryptLib/EcTests.c -- 2.31.1.windows.1